Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Namespaces | Enumerations
foray_helpers.hpp File Reference
#include "../foray_basics.hpp"
#include <cstring>

Go to the source code of this file.

Namespaces

namespace  foray
 
namespace  foray::osi
 

Enumerations

enum class  foray::osi::EButton : uint16_t {
  foray::osi::Undefined = 0 , foray::osi::Keyboard_A = 4 , foray::osi::Keyboard_B = 5 , foray::osi::Keyboard_C = 6 ,
  foray::osi::Keyboard_D = 7 , foray::osi::Keyboard_E = 8 , foray::osi::Keyboard_F = 9 , foray::osi::Keyboard_G = 10 ,
  foray::osi::Keyboard_H = 11 , foray::osi::Keyboard_I = 12 , foray::osi::Keyboard_J = 13 , foray::osi::Keyboard_K = 14 ,
  foray::osi::Keyboard_L = 15 , foray::osi::Keyboard_M = 16 , foray::osi::Keyboard_N = 17 , foray::osi::Keyboard_O = 18 ,
  foray::osi::Keyboard_P = 19 , foray::osi::Keyboard_Q = 20 , foray::osi::Keyboard_R = 21 , foray::osi::Keyboard_S = 22 ,
  foray::osi::Keyboard_T = 23 , foray::osi::Keyboard_U = 24 , foray::osi::Keyboard_V = 25 , foray::osi::Keyboard_W = 26 ,
  foray::osi::Keyboard_X = 27 , foray::osi::Keyboard_Y = 28 , foray::osi::Keyboard_Z = 29 , foray::osi::Keyboard_1 = 30 ,
  foray::osi::Keyboard_2 = 31 , foray::osi::Keyboard_3 = 32 , foray::osi::Keyboard_4 = 33 , foray::osi::Keyboard_5 = 34 ,
  foray::osi::Keyboard_6 = 35 , foray::osi::Keyboard_7 = 36 , foray::osi::Keyboard_8 = 37 , foray::osi::Keyboard_9 = 38 ,
  foray::osi::Keyboard_0 = 39 , foray::osi::Keyboard_Return = 40 , foray::osi::Keyboard_Escape = 41 , foray::osi::Keyboard_Backspace = 42 ,
  foray::osi::Keyboard_Tab = 43 , foray::osi::Keyboard_Space = 44 , foray::osi::Keyboard_Minus = 45 , foray::osi::Keyboard_Equals = 46 ,
  foray::osi::Keyboard_LBracket = 47 , foray::osi::Keyboard_RBracket = 48 , foray::osi::Keyboard_Backslash = 49 , foray::osi::Keyboard_NonUsHash = 50 ,
  foray::osi::Keyboard_Semicolon = 51 , foray::osi::Keyboard_Apostrophe = 52 , foray::osi::Keyboard_Grave = 53 , foray::osi::Keyboard_Comma = 54 ,
  foray::osi::Keyboard_Period = 55 , foray::osi::Keyboard_Slash = 56 , foray::osi::Keyboard_Capslock = 57 , foray::osi::Keyboard_F1 = 58 ,
  foray::osi::Keyboard_F2 = 59 , foray::osi::Keyboard_F3 = 60 , foray::osi::Keyboard_F4 = 61 , foray::osi::Keyboard_F5 = 62 ,
  foray::osi::Keyboard_F6 = 63 , foray::osi::Keyboard_F7 = 64 , foray::osi::Keyboard_F8 = 65 , foray::osi::Keyboard_F9 = 66 ,
  foray::osi::Keyboard_F10 = 67 , foray::osi::Keyboard_F11 = 68 , foray::osi::Keyboard_F12 = 69 , foray::osi::Keyboard_PrintScreen = 70 ,
  foray::osi::Keyboard_ScrollLock = 71 , foray::osi::Keyboard_Pause = 72 , foray::osi::Keyboard_Insert = 73 , foray::osi::Keyboard_Home = 74 ,
  foray::osi::Keyboard_Pageup = 75 , foray::osi::Keyboard_Delete = 76 , foray::osi::Keyboard_End = 77 , foray::osi::Keyboard_PageDown = 78 ,
  foray::osi::Keyboard_Right = 79 , foray::osi::Keyboard_Left = 80 , foray::osi::Keyboard_Down = 81 , foray::osi::Keyboard_Up = 82 ,
  foray::osi::Keyboard_Numlock = 83 , foray::osi::Keyboard_Numpad_Divide = 84 , foray::osi::Keyboard_Numpad_Multiply = 85 , foray::osi::Keyboard_Numpad_Minus = 86 ,
  foray::osi::Keyboard_Numpad_Plus = 87 , foray::osi::Keyboard_Numpad_Enter = 88 , foray::osi::Keyboard_Numpad_1 = 89 , foray::osi::Keyboard_Numpad_2 = 90 ,
  foray::osi::Keyboard_Numpad_3 = 91 , foray::osi::Keyboard_Numpad_4 = 92 , foray::osi::Keyboard_Numpad_5 = 93 , foray::osi::Keyboard_Numpad_6 = 94 ,
  foray::osi::Keyboard_Numpad_7 = 95 , foray::osi::Keyboard_Numpad_8 = 96 , foray::osi::Keyboard_Numpad_9 = 97 , foray::osi::Keyboard_Numpad_0 = 98 ,
  foray::osi::Keyboard_Numpad_Period = 99 , foray::osi::Keyboard_NonUSBackslash = 100 , foray::osi::Keyboard_Context = 101 , foray::osi::Keyboard_Power = 102 ,
  foray::osi::Keyboard_Numpad_Equals = 103 , foray::osi::Keyboard_F13 = 104 , foray::osi::Keyboard_F14 = 105 , foray::osi::Keyboard_F15 = 106 ,
  foray::osi::Keyboard_F16 = 107 , foray::osi::Keyboard_F17 = 108 , foray::osi::Keyboard_F18 = 109 , foray::osi::Keyboard_F19 = 110 ,
  foray::osi::Keyboard_F20 = 111 , foray::osi::Keyboard_F21 = 112 , foray::osi::Keyboard_F22 = 113 , foray::osi::Keyboard_F23 = 114 ,
  foray::osi::Keyboard_F24 = 115 , foray::osi::Keyboard_Execute = 116 , foray::osi::Keyboard_Help = 117 , foray::osi::Keyboard_Menu = 118 ,
  foray::osi::Keyboard_Select = 119 , foray::osi::Keyboard_Stop = 120 , foray::osi::Keyboard_Again = 121 , foray::osi::Keyboard_Undo = 122 ,
  foray::osi::Keyboard_Cut = 123 , foray::osi::Keyboard_Copy = 124 , foray::osi::Keyboard_Paste = 125 , foray::osi::Keyboard_Find = 126 ,
  foray::osi::Keyboard_Mute = 127 , foray::osi::Keyboard_VolumeUp = 128 , foray::osi::Keyboard_VolumeDown = 129 , foray::osi::Keyboard_Numpad_Comma = 133 ,
  foray::osi::Keyboard_Numpad_EqualsAS400 = 134 , foray::osi::Keyboard_International1 = 135 , foray::osi::Keyboard_International2 = 136 , foray::osi::Keyboard_International3 = 137 ,
  foray::osi::Keyboard_International4 = 138 , foray::osi::Keyboard_International5 = 139 , foray::osi::Keyboard_International6 = 140 , foray::osi::Keyboard_International7 = 141 ,
  foray::osi::Keyboard_International8 = 142 , foray::osi::Keyboard_International9 = 143 , foray::osi::Keyboard_Lang1 = 144 , foray::osi::Keyboard_Lang2 = 145 ,
  foray::osi::Keyboard_Lang3 = 146 , foray::osi::Keyboard_Lang4 = 147 , foray::osi::Keyboard_Lang5 = 148 , foray::osi::Keyboard_Lang6 = 149 ,
  foray::osi::Keyboard_Lang7 = 150 , foray::osi::Keyboard_Lang8 = 151 , foray::osi::Keyboard_Lang9 = 152 , foray::osi::Keyboard_Alterase = 153 ,
  foray::osi::Keyboard_SysReq = 154 , foray::osi::Keyboard_Cancel = 155 , foray::osi::Keyboard_Clear = 156 , foray::osi::Keyboard_Prior = 157 ,
  foray::osi::Keyboard_Return2 = 158 , foray::osi::Keyboard_Separator = 159 , foray::osi::Keyboard_Out = 160 , foray::osi::Keyboard_Oper = 161 ,
  foray::osi::Keyboard_ClearAgain = 162 , foray::osi::Keyboard_CRSEL = 163 , foray::osi::Keyboard_EXSEL = 164 , foray::osi::Keyboard_Numpad_Double_0 = 176 ,
  foray::osi::Keyboard_Numpad_Triple_0 = 177 , foray::osi::Keyboard_ThousandsSeparator = 178 , foray::osi::Keyboard_DecimalSeparator = 179 , foray::osi::Keyboard_CurrencyUnit = 180 ,
  foray::osi::Keyboard_CurrencySubUnit = 181 , foray::osi::Keyboard_Numpad_LParen = 182 , foray::osi::Keyboard_Numpad_RParen = 183 , foray::osi::Keyboard_Numpad_LBrace = 184 ,
  foray::osi::Keyboard_Numpad_RBrace = 185 , foray::osi::Keyboard_Numpad_Tab = 186 , foray::osi::Keyboard_Numpad_Backspace = 187 , foray::osi::Keyboard_Numpad_A = 188 ,
  foray::osi::Keyboard_Numpad_B = 189 , foray::osi::Keyboard_Numpad_C = 190 , foray::osi::Keyboard_Numpad_D = 191 , foray::osi::Keyboard_Numpad_E = 192 ,
  foray::osi::Keyboard_Numpad_F = 193 , foray::osi::Keyboard_Numpad_XOR = 194 , foray::osi::Keyboard_Numpad_Power = 195 , foray::osi::Keyboard_Numpad_Percent = 196 ,
  foray::osi::Keyboard_Numpad_Less = 197 , foray::osi::Keyboard_Numpad_Greater = 198 , foray::osi::Keyboard_Numpad_Ampersand = 199 , foray::osi::Keyboard_Numpad_Double_Ampersand = 200 ,
  foray::osi::Keyboard_Numpad_VerticalBar = 201 , foray::osi::Keyboard_Numpad_Double_VerticalBar = 202 , foray::osi::Keyboard_Numpad_COLON = 203 , foray::osi::Keyboard_Numpad_HASH = 204 ,
  foray::osi::Keyboard_Numpad_SPACE = 205 , foray::osi::Keyboard_Numpad_AT = 206 , foray::osi::Keyboard_Numpad_EXCLAM = 207 , foray::osi::Keyboard_Numpad_MEMSTORE = 208 ,
  foray::osi::Keyboard_Numpad_MEMRECALL = 209 , foray::osi::Keyboard_Numpad_MEMCLEAR = 210 , foray::osi::Keyboard_Numpad_MEMADD = 211 , foray::osi::Keyboard_Numpad_MEMSUBTRACT = 212 ,
  foray::osi::Keyboard_Numpad_MEMMULTIPLY = 213 , foray::osi::Keyboard_Numpad_MEMDIVIDE = 214 , foray::osi::Keyboard_Numpad_PLUSMINUS = 215 , foray::osi::Keyboard_Numpad_CLEAR = 216 ,
  foray::osi::Keyboard_Numpad_CLEARENTRY = 217 , foray::osi::Keyboard_Numpad_BINARY = 218 , foray::osi::Keyboard_Numpad_OCTAL = 219 , foray::osi::Keyboard_Numpad_DECIMAL = 220 ,
  foray::osi::Keyboard_Numpad_HEXADECIMAL = 221 , foray::osi::Keyboard_LCtrl = 224 , foray::osi::Keyboard_LShift = 225 , foray::osi::Keyboard_LAlt = 226 ,
  foray::osi::Keyboard_LGui = 227 , foray::osi::Keyboard_RCtrl = 228 , foray::osi::Keyboard_RShift = 229 , foray::osi::Keyboard_RAlt = 230 ,
  foray::osi::Keyboard_RGui = 231 , foray::osi::Keyboard_Mode = 257 , foray::osi::Keyboard_AudioNext = 258 , foray::osi::Keyboard_AudioPrev = 259 ,
  foray::osi::Keyboard_AudioStop = 260 , foray::osi::Keyboard_AudioPlay = 261 , foray::osi::Keyboard_AudioMute = 262 , foray::osi::Keyboard_MediaSelect = 263 ,
  foray::osi::Keyboard_WWW = 264 , foray::osi::Keyboard_Mail = 265 , foray::osi::Keyboard_Calculator = 266 , foray::osi::Keyboard_Computer = 267 ,
  foray::osi::Keyboard_AC_Search = 268 , foray::osi::Keyboard_AC_Home = 269 , foray::osi::Keyboard_AC_Back = 270 , foray::osi::Keyboard_AC_Forward = 271 ,
  foray::osi::Keyboard_AC_Stop = 272 , foray::osi::Keyboard_AC_Refresh = 273 , foray::osi::Keyboard_AC_Bookmarks = 274 , foray::osi::Keyboard_BrightnessDown = 275 ,
  foray::osi::Keyboard_BrightnessUp = 276 , foray::osi::Keyboard_DisplaySwitch = 277 , foray::osi::Keyboard_Eject = 281 , foray::osi::Keyboard_Sleep = 282 ,
  foray::osi::Keyboard_App1 = 283 , foray::osi::Keyboard_App2 = 284 , foray::osi::Keyboard_AudioRewind = 285 , foray::osi::Keyboard_AudioFastForward = 286 ,
  foray::osi::Mouse_Left = 287 , foray::osi::Mouse_Right , foray::osi::Mouse_Middle , foray::osi::Mouse_X1 ,
  foray::osi::Mouse_X2 , foray::osi::JoystickButton_0 = 292 , foray::osi::JoystickButton_1 , foray::osi::JoystickButton_2 ,
  foray::osi::JoystickButton_3 , foray::osi::JoystickButton_4 , foray::osi::JoystickButton_5 , foray::osi::JoystickButton_6 ,
  foray::osi::JoystickButton_7 , foray::osi::JoystickButton_8 , foray::osi::JoystickButton_9 , foray::osi::JoystickButton_10 ,
  foray::osi::JoystickButton_11 , foray::osi::JoystickButton_12 , foray::osi::JoystickButton_13 , foray::osi::JoystickButton_14 ,
  foray::osi::JoystickButton_15 , foray::osi::JoystickButton_16 , foray::osi::JoystickButton_17 , foray::osi::JoystickButton_18 ,
  foray::osi::JoystickButton_19 , foray::osi::JoystickButton_20 , foray::osi::JoystickButton_21 , foray::osi::JoystickButton_22 ,
  foray::osi::JoystickButton_23 , foray::osi::JoystickButton_24 , foray::osi::JoystickButton_25 , foray::osi::JoystickButton_26 ,
  foray::osi::JoystickButton_27 , foray::osi::JoystickButton_28 , foray::osi::JoystickButton_29 , foray::osi::JoystickButton_30 ,
  foray::osi::JoystickButton_31 , foray::osi::JoystickButton_32 , foray::osi::JoystickButton_33 , foray::osi::JoystickButton_34 ,
  foray::osi::JoystickButton_35 , foray::osi::JoystickButton_36 , foray::osi::JoystickButton_37 , foray::osi::JoystickButton_38 ,
  foray::osi::JoystickButton_39 , foray::osi::JoystickButton_40 , foray::osi::JoystickButton_41 , foray::osi::JoystickButton_42 ,
  foray::osi::JoystickButton_43 , foray::osi::JoystickButton_44 , foray::osi::JoystickButton_45 , foray::osi::JoystickButton_46 ,
  foray::osi::JoystickButton_47 , foray::osi::JoystickButton_48 , foray::osi::JoystickButton_49 , foray::osi::ENUM_MAX
}
 All supported buttons (mouse, controllers, etc.) and keys (keyboard) More...
 
enum class  foray::osi::EAxis : uint16_t {
  foray::osi::JoystickAxis_0 = 0 , foray::osi::JoystickAxis_1 , foray::osi::JoystickAxis_2 , foray::osi::JoystickAxis_3 ,
  foray::osi::JoystickAxis_4 , foray::osi::JoystickAxis_5 , foray::osi::JoystickAxis_6 , foray::osi::JoystickAxis_7 ,
  foray::osi::JoystickAxis_8 , foray::osi::JoystickAxis_9 , foray::osi::JoystickAxis_10 , foray::osi::JoystickAxis_11 ,
  foray::osi::JoystickAxis_12 , foray::osi::JoystickAxis_13 , foray::osi::JoystickAxis_14 , foray::osi::JoystickAxis_15 ,
  foray::osi::JoystickAxis_16 , foray::osi::JoystickAxis_17 , foray::osi::JoystickAxis_18 , foray::osi::JoystickAxis_19 ,
  foray::osi::JoystickAxis_20 , foray::osi::JoystickAxis_21 , foray::osi::JoystickAxis_22 , foray::osi::JoystickAxis_23 ,
  foray::osi::JoystickAxis_24 , foray::osi::JoystickAxis_25 , foray::osi::JoystickAxis_26 , foray::osi::JoystickAxis_27 ,
  foray::osi::JoystickAxis_28 , foray::osi::JoystickAxis_29 , foray::osi::JoystickAxis_30 , foray::osi::JoystickAxis_31 ,
  foray::osi::JoystickAxis_32 , foray::osi::JoystickAxis_33 , foray::osi::JoystickAxis_34 , foray::osi::JoystickAxis_35 ,
  foray::osi::JoystickAxis_36 , foray::osi::JoystickAxis_37 , foray::osi::JoystickAxis_38 , foray::osi::JoystickAxis_39 ,
  foray::osi::JoystickAxis_40 , foray::osi::JoystickAxis_41 , foray::osi::JoystickAxis_42 , foray::osi::JoystickAxis_43 ,
  foray::osi::JoystickAxis_44 , foray::osi::JoystickAxis_45 , foray::osi::JoystickAxis_46 , foray::osi::JoystickAxis_47 ,
  foray::osi::JoystickAxis_48 , foray::osi::JoystickAxis_49 , foray::osi::ENUM_MAX
}
 
enum class  foray::osi::EDirectional : uint16_t {
  foray::osi::Mouse_Scroll , foray::osi::Joystick_Hat0 , foray::osi::Joystick_Hat1 , foray::osi::Joystick_Hat2 ,
  foray::osi::Joystick_Hat3 , foray::osi::Joystick_Hat4 , foray::osi::Joystick_Hat5 , foray::osi::Joystick_Hat6 ,
  foray::osi::Joystick_Hat7 , foray::osi::Joystick_Hat8 , foray::osi::Joystick_Hat9
}
 Enum for identification of stateless directional inputs. More...
 
enum class  foray::osi::EDisplayMode { foray::osi::Windowed , foray::osi::WindowedResizable , foray::osi::FullscreenHardware , foray::osi::FullscreenWindowed }
 Supported modes of window display. More...