Windows - coldrockgames/gml-raptor GitHub Wiki

raptor offers a full fletched multi-window-management system.

A short feature list:

  • Any number of windows open
  • Choose, whether they are move and/or sizable
  • Control, if the have an X, minimize, maximize button
  • Window State changes are animated and offer callbacks
  • All windows are of course fully skinnable
  • You may even customize the animation, position and scaling, when a window gets minimized, see Window Animations
  • Windows have their own ControlTree, and therefore support alignment, docking, spreading, ... all the features of the UI_ROOT control tree also work within windows

With this system you can easily simulate an entire windows-desktop, if you want. It is perfect for creating tools and apps. But of course, you can also easily pack your inventories, merchant dialogs, settings and everything else you can imagine into a window to have a seperate render area for your game content.

Windows can render in the UI Layer or the room coordinate space.

To support this huge feature load, Window comes with a big number of variable definitions:

image

These are the variables, Window adds to the list of variables of all UI controls.

Variable/Group Description
center_on_open If true, the window will center itself on screen, when opened. Perfect for messages to the user.
title...* The group of title variables defines the header text of the window with coloring, offset, height, alignment...
*_button_* The button group defines the header buttons of the window, where "X" means the "close" button.
on_* callbacks These are standard callbacks you may override to react on window events
window_* This final group of variables defines, whether the user can move/size the window and how many pixels from each border of the window shall react for window-sizing (just like standard-windows-behavior).