]> git.saurik.com Git - wxWidgets.git/blame - include/wx/cursor.h
Committing in .
[wxWidgets.git] / include / wx / cursor.h
CommitLineData
99d80019
JS
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/cursor.h
3// Purpose: wxCursor base header
4// Author: Julian Smart
5// Modified by:
6// Created:
7// Copyright: (c) Julian Smart
8// RCS-ID: $Id$
9// Licence: wxWindows Licence
10/////////////////////////////////////////////////////////////////////////////
11
34138703
JS
12#ifndef _WX_CURSOR_H_BASE_
13#define _WX_CURSOR_H_BASE_
c801d85f 14
86d2c809
VZ
15#include "wx/defs.h"
16
4055ed82 17#if defined(__WXPALMOS__)
86d2c809 18 #include "wx/palmos/cursor.h"
ffecfa5a 19#elif defined(__WXMSW__)
86d2c809 20 #include "wx/msw/cursor.h"
2049ba38 21#elif defined(__WXMOTIF__)
86d2c809 22 #include "wx/motif/cursor.h"
1be7a35c 23#elif defined(__WXGTK20__)
86d2c809 24 #include "wx/gtk/cursor.h"
1be7a35c
MR
25#elif defined(__WXGTK__)
26 #include "wx/gtk1/cursor.h"
83df96d6 27#elif defined(__WXX11__)
86d2c809 28 #include "wx/x11/cursor.h"
1e6feb95 29#elif defined(__WXMGL__)
86d2c809 30 #include "wx/mgl/cursor.h"
b3c86150
VS
31#elif defined(__WXDFB__)
32 #include "wx/dfb/cursor.h"
34138703 33#elif defined(__WXMAC__)
86d2c809 34 #include "wx/mac/cursor.h"
e64df9bc 35#elif defined(__WXCOCOA__)
86d2c809 36 #include "wx/cocoa/cursor.h"
1777b9bb 37#elif defined(__WXPM__)
86d2c809 38 #include "wx/os2/cursor.h"
c801d85f
KB
39#endif
40
eebe4016 41#include "wx/utils.h"
83141d3a 42
eebe4016
KB
43/* This is a small class which can be used by all ports
44 to temporarily suspend the busy cursor. Useful in modal
45 dialogs.
f6bcfd97
BP
46
47 Actually that is not (any longer) quite true.. currently it is
48 only used in wxGTK Dialog::ShowModal() and now uses static
49 wxBusyCursor methods that are only implemented for wxGTK so far.
50 The BusyCursor handling code should probably be implemented in
51 common code somewhere instead of the separate implementations we
52 currently have. Also the name BusyCursorSuspender is a little
53 misleading since it doesn't actually suspend the BusyCursor, just
54 masks one that is already showing.
55 If another call to wxBeginBusyCursor is made while this is active
56 the Busy Cursor will again be shown. But at least now it doesn't
57 interfere with the state of wxIsBusy() -- RL
58
eebe4016
KB
59*/
60class wxBusyCursorSuspender
61{
62public:
f6bcfd97
BP
63 wxBusyCursorSuspender()
64 {
65 if( wxIsBusy() )
66 {
67 wxSetCursor( wxBusyCursor::GetStoredCursor() );
f6bcfd97
BP
68 }
69 }
70 ~wxBusyCursorSuspender()
71 {
72 if( wxIsBusy() )
73 {
74 wxSetCursor( wxBusyCursor::GetBusyCursor() );
f6bcfd97
BP
75 }
76 }
eebe4016 77};
c801d85f 78#endif
34138703 79 // _WX_CURSOR_H_BASE_