#include <hps.h>

Inheritance diagram for HPS::MouseEvent:
HPS::InputEvent HPS::Event

Public Types

enum  Action : uint32_t {
  ButtonUp, Action::ButtonDown, Action::Move, Action::Scroll,
  Action::Enter, Action::Leave
}


 
- Public Types inherited from HPS::Event
enum  Status : uint32_t { Status::InProgress, Status::Completed, Status::Failed }
 

Public Member Functions

EventClone () const
 
virtual bool Drop (Event const *in_that_event) const
 
virtual bool Equals (InputEvent const &in_that) const
 
virtual bool Equals (MouseEvent const &in_that) const
 
virtual intptr_t Freshen () const
 
 MouseEvent ()
 
 MouseEvent (Action in_action, WindowPoint in_location, MouseButtons in_button=MouseButtons(), ModifierKeys in_modifier=ModifierKeys(), size_t in_click_count=0)
 
 MouseEvent (Action in_action, float in_wheel_delta, WindowPoint in_location=WindowPoint(0, 0, 0), ModifierKeys in_modifier=ModifierKeys(), size_t in_click_count=0)
 
 MouseEvent (Event const &in_event)
 
virtual bool operator!= (MouseEvent const &in_that) const
 
virtual bool operator== (MouseEvent const &in_that) const
 
- Public Member Functions inherited from HPS::InputEvent
ModifierKeys GetModifierKeys () const
 
 InputEvent ()
 
 InputEvent (ModifierKeys const &in_modifiers)
 
virtual bool operator!= (InputEvent const &in_that) const
 
virtual bool operator== (InputEvent const &in_that) const
 
- Public Member Functions inherited from HPS::Event
 Event (intptr_t in_channel=0)
 
intptr_t GetChannel () const
 
intptr_t GetClassID () const
 
Time GetTimeStamp () const
 
bool IsConsumable () const
 

Public Attributes

size_t ClickCount
 The number of clicks received.
 
HPS::MouseEvent::Action CurrentAction
 The action for this MouseEvent.
 
HPS::MouseButtons CurrentButton
 If the action involves a button, this is the button.
 
WindowPoint Location
 Location in window space of the mouse cursor.
 
float WheelDelta
 If the action involves the mouse wheel, this is the amount the wheel moved. It is positive if the mouse wheel is moved forward (away from the user) or negative if the mouse wheel is moved downward (toward the user).
 
- Public Attributes inherited from HPS::InputEvent
ModifierKeys ModifierKeyState
 The modifier keys which are active for this InputEvent.
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Event
static void operator delete (void *in_ptr, size_t in_size) throw ()
 
static void * operator new (size_t in_size)
 
- Protected Attributes inherited from HPS::Event
intptr_t channel
 
bool consumable
 

Detailed Description

The MouseEvent class is the event generated for each mouse action.

Member Enumeration Documentation

◆ Action

enum HPS::MouseEvent::Action : uint32_t
strong

Enumeration of various actions a mouse can undergo for a MouseEvent.

Enumerator
ButtonDown 

A mouse button has been released.

Move 

A mouse button has been pressed.

Scroll 

The mouse location has changed.

Enter 

The scroll wheel has been moved.

Leave 

The mouse cursor has moved into the active window.

The mouse cursor has moved out of the active window.

Constructor & Destructor Documentation

◆ MouseEvent() [1/4]

HPS::MouseEvent::MouseEvent ( )
inline

The default constructor creates an uninitialized MouseEvent object.

◆ MouseEvent() [2/4]

HPS::MouseEvent::MouseEvent ( Action  in_action,
WindowPoint  in_location,
MouseButtons  in_button = MouseButtons(),
ModifierKeys  in_modifier = ModifierKeys(),
size_t  in_click_count = 0 
)
inline

This constructor creates a MouseEvent object for a given action.

Parameters
in_actionAction of this MouseEvent.
in_locationThe location in window space of the mouse cursor.
in_buttonIf the action is a button event, this is the button.
in_modifierThe modifier keys for this MouseEvent.
in_click_countThe number of clicks received.

◆ MouseEvent() [3/4]

HPS::MouseEvent::MouseEvent ( Action  in_action,
float  in_wheel_delta,
WindowPoint  in_location = WindowPoint(0,0,0),
ModifierKeys  in_modifier = ModifierKeys(),
size_t  in_click_count = 0 
)
inline

This constructor creates a MouseEvent object, most useful for a wheel action.

Parameters
in_actionAction of the mouse for this MouseEvent.
in_wheel_deltaIf the action involves the mouse wheel, this is the amount the wheel moved. It is positive if the mouse wheel is moved forward (away from the user) or negative if the mouse wheel is moved downward (toward the user).
in_locationThe location in window space of the mouse cursor.
in_modifierThe modifier keys for this MouseEvent.
in_click_countThe number of clicks received.

◆ MouseEvent() [4/4]

HPS::MouseEvent::MouseEvent ( Event const &  in_event)
inline

This constructor converts an Event Object to a MouseEvent object.

Parameters
in_eventThe Event Object to be converted.

Member Function Documentation

◆ Clone()

Event* HPS::MouseEvent::Clone ( ) const
inlinevirtual

Allocates and returns a copy of this MouseEvent.

Returns
A copy of this MouseEvent.

Reimplemented from HPS::InputEvent.

◆ Drop()

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

Determines if this MouseEvent can be dropped in favor of the following mouse event.

Parameters
in_that_eventEvent to compare with this MouseEvent.
Returns
true if this event can be dropped, false otherwise.

Reimplemented from HPS::Event.

◆ Equals() [1/2]

virtual bool HPS::MouseEvent::Equals ( InputEvent const &  in_that) const
inlinevirtual

Check if the source object is equivalent to this object.

Parameters
in_thatThe source object to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

Reimplemented from HPS::InputEvent.

◆ Equals() [2/2]

virtual bool HPS::MouseEvent::Equals ( MouseEvent const &  in_that) const
inlinevirtual

Check if the source object is equivalent to this object.

Parameters
in_thatThe source object to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

◆ Freshen()

virtual intptr_t HPS::MouseEvent::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 from HPS::Event.

◆ operator!=()

virtual bool HPS::MouseEvent::operator!= ( MouseEvent const &  in_that) const
inlinevirtual

Check if the source object is not equivalent to this object.

Parameters
in_kitThe source object to compare to this object.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator==()

virtual bool HPS::MouseEvent::operator== ( MouseEvent const &  in_that) const
inlinevirtual

Check if the source object is equivalent to this object.

Parameters
in_kitThe source object to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

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