KiCad PCB EDA Suite
TOOL_DISPATCHER::BUTTON_STATE Struct Reference

Stores information about a mouse button state

More...

Public Member Functions

 BUTTON_STATE (TOOL_MOUSE_BUTTONS aButton, const wxEventType &aDownEvent, const wxEventType &aUpEvent, const wxEventType &aDblClickEvent)
 
void Reset ()
 

Restores initial state.

More...
 
bool GetState () const
 

Checks the current state of the button.

More...
 

Public Attributes

bool dragging
 

Flag indicating that dragging is active for the given button.

More...
 
bool pressed
 

Flag indicating that the given button is pressed.

More...
 
VECTOR2D dragOrigin
 

Point where dragging has started (in world coordinates).

More...
 
VECTOR2D downPosition
 

Point where click event has occurred.

More...
 
double dragMaxDelta
 

Difference between drag origin point and current mouse position (expressed as distance in pixels).

More...
 
TOOL_MOUSE_BUTTONS button
 

Determines the mouse button for which information are stored.

More...
 
wxEventType downEvent
 

The type of wxEvent that determines mouse button press.

More...
 
wxEventType upEvent
 

The type of wxEvent that determines mouse button release.

More...
 
wxEventType dblClickEvent
 

The type of wxEvent that determines mouse button double click.

More...
 
wxLongLong downTimestamp
 

Time stamp for the last mouse button press event.

More...
 

Detailed Description

Stores information about a mouse button state

Definition at line 43 of file tool_dispatcher.cpp.

Constructor & Destructor Documentation

◆ BUTTON_STATE()

TOOL_DISPATCHER::BUTTON_STATE::BUTTON_STATE ( TOOL_MOUSE_BUTTONS  aButton,
const wxEventType &  aDownEvent,
const wxEventType &  aUpEvent,
const wxEventType &  aDblClickEvent 
)
inline

Definition at line 45 of file tool_dispatcher.cpp.

46  :
47  dragging( false ),
48  pressed( false ),
49  dragMaxDelta( 0.0f ),
50  button( aButton ),
51  downEvent( aDownEvent ),
52  upEvent( aUpEvent ),
53  dblClickEvent( aDblClickEvent )
54  {};
double dragMaxDelta
Difference between drag origin point and current mouse position (expressed as distance in pixels).
bool dragging
Flag indicating that dragging is active for the given button.
wxEventType dblClickEvent
The type of wxEvent that determines mouse button double click.
wxEventType downEvent
The type of wxEvent that determines mouse button press.
bool pressed
Flag indicating that the given button is pressed.
wxEventType upEvent
The type of wxEvent that determines mouse button release.
TOOL_MOUSE_BUTTONS button
Determines the mouse button for which information are stored.

Member Function Documentation

◆ GetState()

bool TOOL_DISPATCHER::BUTTON_STATE::GetState ( ) const
inline

Checks the current state of the button.

Definition at line 95 of file tool_dispatcher.cpp.

96  {
97  wxMouseState mouseState = wxGetMouseState();
98 
99  switch( button )
100  {
101  case BUT_LEFT:
102  return mouseState.LeftIsDown();
103 
104  case BUT_MIDDLE:
105  return mouseState.MiddleIsDown();
106 
107  case BUT_RIGHT:
108  return mouseState.RightIsDown();
109 
110  default:
111  assert( false );
112  break;
113  }
114 
115  return false;
116  }
TOOL_MOUSE_BUTTONS button
Determines the mouse button for which information are stored.

References BUT_LEFT, BUT_MIDDLE, BUT_RIGHT, and button.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ Reset()

void TOOL_DISPATCHER::BUTTON_STATE::Reset ( )
inline

Restores initial state.

Definition at line 88 of file tool_dispatcher.cpp.

89  {
90  dragging = false;
91  pressed = false;
92  }
bool dragging
Flag indicating that dragging is active for the given button.
bool pressed
Flag indicating that the given button is pressed.

References dragging, and pressed.

Member Data Documentation

◆ button

TOOL_MOUSE_BUTTONS TOOL_DISPATCHER::BUTTON_STATE::button

Determines the mouse button for which information are stored.

Definition at line 73 of file tool_dispatcher.cpp.

Referenced by GetState(), and TOOL_DISPATCHER::handleMouseButton().

◆ dblClickEvent

wxEventType TOOL_DISPATCHER::BUTTON_STATE::dblClickEvent

The type of wxEvent that determines mouse button double click.

Definition at line 82 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ downEvent

wxEventType TOOL_DISPATCHER::BUTTON_STATE::downEvent

The type of wxEvent that determines mouse button press.

Definition at line 76 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ downPosition

VECTOR2D TOOL_DISPATCHER::BUTTON_STATE::downPosition

Point where click event has occurred.

Definition at line 66 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ downTimestamp

wxLongLong TOOL_DISPATCHER::BUTTON_STATE::downTimestamp

Time stamp for the last mouse button press event.

Definition at line 85 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ dragging

bool TOOL_DISPATCHER::BUTTON_STATE::dragging

Flag indicating that dragging is active for the given button.

Definition at line 54 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton(), and Reset().

◆ dragMaxDelta

double TOOL_DISPATCHER::BUTTON_STATE::dragMaxDelta

Difference between drag origin point and current mouse position (expressed as distance in pixels).

Definition at line 70 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ dragOrigin

VECTOR2D TOOL_DISPATCHER::BUTTON_STATE::dragOrigin

Point where dragging has started (in world coordinates).

Definition at line 63 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ pressed

bool TOOL_DISPATCHER::BUTTON_STATE::pressed

Flag indicating that the given button is pressed.

Definition at line 60 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton(), and Reset().

◆ upEvent

wxEventType TOOL_DISPATCHER::BUTTON_STATE::upEvent

The type of wxEvent that determines mouse button release.

Definition at line 79 of file tool_dispatcher.cpp.


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