SDOM - Simple SDL Document Object Model
A lightweight, extensible Document Object Model for SDL-based applications.
Loading...
Searching...
No Matches
SDOM::Event Class Reference

#include <SDOM_Event.hpp>

Inheritance diagram for SDOM::Event:
SDOM::IDataObject SDOM::IUnitTest

Public Types

enum class  Phase { Capture , Target , Bubbling }
 

Public Member Functions

 Event (EventType type=EventType("None"), DisplayHandle target=nullptr, float fElapsedTime=0.0f)
 
virtual ~Event ()=default
 
virtual bool onInit () override
 
virtual void onQuit () override
 
EventType getType () const
 
std::string getTypeName () const
 
std::string getPhaseString () const
 
Phase getPhase () const
 
EventsetPhase (Phase phase)
 
DisplayHandle getTarget () const
 
EventsetTarget (DisplayHandle newTarget)
 
DisplayHandle getCurrentTarget () const
 
EventsetCurrentTarget (DisplayHandle newCurrentTarget)
 
DisplayHandle getRelatedTarget () const
 
EventsetRelatedTarget (DisplayHandle newRelatedTarget)
 
bool isPropagationStopped () const
 
EventstopPropagation ()
 
bool isDefaultBehaviorDisabled () const
 
EventsetDisableDefaultBehavior (bool disable)
 
bool getUseCapture () const
 
EventsetUseCapture (bool useCapture)
 
float getElapsedTime () const
 
EventsetElapsedTime (float elapsedTime)
 
SDL_Event getSDL_Event () const
 
EventsetSDL_Event (const SDL_Event &sdlEvent)
 
const sol::table & getPayload () const
 
EventsetPayload (const sol::table &data)
 
template<typename T >
EventsetPayloadValue (const std::string &key, const T &value)
 
template<typename T >
getPayloadValue (const std::string &key) const
 
float getMouseX () const
 
EventsetMouseX (float x)
 
float getMouseY () const
 
EventsetMouseY (float y)
 
float getWheelX () const
 
EventsetWheelX (float x)
 
float getWheelY () const
 
EventsetWheelY (float y)
 
float getDragOffsetX () const
 
EventsetDragOffsetX (float offsetX)
 
float getDragOffsetY () const
 
EventsetDragOffsetY (float offsetY)
 
int getClickCount () const
 
EventsetClickCount (int count)
 
uint8_t getButton () const
 
EventsetButton (uint8_t btn)
 
SDL_Scancode getScanCode () const
 
EventsetScanCode (SDL_Scancode scancode)
 
SDL_Keycode getKeycode () const
 
EventsetKeycode (SDL_Keycode keycode)
 
Uint16 getKeymod () const
 
EventsetKeymod (Uint16 keymod)
 
int getAsciiCode () const
 
EventsetAsciiCode (int asciiCode)
 
 Event (const Event &other)
 
Eventoperator= (const Event &other)
 
virtual bool onUnitTest () override
 Runs unit tests for this object.
 
std::string getName () const
 
void setName (const std::string &newName)
 
void registerLuaBindings (const std::string &typeName, sol::state_view lua)
 

Static Public Member Functions

static void registerLua (sol::state_view lua)
 
template<typename T >
static T lua_value_case_insensitive (const sol::table &tbl, const std::string &key, const T &default_value)
 

Protected Member Functions

virtual void _registerLuaBindings (const std::string &typeName, sol::state_view lua)
 

Protected Attributes

EventType type
 
DisplayHandle target = nullptr
 
DisplayHandle currentTarget = nullptr
 
DisplayHandle relatedTarget = nullptr
 
SDL_Event sdlEvent
 
Phase currentPhase
 
bool propagationStopped = false
 
bool disableDefaultBehavior = false
 
bool useCapture = false
 
float fElapsedTime = 0.0f
 
sol::table payload
 
float mouse_x
 
float mouse_y
 
float wheelX = 0.0f
 
float wheelY = 0.0f
 
float dragOffsetX = 0.0f
 
float dragOffsetY = 0.0f
 
int clickCount = 0
 
uint8_t button = 0
 
SDL_Scancode scancode_
 
SDL_Keycode keycode_
 
Uint16 keymod_
 
int asciiCode_
 
std::mutex eventMutex_
 
sol::usertype< IDataObjectobjHandleType_
 
std::string name_ = "IDataObject"
 

Friends

class EventManager
 

Member Enumeration Documentation

◆ Phase

enum class SDOM::Event::Phase
strong
Enumerator
Capture 
Target 
Bubbling 

Constructor & Destructor Documentation

◆ Event() [1/2]

SDOM::Event::Event ( EventType  type = EventType("None"),
DisplayHandle  target = nullptr,
float  fElapsedTime = 0.0f 
)

◆ ~Event()

virtual SDOM::Event::~Event ( )
virtualdefault

◆ Event() [2/2]

SDOM::Event::Event ( const Event other)
inline

Member Function Documentation

◆ _registerLuaBindings()

◆ getAsciiCode()

int SDOM::Event::getAsciiCode ( ) const

◆ getButton()

uint8_t SDOM::Event::getButton ( ) const

◆ getClickCount()

int SDOM::Event::getClickCount ( ) const

◆ getCurrentTarget()

DisplayHandle SDOM::Event::getCurrentTarget ( ) const

◆ getDragOffsetX()

float SDOM::Event::getDragOffsetX ( ) const

◆ getDragOffsetY()

float SDOM::Event::getDragOffsetY ( ) const

◆ getElapsedTime()

float SDOM::Event::getElapsedTime ( ) const

◆ getKeycode()

SDL_Keycode SDOM::Event::getKeycode ( ) const

◆ getKeymod()

Uint16 SDOM::Event::getKeymod ( ) const

◆ getMouseX()

float SDOM::Event::getMouseX ( ) const

◆ getMouseY()

float SDOM::Event::getMouseY ( ) const

◆ getName()

std::string SDOM::IDataObject::getName ( ) const
inlineinherited

◆ getPayload()

const sol::table & SDOM::Event::getPayload ( ) const
inline

◆ getPayloadValue()

template<typename T >
T SDOM::Event::getPayloadValue ( const std::string &  key) const
inline

◆ getPhase()

Event::Phase SDOM::Event::getPhase ( ) const

◆ getPhaseString()

std::string SDOM::Event::getPhaseString ( ) const

◆ getRelatedTarget()

DisplayHandle SDOM::Event::getRelatedTarget ( ) const

◆ getScanCode()

SDL_Scancode SDOM::Event::getScanCode ( ) const

◆ getSDL_Event()

SDL_Event SDOM::Event::getSDL_Event ( ) const

◆ getTarget()

DisplayHandle SDOM::Event::getTarget ( ) const

◆ getType()

EventType SDOM::Event::getType ( ) const

◆ getTypeName()

std::string SDOM::Event::getTypeName ( ) const

◆ getUseCapture()

bool SDOM::Event::getUseCapture ( ) const

◆ getWheelX()

float SDOM::Event::getWheelX ( ) const

◆ getWheelY()

float SDOM::Event::getWheelY ( ) const

◆ isDefaultBehaviorDisabled()

bool SDOM::Event::isDefaultBehaviorDisabled ( ) const

◆ isPropagationStopped()

bool SDOM::Event::isPropagationStopped ( ) const

◆ lua_value_case_insensitive()

template<typename T >
static T SDOM::IDataObject::lua_value_case_insensitive ( const sol::table &  tbl,
const std::string &  key,
const T &  default_value 
)
inlinestaticinherited

◆ onInit()

bool SDOM::Event::onInit ( )
overridevirtual

Implements SDOM::IDataObject.

◆ onQuit()

void SDOM::Event::onQuit ( )
overridevirtual

Implements SDOM::IDataObject.

◆ onUnitTest()

virtual bool SDOM::IDataObject::onUnitTest ( )
inlineoverridevirtualinherited

Runs unit tests for this object.

Returns
true if all tests pass, false otherwise.

Implements SDOM::IUnitTest.

Reimplemented in SDOM::IDisplayObject, SDOM::AssetHandle, SDOM::Core, SDOM::DisplayHandle, SDOM::Factory, SDOM::IAssetObject, SDOM::Label, SDOM::SpriteSheet, SDOM::Stage, SDOM::Texture, SDOM::TristateButton, and SDOM::TTFAsset.

◆ operator=()

Event & SDOM::Event::operator= ( const Event other)
inline

◆ registerLua()

void SDOM::Event::registerLua ( sol::state_view  lua)
static

◆ registerLuaBindings()

void SDOM::IDataObject::registerLuaBindings ( const std::string &  typeName,
sol::state_view  lua 
)
inlineinherited

◆ setAsciiCode()

Event & SDOM::Event::setAsciiCode ( int  asciiCode)

◆ setButton()

Event & SDOM::Event::setButton ( uint8_t  btn)

◆ setClickCount()

Event & SDOM::Event::setClickCount ( int  count)

◆ setCurrentTarget()

Event & SDOM::Event::setCurrentTarget ( DisplayHandle  newCurrentTarget)

◆ setDisableDefaultBehavior()

Event & SDOM::Event::setDisableDefaultBehavior ( bool  disable)

◆ setDragOffsetX()

Event & SDOM::Event::setDragOffsetX ( float  offsetX)

◆ setDragOffsetY()

Event & SDOM::Event::setDragOffsetY ( float  offsetY)

◆ setElapsedTime()

Event & SDOM::Event::setElapsedTime ( float  elapsedTime)

◆ setKeycode()

Event & SDOM::Event::setKeycode ( SDL_Keycode  keycode)

◆ setKeymod()

Event & SDOM::Event::setKeymod ( Uint16  keymod)

◆ setMouseX()

Event & SDOM::Event::setMouseX ( float  x)

◆ setMouseY()

Event & SDOM::Event::setMouseY ( float  y)

◆ setName()

void SDOM::IDataObject::setName ( const std::string &  newName)
inlineinherited

◆ setPayload()

Event & SDOM::Event::setPayload ( const sol::table &  data)
inline

◆ setPayloadValue()

template<typename T >
Event & SDOM::Event::setPayloadValue ( const std::string &  key,
const T &  value 
)
inline

◆ setPhase()

Event & SDOM::Event::setPhase ( Phase  phase)

◆ setRelatedTarget()

Event & SDOM::Event::setRelatedTarget ( DisplayHandle  newRelatedTarget)

◆ setScanCode()

Event & SDOM::Event::setScanCode ( SDL_Scancode  scancode)

◆ setSDL_Event()

Event & SDOM::Event::setSDL_Event ( const SDL_Event &  sdlEvent)

◆ setTarget()

Event & SDOM::Event::setTarget ( DisplayHandle  newTarget)

◆ setUseCapture()

Event & SDOM::Event::setUseCapture ( bool  useCapture)

◆ setWheelX()

Event & SDOM::Event::setWheelX ( float  x)

◆ setWheelY()

Event & SDOM::Event::setWheelY ( float  y)

◆ stopPropagation()

Event & SDOM::Event::stopPropagation ( )

Friends And Related Symbol Documentation

◆ EventManager

friend class EventManager
friend

Member Data Documentation

◆ asciiCode_

int SDOM::Event::asciiCode_
protected

◆ button

uint8_t SDOM::Event::button = 0
protected

◆ clickCount

int SDOM::Event::clickCount = 0
protected

◆ currentPhase

Phase SDOM::Event::currentPhase
mutableprotected

◆ currentTarget

DisplayHandle SDOM::Event::currentTarget = nullptr
protected

◆ disableDefaultBehavior

bool SDOM::Event::disableDefaultBehavior = false
mutableprotected

◆ dragOffsetX

float SDOM::Event::dragOffsetX = 0.0f
protected

◆ dragOffsetY

float SDOM::Event::dragOffsetY = 0.0f
protected

◆ eventMutex_

std::mutex SDOM::Event::eventMutex_
mutableprotected

◆ fElapsedTime

float SDOM::Event::fElapsedTime = 0.0f
protected

◆ keycode_

SDL_Keycode SDOM::Event::keycode_
protected

◆ keymod_

Uint16 SDOM::Event::keymod_
protected

◆ mouse_x

float SDOM::Event::mouse_x
protected

◆ mouse_y

float SDOM::Event::mouse_y
protected

◆ name_

std::string SDOM::IDataObject::name_ = "IDataObject"
protectedinherited

◆ objHandleType_

sol::usertype<IDataObject> SDOM::IDataObject::objHandleType_
protectedinherited

◆ payload

sol::table SDOM::Event::payload
protected

◆ propagationStopped

bool SDOM::Event::propagationStopped = false
mutableprotected

◆ relatedTarget

DisplayHandle SDOM::Event::relatedTarget = nullptr
protected

◆ scancode_

SDL_Scancode SDOM::Event::scancode_
protected

◆ sdlEvent

SDL_Event SDOM::Event::sdlEvent
protected

◆ target

DisplayHandle SDOM::Event::target = nullptr
protected

◆ type

EventType SDOM::Event::type
protected

◆ useCapture

bool SDOM::Event::useCapture = false
mutableprotected

◆ wheelX

float SDOM::Event::wheelX = 0.0f
protected

◆ wheelY

float SDOM::Event::wheelY = 0.0f
protected

The documentation for this class was generated from the following files: