You.i Engine
CYIDeferredDeletionEvent< YI_TYPE, SfinaeHelper > Class Template Reference

Detailed Description

template<typename YI_TYPE, typename SfinaeHelper = void>
class CYIDeferredDeletionEvent< YI_TYPE, SfinaeHelper >

Event for handling deferred deletion of data of type YI_TYPE. SfinaeHelper type is used to control a partial-specialization for CYISceneNode, to ensure the CYISceneNode is removed from it's parent in the scenetree.

#include <event/YiDeferredDeletionEvent.h>

Inheritance diagram for CYIDeferredDeletionEvent< YI_TYPE, SfinaeHelper >:

Public Member Functions

 CYIDeferredDeletionEvent (std::unique_ptr< YI_TYPE > m_pPtr)
 
virtual void Delete () override
 
- Public Member Functions inherited from CYIAbstractDeferredDeletionEvent
 CYIAbstractDeferredDeletionEvent ()
 
- Public Member Functions inherited from CYIEvent
 CYIEvent (CYIEvent::Type eventType)
 
 CYIEvent (const CYIEvent &rOther)
 
virtual ~CYIEvent ()
 
virtual std::unique_ptr< CYIEventClone () const
 
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

std::unique_ptr< YI_TYPE > m_pPtr
 
- 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
 

Additional Inherited Members

- Public Types inherited from CYIEvent
enum  Type : uint8_t {
  Type::None = 0,
  Type::ActionMove,
  Type::ActionDown,
  Type::ActionDelayedDown,
  Type::ActionUp,
  Type::ActionWheel,
  Type::ActionWheelHorizontal,
  Type::ActionWheelVertical,
  Type::ActionClick,
  Type::ActionOut,
  Type::ActionIn,
  Type::ActionEnter,
  Type::ActionLeave,
  Type::ActionPick,
  Type::ActionLongPress,
  Type::ActionSuppressedMove,
  Type::KeyDown,
  Type::KeyUp,
  Type::KeyInput,
  Type::SignalEmit,
  Type::StateMachineWrapped,
  Type::StateMachineSignal,
  Type::GPUGenerateHandle,
  Type::GPULoadBuffer,
  Type::GPUUnloadBuffer,
  Type::GPUFreeHandle,
  Type::GPUInvalidateHandle,
  Type::FocusIn,
  Type::FocusOut,
  Type::TrackpadDown,
  Type::TrackpadMove,
  Type::TrackpadUp,
  Type::DeferredDeletion,
  Type::Task,
  Type::AccessibilityAnnounce,
  Type::AccessibilityFocusIn,
  Type::AccessibilityFocusOut,
  Type::AccessibilityFocusNext,
  Type::AccessibilityFocusPrevious,
  Type::GestureTap,
  Type::GestureDoubleTap,
  Type::GestureSwipe,
  Type::GestureDrag,
  Type::GestureScrub,
  Type::TypesCount
}
 The event type of the CYIEvent class instance. More...
 
enum  Phase : uint8_t {
  Phase::None = 0,
  Phase::Capture,
  Phase::AtTarget,
  Phase::Bubble,
  Phase::Broadcast
}
 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...
 

Constructor & Destructor Documentation

◆ CYIDeferredDeletionEvent()

template<typename YI_TYPE , typename SfinaeHelper = void>
CYIDeferredDeletionEvent< YI_TYPE, SfinaeHelper >::CYIDeferredDeletionEvent ( std::unique_ptr< YI_TYPE >  m_pPtr)
inline

Creates a CYIDeferredDeletionEvent with the given data pointer.

Member Function Documentation

◆ Delete()

template<typename YI_TYPE , typename SfinaeHelper = void>
virtual void CYIDeferredDeletionEvent< YI_TYPE, SfinaeHelper >::Delete ( )
inlineoverridevirtual

Deletes the internal data pointer.

Implements CYIAbstractDeferredDeletionEvent.

Member Data Documentation

◆ m_pPtr

template<typename YI_TYPE , typename SfinaeHelper = void>
std::unique_ptr<YI_TYPE> CYIDeferredDeletionEvent< YI_TYPE, SfinaeHelper >::m_pPtr

The stored pointer intended for deferred deletion.


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