This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Rendering
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
VR Development
Double Precision Coordinates
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine::Gui Class

Header: #include <UnigineGui.h>

Creates a GUI. Different types of GUI widgets can be either added to one of the following:

  • To the system GUI (Unigine user interface) that is rendered on top of application window.
  • To the GUI object positioned in the world. In this case, any postprocessing filter can be applied.
Default values returned by the following methods can be overridden via RC files defining a custom GUI.

Gui Class

Members

getNumChildren() const#

Returns the current number of widgets in the GUI.

Return value

Current

getHeight() const#

Returns the current current screen height.

Return value

Current

getWidth() const#

Returns the current current screen width.

Return value

Current

isActive() const#

Returns the current value indicating if any widget in the GUI is in focus.

Return value

Current

getVBox() const#

Returns the current

Return value

Current

getPermanentFocus() const#

Returns the current value indicating if the widget is always in focus.

Return value

Current

getOverlappedFocus() const#

Returns the current value indicating if the widget placed under the currently focused widget.

Return value

Current

getFocus() const#

Returns the current value indicating if the widget is currently in focus.

Return value

Current

getMouseDY() const#

Returns the current difference between the previous position of the mouse pointer and the current one along the y axis.

Return value

Current

getMouseDX() const#

Returns the current difference between the previous position of the mouse pointer and the current one along the x axis.

Return value

Current

getMouseY() const#

Returns the current current y coordinate of the mouse pointer in the coordinate system of the application window.

Return value

Current

getMouseX() const#

Returns the current current x coordinate of the mouse pointer in the coordinate system of the application window.

Return value

Current

bool isUnderCursor() const#

Returns the current

Return value

true if is enabled; otherwise false.

int getMouseWheelHorizontal() const#

Returns the current

Return value

Current

int getMouseWheel() const#

Returns the current

Return value

Current

Event<> getEventUpdate() const#

event triggered when GUI is updated. You can subscribe to events via connect()  and unsubscribe via disconnect(). You can also use EventConnection  and EventConnections  classes for convenience (see examples below).
Notice
For more details see the Event Handling article.
The event handler signature is as follows: myhandler()

Usage Example

Source code (C++)
// implement the Update event handler
void update_event_handler()
{
	Log::message("\Handling Update event\n");
}


//////////////////////////////////////////////////////////////////////////////
//  1. Multiple subscriptions can be linked to an instance of the EventConnections 
//  class that you can use later to remove all these subscriptions at once
//////////////////////////////////////////////////////////////////////////////

// create an instance of the EventConnections class
EventConnections update_event_connections;

// link to this instance when subscribing to an event (subscription to various events can be linked)
publisher->getEventUpdate().connect(update_event_connections, update_event_handler);

// other subscriptions are also linked to this EventConnections instance 
// (e.g. you can subscribe using lambdas)
publisher->getEventUpdate().connect(update_event_connections, []() { 
		Log::message("\Handling Update event (lambda).\n");
	}
);

// ...

// later all of these linked subscriptions can be removed with a single line
update_event_connections.disconnectAll();

//////////////////////////////////////////////////////////////////////////////
//  2. You can subscribe and unsubscribe via an instance of the EventConnection 
//  class. And toggle this particular connection off and on, when necessary.
//////////////////////////////////////////////////////////////////////////////

// create an instance of the EventConnection class
EventConnection update_event_connection;

// subscribe to the Update event with a handler function keeping the connection
publisher->getEventUpdate().connect(update_event_connection, update_event_handler);

// ...

// you can temporarily disable a particular event connection to perform certain actions
update_event_connection.setEnabled(false);

// ... actions to be performed

// and enable it back when necessary
update_event_connection.setEnabled(true);

// ...

// remove subscription to the Update event via the connection
update_event_connection.disconnect();

//////////////////////////////////////////////////////////////////////////////
//  3. You can add EventConnection/EventConnections instance as a member of the
//  class that handles the event. In this case all linked subscriptions will be 
//  automatically removed when class destructor is called
//////////////////////////////////////////////////////////////////////////////

// Class handling the event
class SomeClass
{
public:
	// instance of the EventConnections class as a class member
	EventConnections e_connections;

	// A Update event handler implemented as a class member
	void event_handler()
	{
		Log::message("\Handling Update event\n");
		// ...
	}
};

SomeClass *sc = new SomeClass();

// ...

// specify a class instance in case a handler method belongs to some class
publisher->getEventUpdate().connect(sc->e_connections, sc, &SomeClass::event_handler);

// ...

// handler class instance is deleted with all its subscriptions removed automatically
delete sc;

//////////////////////////////////////////////////////////////////////////////
//  4. You can subscribe and unsubscribe via the handler function directly
//////////////////////////////////////////////////////////////////////////////

// subscribe to the Update event with a handler function
publisher->getEventUpdate().connect(update_event_handler);


// remove subscription to the Update event later by the handler function
publisher->getEventUpdate().disconnect(update_event_handler);


//////////////////////////////////////////////////////////////////////////////
//   5. Subscribe to an event saving an ID and unsubscribe later by this ID
//////////////////////////////////////////////////////////////////////////////

// define a connection ID to be used to unsubscribe later
EventConnectionId update_handler_id;

// subscribe to the Update event with a lambda handler function and keeping connection ID
update_handler_id = publisher->getEventUpdate().connect([]() { 
		Log::message("\Handling Update event (lambda).\n");
	}
);

// remove the subscription later using the ID
publisher->getEventUpdate().disconnect(update_handler_id);


//////////////////////////////////////////////////////////////////////////////
//   6. Ignoring all Update events when necessary
//////////////////////////////////////////////////////////////////////////////

// you can temporarily disable the event to perform certain actions without triggering it
publisher->getEventUpdate().setEnabled(false);

// ... actions to be performed

// and enable it back when necessary
publisher->getEventUpdate().setEnabled(true);

Return value

Event reference.

Ptr<Gui> getCurrent ( ) #

Returns the current GUI instance.

Return value

Current GUI instance.

bool isActive ( ) const#

Returns a value indicating if any widget in the GUI is in focus.

Return value

true if any widget is focused; otherwise, false.

Ptr<Widget> getChild ( int num ) const#

Returns a child widget with a given number.

Arguments

  • int num - Child widget number.

Return value

Child widget.

int isChild ( const Ptr<Widget> & widget ) const#

Checks if a given widget belongs to the GUI.

Arguments

  • const Ptr<Widget> & widget - Widget to check.

Return value

true if the widget belongs to the GUI; otherwise, false.

void setColor ( const Math::vec4 & color ) #

Sets a color for the global color multiplier. The default is equivalent to #ffffff (white).

Arguments

  • const Math::vec4 & color - Color multiplier.

Math::vec4 getColor ( ) const#

Returns the color of the global color multiplier.

Return value

Color multiplier.

void setDefaultAlpha ( float alpha ) #

Sets a standard alpha value for widgets.

Arguments

  • float alpha - Alpha value. 0 means completely transparent.

float getDefaultAlpha ( ) const#

Returns the standard alpha value of a widget.

Return value

Alpha value.

void setDefaultColor ( const Math::vec4 & color ) #

Sets a standard font color for widgets. The default is equivalent to #ddddff (blue-white).

Arguments

  • const Math::vec4 & color - Font color.

Math::vec4 getDefaultColor ( ) const#

Returns the standard font color of a widget.

Return value

Font color.

void setDefaultSize ( int size ) #

Sets a standard font size for widgets.

Arguments

  • int size - Font size.

int getDefaultSize ( ) const#

Returns the standard font size of a widget.

Return value

Font size.

void setDisabledAlpha ( float alpha ) #

Sets an alpha value for disabled widgets.

Arguments

  • float alpha - Alpha value. 0 means completely transparent.

float getDisabledAlpha ( ) const#

Returns the alpha value of a disabled widget.

Return value

Alpha value.

void setDisabledColor ( const Math::vec4 & color ) #

Sets a font color for disabled widgets. The default is equivalent to #869caa (light bluish).

Arguments

  • const Math::vec4 & color - Font color.

Math::vec4 getDisabledColor ( ) const#

Returns the font color of a disabled widget.

Return value

Font color.

void setDisabledEnabled ( bool enabled ) #

Sets a value indicating if a widget can be rendered as disabled (i.e. change its color accordingly), when necessary.

Arguments

  • bool enabled - Positive value if the widget can be rendered as disabled; otherwise, 0.

bool isDisabledEnabled ( ) const#

Returns a value indicating if a widget can be rendered as disabled (i.e. change its color accordingly), when necessary.

Return value

1 if the widget can be rendered as disabled; otherwise, 0.

void setEnabled ( bool enabled ) #

Sets a value indicating if a widget should be enabled/disabled.

Arguments

  • bool enabled - 1 to enable the GUI, 0 to disable it.

bool isEnabled ( ) const#

Returns a value indicating if the GUI is enabled.

Return value

Return 1 if the GUI is enabled; otherwise, 0 is returned.

void setExposeSpeed ( float speed ) #

Sets a duration of animation played when the widget appears.

Arguments

  • float speed - Duration in cycles per second, for example, 6 means that the duration is a 1/6 of a second.

float getExposeSpeed ( ) const#

Returns the duration of animation played when a widget appears.

Return value

Duration in cycles per second.

void setFadeInSpeed ( float speed ) #

Sets a duration of fade-in animation played when the widget gets focused.

Arguments

  • float speed - Duration in cycles per second, for example, 8 means that the duration is a 1/8 of a second.

float getFadeInSpeed ( ) const#

Returns the duration of fade-in animation played when a widget gets focused.

Return value

Duration in cycles per second.

void setFadeOutSpeed ( float speed ) #

Sets a duration of fade-out animation played when the widget loses focus.

Arguments

  • float speed - Duration in cycles per second, for example, 4 means that the duration is a 1/4 of a second.

float getFadeOutSpeed ( ) const#

Returns the duration of fade-out animation played when a widget loses focus.

Return value

Duration in cycles per second.

Ptr<Widget> getFocus ( ) const#

Returns the widget that is currently in focus.

Return value

Focused widget smart pointer.

void setFocusedAlpha ( float alpha ) #

Sets an alpha value for focused widgets. The default is 1 (completely opaque).

Arguments

  • float alpha - Alpha value. 0 means completely transparent.

float getFocusedAlpha ( ) const#

Returns the alpha value of a focused widget.

Return value

Alpha value.

void setFocusedColor ( const Math::vec4 & color ) #

Sets an font color for focused widgets. The default is equivalent to #ffffff (white).

Arguments

  • const Math::vec4 & color - Font color.

Math::vec4 getFocusedColor ( ) const#

Returns the font color of a focused widget.

Return value

Font color.

void setFocusedEnabled ( bool enabled ) #

Sets a value indicating if a widget can be rendered as focused on (i.e. change its color accordingly), when necessary.

Arguments

  • bool enabled - Positive value if the widget can be rendered as focused on; otherwise, 0.

bool isFocusedEnabled ( ) const#

Returns a value indicating if a widget can be rendered as focused on (i.e. change its color accordingly), when necessary.

Return value

1 if the widget can be rendered as focused on; otherwise, 0.

void setFocusedPermanent ( bool permanent ) #

Changes the permanent color of the focused widget.

Arguments

  • bool permanent - 1 - a font color is overridden with the global GUI focused color; 0 - a font color is unchanged.

bool isFocusedPermanent ( ) const#

Returns a value indicating if the permanent color of the focused widget is changed.

Return value

1 if the font color is overridden with the global GUI focused color; 0 if the font color is unchanged.

int setFont ( const char * name ) #

Changes the font used in the system GUI.

Arguments

  • const char * name - Path to the font file.

Return value

1 if the font is successfully changed; otherwise, 0.

int getHeight ( ) const#

Returns the current screen height.

Return value

Screen height, in pixels.

void setHidden ( bool hidden ) #

Sets a value indicating if a widget should not be rendered.

Arguments

  • bool hidden - 1 to show the GUI, 0 to hide it.

bool isHidden ( ) const#

Returns a value indicating if a widget is rendered visible.

Return value

1 if the widget is rendered; otherwise, 0.

int getKeyActivity ( unsigned int key ) const#

Checks if a given key already has a special purpose for the widget in focus.

Arguments

  • unsigned int key - One of the standard ASCII control codes or one of the KEY_* pre-defined variables.

Return value

1 if the key cannot be used; otherwise, 0.

void setMouseButtons ( int buttons ) #

Sets mouse button(s), whose input should be received.

Arguments

int getMouseButtons ( ) const#

Returns mouse button(s), whose input is received.

Return value

Input::MOUSE_BUTTON_LEFT or Input::MOUSE_BUTTON_RIGHT, or Input::MOUSE_BUTTON_MIDDLE.

void setMouseCursor ( int cursor ) #

Sets a mouse pointer to display.

Arguments

  • int cursor - One of the CURSOR_* pre-defined variables.

int getMouseCursor ( ) const#

One of the CURSOR_* pre-defined variables.

Return value

Returns the type of mouse pointer currently displayed.

int getMouseDX ( ) const#

Returns the difference between the previous position of the mouse pointer and the current one along the X axis.

Return value

Difference along the X axis.

int getMouseDY ( ) const#

Returns the difference between the previous position of the mouse pointer and the current one along the Y axis.

Return value

Difference along the Y axis.

void setMouseEnabled ( bool enabled ) #

Enables or disables rendering of the mouse cursor.

Arguments

  • bool enabled - 1 to enable the mouse, 0 to disable it.

bool isMouseEnabled ( ) const#

Returns a value indicating if the mouse cursor is rendered.

Return value

1 if the mouse is rendered; otherwise, 0.

void setMouseGrab ( int grab ) #

Sets a value indicating if the mouse pointer is bound to the GUI.

Arguments

  • int grab - 1 if the mouse pointer cannot leave the GUI; otherwise, 0.

int getMouseGrab ( ) const#

Returns a value indicating if the mouse pointer is bound to the GUI.

Return value

1 if the mouse pointer cannot leave the GUI; otherwise, 0.

void setMouseSprite ( const Ptr<WidgetSprite> & sprite ) #

Sets a custom mouse pointer.

Arguments

  • const Ptr<WidgetSprite> & sprite - Sprite with a custom mouse pointer, or NULL to fall back to the standard mouse pointer.

Ptr<WidgetSprite> getMouseSprite ( ) const#

Returns the custom mouse pointer currently in use.

Return value

Sprite with a custom mouse pointer, or NULL if the standard mouse pointer is used.

int getMouseX ( ) const#

Returns the current X coordinate of the mouse pointer in the coordinate system of the application window.

Return value

X coordinate of the mouse pointer.

int getMouseY ( ) const#

Returns the current Y coordinate of the mouse pointer in the coordinate system of the application window.

Return value

Y coordinate of the mouse pointer.

int getNumChildren ( ) const#

Returns the number of widgets in the GUI.

Return value

Number of widgets.

Ptr<Widget> getOverlappedFocus ( ) const#

Returns the widget placed under the currently focused widget.

Return value

Overlapped widget.

Ptr<Widget> getPermanentFocus ( ) const#

Returns a widget that is always in focus.

Return value

Widget always in focus.

int setResource ( const char * name ) #

Changes the resource skin file used in the system GUI.

Arguments

  • const char * name - Path to the rc file.

Return value

1 if the resource file is successfully changed; otherwise, 0.

int setSkin ( const char * name ) #

Changes the GUI skin used in the system GUI.

Arguments

  • const char * name - Path to the skin file (an RC file and textures).

Return value

1 if the skin is successfully changed; otherwise, 0.

void setToolTip ( int x, int y, const char * str ) #

Sets a tooltip.

Arguments

  • int x - X coordinate of the tooltip position.
  • int y - Y coordinate of the tooltip position.
  • const char * str - ToolTip text.

void setToolTipAlpha ( float alpha ) #

Sets an alpha value for tooltips. The default is 0.95 (translucent).

Arguments

  • float alpha - Alpha value. 0 means completely transparent.

float getToolTipAlpha ( ) const#

Returns the alpha value of a tooltip.

Return value

Alpha value.

void setToolTipColor ( const Math::vec4 & color ) #

Sets a font color for tooltips. The default is equivalent to #000000 (black).

Arguments

  • const Math::vec4 & color - Font color.

Math::vec4 getToolTipColor ( ) const#

Returns the font color of a tooltip.

Return value

Font color.

void setToolTipEnabled ( bool enabled ) #

Sets a value indicating whether tooltips are available or not.

Arguments

  • bool enabled - 1 to enable tooltips; otherwise, 0.

bool isToolTipEnabled ( ) const#

Returns a value indicating if tooltips are available or not.

Return value

Return 1 if tooltips are enabled; otherwise, 0.

int getToolTipHeight ( const char * str ) const#

Returns a height of the given tooltip.
Notice
Height of a single-line tooltip is equal to 21 pixels.

Arguments

  • const char * str - A tooltip text.

Return value

Height of the given tooltip (in pixels).

void setToolTipSize ( int size ) #

Sets a font size for widgets.

Arguments

  • int size - Font size.

int getToolTipSize ( ) const#

Returns the font size of a tooltip.

Return value

Font size.

void setToolTipText ( const char * text ) #

Sets a new text for the tooltip.

Arguments

  • const char * text - Text for the tooltip to be set.

const char * getToolTipText ( ) const#

Returns the text of the currently displayed tooltip.

Return value

Text of the GUI tooltip.

void setToolTipTime ( float time ) #

Sets a delay before tooltip appearance.

Arguments

  • float time - Delay in cycles per second.

float getToolTipTime ( ) const#

Returns the delay before tooltip appearing.

Return value

Delay in cycles per second.

void setToolTipWidth ( int width ) #

Sets the width for the tooltip.

Arguments

  • int width - New tooltip width.

int getToolTipWidth ( const char * str ) const#

Returns the current width of the tooltip.

Arguments

  • const char * str - A tooltip text.

Return value

Width of the tooltip.

int getToolTipWidth ( ) const#

Returns the current width of the tooltip.

Return value

Width of the tooltip.

void setToolTipX ( int tooltipx ) #

Sets the ToolTip position along the X axis.

Arguments

  • int tooltipx - New X coordinate of the ToolTip to be set.

int getToolTipX ( ) const#

Returns the ToolTip position along the X axis.

Return value

X coordinate of the ToolTip.

void setToolTipY ( int tooltipy ) #

Sets the ToolTip position along the Y axis.

Arguments

  • int tooltipy - New Y coordinate of the ToolTip to be set.

int getToolTipY ( ) const#

Returns the ToolTip position along the Y axis.

Return value

void setTransform ( const Math::mat4 & transform ) #

Sets the global GUI 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 GUI transformation matrix.

Return value

GUI transformation matrix.

void setTransparentAlpha ( float alpha ) #

Sets an alpha value for transparent widgets. A widget is transparent, if it uses blending. The default is 0.8 (translucent).

Arguments

  • float alpha - Alpha value. 0 means completely transparent.

float getTransparentAlpha ( ) const#

Returns the alpha value of a transparent widget. A widget is transparent, if it uses blending.

Return value

Alpha value.

void setTransparentColor ( const Math::vec4 & color ) #

Sets a font color for transparent widgets. A widget is transparent, if it uses blending. The default is equivalent to #869caa (light bluish).

Arguments

  • const Math::vec4 & color - Font color.

Math::vec4 getTransparentColor ( ) const#

Returns the font color of a transparent widget. A widget is transparent, if it uses blending.

Return value

Font color of a transparent widget.

void setTransparentEnabled ( bool enabled ) #

Sets a value indicating if a widget can be rendered as transparent (i.e. change its color accordingly), when necessary. For example, this function allows to control whether the drop-down list of combobox is transparent or not.

Arguments

  • bool enabled - Positive value if the widget can be rendered as transparent; otherwise, 0.

bool isTransparentEnabled ( ) const#

Returns a value indicating if a widget can be rendered as transparent (i.e. change its color accordingly), when necessary. For example, it can indicate whether the drop-down list of combobox is transparent or not.

Return value

1 if the widget can be rendered as transparent; otherwise, 0.

int getWidth ( ) const#

Returns the current screen width.

Return value

Screen width, in pixels.

Ptr<WidgetVBox> getVBox ( ) const#

Returns the root widget of the GUI (WidgetVBox).

Return value

The root widget of the GUI.

void addChild ( const Ptr<Widget> & widget, int flags = 0 ) #

Adds a given widget to the GUI.

Arguments

  • const Ptr<Widget> & widget - Widget to add.
  • int flags - One of the ALIGN_* pre-defined variables. This is an optional parameter.

int addDictionary ( const char * name, const char * language = 0 ) #

Adds a new dictionary with localized interface strings. Dictionaries cannot be modified in run-time.

Arguments

  • const char * name - Path to the dictionary file.
  • const char * language - Name of the dictionary language.

Return value

Returns 1 if the dictionary is added successfully; otherwise, 0.

void clearDictionaries ( ) #

Clears all dictionaries.

int clearTexture ( const char * name ) #

Clears the specified GUI texture file cache.

Arguments

  • const char * name - Texture name.

Return value

1 if the texture is successfully cleared; otherwise, 0.

Ptr&lt;Gui&gt; create ( const char * name = 0 ) #

GUI constructor.

Arguments

  • const char * name - GUI skin name.

Return value

Pointer to the created GUI.

void destroy ( ) #

Destroys all GUI resources.

void disable ( ) #

Disables GUI rendering.

void enable ( ) #

Enables GUI rendering.

int hasTranslation ( const char * arg1 ) const#

Returns a value indicating if there is translation for a given string in the localization dictionary.

Arguments

  • const char * arg1 - String to check.

Return value

1 if there is translation for the given string; otherwise, 0.

Math::vec4 parseColor ( const char * str ) const#

Converts a color string in the Web format (RRGGBB / #RRGGBB or RRGGBBAA / #RRGGBBAA) into its vec4 equivalent.

Arguments

  • const char * str - Color string in the Web format.

Return value

Color value as a vec4 vector (R, G, B, A).

void removeChild ( const Ptr<Widget> & widget ) #

Removes the specified widget from the GUI.

Arguments

  • const Ptr<Widget> & widget - Child widget to be removed.

void removeFocus ( ) #

Removes focus from the GUI.

void replaceChild ( const Ptr<Widget> & widget, const Ptr<Widget> & old_widget, int flags = 0 ) #

Replaces a given widget in the GUI with another widget.

Arguments

  • const Ptr<Widget> & widget - Replacement widget.
  • const Ptr<Widget> & old_widget - Widget to be replaced.
  • int flags - One of the ALIGN_* pre-defined variables. This is an optional parameter.

int saveDictionary ( const char * name, const char * language = 0 ) #

Saves the current dictionary on disk. This function can be used to save the currently loaded dictionary into another file.

Arguments

  • const char * name - Name of the dictionary language.
  • const char * language - Dictionary language name.

Return value

1 if the dictionary is saved successfully; otherwise, 0.

const char * translate ( const char * str ) #

Returns the source string translated using the dictionary.

Arguments

  • const char * str - String to translate (source).

Return value

Target (translated) string if it is found in the localization dictionary; otherwise, the source string.

void update ( ) #

Updates GUI.

void preRender ( ) #

Method executed after the update() and before the render() function. This method is used to make necessary preparations for rendering (e.g. prepare a texture) after the update() and is called automatically for WidgetSpriteViewport and WidgetSpriteNode to ensure proper rendering of the widgets during render(). In case you implement a custom GUI or widgets using the WidgetExtern class you should put all such rendering preparations to WidgetExternBase::preRender() and call preRender() for GUI manually after update().

void render ( ) #

Renders the GUI.

void render ( int custom_mouse_buttons ) #

Renders the GUI.

Arguments

  • int custom_mouse_buttons - Pressed mouse button.

void updateHierarchy ( ) #

Updates the hierarchy for all widgets — the widgets are arranged, expanded to the required sizes and then their positions are updated. Updating the hierarchy may be required, for example, for getting the screen position immediately after the widget has been added to the hierarchy.

bool isRenderingBootScreen ( ) #

Returns a value indicating if the GUI currently renders the boot screen.

Return value

true if the GUI currently renders the boot screen; otherwise, false.

bool isRenderingSplashScreen ( ) #

Returns a value indicating if the GUI currently renders the splash screen.

Return value

true if the GUI currently renders the splash screen; otherwise, false.

bool isRenderingLoadingScreen ( ) #

Returns a value indicating if the GUI currently renders the loading screen.

Return value

true if the GUI currently renders the loading screen; otherwise, false.

void focusGained ( ) #

The focus is set on the GUI object.

void focusLost ( ) #

The focus is removed from the GUI.

bool isHover ( int global_pos_x, int global_pos_y ) const#

Returns a value indicating if the cursor is hovering over the GUI object.

Arguments

  • int global_pos_x - The X coordinate of the cursor in global coordinates.
  • int global_pos_y - The Y coordinate of the cursor in global coordinates.

Return value

true if the cursor is hovering over the GUI object; otherwise, false.

Ptr<Widget> getWidgetIntersection ( int global_pos_x, int global_pos_y ) #

Returns the intersected widget that is visually perceptible (not empty, not transparent).

Arguments

Return value

The intersected widget that is visually perceptible.

Ptr<Widget> getUnderCursorWidget ( ) #

Returns the visually perceptible widget, over which the cursor is currently hovering.

Return value

The widget, over which the cursor is currently hovering.

Ptr<Gui> getFocusGui ( ) #

Returns the GUI object that is currently in focus.

Return value

The GUI object currently in focus.

Ptr<Gui> getGuiIntersection ( int global_pos_x, int global_pos_y ) #

Returns the intersected GUI object.
Notice
This method takes Z-ordering into consideration: if the GUI object is overlapped by any other window, the method returns nullptr.

Arguments

  • int global_pos_x - The X coordinate of the intersection point in global coordinates.
  • int global_pos_y - The Y coordinate of the intersection point in global coordinates.

Return value

The intersected GUI object.

Ptr<Gui> getUnderCursorGui ( ) #

Returns the GUI object that is currently under cursor.
Notice
If case of dragging or resizing a window, this method returns nullptr. To receive the intersected GUI in such a case, use getGuiIntersection().

Return value

GUI object currently under cursor.

void getWorldGuiInstances ( Vector<Ptr<Gui>> & OUT_ret_instances ) #

Returns all GUI instances that are available in the scene hierarchy and rendered as world objects.

Arguments

  • Vector<Ptr<Gui>> & OUT_ret_instances - All GUI instances that are available in the scene hierarchy and rendered as world objects.
    Notice
    This output buffer is to be filled by the Engine as a result of executing the method.

void setSize ( const Math::ivec2 & size ) #

Sets the GUI object size.

Arguments

  • const Math::ivec2 & size - GUI object size (width and height).

Math::ivec2 getSize ( ) const#

Returns the GUI object size.

Return value

GUI object size (width and height).

void setPosition ( const Math::ivec2 & position ) #

Sets the GUI object position (top left corner) in screen coordinates.

Arguments

  • const Math::ivec2 & position - GUI object position.

Math::ivec2 getPosition ( ) const#

Sets the GUI object position (top left corner) in screen coordinates.

Return value

GUI object position.

void setWinHandle ( unsigned long long handle ) #

Sets the engine handle of the window.

Arguments

  • unsigned long long handle - The window handle.

unsigned long long getWinHandle ( ) const#

Returns the engine handle of the window.

Return value

The window handle.

void setWorldObject ( bool val ) #

Sets the value indicating if the GUI object is available in the hierarchy and rendered as a world object.

Arguments

  • bool val - true if the GUI object should be available in the hierarchy and rendered as a world object; false if it should have the window handle.

bool isWorldObject ( ) const#

Returns the value indicating if the GUI object is available in the hierarchy and rendered as a world object.

Return value

true if the GUI object is available in the hierarchy and rendered as a world object; false if it has the window handle.

void setMouseShow ( bool show ) #

Sets the value indicating if the OS mouse pointer should be displayed.

Arguments

  • bool show - true if the OS mouse pointer should be displayed; false if the application cursor is used only.

bool isMouseShow ( ) const#

Returns the value indicating if the OS mouse pointer should be displayed.

Return value

true if the OS mouse pointer is displayed; false if the application cursor is used only.

int getMouseWheel ( ) const#

Returns the current mouse scroll value. Negative values correspond to scrolling downwards; positive values correspond to scrolling upwards; the value is zero when the mouse wheel is not scrolled.

Return value

The mouse scroll value in the [-1;1] range.

int getAndClearMouseWheel ( ) #

Returns the mouse scroll value and clears the mouse scroll state info.

Return value

The mouse scroll value in the [-1;1] range.

void forceSetMouseWheel ( int value ) #

Sets the mouse scroll value.

Arguments

  • int value - The mouse scroll value in the [-1;1] range.

int getMouseWheelHorizontal ( ) const#

Returns the current horizontal mouse scroll value.

Return value

The horizontal mouse scroll value in the [-1;1] range.

int getAndClearMouseWheelHorizontal ( ) #

Returns the mouse horizontal scroll value and clears the mouse scroll state info.

Return value

The horizontal mouse scroll value in the [-1;1] range.

void forceSetMouseWheelHorizontal ( int value ) #

Sets the mouse vertical scroll value.

Arguments

  • int value - The horizontal mouse scroll value in the [-1;1] range.

bool isUnderCursor ( ) const#

Returns the value indicating if the GUI object is under cursor.

Return value

true if the GUI object is under cursor; otherwise, false.

bool getKey ( Input::KEY key ) #

Returns the value indicating if the specified key is pressed.

Arguments

  • Input::KEY key - One of the standard ASCII control codes or one of the KEY_* pre-defined variables.

Return value

true if the key is pressed; otherwise, false.

bool getAndClearKey ( Input::KEY key ) #

Returns the value indicating if the specified key is pressed and clears the key state info.

Arguments

  • Input::KEY key - One of the standard ASCII control codes or one of the KEY_* pre-defined variables.

Return value

true if the key is pressed; otherwise, false.

void setDpiScale ( float scale ) #

Sets the DPI scale to be applied to the GUI.

Arguments

  • float scale - The DPI scale to be applied to the GUI.

float getDpiScale ( ) const#

Returns the current DPI scale applied to the GUI.

Return value

The current DPI scale applied to the GUI.

int toRenderSize ( int unit_size ) const#

Transforms the unit value to the pixel value.

Arguments

  • int unit_size - Size in units.

Return value

Size in pixels.

int toUnitSize ( int render_size ) const#

Transforms the pixel value to the unit value.

Arguments

  • int render_size - Size in pixels.

Return value

Size in units.
Last update: 2024-02-06
Build: ()