Tramway SDK
Namespaces | Typedefs | Enumerations | Functions | Variables
ui.h File Reference
#include <render/render.h>

Go to the source code of this file.

Namespaces

namespace  tram
 
namespace  tram::UI
 

Typedefs

typedef uint16_t tram::UI::keyboardaction_t
 

Enumerations

enum  tram::UI::KeyboardKey : uint16_t {
  tram::UI::KEY_SPACE , tram::UI::KEY_APOSTROPHE , tram::UI::KEY_COMMA , tram::UI::KEY_MINUS ,
  tram::UI::KEY_PERIOD , tram::UI::KEY_SLASH , tram::UI::KEY_0 , tram::UI::KEY_1 ,
  tram::UI::KEY_2 , tram::UI::KEY_3 , tram::UI::KEY_4 , tram::UI::KEY_5 ,
  tram::UI::KEY_6 , tram::UI::KEY_7 , tram::UI::KEY_8 , tram::UI::KEY_9 ,
  tram::UI::KEY_SEMICOLON , tram::UI::KEY_EQUAL , tram::UI::KEY_A , tram::UI::KEY_B ,
  tram::UI::KEY_C , tram::UI::KEY_D , tram::UI::KEY_E , tram::UI::KEY_F ,
  tram::UI::KEY_G , tram::UI::KEY_H , tram::UI::KEY_I , tram::UI::KEY_J ,
  tram::UI::KEY_K , tram::UI::KEY_L , tram::UI::KEY_M , tram::UI::KEY_N ,
  tram::UI::KEY_O , tram::UI::KEY_P , tram::UI::KEY_Q , tram::UI::KEY_R ,
  tram::UI::KEY_S , tram::UI::KEY_T , tram::UI::KEY_U , tram::UI::KEY_V ,
  tram::UI::KEY_W , tram::UI::KEY_X , tram::UI::KEY_Y , tram::UI::KEY_Z ,
  tram::UI::KEY_LEFT_BRACKET , tram::UI::KEY_BACKSLASH , tram::UI::KEY_RIGHT_BRACKET , tram::UI::KEY_GRAVE_ACCENT ,
  tram::UI::KEY_WORLD_1 , tram::UI::KEY_WORLD_2 , tram::UI::KEY_ESCAPE , tram::UI::KEY_ENTER ,
  tram::UI::KEY_TAB , tram::UI::KEY_BACKSPACE , tram::UI::KEY_INSERT , tram::UI::KEY_DELETE ,
  tram::UI::KEY_RIGHT , tram::UI::KEY_LEFT , tram::UI::KEY_DOWN , tram::UI::KEY_UP ,
  tram::UI::KEY_PAGE_UP , tram::UI::KEY_PAGE_DOWN , tram::UI::KEY_HOME , tram::UI::KEY_END ,
  tram::UI::KEY_CAPS_LOCK , tram::UI::KEY_SCROLL_LOCK , tram::UI::KEY_NUM_LOCK , tram::UI::KEY_PRINT_SCREEN ,
  tram::UI::KEY_PAUSE , tram::UI::KEY_F1 , tram::UI::KEY_F2 , tram::UI::KEY_F3 ,
  tram::UI::KEY_F4 , tram::UI::KEY_F5 , tram::UI::KEY_F6 , tram::UI::KEY_F7 ,
  tram::UI::KEY_F8 , tram::UI::KEY_F9 , tram::UI::KEY_F10 , tram::UI::KEY_F11 ,
  tram::UI::KEY_F12 , tram::UI::KEY_F13 , tram::UI::KEY_F14 , tram::UI::KEY_F15 ,
  tram::UI::KEY_F16 , tram::UI::KEY_F17 , tram::UI::KEY_F18 , tram::UI::KEY_F19 ,
  tram::UI::KEY_F20 , tram::UI::KEY_F21 , tram::UI::KEY_F22 , tram::UI::KEY_F23 ,
  tram::UI::KEY_F24 , tram::UI::KEY_F25 , tram::UI::KEY_KP_0 , tram::UI::KEY_KP_1 ,
  tram::UI::KEY_KP_2 , tram::UI::KEY_KP_3 , tram::UI::KEY_KP_4 , tram::UI::KEY_KP_5 ,
  tram::UI::KEY_KP_6 , tram::UI::KEY_KP_7 , tram::UI::KEY_KP_8 , tram::UI::KEY_KP_9 ,
  tram::UI::KEY_KP_DECIMAL , tram::UI::KEY_KP_DIVIDE , tram::UI::KEY_KP_MULTIPLY , tram::UI::KEY_KP_SUBTRACT ,
  tram::UI::KEY_KP_ADD , tram::UI::KEY_KP_ENTER , tram::UI::KEY_KP_EQUAL , tram::UI::KEY_LEFT_SHIFT ,
  tram::UI::KEY_LEFT_CONTROL , tram::UI::KEY_LEFT_ALT , tram::UI::KEY_LEFT_SUPER , tram::UI::KEY_RIGHT_SHIFT ,
  tram::UI::KEY_RIGHT_CONTROL , tram::UI::KEY_RIGHT_ALT , tram::UI::KEY_RIGHT_SUPER , tram::UI::KEY_MENU ,
  tram::UI::KEY_RIGHTMOUSE , tram::UI::KEY_LEFTMOUSE , tram::UI::KEY_MIDDLEMOUSE , tram::UI::KEY_LASTKEY
}
 
enum  tram::UI::KeyboardAxis : uint16_t { tram::UI::KEY_MOUSE_X , tram::UI::KEY_MOUSE_Y , tram::UI::KEY_MOUSE_SCROLL , tram::UI::KEY_LASTAXIS }
 
enum  tram::UI::InputState {
  tram::UI::STATE_DEFAULT , tram::UI::STATE_NO_INPUT , tram::UI::STATE_FLYING , tram::UI::STATE_MENU_OPEN ,
  tram::UI::STATE_CURSOR
}
 
enum  tram::UI::KeyboardAction : keyboardaction_t {
  tram::UI::KEY_ACTION_NONE , tram::UI::KEY_ACTION_FORWARD , tram::UI::KEY_ACTION_BACKWARD , tram::UI::KEY_ACTION_STRAFE_LEFT ,
  tram::UI::KEY_ACTION_STRAFE_RIGHT , tram::UI::KEY_ACTION_JUMP , tram::UI::KEY_ACTION_CROUCH , tram::UI::KEY_ACTION_SPRINT ,
  tram::UI::KEY_ACTION_ACTIVATE , tram::UI::KEY_ACTION_UP , tram::UI::KEY_ACTION_DOWN , tram::UI::KEY_ACTION_LEFT ,
  tram::UI::KEY_ACTION_RIGHT , tram::UI::KEY_ACTION_LAST
}
 
enum  tram::UI::CursorType { tram::UI::CURSOR_DEFAULT , tram::UI::CURSOR_TEXT , tram::UI::CURSOR_CLICK }
 

Functions

void tram::UI::Init ()
 
void tram::UI::Uninit ()
 
void tram::UI::Update ()
 
void tram::UI::EndFrame ()
 
float tram::UI::GetScreenWidth ()
 
float tram::UI::GetScreenHeight ()
 
void tram::UI::SetWindowTitle (const char *title)
 
void tram::UI::SetWindowSize (int w, int h)
 
void tram::UI::SetCursor (CursorType cursor)
 
void tram::UI::SetWebMainLoop (void(*loop_function)(void))
 
void tram::UI::BindKeyboardKey (KeyboardKey key, keyboardaction_t action)
 
void tram::UI::BindKeyboardKey (KeyboardKey key, void(*action)())
 
void tram::UI::BindKeyboardKey (KeyboardKey key, void(*action)(KeyboardKey))
 
bool tram::UI::PollKeyboardKey (KeyboardKey key)
 Checks the state of a key for the current frame. More...
 
float tram::UI::PollKeyboardAxis (KeyboardAxis key)
 Checks the state of an axis for the current frame. More...
 
float tram::UI::PollKeyboardAxisDelta (KeyboardAxis key)
 Checks the change of an axis for since the last frame. More...
 
void tram::UI::SetInputState (InputState state)
 
InputState tram::UI::GetInputState ()
 
void tram::UI::KeyPress (KeyboardKey key)
 
void tram::UI::KeyRelease (KeyboardKey key)
 
void tram::UI::KeyCode (uint16_t code)
 
void tram::UI::KeyMouse (float xpos, float ypos)
 
void tram::UI::KeyScroll (float value)
 
void tram::UI::ScreenResize (int width, int height)
 
void tram::UI::ScreenClose ()
 
float tram::UI::GetAxisSensitivity (KeyboardAxis key)
 
void tram::UI::SetAxisSensitivity (KeyboardAxis key, float value)
 
keyboardaction_t tram::UI::RegisterKeyboardAction (const char *name)
 
keyboardaction_t tram::UI::GetKeyboardAction (name_t name)
 
name_t tram::UI::GetKeyboardActionName (keyboardaction_t type)
 
std::vector< std::pair< keyboardaction_t, std::vector< KeyboardKey > > > tram::UI::GetAllKeyboardKeyBindings ()
 
const char * tram::UI::GetKeyboardKeyName (KeyboardKey key)
 
bool tram::UI::ShouldExit ()
 

Variables

const float tram::UI::CAMERA_SENSITIVITY = 6.0f
 
const float tram::UI::CAMERA_SPEED = 6.0f