]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/mousestate.h
added template wxScopedArray<> too
[wxWidgets.git] / include / wx / mousestate.h
... / ...
CommitLineData
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/mousestate.h
3// Purpose: Declaration of wxMouseState class
4// Author: Vadim Zeitlin
5// Created: 2008-09-19 (extracted from wx/utils.h)
6// RCS-ID: $Id$
7// Copyright: (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
8// Licence: wxWindows licence
9///////////////////////////////////////////////////////////////////////////////
10
11#ifndef _WX_MOUSESTATE_H_
12#define _WX_MOUSESTATE_H_
13
14#include "wx/kbdstate.h"
15
16// ----------------------------------------------------------------------------
17// wxMouseState contains the information about mouse position, buttons and also
18// key modifiers
19// ----------------------------------------------------------------------------
20
21// wxMouseState is used to hold information about button and modifier state
22// and is what is returned from wxGetMouseState.
23class WXDLLIMPEXP_CORE wxMouseState : public wxKeyboardState
24{
25public:
26 wxMouseState()
27 : m_leftDown(false), m_middleDown(false), m_rightDown(false),
28 m_aux1Down(false), m_aux2Down(false),
29 m_x(0), m_y(0)
30 {
31 }
32
33 // default copy ctor, assignment operator and dtor are ok
34
35
36 // accessors for the mouse position
37 wxCoord GetX() const { return m_x; }
38 wxCoord GetY() const { return m_y; }
39 wxPoint GetPosition() const { return wxPoint(m_x, m_y); }
40
41 // accessors for the pressed buttons
42 bool LeftDown() const { return m_leftDown; }
43 bool MiddleDown() const { return m_middleDown; }
44 bool RightDown() const { return m_rightDown; }
45 bool Aux1Down() const { return m_aux1Down; }
46 bool Aux2Down() const { return m_aux2Down; }
47
48 // these functions are mostly used by wxWidgets itself
49 void SetX(wxCoord x) { m_x = x; }
50 void SetY(wxCoord y) { m_y = y; }
51
52 void SetLeftDown(bool down) { m_leftDown = down; }
53 void SetMiddleDown(bool down) { m_middleDown = down; }
54 void SetRightDown(bool down) { m_rightDown = down; }
55 void SetAux1Down(bool down) { m_aux1Down = down; }
56 void SetAux2Down(bool down) { m_aux2Down = down; }
57
58private:
59 bool m_leftDown : 1;
60 bool m_middleDown : 1;
61 bool m_rightDown : 1;
62 bool m_aux1Down : 1;
63 bool m_aux2Down : 1;
64
65 wxCoord m_x,
66 m_y;
67};
68
69#endif // _WX_MOUSESTATE_H_
70