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 ()
 Checks the current state of the button. More...
 
bool GetState () const
 

Public Attributes

bool dragging
 Flag indicating that dragging is active for the given button. More...
 
bool pressed
 Point where dragging has started (in world coordinates). More...
 
VECTOR2D dragOrigin
 Point where dragging has started (in screen coordinates). More...
 
VECTOR2D dragOriginScreen
 Point where click event has occurred. More...
 
VECTOR2D downPosition
 Determines the mouse button for which information are stored. More...
 
TOOL_MOUSE_BUTTONS button
 The type of wxEvent that determines mouse button press. More...
 
wxEventType downEvent
 The type of wxEvent that determines mouse button release. More...
 
wxEventType upEvent
 The type of wxEvent that determines mouse button double click. More...
 
wxEventType dblClickEvent
 Time stamp for the last mouse button press event. More...
 
wxLongLong downTimestamp
 Restores initial state. More...
 

Detailed Description

< Stores information about a mouse button state

Definition at line 51 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 53 of file tool_dispatcher.cpp.

54  :
55  dragging( false ),
56  pressed( false ),
57  button( aButton ),
58  downEvent( aDownEvent ),
59  upEvent( aUpEvent ),
60  dblClickEvent( aDblClickEvent )
61  {};
bool dragging
Flag indicating that dragging is active for the given button.
wxEventType dblClickEvent
Time stamp for the last mouse button press event.
wxEventType downEvent
The type of wxEvent that determines mouse button release.
bool pressed
Point where dragging has started (in world coordinates).
wxEventType upEvent
The type of wxEvent that determines mouse button double click.
TOOL_MOUSE_BUTTONS button
The type of wxEvent that determines mouse button press.

Member Function Documentation

◆ GetState()

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

Definition at line 101 of file tool_dispatcher.cpp.

102  {
103  wxMouseState mouseState = wxGetMouseState();
104 
105  switch( button )
106  {
107  case BUT_LEFT:
108  return mouseState.LeftIsDown();
109 
110  case BUT_MIDDLE:
111  return mouseState.MiddleIsDown();
112 
113  case BUT_RIGHT:
114  return mouseState.RightIsDown();
115 
116  default:
117  assert( false );
118  break;
119  }
120 
121  return false;
122  }
TOOL_MOUSE_BUTTONS button
The type of wxEvent that determines mouse button press.

References BUT_LEFT, BUT_MIDDLE, BUT_RIGHT, and button.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ Reset()

void TOOL_DISPATCHER::BUTTON_STATE::Reset ( )
inline

Checks the current state of the button.

Definition at line 94 of file tool_dispatcher.cpp.

References dragging, and pressed.

Member Data Documentation

◆ button

TOOL_MOUSE_BUTTONS TOOL_DISPATCHER::BUTTON_STATE::button

The type of wxEvent that determines mouse button press.

Definition at line 79 of file tool_dispatcher.cpp.

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

◆ dblClickEvent

wxEventType TOOL_DISPATCHER::BUTTON_STATE::dblClickEvent

Time stamp for the last mouse button press event.

Definition at line 88 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 release.

Definition at line 82 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ downPosition

VECTOR2D TOOL_DISPATCHER::BUTTON_STATE::downPosition

Determines the mouse button for which information are stored.

Definition at line 76 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ downTimestamp

wxLongLong TOOL_DISPATCHER::BUTTON_STATE::downTimestamp

Restores initial state.

Definition at line 91 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.

Flag indicating that the given button is pressed.

Definition at line 61 of file tool_dispatcher.cpp.

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

◆ dragOrigin

VECTOR2D TOOL_DISPATCHER::BUTTON_STATE::dragOrigin

Point where dragging has started (in screen coordinates).

Definition at line 70 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ dragOriginScreen

VECTOR2D TOOL_DISPATCHER::BUTTON_STATE::dragOriginScreen

Point where click event has occurred.

Definition at line 73 of file tool_dispatcher.cpp.

Referenced by TOOL_DISPATCHER::handleMouseButton().

◆ pressed

bool TOOL_DISPATCHER::BUTTON_STATE::pressed

Point where dragging has started (in world coordinates).

Definition at line 67 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 double click.

Definition at line 85 of file tool_dispatcher.cpp.


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