1 // MouseCursor.hxx - abstract inteface for mouse cursor control
3 // Copyright (C) 2013 James Turner <zakalawe@mac.com>
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.
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.
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.
21 #ifndef FG_GUI_MOUSE_CURSOR_HXX
22 #define FG_GUI_MOUSE_CURSOR_HXX 1
29 static FGMouseCursor* instance();
31 virtual void setAutoHideTimeMsec(unsigned int aMsec);
36 CURSOR_HAND, ///< the browser 'link' cursor
39 CURSOR_IBEAM, ///< for editing text
40 CURSOR_IN_OUT, ///< arrow pointing into / out of the screen
47 virtual void setCursor(Cursor aCursor) = 0;
49 virtual void setCursorVisible(bool aVis) = 0;
51 virtual void hideCursorUntilMouseMove() = 0;
53 virtual void mouseMoved() = 0;
55 static Cursor cursorFromString(const char* str);
60 bool setCursorCommand(const SGPropertyNode* arg);
62 unsigned int mAutoHideTimeMsec;
65 #endif // FG_GUI_MOUSE_CURSOR_HXX