Gamedev Framework (gf)  0.10.0
A C++14 framework for 2D games
Classes | Typedefs | Enumerations | Variables
Window classes

All the classes related to window management. More...

Classes

class  gf::Action
 An action that can be triggered by different controls. More...
 
class  gf::ActionContainer
 A set of actions. More...
 
class  gf::Clipboard
 gf::Clipboard provides an interface for getting and setting the contents of the system clipboard. More...
 
class  gf::Control
 A physical control. More...
 
class  gf::KeycodeKeyControl
 A key control based on keycode. More...
 
class  gf::ScancodeKeyControl
 A key control based on scancode. More...
 
class  gf::MouseButtonControl
 A mouse button control. More...
 
class  gf::GamepadButtonControl
 A gamepad button control. More...
 
class  gf::GamepadAxisControl
 A gamepad axis control. More...
 
class  gf::CloseControl
 A close control. More...
 
class  gf::KonamiKeyboardControl
 The Konami code control for keyboard. More...
 
class  gf::KonamiGamepadControl
 The Konami code control for gamepad. More...
 
class  gf::Cursor
 A mouse cursor. More...
 
struct  gf::Event::KeyEvent
 Keyboard event parameters (EventType::KeyPressed, EventType::KeyReleased, EventType::KeyRepeated) More...
 
struct  gf::Event::TextEvent
 Text event parameters (EventType::TextEntered) More...
 
struct  gf::Event::MouseButtonEvent
 Mouse button event parameters (EventType::MouseButtonPressed, EventType::MouseButtonReleased) More...
 
struct  gf::Event::MouseCursorEvent
 Mouse cursor move event parameters (EventType::MouseMoved) More...
 
struct  gf::Event::MouseWheelEvent
 Mouse wheel event parameters (EventType::MouseWheelScrolled) More...
 
struct  gf::Event::GamepadButtonEvent
 Gamepad button event parameters (EventType::GamepadButtonPressed, EventType::GamepadButtonReleased) More...
 
struct  gf::Event::GamepadAxisEvent
 Gamepad axis event parameters (EventType::GamepadAxisMoved) More...
 
struct  gf::Event::GamepadConnection
 Gamepad connection event parameters (EventType::GamepadConnected) More...
 
struct  gf::Event::GamepadDisconnection
 Gamepad disconnection event parameters (EventType::GamepadDisconnected) More...
 
struct  gf::Event
 Defines a system event and its parameters. More...
 
class  gf::Gamepad
 Some gamepad related functions. More...
 
class  gf::GamepadTracker
 A tracker for the connection/disconnection of gamepads. More...
 
struct  gf::Keyboard
 Some keyboard related functions. More...
 
struct  gf::VideoMode
 A video mode. More...
 
class  gf::Monitor
 A monitor. More...
 
struct  gf::Region
 A region of a window. More...
 
struct  gf::Rune
 A character encoded in UTF-8. More...
 
class  gf::Window
 An OS window. More...
 

Typedefs

using gf::Modifiers = Flags< Mod >
 Flags for keyboard modifiers. More...
 
using gf::WindowFlags = Flags< WindowHints >
 Flags for window creation. More...
 

Enumerations

enum  gf::EventType {
  gf::EventType::Resized,
  gf::EventType::Closed,
  gf::EventType::FocusGained,
  gf::EventType::FocusLost,
  gf::EventType::KeyPressed,
  gf::EventType::KeyRepeated,
  gf::EventType::KeyReleased,
  gf::EventType::MouseWheelScrolled,
  gf::EventType::MouseButtonPressed,
  gf::EventType::MouseButtonReleased,
  gf::EventType::MouseMoved,
  gf::EventType::MouseEntered,
  gf::EventType::MouseLeft,
  gf::EventType::GamepadButtonPressed,
  gf::EventType::GamepadButtonReleased,
  gf::EventType::GamepadAxisMoved,
  gf::EventType::GamepadConnected,
  gf::EventType::GamepadDisconnected,
  gf::EventType::TextEntered
}
 Enumeration of the different types of events. More...
 
enum  gf::GamepadButton {
  gf::GamepadButton::Invalid,
  gf::GamepadButton::A,
  gf::GamepadButton::B,
  gf::GamepadButton::X,
  gf::GamepadButton::Y,
  gf::GamepadButton::Back,
  gf::GamepadButton::Guide,
  gf::GamepadButton::Start,
  gf::GamepadButton::LeftStick,
  gf::GamepadButton::RightStick,
  gf::GamepadButton::LeftBumper,
  gf::GamepadButton::RightBumper,
  gf::GamepadButton::DPadUp,
  gf::GamepadButton::DPadDown,
  gf::GamepadButton::DPadLeft,
  gf::GamepadButton::DPadRight
}
 The gamepad buttons. More...
 
enum  gf::GamepadAxis {
  gf::GamepadAxis::Invalid,
  gf::GamepadAxis::LeftX,
  gf::GamepadAxis::LeftY,
  gf::GamepadAxis::RightX,
  gf::GamepadAxis::RightY,
  gf::GamepadAxis::TriggerLeft,
  gf::GamepadAxis::TriggerRight
}
 The gamepad axis. More...
 
enum  gf::GamepadAxisDirection {
  gf::GamepadAxisDirection::Positive,
  gf::GamepadAxisDirection::Negative
}
 A gamepad axis direction. More...
 
enum  gf::GamepadHwId : int
 A gamepad hardware identifier. More...
 
enum  gf::GamepadId : int32_t
 A gamepad identifier. More...
 
enum  gf::Mod : unsigned {
  gf::Mod::Shift = 0x0001,
  gf::Mod::Control = 0x0002,
  gf::Mod::Alt = 0x0004,
  gf::Mod::Super = 0x0008
}
 Modifier enumeration. More...
 
enum  gf::Scancode : int {
  gf::Scancode::Unknown = 0,
  gf::Scancode::A = 4,
  gf::Scancode::B = 5,
  gf::Scancode::C = 6,
  gf::Scancode::D = 7,
  gf::Scancode::E = 8,
  gf::Scancode::F = 9,
  gf::Scancode::G = 10,
  gf::Scancode::H = 11,
  gf::Scancode::I = 12,
  gf::Scancode::J = 13,
  gf::Scancode::K = 14,
  gf::Scancode::L = 15,
  gf::Scancode::M = 16,
  gf::Scancode::N = 17,
  gf::Scancode::O = 18,
  gf::Scancode::P = 19,
  gf::Scancode::Q = 20,
  gf::Scancode::R = 21,
  gf::Scancode::S = 22,
  gf::Scancode::T = 23,
  gf::Scancode::U = 24,
  gf::Scancode::V = 25,
  gf::Scancode::W = 26,
  gf::Scancode::X = 27,
  gf::Scancode::Y = 28,
  gf::Scancode::Z = 29,
  gf::Scancode::Num1 = 30,
  gf::Scancode::Num2 = 31,
  gf::Scancode::Num3 = 32,
  gf::Scancode::Num4 = 33,
  gf::Scancode::Num5 = 34,
  gf::Scancode::Num6 = 35,
  gf::Scancode::Num7 = 36,
  gf::Scancode::Num8 = 37,
  gf::Scancode::Num9 = 38,
  gf::Scancode::Num0 = 39,
  gf::Scancode::Return = 40,
  gf::Scancode::Escape = 41,
  gf::Scancode::Backspace = 42,
  gf::Scancode::Tab = 43,
  gf::Scancode::Space = 44,
  gf::Scancode::Minus = 45,
  gf::Scancode::Equals = 46,
  gf::Scancode::LeftBracket = 47,
  gf::Scancode::RightBracket = 48,
  gf::Scancode::Backslash = 49,
  gf::Scancode::NonUsHash = 50,
  gf::Scancode::Semicolon = 51,
  gf::Scancode::Apostrophe = 52,
  gf::Scancode::Grave = 53,
  gf::Scancode::Comma = 54,
  gf::Scancode::Period = 55,
  gf::Scancode::Slash = 56,
  gf::Scancode::CapsLock = 57,
  gf::Scancode::F1 = 58,
  gf::Scancode::F2 = 59,
  gf::Scancode::F3 = 60,
  gf::Scancode::F4 = 61,
  gf::Scancode::F5 = 62,
  gf::Scancode::F6 = 63,
  gf::Scancode::F7 = 64,
  gf::Scancode::F8 = 65,
  gf::Scancode::F9 = 66,
  gf::Scancode::F10 = 67,
  gf::Scancode::F11 = 68,
  gf::Scancode::F12 = 69,
  gf::Scancode::PrintScreen = 70,
  gf::Scancode::ScrollLock = 71,
  gf::Scancode::Pause = 72,
  gf::Scancode::Insert = 73,
  gf::Scancode::Home = 74,
  gf::Scancode::PageUp = 75,
  gf::Scancode::Delete = 76,
  gf::Scancode::End = 77,
  gf::Scancode::PageDown = 78,
  gf::Scancode::Right = 79,
  gf::Scancode::Left = 80,
  gf::Scancode::Down = 81,
  gf::Scancode::Up = 82,
  gf::Scancode::NumLockClear = 83,
  gf::Scancode::NumpadDivide = 84,
  gf::Scancode::NumpadMultiply = 85,
  gf::Scancode::NumpadMinus = 86,
  gf::Scancode::NumpadPlus = 87,
  gf::Scancode::NumpadEnter = 88,
  gf::Scancode::Numpad1 = 89,
  gf::Scancode::Numpad2 = 90,
  gf::Scancode::Numpad3 = 91,
  gf::Scancode::Numpad4 = 92,
  gf::Scancode::Numpad5 = 93,
  gf::Scancode::Numpad6 = 94,
  gf::Scancode::Numpad7 = 95,
  gf::Scancode::Numpad8 = 96,
  gf::Scancode::Numpad9 = 97,
  gf::Scancode::Numpad0 = 98,
  gf::Scancode::NumpadPeriod = 99,
  gf::Scancode::NonUsBackslash = 100,
  gf::Scancode::Application = 101,
  gf::Scancode::Power = 102,
  gf::Scancode::NumpadEquals = 103,
  gf::Scancode::F13 = 104,
  gf::Scancode::F14 = 105,
  gf::Scancode::F15 = 106,
  gf::Scancode::F16 = 107,
  gf::Scancode::F17 = 108,
  gf::Scancode::F18 = 109,
  gf::Scancode::F19 = 110,
  gf::Scancode::F20 = 111,
  gf::Scancode::F21 = 112,
  gf::Scancode::F22 = 113,
  gf::Scancode::F23 = 114,
  gf::Scancode::F24 = 115,
  gf::Scancode::Execute = 116,
  gf::Scancode::Help = 117,
  gf::Scancode::Menu = 118,
  gf::Scancode::Select = 119,
  gf::Scancode::Stop = 120,
  gf::Scancode::Again = 121,
  gf::Scancode::Undo = 122,
  gf::Scancode::Cut = 123,
  gf::Scancode::Copy = 124,
  gf::Scancode::Paste = 125,
  gf::Scancode::Find = 126,
  gf::Scancode::Mute = 127,
  gf::Scancode::VolumeUp = 128,
  gf::Scancode::VolumeDown = 129,
  gf::Scancode::NumpadComma = 133,
  gf::Scancode::NumpadEqualsAs400 = 134,
  gf::Scancode::International1 = 135,
  gf::Scancode::International2 = 136,
  gf::Scancode::International3 = 137,
  gf::Scancode::International4 = 138,
  gf::Scancode::International5 = 139,
  gf::Scancode::International6 = 140,
  gf::Scancode::International7 = 141,
  gf::Scancode::International8 = 142,
  gf::Scancode::International9 = 143,
  gf::Scancode::Lang1 = 144,
  gf::Scancode::Lang2 = 145,
  gf::Scancode::Lang3 = 146,
  gf::Scancode::Lang4 = 147,
  gf::Scancode::Lang5 = 148,
  gf::Scancode::Lang6 = 149,
  gf::Scancode::Lang7 = 150,
  gf::Scancode::Lang8 = 151,
  gf::Scancode::Lang9 = 152,
  gf::Scancode::AltErase = 153,
  gf::Scancode::SysReq = 154,
  gf::Scancode::Cancel = 155,
  gf::Scancode::Clear = 156,
  gf::Scancode::Prior = 157,
  gf::Scancode::Return2 = 158,
  gf::Scancode::Separator = 159,
  gf::Scancode::Out = 160,
  gf::Scancode::Oper = 161,
  gf::Scancode::ClearAgain = 162,
  gf::Scancode::CrSel = 163,
  gf::Scancode::ExSel = 164,
  gf::Scancode::Numpad00 = 176,
  gf::Scancode::Numpad000 = 177,
  gf::Scancode::ThousandsSeparator = 178,
  gf::Scancode::DecimalSeparator = 179,
  gf::Scancode::CurrencyUnit = 180,
  gf::Scancode::CurrencySubUnit = 181,
  gf::Scancode::NumpadLeftParen = 182,
  gf::Scancode::NumpadRightParen = 183,
  gf::Scancode::NumpadLeftBrace = 184,
  gf::Scancode::NumpadRightBrace = 185,
  gf::Scancode::NumpadTab = 186,
  gf::Scancode::NumpadBackspace = 187,
  gf::Scancode::NumpadA = 188,
  gf::Scancode::NumpadB = 189,
  gf::Scancode::NumpadC = 190,
  gf::Scancode::NumpadD = 191,
  gf::Scancode::NumpadE = 192,
  gf::Scancode::NumpadF = 193,
  gf::Scancode::NumpadXor = 194,
  gf::Scancode::NumpadPower = 195,
  gf::Scancode::NumpadPercent = 196,
  gf::Scancode::NumpadLess = 197,
  gf::Scancode::NumpadGreater = 198,
  gf::Scancode::NumpadAmpersand = 199,
  gf::Scancode::NumpadDblAmpersand = 200,
  gf::Scancode::NumpadVerticalBar = 201,
  gf::Scancode::NumpadDblVerticalBar = 202,
  gf::Scancode::NumpadColon = 203,
  gf::Scancode::NumpadHash = 204,
  gf::Scancode::NumpadSpace = 205,
  gf::Scancode::NumpadAt = 206,
  gf::Scancode::NumpadExclam = 207,
  gf::Scancode::NumpadMemStore = 208,
  gf::Scancode::NumpadMemRecall = 209,
  gf::Scancode::NumpadMemClear = 210,
  gf::Scancode::NumpadMemAdd = 211,
  gf::Scancode::NumpadMemSubtract = 212,
  gf::Scancode::NumpadMemMultiply = 213,
  gf::Scancode::NumpadMemDivide = 214,
  gf::Scancode::NumpadPlusMinus = 215,
  gf::Scancode::NumpadClear = 216,
  gf::Scancode::NumpadClearEntry = 217,
  gf::Scancode::NumpadBinary = 218,
  gf::Scancode::NumpadOctal = 219,
  gf::Scancode::NumpadDecimal = 220,
  gf::Scancode::NumpadHexadecimal = 221,
  gf::Scancode::LeftCtrl = 224,
  gf::Scancode::LeftShift = 225,
  gf::Scancode::LeftAlt = 226,
  gf::Scancode::LeftGui = 227,
  gf::Scancode::RightCtrl = 228,
  gf::Scancode::RightShift = 229,
  gf::Scancode::RightAlt = 230,
  gf::Scancode::RightGui = 231,
  gf::Scancode::Mode = 257
}
 Scancodes. More...
 
enum  gf::Keycode : int {
  gf::Keycode::Unknown = 0,
  gf::Keycode::Return = '\r',
  gf::Keycode::Escape = '\033',
  gf::Keycode::Backspace = '\b',
  gf::Keycode::Tab = '\t',
  gf::Keycode::Space = ' ',
  gf::Keycode::Exclaim = '!',
  gf::Keycode::QuoteDbl = '"',
  gf::Keycode::Hash = '#',
  gf::Keycode::Percent = '',
  gf::Keycode::Dollar = '$',
  gf::Keycode::Ampersand = '&',
  gf::Keycode::Quote = '\'',
  gf::Keycode::LeftParen = '(',
  gf::Keycode::RightParen = ')',
  gf::Keycode::Asterisk = '*',
  gf::Keycode::Plus = '+',
  gf::Keycode::Comma = ',',
  gf::Keycode::Minus = '-',
  gf::Keycode::Period = '.',
  gf::Keycode::Slash = '/',
  gf::Keycode::Num0 = '0',
  gf::Keycode::Num1 = '1',
  gf::Keycode::Num2 = '2',
  gf::Keycode::Num3 = '3',
  gf::Keycode::Num4 = '4',
  gf::Keycode::Num5 = '5',
  gf::Keycode::Num6 = '6',
  gf::Keycode::Num7 = '7',
  gf::Keycode::Num8 = '8',
  gf::Keycode::Num9 = '9',
  gf::Keycode::Colon = ':',
  gf::Keycode::SemiColon = ';',
  gf::Keycode::Less = '<',
  gf::Keycode::Equals = '=',
  gf::Keycode::Greater = '>',
  gf::Keycode::Question = '?',
  gf::Keycode::At = '@',
  gf::Keycode::LeftBracket = '[',
  gf::Keycode::Backslash = '\\',
  gf::Keycode::RightBracket = ']',
  gf::Keycode::Caret = '^',
  gf::Keycode::Underscore = '_',
  gf::Keycode::Backquote = '`',
  gf::Keycode::A = 'a',
  gf::Keycode::B = 'b',
  gf::Keycode::C = 'c',
  gf::Keycode::D = 'd',
  gf::Keycode::E = 'e',
  gf::Keycode::F = 'f',
  gf::Keycode::G = 'g',
  gf::Keycode::H = 'h',
  gf::Keycode::I = 'i',
  gf::Keycode::J = 'j',
  gf::Keycode::K = 'k',
  gf::Keycode::L = 'l',
  gf::Keycode::M = 'm',
  gf::Keycode::N = 'n',
  gf::Keycode::O = 'o',
  gf::Keycode::P = 'p',
  gf::Keycode::Q = 'q',
  gf::Keycode::R = 'r',
  gf::Keycode::S = 's',
  gf::Keycode::T = 't',
  gf::Keycode::U = 'u',
  gf::Keycode::V = 'v',
  gf::Keycode::W = 'w',
  gf::Keycode::X = 'x',
  gf::Keycode::Y = 'y',
  gf::Keycode::Z = 'z',
  gf::Keycode::CapsLock = getKeycodeFromScancode(Scancode::CapsLock),
  gf::Keycode::F1 = getKeycodeFromScancode(Scancode::F1),
  gf::Keycode::F2 = getKeycodeFromScancode(Scancode::F2),
  gf::Keycode::F3 = getKeycodeFromScancode(Scancode::F3),
  gf::Keycode::F4 = getKeycodeFromScancode(Scancode::F4),
  gf::Keycode::F5 = getKeycodeFromScancode(Scancode::F5),
  gf::Keycode::F6 = getKeycodeFromScancode(Scancode::F6),
  gf::Keycode::F7 = getKeycodeFromScancode(Scancode::F7),
  gf::Keycode::F8 = getKeycodeFromScancode(Scancode::F8),
  gf::Keycode::F9 = getKeycodeFromScancode(Scancode::F9),
  gf::Keycode::F10 = getKeycodeFromScancode(Scancode::F10),
  gf::Keycode::F11 = getKeycodeFromScancode(Scancode::F11),
  gf::Keycode::F12 = getKeycodeFromScancode(Scancode::F12),
  gf::Keycode::PrintScreen = getKeycodeFromScancode(Scancode::PrintScreen),
  gf::Keycode::ScrollLock = getKeycodeFromScancode(Scancode::ScrollLock),
  gf::Keycode::Pause = getKeycodeFromScancode(Scancode::Pause),
  gf::Keycode::Insert = getKeycodeFromScancode(Scancode::Insert),
  gf::Keycode::Home = getKeycodeFromScancode(Scancode::Home),
  gf::Keycode::PageUp = getKeycodeFromScancode(Scancode::PageUp),
  gf::Keycode::Delete = '\177',
  gf::Keycode::End = getKeycodeFromScancode(Scancode::End),
  gf::Keycode::PageDown = getKeycodeFromScancode(Scancode::PageDown),
  gf::Keycode::Right = getKeycodeFromScancode(Scancode::Right),
  gf::Keycode::Left = getKeycodeFromScancode(Scancode::Left),
  gf::Keycode::Down = getKeycodeFromScancode(Scancode::Down),
  gf::Keycode::Up = getKeycodeFromScancode(Scancode::Up),
  gf::Keycode::NumLockClear = getKeycodeFromScancode(Scancode::NumLockClear),
  gf::Keycode::NumpadDivide = getKeycodeFromScancode(Scancode::NumpadDivide),
  gf::Keycode::NumpadMultiply = getKeycodeFromScancode(Scancode::NumpadMultiply),
  gf::Keycode::NumpadMinus = getKeycodeFromScancode(Scancode::NumpadMinus),
  gf::Keycode::NumpadPlus = getKeycodeFromScancode(Scancode::NumpadPlus),
  gf::Keycode::NumpadEnter = getKeycodeFromScancode(Scancode::NumpadEnter),
  gf::Keycode::Numpad1 = getKeycodeFromScancode(Scancode::Numpad1),
  gf::Keycode::Numpad2 = getKeycodeFromScancode(Scancode::Numpad2),
  gf::Keycode::Numpad3 = getKeycodeFromScancode(Scancode::Numpad3),
  gf::Keycode::Numpad4 = getKeycodeFromScancode(Scancode::Numpad4),
  gf::Keycode::Numpad5 = getKeycodeFromScancode(Scancode::Numpad5),
  gf::Keycode::Numpad6 = getKeycodeFromScancode(Scancode::Numpad6),
  gf::Keycode::Numpad7 = getKeycodeFromScancode(Scancode::Numpad7),
  gf::Keycode::Numpad8 = getKeycodeFromScancode(Scancode::Numpad8),
  gf::Keycode::Numpad9 = getKeycodeFromScancode(Scancode::Numpad9),
  gf::Keycode::Numpad0 = getKeycodeFromScancode(Scancode::Numpad0),
  gf::Keycode::NumpadPeriod = getKeycodeFromScancode(Scancode::NumpadPeriod),
  gf::Keycode::Application = getKeycodeFromScancode(Scancode::Application),
  gf::Keycode::Power = getKeycodeFromScancode(Scancode::Power),
  gf::Keycode::NumpadEquals = getKeycodeFromScancode(Scancode::NumpadEquals),
  gf::Keycode::F13 = getKeycodeFromScancode(Scancode::F13),
  gf::Keycode::F14 = getKeycodeFromScancode(Scancode::F14),
  gf::Keycode::F15 = getKeycodeFromScancode(Scancode::F15),
  gf::Keycode::F16 = getKeycodeFromScancode(Scancode::F16),
  gf::Keycode::F17 = getKeycodeFromScancode(Scancode::F17),
  gf::Keycode::F18 = getKeycodeFromScancode(Scancode::F18),
  gf::Keycode::F19 = getKeycodeFromScancode(Scancode::F19),
  gf::Keycode::F20 = getKeycodeFromScancode(Scancode::F20),
  gf::Keycode::F21 = getKeycodeFromScancode(Scancode::F21),
  gf::Keycode::F22 = getKeycodeFromScancode(Scancode::F22),
  gf::Keycode::F23 = getKeycodeFromScancode(Scancode::F23),
  gf::Keycode::F24 = getKeycodeFromScancode(Scancode::F24),
  gf::Keycode::Execute = getKeycodeFromScancode(Scancode::Execute),
  gf::Keycode::Help = getKeycodeFromScancode(Scancode::Help),
  gf::Keycode::Menu = getKeycodeFromScancode(Scancode::Menu),
  gf::Keycode::Select = getKeycodeFromScancode(Scancode::Select),
  gf::Keycode::Stop = getKeycodeFromScancode(Scancode::Stop),
  gf::Keycode::Again = getKeycodeFromScancode(Scancode::Again),
  gf::Keycode::Undo = getKeycodeFromScancode(Scancode::Undo),
  gf::Keycode::Cut = getKeycodeFromScancode(Scancode::Cut),
  gf::Keycode::Copy = getKeycodeFromScancode(Scancode::Copy),
  gf::Keycode::Paste = getKeycodeFromScancode(Scancode::Paste),
  gf::Keycode::Find = getKeycodeFromScancode(Scancode::Find),
  gf::Keycode::Mute = getKeycodeFromScancode(Scancode::Mute),
  gf::Keycode::VolumeUp = getKeycodeFromScancode(Scancode::VolumeUp),
  gf::Keycode::VolumeDown = getKeycodeFromScancode(Scancode::VolumeDown),
  gf::Keycode::NumpadComma = getKeycodeFromScancode(Scancode::NumpadComma),
  gf::Keycode::NumpadEqualsAs400 = getKeycodeFromScancode(Scancode::NumpadEqualsAs400),
  gf::Keycode::AltErase = getKeycodeFromScancode(Scancode::AltErase),
  gf::Keycode::SysReq = getKeycodeFromScancode(Scancode::SysReq),
  gf::Keycode::Cancel = getKeycodeFromScancode(Scancode::Cancel),
  gf::Keycode::Clear = getKeycodeFromScancode(Scancode::Clear),
  gf::Keycode::Prior = getKeycodeFromScancode(Scancode::Prior),
  gf::Keycode::Return2 = getKeycodeFromScancode(Scancode::Return2),
  gf::Keycode::Separator = getKeycodeFromScancode(Scancode::Separator),
  gf::Keycode::Out = getKeycodeFromScancode(Scancode::Out),
  gf::Keycode::Oper = getKeycodeFromScancode(Scancode::Oper),
  gf::Keycode::ClearAgain = getKeycodeFromScancode(Scancode::ClearAgain),
  gf::Keycode::CrSel = getKeycodeFromScancode(Scancode::CrSel),
  gf::Keycode::ExSel = getKeycodeFromScancode(Scancode::ExSel),
  gf::Keycode::Numpad00 = getKeycodeFromScancode(Scancode::Numpad00),
  gf::Keycode::Numpad000 = getKeycodeFromScancode(Scancode::Numpad000),
  gf::Keycode::ThousandsSeparator = getKeycodeFromScancode(Scancode::ThousandsSeparator),
  gf::Keycode::DecimalSeparator = getKeycodeFromScancode(Scancode::DecimalSeparator),
  gf::Keycode::CurrencyUnit = getKeycodeFromScancode(Scancode::CurrencyUnit),
  gf::Keycode::CurrencySubUnit = getKeycodeFromScancode(Scancode::CurrencySubUnit),
  gf::Keycode::NumpadLeftParen = getKeycodeFromScancode(Scancode::NumpadLeftParen),
  gf::Keycode::NumpadRightParen = getKeycodeFromScancode(Scancode::NumpadRightParen),
  gf::Keycode::NumpadLeftBrace = getKeycodeFromScancode(Scancode::NumpadLeftBrace),
  gf::Keycode::NumpadRightBrace = getKeycodeFromScancode(Scancode::NumpadRightBrace),
  gf::Keycode::NumpadTab = getKeycodeFromScancode(Scancode::NumpadTab),
  gf::Keycode::NumpadBackspace = getKeycodeFromScancode(Scancode::NumpadBackspace),
  gf::Keycode::NumpadA = getKeycodeFromScancode(Scancode::NumpadA),
  gf::Keycode::NumpadB = getKeycodeFromScancode(Scancode::NumpadB),
  gf::Keycode::NumpadC = getKeycodeFromScancode(Scancode::NumpadC),
  gf::Keycode::NumpadD = getKeycodeFromScancode(Scancode::NumpadD),
  gf::Keycode::NumpadE = getKeycodeFromScancode(Scancode::NumpadE),
  gf::Keycode::NumpadF = getKeycodeFromScancode(Scancode::NumpadF),
  gf::Keycode::NumpadXor = getKeycodeFromScancode(Scancode::NumpadXor),
  gf::Keycode::NumpadPower = getKeycodeFromScancode(Scancode::NumpadPower),
  gf::Keycode::NumpadPercent = getKeycodeFromScancode(Scancode::NumpadPercent),
  gf::Keycode::NumpadLess = getKeycodeFromScancode(Scancode::NumpadLess),
  gf::Keycode::NumpadGreater = getKeycodeFromScancode(Scancode::NumpadGreater),
  gf::Keycode::NumpadAmpersand = getKeycodeFromScancode(Scancode::NumpadAmpersand),
  gf::Keycode::NumpadDblAmpersand = getKeycodeFromScancode(Scancode::NumpadDblAmpersand),
  gf::Keycode::NumpadVerticalBar = getKeycodeFromScancode(Scancode::NumpadVerticalBar),
  gf::Keycode::NumpadDblVerticalBar = getKeycodeFromScancode(Scancode::NumpadDblVerticalBar),
  gf::Keycode::NumpadColon = getKeycodeFromScancode(Scancode::NumpadColon),
  gf::Keycode::NumpadHash = getKeycodeFromScancode(Scancode::NumpadHash),
  gf::Keycode::NumpadSpace = getKeycodeFromScancode(Scancode::NumpadSpace),
  gf::Keycode::NumpadAt = getKeycodeFromScancode(Scancode::NumpadAt),
  gf::Keycode::NumpadExclam = getKeycodeFromScancode(Scancode::NumpadExclam),
  gf::Keycode::NumpadMemStore = getKeycodeFromScancode(Scancode::NumpadMemStore),
  gf::Keycode::NumpadMemRecall = getKeycodeFromScancode(Scancode::NumpadMemRecall),
  gf::Keycode::NumpadMemClear = getKeycodeFromScancode(Scancode::NumpadMemClear),
  gf::Keycode::NumpadMemAdd = getKeycodeFromScancode(Scancode::NumpadMemAdd),
  gf::Keycode::NumpadMemSubtract = getKeycodeFromScancode(Scancode::NumpadMemSubtract),
  gf::Keycode::NumpadMemMultiply = getKeycodeFromScancode(Scancode::NumpadMemMultiply),
  gf::Keycode::NumpadMemDivide = getKeycodeFromScancode(Scancode::NumpadMemDivide),
  gf::Keycode::NumpadPlusMinus = getKeycodeFromScancode(Scancode::NumpadPlusMinus),
  gf::Keycode::NumpadClear = getKeycodeFromScancode(Scancode::NumpadClear),
  gf::Keycode::NumpadClearEntry = getKeycodeFromScancode(Scancode::NumpadClearEntry),
  gf::Keycode::NumpadBinary = getKeycodeFromScancode(Scancode::NumpadBinary),
  gf::Keycode::NumpadOctal = getKeycodeFromScancode(Scancode::NumpadOctal),
  gf::Keycode::NumpadDecimal = getKeycodeFromScancode(Scancode::NumpadDecimal),
  gf::Keycode::NumpadHexadecimal = getKeycodeFromScancode(Scancode::NumpadHexadecimal),
  gf::Keycode::LeftCtrl = getKeycodeFromScancode(Scancode::LeftCtrl),
  gf::Keycode::LeftShift = getKeycodeFromScancode(Scancode::LeftShift),
  gf::Keycode::LeftAlt = getKeycodeFromScancode(Scancode::LeftAlt),
  gf::Keycode::LeftGui = getKeycodeFromScancode(Scancode::LeftGui),
  gf::Keycode::RightCtrl = getKeycodeFromScancode(Scancode::RightCtrl),
  gf::Keycode::RightShift = getKeycodeFromScancode(Scancode::RightShift),
  gf::Keycode::RightAlt = getKeycodeFromScancode(Scancode::RightAlt),
  gf::Keycode::RightGui = getKeycodeFromScancode(Scancode::RightGui),
  gf::Keycode::Mode = getKeycodeFromScancode(Scancode::Mode)
}
 Keycodes. More...
 
enum  gf::MouseButton {
  gf::MouseButton::Left,
  gf::MouseButton::Middle,
  gf::MouseButton::Right,
  gf::MouseButton::XButton1,
  gf::MouseButton::XButton2,
  gf::MouseButton::Other
}
 Mouse buttons. More...
 
enum  gf::WindowHints : uint32_t {
  gf::WindowHints::Resizable = 0x0001,
  gf::WindowHints::Visible = 0x0002,
  gf::WindowHints::Decorated = 0x0004
}
 Hints for window creation. More...
 

Variables

constexpr GamepadId gf::AnyGamepad = static_cast<GamepadId>(INT32_C(-1))
 A special identifier for all gamepads. More...
 

Detailed Description

All the classes related to window management.

Typedef Documentation

◆ Modifiers

using gf::Modifiers = typedef Flags<Mod>

Flags for keyboard modifiers.

See also
gf::Mod

◆ WindowFlags

using gf::WindowFlags = typedef Flags<WindowHints>

Flags for window creation.

See also
gf::Flags, gf::WindowHints

Enumeration Type Documentation

◆ EventType

enum gf::EventType
strong

Enumeration of the different types of events.

Enumerator
Resized 

The window was resized (data in event.size)

Closed 

The window requested to be closed (no data)

FocusGained 

The window gained focus (no data)

FocusLost 

The window lost focus (no data)

KeyPressed 

A key was pressed (data in event.key)

KeyRepeated 

A key was repeated (data in event.key)

KeyReleased 

A key was released (data in event.key)

MouseWheelScrolled 

The mouse wheel was scrolled (data in event.mouseWheel)

MouseButtonPressed 

A mouse button was pressed (data in event.mouseButton)

MouseButtonReleased 

A mouse button was released (data in event.mouseButton)

MouseMoved 

The mouse cursor moved (data in event.mouseCursor)

MouseEntered 

The mouse cursor entered the window (no data)

MouseLeft 

The mouse cursor left the window (no data)

GamepadButtonPressed 

A gamepad button was pressed (data in event.gamepadButton)

GamepadButtonReleased 

A gamepad button was released (data in event.gamepadButton)

GamepadAxisMoved 

A gamepad axis was moved (data in event.gamepadAxis)

GamepadConnected 

A gamepad was connected (data in event.gamepadConnection)

GamepadDisconnected 

A gamepad was disconnected (data in event.gamepadDisconnection)

TextEntered 

A text was entered (data in event.text)

◆ GamepadAxis

enum gf::GamepadAxis
strong

The gamepad axis.

The axis are named after the Xbox 360 controller.

See also
gf::Gamepad::getAxisName()
Enumerator
Invalid 

Invalid axis.

LeftX 

The left stick X axis.

LeftY 

The left stick Y axis.

RightX 

The right stick X axis.

RightY 

The right stick Y axis.

TriggerLeft 

The left trigger axis.

TriggerRight 

The right trigger axis.

◆ GamepadAxisDirection

A gamepad axis direction.

The positive direction is right with a X axis and down with a Y axis.

For triggers, there is only a positive direction.

Enumerator
Positive 

Positive direction of the axis.

Negative 

Negative direction of the axis.

◆ GamepadButton

enum gf::GamepadButton
strong

The gamepad buttons.

The buttons are named after the Xbox 360 controller.

See also
gf::Gamepad::getButtonName()
Enumerator
Invalid 

Invalid button.

The A button.

The B button.

The X button.

The Y button.

Back 

The Back button.

Guide 

The Guide button.

Start 

The Start button.

LeftStick 

The left stick button.

RightStick 

The right stick button.

LeftBumper 

The left bumper button.

RightBumper 

The right bumper button.

DPadUp 

The directional pad up button.

DPadDown 

The directional pad down button.

DPadLeft 

The directional pad left button.

DPadRight 

The directional pad right button.

◆ GamepadHwId

enum gf::GamepadHwId : int
strong

A gamepad hardware identifier.

This identifier is given when a gamepad has just been connected. It must be transformed in a gf::GamepadId with gf::Gamepad::open().

See also
GamepadId

◆ GamepadId

enum gf::GamepadId : int32_t
strong

A gamepad identifier.

This identifier is the representation of a connected gamepad that has been opened with gf::Gamepad::open(). It is used in the subsequent events related to this gamepad.

See also
GamepadHwId

◆ Keycode

enum gf::Keycode : int
strong

Keycodes.

Enumerator
Unknown 
Return 
Escape 
Backspace 
Tab 
Space 
Exclaim 
QuoteDbl 
Hash 
Percent 
Dollar 
Ampersand 
Quote 
LeftParen 
RightParen 
Asterisk 
Plus 
Comma 
Minus 
Period 
Slash 
Num0 
Num1 
Num2 
Num3 
Num4 
Num5 
Num6 
Num7 
Num8 
Num9 
Colon 
SemiColon 
Less 
Equals 
Greater 
Question 
At 
LeftBracket 
Backslash 
RightBracket 
Caret 
Underscore 
Backquote 
CapsLock 
F1 
F2 
F3 
F4 
F5 
F6 
F7 
F8 
F9 
F10 
F11 
F12 
PrintScreen 
ScrollLock 
Pause 
Insert 
Home 
PageUp 
Delete 
End 
PageDown 
Right 
Left 
Down 
Up 
NumLockClear 
NumpadDivide 
NumpadMultiply 
NumpadMinus 
NumpadPlus 
NumpadEnter 
Numpad1 
Numpad2 
Numpad3 
Numpad4 
Numpad5 
Numpad6 
Numpad7 
Numpad8 
Numpad9 
Numpad0 
NumpadPeriod 
Application 
Power 
NumpadEquals 
F13 
F14 
F15 
F16 
F17 
F18 
F19 
F20 
F21 
F22 
F23 
F24 
Execute 
Help 
Menu 
Select 
Stop 
Again 
Undo 
Cut 
Copy 
Paste 
Find 
Mute 
VolumeUp 
VolumeDown 
NumpadComma 
NumpadEqualsAs400 
AltErase 
SysReq 
Cancel 
Clear 
Prior 
Return2 
Separator 
Out 
Oper 
ClearAgain 
CrSel 
ExSel 
Numpad00 
Numpad000 
ThousandsSeparator 
DecimalSeparator 
CurrencyUnit 
CurrencySubUnit 
NumpadLeftParen 
NumpadRightParen 
NumpadLeftBrace 
NumpadRightBrace 
NumpadTab 
NumpadBackspace 
NumpadA 
NumpadB 
NumpadC 
NumpadD 
NumpadE 
NumpadF 
NumpadXor 
NumpadPower 
NumpadPercent 
NumpadLess 
NumpadGreater 
NumpadAmpersand 
NumpadDblAmpersand 
NumpadVerticalBar 
NumpadDblVerticalBar 
NumpadColon 
NumpadHash 
NumpadSpace 
NumpadAt 
NumpadExclam 
NumpadMemStore 
NumpadMemRecall 
NumpadMemClear 
NumpadMemAdd 
NumpadMemSubtract 
NumpadMemMultiply 
NumpadMemDivide 
NumpadPlusMinus 
NumpadClear 
NumpadClearEntry 
NumpadBinary 
NumpadOctal 
NumpadDecimal 
NumpadHexadecimal 
LeftCtrl 
LeftShift 
LeftAlt 
LeftGui 
RightCtrl 
RightShift 
RightAlt 
RightGui 
Mode 

◆ Mod

enum gf::Mod : unsigned
strong

Modifier enumeration.

See also
gf::Modifiers
Enumerator
Shift 

Is the Shift key pressed?

Control 

Is the Control key pressed?

Alt 

Is the Alt key pressed?

Super 

Is the Super key pressed?

◆ MouseButton

enum gf::MouseButton
strong

Mouse buttons.

Enumerator
Left 

The left mouse button.

Middle 

The middle (wheel) mouse button.

Right 

The right mouse button.

XButton1 

The first extra mouse button.

XButton2 

The second extra mouse button.

Other 

Another unknown button (may happen with touchpads)

◆ Scancode

enum gf::Scancode : int
strong

Scancodes.

These codes corresponds to USB key codes.

Enumerator
Unknown 
Num1 
Num2 
Num3 
Num4 
Num5 
Num6 
Num7 
Num8 
Num9 
Num0 
Return 
Escape 
Backspace 
Tab 
Space 
Minus 
Equals 
LeftBracket 
RightBracket 
Backslash 
NonUsHash 
Semicolon 
Apostrophe 
Grave 
Comma 
Period 
Slash 
CapsLock 
F1 
F2 
F3 
F4 
F5 
F6 
F7 
F8 
F9 
F10 
F11 
F12 
PrintScreen 
ScrollLock 
Pause 
Insert 
Home 
PageUp 
Delete 
End 
PageDown 
Right 
Left 
Down 
Up 
NumLockClear 
NumpadDivide 
NumpadMultiply 
NumpadMinus 
NumpadPlus 
NumpadEnter 
Numpad1 
Numpad2 
Numpad3 
Numpad4 
Numpad5 
Numpad6 
Numpad7 
Numpad8 
Numpad9 
Numpad0 
NumpadPeriod 
NonUsBackslash 
Application 
Power 
NumpadEquals 
F13 
F14 
F15 
F16 
F17 
F18 
F19 
F20 
F21 
F22 
F23 
F24 
Execute 
Help 
Menu 
Select 
Stop 
Again 
Undo 
Cut 
Copy 
Paste 
Find 
Mute 
VolumeUp 
VolumeDown 
NumpadComma 
NumpadEqualsAs400 
International1 
International2 
International3 
International4 
International5 
International6 
International7 
International8 
International9 
Lang1 
Lang2 
Lang3 
Lang4 
Lang5 
Lang6 
Lang7 
Lang8 
Lang9 
AltErase 
SysReq 
Cancel 
Clear 
Prior 
Return2 
Separator 
Out 
Oper 
ClearAgain 
CrSel 
ExSel 
Numpad00 
Numpad000 
ThousandsSeparator 
DecimalSeparator 
CurrencyUnit 
CurrencySubUnit 
NumpadLeftParen 
NumpadRightParen 
NumpadLeftBrace 
NumpadRightBrace 
NumpadTab 
NumpadBackspace 
NumpadA 
NumpadB 
NumpadC 
NumpadD 
NumpadE 
NumpadF 
NumpadXor 
NumpadPower 
NumpadPercent 
NumpadLess 
NumpadGreater 
NumpadAmpersand 
NumpadDblAmpersand 
NumpadVerticalBar 
NumpadDblVerticalBar 
NumpadColon 
NumpadHash 
NumpadSpace 
NumpadAt 
NumpadExclam 
NumpadMemStore 
NumpadMemRecall 
NumpadMemClear 
NumpadMemAdd 
NumpadMemSubtract 
NumpadMemMultiply 
NumpadMemDivide 
NumpadPlusMinus 
NumpadClear 
NumpadClearEntry 
NumpadBinary 
NumpadOctal 
NumpadDecimal 
NumpadHexadecimal 
LeftCtrl 
LeftShift 
LeftAlt 
LeftGui 
RightCtrl 
RightShift 
RightAlt 
RightGui 
Mode 

◆ WindowHints

enum gf::WindowHints : uint32_t
strong

Hints for window creation.

See also
gf::WindowFlags
Enumerator
Resizable 

Is the window resizable?

Visible 

Is the window visible?

Decorated 

Is the window decorated?

Variable Documentation

◆ AnyGamepad

constexpr GamepadId gf::AnyGamepad = static_cast<GamepadId>(INT32_C(-1))

A special identifier for all gamepads.

This identifier can be used in controls for specifying any gamepad. This is especially useful for single player game, as you do not have to reconfigure the action in case of gamepad deconnection/reconnection.

See also
gf::Action, gf::GamepadTracker