Gamedev Framework (gf) 1.2.0
A C++17 framework for 2D games
Public Attributes | List of all members
gf::Event Struct Reference

Defines a system event and its parameters. More...

#include <gf/Event.h>

Public Attributes

EventType type
 Type of the event. More...
 
uint32_t timestamp
 A timestamp. More...
 
union {
   WindowEvent   window
 Window event parameters (EventType::Closed, EventType::FocusGained, EventType::FocusLost) More...
 
   ResizeEvent   resize
 Size event parameters (EventType::Resized) More...
 
   KeyEvent   key
 Key event parameters (EventType::KeyPressed, EventType::KeyReleased, EventType::KeyRepeated) More...
 
   TextEvent   text
 Text event parameters (EventType::TextEntered) More...
 
   MouseButtonEvent   mouseButton
 Mouse button event parameters (EventType::MouseButtonPressed, EventType::MouseButtonReleased) More...
 
   MouseCursorEvent   mouseCursor
 Mouse cursor move event parameters (EventType::MouseMoved) More...
 
   MouseWheelEvent   mouseWheel
 Mouse wheel event parameters (EventType::MouseWheelScrolled) More...
 
   GamepadButtonEvent   gamepadButton
 Gamepad button event parameters (EventType::GamepadButtonPressed, EventType::GamepadButtonReleased) More...
 
   GamepadAxisEvent   gamepadAxis
 Gamepad axis event parameters (EventType::GamepadAxisMoved) More...
 
   GamepadConnectionEvent   gamepadConnection
 Gamepad connection event parameters (EventType::GamepadConnected) More...
 
   GamepadDisconnectionEvent   gamepadDisconnection
 Gamepad disconnection event parameters (EventType::GamepadDisconnected) More...
 
   TouchEvent   touch
 Touch event parameters (EventType::TouchBegan, EventType::Moved, EventType::Ended) More...
 
}; 
 

Detailed Description

Defines a system event and its parameters.

gf::Event holds all the informations about a system event that just happened. Events are retrieved using the gf::Window::pollEvent() and gf::Window::waitEvent() functions.

A gf::Event instance contains the type of the event (mouse moved, key pressed, window closed, ...) as well as the details about this particular event. Please note that the event parameters are defined in a union, which means that only the member matching the type of the event will be properly filled; all other members will have undefined values and must not be read if the type of the event doesn't match. For example, if you received a KeyType::KeyPressed event, then you must read the event.key member, all other members such as event.mouse or event.text will have undefined values.

Usage example:

gf::Event event;
while (window.pollEvent(event)) {
// Request for closing the window
if (event.type == gf::EventType::Closed) {
window.close();
}
// The escape key was pressed
window.close();
}
// The window was resized
if (event.type == gf::EventType::Resized) {
doSomethingWithTheNewSize(event.resize.size);
}
// etc ...
}
@ Closed
The window requested to be closed (data in event.window)
@ Resized
The window was resized (data in event.resize)
@ KeyPressed
A key was pressed (data in event.key)
Defines a system event and its parameters.
Definition: Event.h:224
WindowEvent window
Window event parameters (EventType::Closed, EventType::FocusGained, EventType::FocusLost)
Definition: Event.h:229
EventType type
Type of the event.
Definition: Event.h:225
KeyEvent key
Key event parameters (EventType::KeyPressed, EventType::KeyReleased, EventType::KeyRepeated)
Definition: Event.h:231
ResizeEvent resize
Size event parameters (EventType::Resized)
Definition: Event.h:230
Keycode keycode
Keycode of the key.
Definition: Event.h:109
Vector2i size
The new size of the window.
Definition: Event.h:100
See also
gf::EventType

Member Data Documentation

◆ 

union { ... } gf::Event::@3

◆ gamepadAxis

GamepadAxisEvent gf::Event::gamepadAxis

Gamepad axis event parameters (EventType::GamepadAxisMoved)

◆ gamepadButton

GamepadButtonEvent gf::Event::gamepadButton

◆ gamepadConnection

GamepadConnectionEvent gf::Event::gamepadConnection

Gamepad connection event parameters (EventType::GamepadConnected)

◆ gamepadDisconnection

GamepadDisconnectionEvent gf::Event::gamepadDisconnection

Gamepad disconnection event parameters (EventType::GamepadDisconnected)

◆ key

KeyEvent gf::Event::key

◆ mouseButton

MouseButtonEvent gf::Event::mouseButton

◆ mouseCursor

MouseCursorEvent gf::Event::mouseCursor

Mouse cursor move event parameters (EventType::MouseMoved)

◆ mouseWheel

MouseWheelEvent gf::Event::mouseWheel

Mouse wheel event parameters (EventType::MouseWheelScrolled)

◆ resize

ResizeEvent gf::Event::resize

Size event parameters (EventType::Resized)

◆ text

TextEvent gf::Event::text

Text event parameters (EventType::TextEntered)

◆ timestamp

uint32_t gf::Event::timestamp

A timestamp.

◆ touch

TouchEvent gf::Event::touch

Touch event parameters (EventType::TouchBegan, EventType::Moved, EventType::Ended)

◆ type

EventType gf::Event::type

Type of the event.

◆ window

WindowEvent gf::Event::window