## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csMouseDriver Class Reference

Generic Mouse Driver. More...

`#include <csutil/csinput.h>`

Inheritance diagram for csMouseDriver:

[legend]
List of all members.

## Public Member Functions

| csMouseDriver (iObjectRegistry *)
| Initialize mouse interface.
virtual void | DoButton (int button, bool down, int x, int y)
virtual void | DoButton (int button, bool down, const int32 *axes, uint numAxes)
virtual void | DoButton (uint number, int button, bool down, const int32 *axes, uint numAxes)
| Call this to add a 'mouse button down/up' event to queue.
virtual void | DoMotion (int x, int y)
virtual void | DoMotion (const int32 *axes, uint numAxes)
virtual void | DoMotion (uint number, const int32 *axes, uint numAxes)
| Call this to add a 'mouse moved' event to queue.
virtual void | GainFocus ()
virtual const int32 * | GetLast (uint n) const
| Query last mouse axis array for mouse n (0, 1, 2, ...).
virtual int | GetLast (uint n, uint axis) const
| Query last mouse position on axis (0, 1, 2, ...) for mouse n (0, 1, 2, ...).
virtual bool | GetLastButton (uint number, int button) const
| Query the last known mouse button state.
virtual bool | GetLastButton (int button) const
| Query the last known mouse button state for mouse #0.
virtual int | GetLastX (uint n) const
| Query last mouse X position for mouse #n (0, 1, 2, ...).
virtual int | GetLastY (uint n) const
| Query last mouse Y position for mouse #n (0, 1, 2, ...).
virtual void | LostFocus ()
| Application lost focus.
virtual void | Reset ()
| Call to release all mouse buttons.
virtual CS_EVENTHANDLER_NIL_CONSTRAINTS void | SetDoubleClickTime (int iTime, size_t iDist)
| Set double-click mouse parameters.
virtual | ~csMouseDriver ()
| Destructor.

## Protected Member Functions

iKeyboardDriver * | GetKeyboardDriver ()
| Get the generic keyboard driver (for checking modifier states).

## Protected Attributes

uint | Axes [CS_MAX_MOUSE_COUNT]
bool | Button [CS_MAX_MOUSE_COUNT][CS_MAX_MOUSE_BUTTONS]
| Mouse buttons state.
size_t | DoubleClickDist
| Mouse double click max distance.
csTicks | DoubleClickTime
| Mouse double click max interval in 1/1000 seconds.
int32 | Last [CS_MAX_MOUSE_COUNT][CS_MAX_MOUSE_AXES]
| Last mouse positions.
int | LastClick [CS_MAX_MOUSE_COUNT][CS_MAX_MOUSE_AXES]
| Last "mouse down" event position.
int | LastClickButton [CS_MAX_MOUSE_COUNT]
| Last "mouse down" event button.
csTicks | LastClickTime [CS_MAX_MOUSE_COUNT]
| Last "mouse down" event time.

## Detailed Description

Generic Mouse Driver.

Mouse driver should generate events and put them into the event queue. Also it is responsible for generating double-click events. Mouse button numbers are 0-based.

Todo:
  The csMouseDriver and csJoystickDriver should be unified, since there's no real distinction between them under the hood.

Definition at line 205 of file csinput.h.

## Constructor & Destructor Documentation

csMouseDriver::csMouseDriver | ( | iObjectRegistry * |  | ) |

| Initialize mouse interface.

virtual csMouseDriver::~csMouseDriver | ( |  | ) | `[virtual]`

| Destructor.

## Member Function Documentation

virtual void csMouseDriver::DoButton | ( | uint | number,
|  | int | button,
|  | bool | down,
|  | const int32 * | axes,
|  | uint | numAxes
| ) | `[virtual]`

| Call this to add a 'mouse button down/up' event to queue. Implements iMouseDriver.

virtual void csMouseDriver::DoMotion | ( | uint | number,
|  | const int32 * | axes,
|  | uint | numAxes
| ) | `[virtual]`

| Call this to add a 'mouse moved' event to queue. Implements iMouseDriver.

iKeyboardDriver* csMouseDriver::GetKeyboardDriver | ( |  | ) | `[protected]`

| Get the generic keyboard driver (for checking modifier states).

virtual const int32* csMouseDriver::GetLast | ( | uint | n | ) | const`[inline, virtual]`

| Query last mouse axis array for mouse n (0, 1, 2, ...). Implements iMouseDriver. Definition at line 261 of file csinput.h.

virtual int csMouseDriver::GetLast | ( | uint | n,
|  | uint | axis
| ) | const`[inline, virtual]`

| Query last mouse position on axis (0, 1, 2, ...) for mouse n (0, 1, 2, ...). Implements iMouseDriver. Definition at line 258 of file csinput.h.

virtual bool csMouseDriver::GetLastButton | ( | uint | number,
|  | int | button
| ) | const`[inline, virtual]`

| Query the last known mouse button state. Implements iMouseDriver. Definition at line 267 of file csinput.h. References CS_MAX_MOUSE_BUTTONS, and CS_MAX_MOUSE_COUNT.

virtual bool csMouseDriver::GetLastButton | ( | int | button | ) | const`[inline, virtual]`

| Query the last known mouse button state for mouse #0. Implements iMouseDriver. Definition at line 264 of file csinput.h.

virtual int csMouseDriver::GetLastX | ( | uint | n | ) | const`[inline, virtual]`

| Query last mouse X position for mouse #n (0, 1, 2, ...). Implements iMouseDriver. Definition at line 254 of file csinput.h.

virtual int csMouseDriver::GetLastY | ( | uint | n | ) | const`[inline, virtual]`

| Query last mouse Y position for mouse #n (0, 1, 2, ...). Implements iMouseDriver. Definition at line 256 of file csinput.h.

virtual void csMouseDriver::LostFocus | ( |  | ) | `[inline, virtual]`

| Application lost focus. Implements csInputDriver. Definition at line 289 of file csinput.h.

virtual void csMouseDriver::Reset | ( |  | ) | `[virtual]`

| Call to release all mouse buttons. Implements iMouseDriver.

virtual CS_EVENTHANDLER_NIL_CONSTRAINTS void csMouseDriver::SetDoubleClickTime | ( | int | iTime,
|  | size_t | iDist
| ) | `[virtual]`

| Set double-click mouse parameters. Implements iMouseDriver.

## Member Data Documentation

bool csMouseDriver::Button[CS_MAX_MOUSE_COUNT][CS_MAX_MOUSE_BUTTONS]`[protected]`

Mouse buttons state.

Todo:
  Change this to a bitmask.

Definition at line 230 of file csinput.h.

size_t csMouseDriver::DoubleClickDist `[protected]`

| Mouse double click max distance. Definition at line 234 of file csinput.h.

csTicks csMouseDriver::DoubleClickTime `[protected]`

| Mouse double click max interval in 1/1000 seconds. Definition at line 232 of file csinput.h.

int32 csMouseDriver::Last[CS_MAX_MOUSE_COUNT][CS_MAX_MOUSE_AXES]`[protected]`

| Last mouse positions. Definition at line 224 of file csinput.h.

int csMouseDriver::LastClick[CS_MAX_MOUSE_COUNT][CS_MAX_MOUSE_AXES]`[protected]`

| Last "mouse down" event position. Definition at line 222 of file csinput.h.

int csMouseDriver::LastClickButton[CS_MAX_MOUSE_COUNT]`[protected]`

| Last "mouse down" event button. Definition at line 220 of file csinput.h.

csTicks csMouseDriver::LastClickTime[CS_MAX_MOUSE_COUNT]`[protected]`

| Last "mouse down" event time. Definition at line 218 of file csinput.h.

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

- csutil/csinput.h