Unigine::WidgetWindow Class
Header: | #include <UnigineWidgets.h> |
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:
AppSystemLogic.cpp
#include "AppSystemLogic.h"
#include <UnigineWindowManager.h>
using namespace Unigine;
EngineWindowPtr window;
void on_close()
{
window->deleteLater();
}
int AppSystemLogic::init()
{
// create a borderless engine window
window = EngineWindow::create(Math::ivec2(512, 256));
window->setGroupUsage(false);
window->setBordersEnabled(false);
GuiPtr gui = window->getSelfGui();
// create a window widget
WidgetWindowPtr widget_window = WidgetWindow::create(gui, "Borderless Window");
widget_window->setSizeable(false);
widget_window->setMoveable(false);
// add the window widget to the engine window
window->addChild(widget_window, Gui::ALIGN_EXPAND);
// add a close icon to the widget window
WidgetIconPtr close_icon = WidgetIcon::create(gui, "window_close.png");
close_icon->setPosition(10, -24);
close_icon->addCallback(Gui::CLICKED, MakeCallback(on_close));
widget_window->addChild(close_icon, Gui::ALIGN_OVERLAP | Gui::ALIGN_RIGHT | Gui::ALIGN_TOP);
// adjust the widget window's drag area so that it doesn't cross the close icon
widget_window->setDragAreaPadding(3, 30, 3, 0);
widget_window->setDragAreaBackground(1);
widget_window->setDragAreaBackgroundColor(Math::vec4(1.0f, 0.0f, 0.0f, 0.3f));
// specify a position of the window and render it
window->setPosition(Math::ivec2(100, 100));
window->show();
return 1;
}
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
Members
static WidgetWindowPtr create ( const Ptr<Gui> & gui, const char * str = 0, int x = 0, int y = 0 ) #
Constructor. Creates a window with given parameters and adds it to the specified GUI.Arguments
- const Ptr<Gui> & gui - GUI, to which the new window will belong.
- const char * 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.
static WidgetWindowPtr create ( const char * str = 0, int x = 0, int y = 0 ) #
Constructor. Creates a window with given parameters and adds it to the Engine GUI.Arguments
- const char * 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 setBlendable ( bool blendable ) #
Sets a value indicating if the window can fade in and out when changing to the minimized state and back.Arguments
- bool blendable - 1 to allow fading in and out, 0 to disallow it.
bool isBlendable ( ) const#
Returns a value indicating if the window can fade in and out when changing to the minimized state and back. The default is 0.Return value
1 if the window can fade in and out; otherwise, 0.void setColor ( const Math::vec4 & color ) #
Sets a color for the global color multiplier. The default is equivalent to vec4(1,1,1,1) (white).Arguments
- const Math::vec4 & color - Multiplier color.
Math::vec4 getColor ( ) const#
Returns a color of the global color multiplier.Return value
Multiplier color.void setFloatable ( bool floatable ) #
Sets a value indicating if the window is animated when changing to the minimized state and back.Arguments
- bool floatable - 1 to allow animating the window, 0 not to make it.
bool isFloatable ( ) const#
Returns a value indicating if the window is animated when changing to the minimized state and back. The default is 0.Return value
1 if the window is animated; otherwise, 0.void setMaxHeight ( int height ) #
Sets the maximum height value for the window.Arguments
- int height - Maximum height value.
int getMaxHeight ( ) const#
Returns the maximum height value of the window.Return value
Maximum height value.void setMaxWidth ( int width ) #
Sets the maximum width value for the window.Arguments
- int width - Maximum width value.
int getMaxWidth ( ) const#
Returns the maximum width value of the window.Return value
Maximum width value.void setMoveable ( bool moveable ) #
Sets a value indicating if the window is movable.Arguments
- bool moveable - 1 to set the window as movable; otherwise, 0.
bool isMoveable ( ) const#
Returns a value indicating if the window is movable. The default is 1.Return value
1 if the window is movable; otherwise, 0.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.
int getPaddingBottom ( ) const#
Returns the current bottom padding for the widget content.Return value
Bottom padding in pixels.int getPaddingLeft ( ) const#
Returns the current left-side padding for the widget content.Return value
Left-side padding in pixels.int getPaddingRight ( ) const#
Returns the current right-side padding for the widget content.Return value
Right-side padding in pixels.int getPaddingTop ( ) const#
Returns the current top padding for the widget content.Return value
Top padding in pixels.void setSizeable ( bool sizeable ) #
Sets a value indicating if the window is resizeable.Arguments
- bool sizeable - 1 to allow resizing the window, 0 to disallow it.
bool isSizeable ( ) const#
Returns a value indicating if the window is resizeable. The default is 0.Return value
1 if the window is resizeable; otherwise, 0.void setSnapDistance ( int distance ) #
Sets a distance, at which the window snaps to another window or screen edge.Arguments
- int distance - Distance in pixels.
int getSnapDistance ( ) const#
Returns the distance, at which the window snaps to another window or screen edge. The default is 0 (do not snap).Return value
Distance 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.
int getSpaceX ( ) const#
Returns the horizontal space between the widgets in the window and between them and the window border.Return value
Horizontal space.int getSpaceY ( ) const#
Returns the vertical space between the widgets in the window and between them and the window border.Return value
Vertical space.void setText ( const char * text ) #
Sets a window title.Arguments
- const char * text - Window title.
const char * getText ( ) const#
Returns the current window title.Return value
Window title.void setTextAlign ( int align ) #
Sets alignment of the window title.Arguments
- int align - One of the ALIGN_* pre-defined variables.
int getTextAlign ( ) const#
Returns the alignment of the window title.Return value
One of the ALIGN_* pre-defined variables.void setTitleable ( bool titleable ) #
Sets a value indicating if the window is minimized when double-clicking on it. The default is 0.Arguments
- bool titleable - 1 to allow minimization, 0 to disallow it.
bool isTitleable ( ) const#
Returns a value indicating if the window is minimized when double-clicking on it. The default is 0.Return value
1 if the window is minimized when double-clicking on it; otherwise, 0.void setTransform ( const Math::mat4 & transform ) #
Sets the global widget transformation matrix. This 2D matrix can be tilted, rotated, moved or modified in many ways in 3D space.Arguments
- const Math::mat4 & transform - Transformation matrix.
Math::mat4 getTransform ( ) const#
Returns the global widget transformation matrix.Return value
Transformation matrix.void setBackgroundColor ( const Math::vec4 & color ) #
Sets the background color to be used for the widget.Arguments
- const Math::vec4 & color - The four-component vector specifying the color in the RGBA format.
Math::vec4 getBackgroundColor ( ) const#
Returns the current background color used for the widget.Return value
The four-component vector specifying the color in the RGBA format.void setBorderColor ( const Math::vec4 & color ) #
Sets the border color for the widget.Arguments
- const Math::vec4 & color - The four-component vector specifying the color in the RGBA format.
Math::vec4 getBorderColor ( ) const#
Returns the current border color for the widget.Return value
The four-component vector specifying the color in the RGBA format.void setDragAreaEnabled ( bool enabled ) #
Sets a value indicating if the drag area of the window is enabled.Arguments
- bool enabled - true to enable the drag area, false to disable it.
bool isDragAreaEnabled ( ) const#
Returns the value indicating if the drag area of the window is enabled.Return value
Value indicating if the drag area of the window is enabled: true if the drag area is enabled; otherwise, false.void setDragAreaBackground ( int background ) #
Enables/disables rendering of the background for the drag area.Arguments
- int background - 1 to enable background rendering, 0 to disable it.
int getDragAreaBackground ( ) const#
Returns the value indicating if background rendering is enabled or disabled for the drag area.Return value
Value indicating if rendering of the background is enabled: 1 if background rendering is enabled; otherwise, 0.void setDragAreaBackgroundColor ( const Math::vec4 & color ) #
Sets a color for the background of the drag area.Arguments
- const Math::vec4 & color - Background color.
Math::vec4 getDragAreaBackgroundColor ( ) const#
Returns the color of the drag area background.Return value
Background color.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.
int getDragAreaPaddingLeft ( ) const#
Returns the current left-side padding for the drag area.Return value
Left-side padding in pixels.int getDragAreaPaddingRight ( ) const#
Returns the current right-side padding for the drag area.Return value
Right-side padding in pixels.int getDragAreaPaddingTop ( ) const#
Returns the current top padding for the drag area.Return value
Top padding in pixels.int getDragAreaPaddingBottom ( ) const#
Returns the current bottom padding for the drag area.Return value
Bottom padding in pixels.Last update:
14.12.2022
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter