FlightGear next
MouseCursor.hxx
Go to the documentation of this file.
1// MouseCursor.hxx - abstract inteface for mouse cursor control
2
3// Copyright (C) 2013 James Turner <zakalawe@mac.com>
4//
5// This program is free software; you can redistribute it and/or
6// modify it under the terms of the GNU General Public License as
7// published by the Free Software Foundation; either version 2 of the
8// License, or (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful, but
11// WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13// General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program; if not, write to the Free Software
17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18//
19
20
21#ifndef FG_GUI_MOUSE_CURSOR_HXX
22#define FG_GUI_MOUSE_CURSOR_HXX 1
23
24class SGPropertyNode;
25
27{
28public:
29 static FGMouseCursor* instance();
30
31 virtual void setAutoHideTimeMsec(unsigned int aMsec);
32
55
56 virtual void setCursor(Cursor aCursor) = 0;
57
58 virtual void setCursorVisible(bool aVis) = 0;
59
60 virtual void hideCursorUntilMouseMove() = 0;
61
62 virtual void mouseMoved() = 0;
63
64 static Cursor cursorFromString(const char* str);
65
66 virtual Cursor getCursor() const;
67
68protected:
70
71 bool setCursorCommand(const SGPropertyNode* arg, SGPropertyNode*);
72
73 unsigned int mAutoHideTimeMsec;
74
76};
77
78#endif // FG_GUI_MOUSE_CURSOR_HXX
virtual void mouseMoved()=0
virtual Cursor getCursor() const
unsigned int mAutoHideTimeMsec
virtual void setCursor(Cursor aCursor)=0
virtual void setAutoHideTimeMsec(unsigned int aMsec)
@ CURSOR_IN_OUT
arrow pointing into / out of the screen
@ CURSOR_HAND
the browser 'link' cursor
@ CURSOR_IBEAM
for editing text
virtual void setCursorVisible(bool aVis)=0
virtual void hideCursorUntilMouseMove()=0
bool setCursorCommand(const SGPropertyNode *arg, SGPropertyNode *)
static FGMouseCursor * instance()
static Cursor cursorFromString(const char *str)
Cursor m_currentCursor