Unigine.WidgetWindow Class
Inherits from: | Widget |
This class creates a titled window.
By default, the window created by means of this class consists of a single vertical column container and a drag area at the top.
The WidgetWindow class provides methods that allow editing the drag area. For example:
WidgetDragAreaClass.cs
EngineWindow window;
void on_close()
{
window.DeleteLater();
}
private void Init()
{
// create a borderless engine window
window = new EngineWindow(new ivec2(512, 256));
window.GroupUsage = false;
window.BordersEnabled = false;
Gui gui = window.SelfGui;
// create a window widget
WidgetWindow widget_window = new WidgetWindow(gui, "Borderless Window");
widget_window.Sizeable = false;
widget_window.Moveable = false;
// add the window widget to the engine window
window.AddChild(widget_window, Gui.ALIGN_EXPAND);
// add a close icon to the widget window
WidgetIcon close_icon = new WidgetIcon(gui, "window_close.png");
close_icon.SetPosition(10, -24);
close_icon.AddCallback(Gui.CALLBACK_INDEX.CLICKED, on_close);
widget_window.AddChild(close_icon, Gui.ALIGN_OVERLAP | Gui.ALIGN_RIGHT | Gui.ALIGN_TOP);
// adjust the window's drag area so that it doesn't cross the close icon
widget_window.SetDragAreaPadding(3, 30, 3, 0);
widget_window.DragAreaBackground = 1;
widget_window.DragAreaBackgroundColor = new vec4(1.0f, 0.0f, 0.0f, 0.3f);
// specify a position of the window and render it
window.Position = new ivec2(100, 100);
window.Show();
}
The window will be rendered as follows:
See Also#
- UnigineScript API sample <UnigineSDK>/data/samples/widgets/window_00
- C++ API sample <UnigineSDK>/source/samples/Api/Widgets/WidgetWindow
- C# API sample <UnigineSDK>/source/csharp/samples/Api/Widgets/WidgetWindow
WidgetWindow Class
Properties
string Text#
The current window title.
int TextAlign#
The alignment of the window title.
int PaddingBottom#
The current bottom padding for the widget content.
int PaddingTop#
The current top padding for the widget content.
int PaddingRight#
The current right-side padding for the widget content.
int PaddingLeft#
The current left-side padding for the widget content.
int SpaceY#
The vertical space between the widgets in the window and between them and the window border.
int SpaceX#
The horizontal space between the widgets in the window and between them and the window border.
int MaxHeight#
The maximum height value of the window.
int MaxWidth#
The maximum width value of the window.
mat4 Transform#
The global widget transformation matrix.
vec4 Color#
The color of the global color multiplier.
int SnapDistance#
The distance, at which the window snaps to another window or screen edge. the default is 0 (do not snap).
bool Floatable#
The value indicating if the window is animated when changing to the minimized state and back. the default is 0.
bool Blendable#
The value indicating if the window can fade in and out when changing to the minimized state and back. the default is 0.
bool Titleable#
The value indicating if the window is minimized when double-clicking on it. the default is 0.
bool Sizeable#
The value indicating if the window is resizeable. the default is 0.
bool Moveable#
The value indicating if the window is movable. the default is 1.
vec4 BorderColor#
The four-component vector specifying the color in the RGBA format.
vec4 BackgroundColor#
The four-component vector specifying the color in the RGBA format.
bool DragAreaEnabled#
The Value indicating if the drag area of the window is enabled: true if the drag area is enabled; otherwise, false.
int DragAreaPaddingTop#
The Top padding in pixels.
int DragAreaPaddingRight#
The Right-side padding in pixels.
vec4 DragAreaBackgroundColor#
The Background color.
int DragAreaBackground#
The Value indicating if rendering of the background is enabled: 1 if background rendering is enabled; otherwise, 0.
int DragAreaPaddingLeft#
The Left-side padding in pixels.
int DragAreaPaddingBottom#
The Bottom padding in pixels.
Members
WidgetWindow ( Gui gui, string str = 0, int x = 0, int y = 0 ) #
Constructor. Creates a window with given parameters and adds it to the specified GUI.Arguments
- Gui gui - GUI, to which the new window will belong.
- string str - Window title. This is an optional parameter.
- int x - Horizontal space between the widgets in the window and between them and the window border. This is an optional parameter.
- int y - Vertical space between the widgets in the window and between them and the window border. This is an optional parameter.
WidgetWindow ( string str = 0, int x = 0, int y = 0 ) #
Constructor. Creates a window with given parameters and adds it to the Engine GUI.Arguments
- string str - Window title. This is an optional parameter.
- int x - Horizontal space between the widgets in the window and between them and the window border. This is an optional parameter.
- int y - Vertical space between the widgets in the window and between them and the window border. This is an optional parameter.
void SetPadding ( int l, int r, int t, int b ) #
Sets widget paddings for all sides. Padding clears an area around the content of a widget (inside of it).Arguments
- int l - Left-side padding in pixels.
- int r - Right-side padding in pixels.
- int t - Top padding in pixels.
- int b - Bottom padding in pixels.
void SetSpace ( int x, int y ) #
Sets a space between the widgets in the window and between them and the window border.Arguments
- int x - Horizontal space. If a negative value is provided, 0 will be used instead.
- int y - Vertical space. If a negative value is provided, 0 will be used instead.
void SetDragAreaPadding ( int l, int r, int t, int b ) #
Sets paddings for all sides of the drag area.Arguments
- int l - Left-side padding in pixels.
- int r - Right-side padding in pixels.
- int t - Top padding in pixels.
- int b - Bottom padding in pixels.
Last update:
2022-12-14
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)