You.i Engine
CYIActionEvent Class Reference

Detailed Description

Stores data related to a user Action event.

Action events represent any type of mouse or touchscreen events issued by the user.

#include <event/YiActionEvent.h>

Inheritance diagram for CYIActionEvent:

Public Types

enum  ButtonType : uint8_t {
  ButtonType::Left = 0,
- Public Types inherited from CYIEvent
enum  Type : uint8_t {
  Type::None = 0,
 The event type of the CYIEvent class instance. More...
enum  Phase : uint8_t {
  Phase::None = 0,
 The current processing phase of the event. More...
enum  Priority {
  Priority::Highest = 2,
  Priority::High = 1,
  Priority::Normal = 0,
  Priority::Low = -1,
  Priority::Lowest = -2,
  Priority::Default = Normal
 Priority of the event in the event queue. More...

Public Member Functions

 CYIActionEvent (CYIEvent::Type eventType)
 CYIActionEvent (const CYIActionEvent &rOther)=default
virtual ~CYIActionEvent ()
virtual std::unique_ptr< CYIEventClone () const override
- Public Member Functions inherited from CYIEvent
 CYIEvent (CYIEvent::Type eventType)
 CYIEvent (const CYIEvent &rOther)
virtual ~CYIEvent ()
const CYIStringGetName () const
CYIEvent::Type GetType () const
void SetType (CYIEvent::Type eventType)
bool IsActionEvent () const
std::unique_ptr< CYIActionEventCloneAsActionEvent () const
bool IsKeyEvent () const
std::unique_ptr< CYIKeyEventCloneAsKeyEvent () const
bool IsFocusEvent () const
std::unique_ptr< CYIFocusEventCloneAsFocusEvent () const
bool IsTrackpadEvent () const
std::unique_ptr< CYITrackpadEventCloneAsTrackpadEvent () const
bool IsAccessibilityEvent () const
std::unique_ptr< CYIAccessibilityEventCloneAsAccessibilityEvent () const
bool IsGestureEvent () const
std::unique_ptr< CYIGestureEventCloneAsGestureEvent () const
bool IsSwipeGestureEvent () const
bool IsScrubGestureEvent () const
std::unique_ptr< CYISwipeGestureEventCloneAsSwipeGestureEvent () const
void SetTarget (CYIEventTarget *pTarget)
CYIEventTargetGetTarget () const
const std::shared_ptr< CYIEventTargetProxy > & GetTargetProxy () const
void SetCurrentTarget (CYIEventTarget *pTarget)
const CYIEventTargetGetCurrentTarget () const
CYIEventTargetGetCurrentTarget ()
const std::shared_ptr< CYIEventTargetProxy > & GetCurrentTargetProxy () const

Public Attributes

int32_t m_x
int32_t m_y
int32_t m_flippedY
int32_t m_wheelDelta
ButtonType m_button
bool m_isHoverType
uint8_t m_pointerID
CYIRay m_Ray
glm::vec3 m_localSpaceLocation
- Public Attributes inherited from CYIEvent
uint64_t m_eventTimeMs
Phase m_phase
bool m_canCancel
bool m_canBubble
bool m_canCapture
bool m_stopPropagation
bool m_handled

Member Enumeration Documentation

◆ ButtonType

enum CYIActionEvent::ButtonType : uint8_t

Constructor & Destructor Documentation

◆ CYIActionEvent() [1/2]

CYIActionEvent::CYIActionEvent ( CYIEvent::Type  eventType)

Constructs an action event from the given event type. Will assert if the type is not an action event.

◆ CYIActionEvent() [2/2]

CYIActionEvent::CYIActionEvent ( const CYIActionEvent rOther)

◆ ~CYIActionEvent()

virtual CYIActionEvent::~CYIActionEvent ( )

Member Function Documentation

◆ Clone()

virtual std::unique_ptr<CYIEvent> CYIActionEvent::Clone ( ) const

Reimplemented from CYIEvent.

Reimplemented in CYIGestureEvent, and CYISwipeGestureEvent.

Member Data Documentation

◆ m_button

ButtonType CYIActionEvent::m_button

The CYIActionEvent::ButtonType that was used.

◆ m_flippedY

int32_t CYIActionEvent::m_flippedY

The y location of the event in flipped screen coordinates.

◆ m_isHoverType

bool CYIActionEvent::m_isHoverType

True if the action event is a hover event. An example would be a mouse over event.

◆ m_localSpaceLocation

glm::vec3 CYIActionEvent::m_localSpaceLocation

Location of the event in local coordinates. This is determined by intersecting CYIActionEvent::m_Ray with the current target node's mesh, and is updated as the scene tree is traversed. This is 0 if the current target node has no mesh.

◆ m_pointerID

uint8_t CYIActionEvent::m_pointerID

The pointer ID literally refers to a finger on a multi-touch device. Currently this is only supported by Android. For example: if two fingers are down on the tablet, the indexes 0 and 1 are assigned respectively. Then when the user lifts the first finger placed on the tablet the index for the remaining finger would be 1.

◆ m_Ray

CYIRay CYIActionEvent::m_Ray

The ray is used for picking. The ray is created from the screen coordinates of the event, but as the scene tree is traversed, the ray is tranformed into each node's local space.

◆ m_wheelDelta

int32_t CYIActionEvent::m_wheelDelta

If the action is CYIEvent::Type::ActionWheel then this is the distance the wheel has rotated since the last CYIEvent::Type::ActionWheel event. A positive value indicates that the wheel was rotated forward. This is typically 0 for all other event types.

◆ m_x

int32_t CYIActionEvent::m_x

The x location of the event in screen coordinates.

◆ m_y

int32_t CYIActionEvent::m_y

The y location of the event in screen coordinates.

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