This page has been translated automatically.
Programming
Fundamentials
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Bounds-Related Classes
Containers
Controls-Related Classes
Core Library
GUI-Related Classes
Node-Related Classes
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes
Utility Classes
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.

App Class

This set of functions controls the appearance of the Unigine application window, its update parameters and handles window input from the keyboard and mouse.

App Class

Members


void render ()

Application requests the engine to render.

int getMouseY ()

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 getMouseAxis (int axis)

Returns the current mouse position delta along the specified axis.

Arguments

Return value

Mouse axis delta regarding the last mouse axis position, integer value.

int shutdownNULL ()

Shuts down the NULL renderer.

Return value

1 is the renderer is shut down successfully; otherwise, 0.

int getMouseShow ()

Returns a value indicating if the OS mouse pointer is displayed.

Return value

1 if the OS mouse pointer is displayed; otherwise, 0.

void setMouseShow (int arg1)

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

Arguments

  • int arg1 - Positive integer if the OS mouse pointer should be displayed; otherwise, 0.

void stopFps ()

Stops the FPS counter.
Notice
Number of calls to this function should correspond to the number of calls to the engine.app.startFps() function.

int getMouseGrab ()

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

Return value

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

void keyPress (unsigned int key)

Application notifies the engine that a key on a keyboard is pressed.

Arguments

  • unsigned int key - Key ID. Possible values can be in range [0;255], which are standard ASCII code symbols, or in range [KEY_ESC;KEY_NUM], which are used for control buttons. For full list of control button see App:: Enumeration at the end of the article.

void doRender ()

The engine requests to call render() function. Application can ignore this request if it handles the main loop by itself.

int initGL ()

Initializes the OpenGL render. This function should be called when OpenGL context is created.

Return value

Returns 1 if the render is initialized successfully; otherwise, 0.

void setButtonPressFunc (int ( * func)(int button) )

Application event which is called on button press. The engine will stop event processing if the event function Returns 1.

Arguments

  • int ( * func)(int button) - Event function pointer.

void startFps ()

Starts the FPS counter if it was stopped.
Notice
Number of calls to this function should correspond to the number of calls to the engine.app.stopFps() function.

int restoreVideoMode ()

Restores the video mode of the operating system.

Return value

Returns 1 if the video mode is restored successfully; otherwise, 0.

void keyRelease (unsigned int key)

Application notifies the engine that a key on a keyboard is released.

Arguments

  • unsigned int key - Key ID. Possible values can be in range [0;255], which are standard ASCII code symbols, or in range [KEY_ESC;KEY_NUM], which are used for control buttons. For full list of control button see App:: Enumeration at the end of the article.

void setMouseButton (int arg1)

Simulates pressing of the specified mouse buttons.

Arguments

  • int arg1 - Mouse buttons to be pressed (any of APP_BUTTON_* variables).

string getKeyName (int key)

Returns a name of a given key.

Arguments

  • int key - Key in one of the following formats:
    • Character format (for example, 'a')
    • Standard ASCII key code (for example, 97)
    • One of APP_KEY_* variables

Return value

Key name.

string getVideoModeName ()

Returns the name of the current video mode.

Return value

Returns the name of the current video mode.

int getUpdate ()

Returns a value indicating whether the application is updating when the window is hidden.

Return value

1 if it keeps updating; otherwise, 0.

int getWidth ()

Returns the current video width.

Return value

Current video width.

void doUpdate ()

The engine requests to call update() function. Application can ignore this request if it handles the main loop by itself.

void setClipboard (string str)

Updates the contents of the system clipboard.

Arguments

  • string str - Contents to set.

string getMouseButtonName (int button)

Returns a name of a given button.

Arguments

Return value

Button name.

int isD3D11Initialized ()

Returns the status of the Direct3D11 render.

Return value

Returns 1 if the render is initialized; otherwise, 0.

void doSwap ()

The engine requests to call swap() function. Application can ignore this request if it handles the main loop by itself.

int getPositionY ()

Returns the Y coordinate of the upper-left corner of the window.

Return value

Y coordinate of the upper-left corner.

int setUpdate (int update)

This function controls whether the application will be updating when the window is hidden.

Arguments

  • int update - Positive integer if the the application should update if the window is hidden; otherwise, 0.

Return value

Positive integer on success, otherwise, 0.

int getHeight ()

Returns the current video height.

Return value

Current video height.

void setMouseGrab (int arg1)

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

Arguments

  • int arg1 - Positive integer if the mouse pointer cannot leave the application window; otherwise, 0.

int dialogMessage (string title, string str, string flags = 0)

Creates a system modal message dialog. Since the dialog is modal, all other actions are stopped until this function returns a value.
Notice
If you don't specify flags, the Oc combination will be used by default.

Arguments

  • string title - Title of the dialog window.
  • string str - Content of the dialog window.
  • string flags - Dialog window flags. The argument accepts a string with names of buttons. The following combinations are available:
    • Oc or oC - OK, Cancel.
    • Yn or yN - Yes, No
    • ynC, yNc or Ync - Yes, No, Cancel
    Notice
    The uppercase letter indicates which button will be in focus.
    If you send any other combination, only the OK button will appear in the window.

Return value

The function returns one of the following values:
  • 1 if the OK button has been pressed.
  • 2 if the Yes button has been pressed.
  • -1 if the No button has been pressed.
  • 0 if the Cancel button has been pressed.

int isGLInitialized ()

Returns the status of the OpenGL render.

Return value

Returns 1 if the OpenGL render is initialized; otherwise, 0.

void keyPressUnicode (unsigned int key)

Application notifies the engine that a key is pressed.

Arguments

  • unsigned int key - Unicode symbol ID.

void * getD3D11Context ()

Returns a pointer to the existing ID3D11DeviceContext interface.

Return value

int clearKeyState (int key)

Returns a key state and clears it to 0 (not pressed). This function allows to return key state only once even if it is kept pressed over several frames.

Arguments

  • int key - Key in one of the following formats:
    • Character format (for example, 'a')
    • Standard ASCII key code (for example, 97)
    • One of APP_KEY_* variables

Return value

1 if the key is pressed, and this function was not called previously in the current frame; otherwise, 0.

void buttonPress (int button)

Application notifies the engine that a mouse button is pressed.

Arguments

  • int button - Button ID. Possible values are BUTTON_LEFT, BUTTON_RIGHT, etc. For full list of the values see App:: Enumeration at the end of the article.

float getFps ()

Returns a value of the application FPS counter.

Return value

FPS counter value.

int isActive ()

Returns the value indicating if the current application is active.
Notice
The sounds will be automatically disabled, if the application is not active.

Return value

1 if application is active; otherwise - 0.

int getFlags ()

Returns the current video mode flags.

Return value

Video mode flags: DESTROY, RESIZABLE, FULSCREEN, etc. For full list of available flags see App:: Enumeration at the end of the article.

int shutdownGL ()

Shuts down the OpenGL render. This function should be called when OpenGL context is destroyed.

Return value

Returns 1 if the render is shut down successfully; otherwise, 0.

int getMouseButton ()

Returns the current states of all mouse buttons. Each bit of the returned bit mask will specify the state of the buttons in the following order:
  1. APP_BUTTON_LEFT = 1 << 0
  2. APP_BUTTON_MIDDLE
  3. APP_BUTTON_RIGHT
  4. APP_BUTTON_DCLICK
  5. APP_BUTTON_AUX_0
  6. APP_BUTTON_AUX_1
  7. APP_BUTTON_AUX_2
  8. APP_BUTTON_AUX_3

Return value

Current states of all mouse buttons.

void setKeyPressUnicodeFunc (int ( * func)(unsigned int key) )

Application event which is called on unicode key press. The engine will stop event processing if the event function Returns 1.

Arguments

  • int ( * func)(unsigned int key) - Event function pointer.

void swap ()

Application requests the engine to swap.

int setTitle (string title)

Sets a title for the application window.

Arguments

  • string title - Title to set.

Return value

1 if the title is set successfully; otherwise, 0.

string getClipboard ()

Retrieves the contents of the system clipboard.

Return value

Contents of the system clipboard.

int setGamma (float gamma)

Sets the gamma correction value.

Arguments

  • float gamma - Gamma correction value. If the 1.0f value is provided, no gamma correction is applied.

Return value

Returns 1 if the gamma correction value is set successfully; otherwise, 0.

int getKeyState (int key)

Returns a key state.

Arguments

  • int key - Key in one of the following formats:
    • Character format (for example, 'a')
    • Standard ASCII key code (for example, 97)
    • One of APP_KEY_* variables

Return value

1 if the key is pressed; otherwise, 0.

void exit ()

The engine requests to exit the application.

int clearMouseAxis (int axis)

Returns the current mouse axis position delta and clears it to 0.

Arguments

Return value

Mouse axis delta regarding the last mouse axis position, integer value.

void setFilter (float filter)

Filters the FPS counter value. By the value of 0, filtering is disabled and the current FPS value is always shown. The default is 0.9 (10 percent of the current FPS is taken into account).

Arguments

  • float filter - Filter in range [0;1).

int getMouseButtonState (int button)

Returns a button state.

Arguments

Return value

1 if at least one of the buttons is pressed; otherwise, 0.

string getName ()

Returns a name of the graphics API used for application rendering.

Return value

Returns "opengl" for OpenGL, "opengles" for OpenGL ES, "direct3d11" for DirectX 11 or NULL if no graphics API is used for application rendering.

void setKeyState (int key, int state)

Simulates pressing or unpressing of the specified keys.

Arguments

  • int key - Keys to change state (any of APP_KEY_* variables).
  • int state - 1 to press the key; 0 otherwise.

void setMouse (int x, int y)

Sets the mouse pointer to a specified position in the coordinate system of the application window.

Arguments

  • int x - X coordinate of the mouse pointer.
  • int y - Y coordinate of the mouse pointer.

int clearMouseButtonState (int button)

Returns a button state and clears it to 0 (not pressed). This function allows to return button state only once even if it is kept pressed over several frames.

Arguments

Return value

1 if at least one of the buttons is pressed, and this function was not called previously in the current frame; otherwise, 0.

void setKeyReleaseFunc (int ( * func)(unsigned int key) )

Application event which is called on key release. The engine will stop event processing if the event function Returns 1.

Arguments

  • int ( * func)(unsigned int key) - Event function pointer.

int isDone ()

Returns a value indicating if the application is closed.

Return value

Returns 1 if the application is closed; otherwise, 0.

int initD3D11 (void * adapter, void * device, void * context)

Initializes the Direct3D11 render. This function should be called when the Direct3D11 device is ready for rendering.

Arguments

  • void * adapter - Pointer to the IDXGIAdapter interface.
  • void * device - Pointer to the ID3D11Device interface.
  • void * context - Pointer to ID3D11DeviceContext interface.

Return value

Returns 1 if the Direct3D11 render is initialized successfully; otherwise, 0.

int initNULL ()

Initializes the NULL renderer: nothing is rendered onto the screen. This mode is used, for example, for servers in case of playing over the network.

Return value

1 is the renderer is initialized successfully; otherwise, 0.

int setPosition (int x, int y)

Sets the window position.

Arguments

  • int x - X coordinate of the upper-left corner of the window.
  • int y - Y coordinate of the upper-left corner of the window.

Return value

1 if the position of the window is set successfully; otherwise, 0.

int getPositionX ()

Returns the X coordinate of the upper-left corner of the window.

Return value

X coordinate of the upper-left corner.

void setKeyPressFunc (int ( * func)(unsigned int key) )

Application event which is called on key press. The engine will stop event processing if the event function Returns 1.

Arguments

  • int ( * func)(unsigned int key) - Event function pointer.

void destroy ()

Application requests the engine to destroy.

float getFTime ()

Returns time spent between a previous update and a current one.

Return value

Frame duration.

int setVideoMode (int width, int height, int flags = 0, int refresh = 0)

Sets a video mode and initializes application.

Arguments

  • int width - Video width in pixels.
  • int height - Video height in pixels.
  • int flags - Video mode flags: DESTROY, RESIZABLE, FULSCREEN, etc. For full list of available flags see App:: Enumeration at the end of the article.
  • int refresh - Force refresh rate in Hz; if 0 is provided, default refresh rate is used.

Return value

Returns 1 if the video mode is set successfully and the application is also initialized successfully; otherwise, 0.

void setMouseAxis (int axis, int value)

Sets the mouse position delta along the specified axis.

Arguments

  • int axis - Mouse axis. Possible values are APP_AXIS_X, APP_AXIS_Y.
  • int value - Mouse axis delta, integer value.

void update ()

Application requests the engine to update.

void buttonRelease (int button)

Application notifies the engine that a mouse button is released.

Arguments

  • int button - Button ID. Possible values are BUTTON_LEFT, BUTTON_RIGHT, etc. For full list of the values see App:: Enumeration at the end of the article.

void * getHandle ()

Returns a pointer to the application handle.

Return value

Pointer to the application handle.

int getTouchX (int touch)

Returns the X coordinate of the touch in the coordinate system of the application window.

Arguments

  • int touch - Number of the touch.

Return value

X coordinate of the touch.

int getTouchY (int touch)

Returns the Y coordinate of the touch in the coordinate system of the application window.

Arguments

  • int touch - Number of the touch.

Return value

Y coordinate of the touch.

float getIFps ()

Returns an inverse value of the application FPS counter.

Return value

Inverse value of the FPS counter (1/ FPS).

int isNULLInitialized ()

Returns a value indicating whether the NULL renderer is initialized.

Return value

1 is the renderer is initialized; otherwise, 0.

void setButtonReleaseFunc (int ( * func)(int button) )

Application event which is called on button release. The engine will stop event processing if the event function Returns 1.

Arguments

  • int ( * func)(int button) - Event function pointer.

int shutdownD3D11 ()

Shuts down the Direct3D11 render. This function should be called when the Direct3D11 device is released.

Return value

Returns 1 if the Direct3D11 render is shut down successfully; otherwise, 0.

void * getD3D11Device ()

Returns a pointer to the existing ID3D11Device interface.

Return value

int getNumTouches ()

Returns the number of touches. The maximum number of touches is 16.

Return value

Number of touches.

int getMouseX ()

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 APP_DESTROY

int APP_RESIZABLE

int APP_FULLSCREEN

int APP_FULLWINDOW

int APP_VSYNC

int APP_DEBUG_CONTEXT

int APP_BUTTON_LEFT

int APP_BUTTON_MIDDLE

int APP_BUTTON_RIGHT

int APP_BUTTON_DCLICK

int APP_BUTTON_AUX_0

int APP_BUTTON_AUX_1

int APP_BUTTON_AUX_2

int APP_BUTTON_AUX_3

int APP_AXIS_X

int APP_AXIS_Y

int APP_NUM_AXES

int APP_NUM_TOUCHES

int APP_KEY_ESC

int APP_KEY_TAB

int APP_KEY_BACKSPACE

int APP_KEY_RETURN

int APP_KEY_DELETE

int APP_KEY_INSERT

int APP_KEY_HOME

int APP_KEY_END

int APP_KEY_PGUP

int APP_KEY_PGDOWN

int APP_KEY_LEFT

int APP_KEY_RIGHT

int APP_KEY_UP

int APP_KEY_DOWN

int APP_KEY_SHIFT

int APP_KEY_CTRL

int APP_KEY_ALT

int APP_KEY_CMD

int APP_KEY_SCROLL

int APP_KEY_CAPS

int APP_KEY_NUM

int APP_KEY_F1

int APP_KEY_F2

int APP_KEY_F3

int APP_KEY_F4

int APP_KEY_F5

int APP_KEY_F6

int APP_KEY_F7

int APP_KEY_F8

int APP_KEY_F9

int APP_KEY_F10

int APP_KEY_F11

int APP_KEY_F12

int APP_NUM_KEYS

Last update: 2017-07-03
Build: ()