~ubuntu-branches/debian/sid/flightgear/sid

« back to all changes in this revision

Viewing changes to src/GUI/MouseCursor.hxx

  • Committer: Package Import Robot
  • Author(s): Markus Wanner, Markus Wanner, Rebecca Palmer
  • Date: 2014-01-21 22:31:02 UTC
  • mfrom: (1.3.1) (15.1.2 experimental)
  • Revision ID: package-import@ubuntu.com-20140121223102-cjw7g9le25acd119
Tags: 3.0.0~git20140204+c99ea4-1
[ Markus Wanner ]
* Upload to unstable.
* Adjust B-D to allow building on kfreebsd-*. Closes: #724686.
* Add a lintian-overrides on autotools; we use cmake.
* Upstream corrected the fgfs manpage. Closes: #556362.
* Drop unnecessary man page for gl-info. Closes: #698308.
* Drop README.Linux: it's outdated to the point of uselessness.
  Closes: #574173.
* Add an upper limit of libsimgear-dev versions that flightgear can be
  built with. Closes: #738436.
* Drop the libsvn-dev dependency, neither flightgear nor simgear depend
  on libsvn, anymore. Closes: #682947.
* List icons in debian/install rather than copying around from rules.
* Update menu entry for flightgear, add one for fgcom; add .xpm icons.
  Closes: #713924.
* flightgear.desktop: add German translation
* Bump Standards-Version to 3.9.5; no changes needed.

[ Rebecca Palmer ]
* New upstream release.
* Install the icons (based on code by Saikrishna Arcot).  (Not a
  complete fix for LP908153 as it only sets the menu/Dash icon, not the
  running window's icon, but better than nothing).
* Disable screensaver while running. Closes: LP#793599. Add required
  libdbus-1-dev dependency.
* Remove outdated README.Debian.
* Terrasync now works after just ticking the box. Closes: #252899.
* Always set Terrasync directory.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
24
class SGPropertyNode;
 
25
 
 
26
class FGMouseCursor
 
27
{
 
28
public:
 
29
    static FGMouseCursor* instance();
 
30
 
 
31
    virtual void setAutoHideTimeMsec(unsigned int aMsec);
 
32
  
 
33
    enum Cursor
 
34
    {
 
35
        CURSOR_ARROW,
 
36
        CURSOR_HAND, ///< the browser 'link' cursor
 
37
        CURSOR_CLOSED_HAND,
 
38
        CURSOR_CROSSHAIR,
 
39
        CURSOR_IBEAM, ///< for editing text
 
40
        CURSOR_IN_OUT, ///< arrow pointing into / out of the screen
 
41
        CURSOR_LEFT_RIGHT,
 
42
        CURSOR_UP_DOWN,
 
43
        CURSOR_SPIN_CW,
 
44
        CURSOR_SPIN_CCW
 
45
    };
 
46
  
 
47
    virtual void setCursor(Cursor aCursor) = 0;
 
48
    
 
49
    virtual void setCursorVisible(bool aVis) = 0;
 
50
    
 
51
    virtual void hideCursorUntilMouseMove() = 0;
 
52
    
 
53
    virtual void mouseMoved() = 0;
 
54
    
 
55
    static Cursor cursorFromString(const char* str);
 
56
 
 
57
protected:
 
58
    FGMouseCursor();
 
59
    
 
60
    bool setCursorCommand(const SGPropertyNode* arg);
 
61
    
 
62
    unsigned int mAutoHideTimeMsec;
 
63
};
 
64
 
 
65
#endif // FG_GUI_MOUSE_CURSOR_HXX