HoverRace  2.0
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
Action.h File Reference
#include <SDL2/SDL_keycode.h>
#include <SDL2/SDL_mouse.h>
#include "../Vec.h"
#include "../Exception.h"
#include "ControlAction.h"
+ Include dependency graph for Action.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HoverRace::Control::Action< T, Val >
 Actions are effectively signals that can be triggered by both the InputEventController and other things such as UI buttons. More...
 
struct  HoverRace::Control::CancelCombiner
 Combiner that allows slots to cancel the remaining slots by returning true. More...
 
struct  HoverRace::Control::Mouse::Click
 Mouse click events. More...
 
struct  HoverRace::Control::Mouse::Scroll
 Mouse scroll events. More...
 

Namespaces

 HoverRace
 
 HoverRace::Control
 
 HoverRace::Control::Mouse
 
 HoverRace::Control::TextControl
 

Macros

#define MR_DllDeclare
 

Typedefs

using HoverRace::Control::mouseClickSignal_t = boost::signals2::signal< bool(const Mouse::Click &), CancelCombiner >
 Signals for mouse clicks. More...
 
using HoverRace::Control::mouseScrollSignal_t = boost::signals2::signal< bool(const Mouse::Scroll &), CancelCombiner >
 Signals for mouse scrolling. More...
 
using HoverRace::Control::stringSignal_t = boost::signals2::signal< void(const std::string &)>
 Signals which have a single string payload. More...
 
using HoverRace::Control::textControlSignal_t = boost::signals2::signal< void(TextControl::key_t)>
 Signals for text input control. More...
 
using HoverRace::Control::valueSignal_t = boost::signals2::signal< void(int)>
 Signals which have a single (action-dependent) payload. More...
 
using HoverRace::Control::vec2Signal_t = boost::signals2::signal< void(const Vec2 &)>
 Signals which have a Vec2 payload. More...
 
using HoverRace::Control::voidSignal_t = boost::signals2::signal< void()>
 Signals which are self-contained (no payload). More...
 

Enumerations

enum  HoverRace::Control::Mouse::button_t {
  HoverRace::Control::Mouse::LEFT = SDL_BUTTON_LEFT, HoverRace::Control::Mouse::MIDDLE = SDL_BUTTON_MIDDLE, HoverRace::Control::Mouse::RIGHT = SDL_BUTTON_RIGHT, HoverRace::Control::Mouse::B4 = SDL_BUTTON_X1,
  HoverRace::Control::Mouse::B5 = SDL_BUTTON_X2
}
 Mouse buttons. More...
 
enum  HoverRace::Control::TextControl::key_t { HoverRace::Control::TextControl::BACKSPACE = SDLK_BACKSPACE, HoverRace::Control::TextControl::ENTER = SDLK_RETURN }
 Keycodes used for text input control. More...
 

Functions

template<class T , class Val >
void HoverRace::Control::PerformAction (const T &, Val)
 
template<>
void HoverRace::Control::PerformAction< mouseClickSignal_t, const Mouse::Click & > (const mouseClickSignal_t &signal, const Mouse::Click &vec)
 
template<>
void HoverRace::Control::PerformAction< mouseScrollSignal_t, const Mouse::Scroll & > (const mouseScrollSignal_t &signal, const Mouse::Scroll &scroll)
 
template<>
void HoverRace::Control::PerformAction< textControlSignal_t, TextControl::key_t > (const textControlSignal_t &signal, TextControl::key_t key)
 
template<>
void HoverRace::Control::PerformAction< valueSignal_t, int > (const valueSignal_t &signal, int value)
 
template<>
void HoverRace::Control::PerformAction< vec2Signal_t, const Vec2 & > (const vec2Signal_t &signal, const Vec2 &vec)
 
template<>
void HoverRace::Control::PerformAction< voidSignal_t, int > (const voidSignal_t &signal, int value)
 

Macro Definition Documentation

#define MR_DllDeclare