Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::Event Class Referenceabstract

The Event class is the common base class of all events. More...

#include <hps.h>

Inheritance diagram for HPS::Event:
Collaboration diagram for HPS::Event:

Public Types

enum  Status : uint32_t {
  Status::InProgress,
  Status::Completed,
  Status::Failed
}
 Event Status - returned from a notifier to give the status of the event. More...
 

Public Member Functions

 Event (intptr_t in_channel=0)
 A constructor for generating events from built-in or custom event ID's. More...
 
virtual ~Event ()
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
virtual EventClone () const =0
 This function is used to copy custom events classes. More...
 
virtual bool Drop (Event const *in_that_event) const
 This optional function is used to determine if the current event can be dropped based on the following event in the queue. More...
 
virtual intptr_t Freshen () const
 This optional function is used to determine if the current event can be dropped in favor of newer event of the same type if one is available. More...
 
intptr_t GetChannel () const
 Returns the channel ID assigned to an event. More...
 
Time GetTimeStamp () const
 Returns the time an event was injected into the event queue. More...
 
bool IsConsumable () const
 Indicates whether an event will be consumed when it is handled or passed on to the next handler anyway. More...
 

Static Public Member Functions

static void * operator new (size_t in_size)
 
static void operator delete (void *in_ptr, size_t in_size) throw ()
 

Protected Attributes

intptr_t channel
 
bool consumable
 

Private Attributes

Time time_stamp
 

Friends

class HPSI::EventDispatcherImpl
 

Detailed Description

The Event class is the common base class of all events.

An event can be an error, input event, or a custom event. Events occur asynchronously and are processed in order from an event queue.

Member Enumeration Documentation

◆ Status

enum HPS::Event::Status : uint32_t
strong

Event Status - returned from a notifier to give the status of the event.

Enumerator
InProgress 

Event is still in progress.

Completed 

Event has completed.

Failed 

Event failed.

Constructor & Destructor Documentation

◆ Event()

HPS::Event::Event ( intptr_t  in_channel = 0)
inline

A constructor for generating events from built-in or custom event ID's.

◆ ~Event()

virtual HPS::Event::~Event ( )
virtual

Member Function Documentation

◆ Clone()

◆ Drop()

virtual bool HPS::Event::Drop ( Event const *  in_that_event) const
inlinevirtual

This optional function is used to determine if the current event can be dropped based on the following event in the queue.

Reimplemented in HPS::MouseEvent, HPS::TouchEvent, HPS::TimerTickEvent, HPS::SmoothTransitionCompleteEvent, and HPS::CameraChangedEvent.

◆ Freshen()

virtual intptr_t HPS::Event::Freshen ( ) const
inlinevirtual

This optional function is used to determine if the current event can be dropped in favor of newer event of the same type if one is available.

Returns
A cookie representing the freshen category. Zero indicates a non-freshening event.

Reimplemented in HPS::MouseEvent, HPS::TimerTickEvent, and HPS::CameraChangedEvent.

◆ GetChannel()

intptr_t HPS::Event::GetChannel ( ) const
inline

Returns the channel ID assigned to an event.

Here is the caller graph for this function:

◆ GetClassID()

intptr_t HPS::Event::GetClassID ( ) const

Returns a unique identifier that is shared by all objects of the same class.

Here is the caller graph for this function:

◆ GetTimeStamp()

Time HPS::Event::GetTimeStamp ( ) const
inline

Returns the time an event was injected into the event queue.

◆ IsConsumable()

bool HPS::Event::IsConsumable ( ) const
inline

Indicates whether an event will be consumed when it is handled or passed on to the next handler anyway.

◆ operator delete()

static void HPS::Event::operator delete ( void *  in_ptr,
size_t  in_size 
)
throw (
)
inlinestatic
Here is the call graph for this function:

◆ operator new()

static void* HPS::Event::operator new ( size_t  in_size)
inlinestatic
Here is the call graph for this function:

Friends And Related Function Documentation

◆ HPSI::EventDispatcherImpl

friend class HPSI::EventDispatcherImpl
friend

Member Data Documentation

◆ channel

intptr_t HPS::Event::channel
protected

◆ consumable

bool HPS::Event::consumable
protected

◆ time_stamp

Time HPS::Event::time_stamp
private

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