UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Unigine::ObjectGui Class

Header: #include <UnigineObjects.h>
Inherits: Object

This class allows to create a flat GUI object that is positioned in the world and to which different widgets are assigned to be displayed. Basically, ObjectGui is a flat display to which a player can come to and click some buttons. GUI objects can undergo postprocessing filtering, for example, blurring or any other one.

Notice
When you create an instance of the ObjectGui class, it is automatically associated with an instance of the Gui class.

The following samples demonstrate the ObjectGui class usage:

ObjectGui Class

Members


static ObjectGuiPtr create ( float width, float height, const char * name = 0 )

Constructor. Creates a new GUI object with given properties.

Arguments

  • float width - Physical width of the new GUI object in units.
  • float height - Physical height of the new GUI object in units.
  • const char * name - Path to the folder with GUI skin (the RC file and textures). If no value is specified, the default gui skin will be used.

Ptr<ObjectGui> cast( const Ptr<Object> & base )

Casts an ObjectGui out of the Object instance.

Arguments

  • const Ptr<Object> & base - Pointer to Object.

Return value

Pointer to ObjectGui.

Ptr<ObjectGui> cast( const Ptr<Node> & node )

Casts an ObjectGui out of the Node instance.

Arguments

  • const Ptr<Node> & node - Pointer to Node.

Return value

Pointer to ObjectGui.

void setBackground( int background )

Sets a value indicating if the GUI background (black screen) should be rendered.

Arguments

  • int background - 1 to render GUI background, 0 to keep it transparent.

int getBackground( )

Returns a value indicating if GUI background (black screen) is rendered.

Return value

1 if background is rendered; otherwise, 0.

void setBillboard( int billboard )

Sets a value indicating if the GUI object should be a billboard.

Arguments

  • int billboard - 1 to be a billboard; otherwise, 0.

int isBillboard( )

Returns a value indicating if the GUI object is a billboard.

Return value

1 if the GUI object is a billboard; otherwise, 0.

void setControlDistance( float distance )

Sets a distance at which the GUI becomes controllable.

Arguments

  • float distance - A new distance in units.

float getControlDistance( )

Returns the distance at which the GUI becomes controllable.

Return value

The distance in units.

void setDepthTest( int test )

Sets a value indicating if depth test should be used for the GUI object.

Arguments

  • int test - 1 to use depth test; otherwise, 0.

int getDepthTest( )

Returns a value indicating if the GUI object uses depth test.

Return value

1 if the GUI object uses depth test; otherwise, 0.

Ptr<Gui> getGui( )

Returns a Gui instance associated with the object.

Return value

Gui smart pointer.

void setMouse( const Math::Vec3 & p0, const Math::Vec3 & p1, int mouse_button, int mouse_show )

Sets mouse cursor position in the virtual control mode.

Arguments

  • const Math::Vec3 & p0 - Start point. A line segment between the start and the end points must intersect ObjectGui. The point of intersection determines x and y coordinates on the ObjectGui.
  • const Math::Vec3 & p1 - End point. A line segment between the start and the end points must intersect ObjectGui. The point of intersection determines x and y coordinates on the ObjectGui.
  • int mouse_button - Mouse button status. Set 1 to indicate that the button is clicked; otherwise, 0.
  • int mouse_show - Mouse cursor status. Set 1 to show mouse cursor; otherwise, 0.

void setMouseMode( int mode )

Sets mouse mode. This method can be used to set a virtual control mode for the mouse.

Arguments

  • int mode - Mouse mode. One of the MOUSE_* variables.

int getMouseMode( )

Returns the current mouse mode.

Return value

Mouse mode. One of the MOUSE_* variables.

void setMouseShow( int show )

Sets a value indicating if the mouse cursor should be rendered in the GUI object.

Arguments

  • int show - 1 to render the mouse cursor; otherwise, 0.

int getMouseShow( )

Returns a value indicating if the mouse cursor is rendered in the GUI object.

Return value

1 if the cursor is rendered; otherwise, 0.

float getPhysicalHeight( )

Returns the physical height of the GUI object.

Return value

The height in units.

void setPhysicalSize( float width, float height )

Sets physical dimensions of the GUI object.

Arguments

  • float width - A new width in units.
  • float height - A new height in units.

float getPhysicalWidth( )

Returns the physical width of the GUI object.

Return value

The width in units.

void setPolygonOffset( float offset )

Sets an offset of the GUI object above the background to avoid z-fighting.

Arguments

  • float offset - A polygon offset in units.

float getPolygonOffset( )

Returns an offset of the GUI object above the background to avoid z-fighting.

Return value

The polygon offset in units.

int getScreenHeight( )

Returns the screen height of the GUI object.

Return value

The height in pixels.

void setScreenSize( int width, int height )

Sets screen dimensions of the GUI object.

Arguments

  • int width - A new width in pixels.
  • int height - A new height in pixels.

int getScreenWidth( )

Returns the screen width of the GUI object.

Return value

The width in pixels.

int type( )

Returns the type of the node.

Return value

Object type identifier.
Last update: 2018-12-27