matf-rg-engine 1.0.0
Base for project for the Computer Graphics course at Faculty of Mathematics, University of Belgrade
Loading...
Searching...
No Matches
Classes | Enumerations | Functions | Variables
engine::platform Namespace Reference

Classes

struct  FrameTime
 Stores elapsed time for frames in seconds. More...
 
class  Key
 Represents the state of the key in a given frame. More...
 
struct  MousePosition
 Represents mouse position in a given frame relative to the top left corner of the screen. More...
 
class  PlatformController
 Registers Platform events such as mouse movement, key press, window events... More...
 
class  PlatformEventObserver
 Platform events callback object. Extend this class and override the methods you want to be called by the PlatformController, then register an instance with PlatformController::register_observer. More...
 
class  Window
 Holds window properties. More...
 

Enumerations

enum  KeyId {
  MOUSE_BUTTON_1 = 0 , MOUSE_BUTTON_2 , MOUSE_BUTTON_3 , MOUSE_BUTTON_4 ,
  MOUSE_BUTTON_5 , MOUSE_BUTTON_6 , MOUSE_BUTTON_7 , MOUSE_BUTTON_8 ,
  MOUSE_BUTTON_LAST , MOUSE_BUTTON_LEFT , MOUSE_BUTTON_RIGHT , MOUSE_BUTTON_MIDDLE ,
  KEY_SPACE , KEY_APOSTROPHE , KEY_COMMA , KEY_MINUS ,
  KEY_PERIOD , KEY_SLASH , KEY_0 , KEY_1 ,
  KEY_2 , KEY_3 , KEY_4 , KEY_5 ,
  KEY_6 , KEY_7 , KEY_8 , KEY_9 ,
  KEY_SEMICOLON , KEY_EQUAL , KEY_A , KEY_B ,
  KEY_C , KEY_D , KEY_E , KEY_F ,
  KEY_G , KEY_H , KEY_I , KEY_J ,
  KEY_K , KEY_L , KEY_M , KEY_N ,
  KEY_O , KEY_P , KEY_Q , KEY_R ,
  KEY_S , KEY_T , KEY_U , KEY_V ,
  KEY_W , KEY_X , KEY_Y , KEY_Z ,
  KEY_LEFT_BRACKET , KEY_BACKSLASH , KEY_RIGHT_BRACKET , KEY_GRAVE_ACCENT ,
  KEY_WORLD_1 , KEY_WORLD_2 , KEY_ESCAPE , KEY_ENTER ,
  KEY_TAB , KEY_BACKSPACE , KEY_INSERT , KEY_DELETE ,
  KEY_RIGHT , KEY_LEFT , KEY_DOWN , KEY_UP ,
  KEY_PAGE_UP , KEY_PAGE_DOWN , KEY_HOME , KEY_END ,
  KEY_CAPS_LOCK , KEY_SCROLL_LOCK , KEY_NUM_LOCK , KEY_PRINT_SCREEN ,
  KEY_PAUSE , KEY_F1 , KEY_F2 , KEY_F3 ,
  KEY_F4 , KEY_F5 , KEY_F6 , KEY_F7 ,
  KEY_F8 , KEY_F9 , KEY_F10 , KEY_F11 ,
  KEY_F12 , KEY_F13 , KEY_F14 , KEY_F15 ,
  KEY_F16 , KEY_F17 , KEY_F18 , KEY_F19 ,
  KEY_F20 , KEY_F21 , KEY_F22 , KEY_F23 ,
  KEY_F24 , KEY_F25 , KEY_KP_0 , KEY_KP_1 ,
  KEY_KP_2 , KEY_KP_3 , KEY_KP_4 , KEY_KP_5 ,
  KEY_KP_6 , KEY_KP_7 , KEY_KP_8 , KEY_KP_9 ,
  KEY_KP_DECIMAL , KEY_KP_DIVIDE , KEY_KP_MULTIPLY , KEY_KP_SUBTRACT ,
  KEY_KP_ADD , KEY_KP_ENTER , KEY_KP_EQUAL , KEY_LEFT_SHIFT ,
  KEY_LEFT_CONTROL , KEY_LEFT_ALT , KEY_LEFT_SUPER , KEY_RIGHT_SHIFT ,
  KEY_RIGHT_CONTROL , KEY_RIGHT_ALT , KEY_RIGHT_SUPER , KEY_MENU ,
  KEY_COUNT
}
 All the Keys that the engine can register. More...
 

Functions

static void glfw_mouse_callback (GLFWwindow *window, double x, double y)
 
static void glfw_scroll_callback (GLFWwindow *window, double x_offset, double y_offset)
 
static void glfw_key_callback (GLFWwindow *window, int key, int scancode, int action, int mods)
 
static void glfw_framebuffer_size_callback (GLFWwindow *window, int width, int height)
 
static void glfw_window_close_callback (GLFWwindow *window)
 
static void glfw_mouse_button_callback (GLFWwindow *window, int button, int action, int mods)
 
static int glfw_platform_action (GLFWwindow *window, int glfw_key_code)
 
void initialize_key_maps ()
 

Variables

static std::array< std::string_view, KEY_COUNTg_engine_key_to_string
 
static std::array< int, KEY_COUNTg_engine_to_glfw_key
 
static std::array< KeyId, GLFW_KEY_LAST+1 > g_glfw_key_to_engine
 
static MousePosition g_mouse_position
 

Enumeration Type Documentation

◆ KeyId

All the Keys that the engine can register.

Enumerator
MOUSE_BUTTON_1 
MOUSE_BUTTON_2 
MOUSE_BUTTON_3 
MOUSE_BUTTON_4 
MOUSE_BUTTON_5 
MOUSE_BUTTON_6 
MOUSE_BUTTON_7 
MOUSE_BUTTON_8 
MOUSE_BUTTON_LAST 
MOUSE_BUTTON_LEFT 
MOUSE_BUTTON_RIGHT 
MOUSE_BUTTON_MIDDLE 
KEY_SPACE 
KEY_APOSTROPHE 
KEY_COMMA 
KEY_MINUS 
KEY_PERIOD 
KEY_SLASH 
KEY_0 
KEY_1 
KEY_2 
KEY_3 
KEY_4 
KEY_5 
KEY_6 
KEY_7 
KEY_8 
KEY_9 
KEY_SEMICOLON 
KEY_EQUAL 
KEY_A 
KEY_B 
KEY_C 
KEY_D 
KEY_E 
KEY_F 
KEY_G 
KEY_H 
KEY_I 
KEY_J 
KEY_K 
KEY_L 
KEY_M 
KEY_N 
KEY_O 
KEY_P 
KEY_Q 
KEY_R 
KEY_S 
KEY_T 
KEY_U 
KEY_V 
KEY_W 
KEY_X 
KEY_Y 
KEY_Z 
KEY_LEFT_BRACKET 
KEY_BACKSLASH 
KEY_RIGHT_BRACKET 
KEY_GRAVE_ACCENT 
KEY_WORLD_1 
KEY_WORLD_2 
KEY_ESCAPE 
KEY_ENTER 
KEY_TAB 
KEY_BACKSPACE 
KEY_INSERT 
KEY_DELETE 
KEY_RIGHT 
KEY_LEFT 
KEY_DOWN 
KEY_UP 
KEY_PAGE_UP 
KEY_PAGE_DOWN 
KEY_HOME 
KEY_END 
KEY_CAPS_LOCK 
KEY_SCROLL_LOCK 
KEY_NUM_LOCK 
KEY_PRINT_SCREEN 
KEY_PAUSE 
KEY_F1 
KEY_F2 
KEY_F3 
KEY_F4 
KEY_F5 
KEY_F6 
KEY_F7 
KEY_F8 
KEY_F9 
KEY_F10 
KEY_F11 
KEY_F12 
KEY_F13 
KEY_F14 
KEY_F15 
KEY_F16 
KEY_F17 
KEY_F18 
KEY_F19 
KEY_F20 
KEY_F21 
KEY_F22 
KEY_F23 
KEY_F24 
KEY_F25 
KEY_KP_0 
KEY_KP_1 
KEY_KP_2 
KEY_KP_3 
KEY_KP_4 
KEY_KP_5 
KEY_KP_6 
KEY_KP_7 
KEY_KP_8 
KEY_KP_9 
KEY_KP_DECIMAL 
KEY_KP_DIVIDE 
KEY_KP_MULTIPLY 
KEY_KP_SUBTRACT 
KEY_KP_ADD 
KEY_KP_ENTER 
KEY_KP_EQUAL 
KEY_LEFT_SHIFT 
KEY_LEFT_CONTROL 
KEY_LEFT_ALT 
KEY_LEFT_SUPER 
KEY_RIGHT_SHIFT 
KEY_RIGHT_CONTROL 
KEY_RIGHT_ALT 
KEY_RIGHT_SUPER 
KEY_MENU 
KEY_COUNT 

Function Documentation

◆ glfw_mouse_callback()

static void engine::platform::glfw_mouse_callback ( GLFWwindow *  window,
double  x,
double  y 
)
static

◆ glfw_scroll_callback()

static void engine::platform::glfw_scroll_callback ( GLFWwindow *  window,
double  x_offset,
double  y_offset 
)
static

◆ glfw_key_callback()

static void engine::platform::glfw_key_callback ( GLFWwindow *  window,
int  key,
int  scancode,
int  action,
int  mods 
)
static

◆ glfw_framebuffer_size_callback()

static void engine::platform::glfw_framebuffer_size_callback ( GLFWwindow *  window,
int  width,
int  height 
)
static

◆ glfw_window_close_callback()

void engine::platform::glfw_window_close_callback ( GLFWwindow *  window)
static

◆ glfw_mouse_button_callback()

void engine::platform::glfw_mouse_button_callback ( GLFWwindow *  window,
int  button,
int  action,
int  mods 
)
static

◆ glfw_platform_action()

int engine::platform::glfw_platform_action ( GLFWwindow *  window,
int  glfw_key_code 
)
static

◆ initialize_key_maps()

void engine::platform::initialize_key_maps ( )

Variable Documentation

◆ g_engine_key_to_string

std::array<std::string_view, KEY_COUNT> engine::platform::g_engine_key_to_string
static

◆ g_engine_to_glfw_key

std::array<int, KEY_COUNT> engine::platform::g_engine_to_glfw_key
static

◆ g_glfw_key_to_engine

std::array<KeyId, GLFW_KEY_LAST + 1> engine::platform::g_glfw_key_to_engine
static

◆ g_mouse_position

MousePosition engine::platform::g_mouse_position
static