Rose
Namespaces | Typedefs | Enumerations
Callbacks.h File Reference

Definitions to support callbacks. More...

#include <functional>
#include <SDL.h>
#include "Types.h"
Include dependency graph for Callbacks.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 rose
 ToDo: There is an issue that the initial scroll interaction is lost if the click/press lands on a Widget and not a Container (by user observation).
 

Typedefs

using rose::EventCallback = std::function< bool()>
 Basic event callback with no argumetns.
 
using rose::ScrollCallback = std::function< bool(Position< int > deltaPos)>
 Mouse scroll wheel callback. More...
 
using rose::ButtonCallback = std::function< bool(bool pressed, uint button, uint clicks)>
 Mouse button callback. More...
 
using rose::MouseMotionCallback = std::function< bool(bool pressed, uint state, Position< int > mousePosition, Position< int > relativePosition)>
 Mouse motion callback. More...
 
using rose::ButtonDisplayCallback = std::function< void(ButtonDisplayState buttonDisplayState)>
 Button display state callback. More...
 
using rose::ButtonStateChangeCallback = std::function< void(ButtonStateChange buttonStateChange)>
 Button state change callback. More...
 
using rose::ButtonCommandCallback = std::function< void(ButtonStateChange buttonStateChange, uint commandId)>
 Button command callback. More...
 
using rose::KeyboardShortcutCallback = std::function< void(uint32_t shortcutCode, bool state, uint repeat)>
 Keyboard shortcut callback. More...
 
using rose::TextInputCallback = std::function< void(const std::string &text)>
 Text input callback. More...
 
using rose::KeyboardFocusCallback = std::function< void(bool hasFocus)>
 Keyboard focus callback. More...
 
using rose::KeyboardEventCallback = std::function< void(const SDL_KeyboardEvent &keyboardEvent)>
 

Enumerations

enum  rose::ButtonDisplayState { rose::ButtonDisplayState::Inactive, rose::ButtonDisplayState::Active, rose::ButtonDisplayState::PressedActive, rose::ButtonDisplayState::PressedInactive }
 The visible state a button is in. More...
 
enum  rose::ButtonStateChange { rose::ButtonStateChange::Pushed, rose::ButtonStateChange::Off, rose::ButtonStateChange::On }
 

Detailed Description

Definitions to support callbacks.

Author
Richard Buckley richa.nosp@m.rd.b.nosp@m.uckle.nosp@m.y@ie.nosp@m.ee.or.nosp@m.g
Version
1.0
Date
2021-03-20