]> git.saurik.com Git - wxWidgets.git/blame - include/wx/cursor.h
use DECLARE_NO_ASSIGN_CLASS() for better readability
[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__)
0ef5b1da 18 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_CUR_RESOURCE
86d2c809 19 #include "wx/palmos/cursor.h"
ffecfa5a 20#elif defined(__WXMSW__)
0ef5b1da 21 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_CUR_RESOURCE
86d2c809 22 #include "wx/msw/cursor.h"
2049ba38 23#elif defined(__WXMOTIF__)
0ef5b1da 24 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_XBM
86d2c809 25 #include "wx/motif/cursor.h"
1be7a35c 26#elif defined(__WXGTK20__)
0ef5b1da 27 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_XPM
86d2c809 28 #include "wx/gtk/cursor.h"
1be7a35c 29#elif defined(__WXGTK__)
0ef5b1da 30 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_XPM
1be7a35c 31 #include "wx/gtk1/cursor.h"
83df96d6 32#elif defined(__WXX11__)
0ef5b1da 33 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_XPM
86d2c809 34 #include "wx/x11/cursor.h"
1e6feb95 35#elif defined(__WXMGL__)
0ef5b1da 36 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_CUR_RESOURCE
86d2c809 37 #include "wx/mgl/cursor.h"
b3c86150 38#elif defined(__WXDFB__)
0ef5b1da 39 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_CUR_RESOURCE
b3c86150 40 #include "wx/dfb/cursor.h"
34138703 41#elif defined(__WXMAC__)
0ef5b1da 42 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_MACCURSOR_RESOURCE
ef0e9220 43 #include "wx/osx/cursor.h"
e64df9bc 44#elif defined(__WXCOCOA__)
0ef5b1da 45 #define wxCURSOR_DEFAULT_TYPE 0
86d2c809 46 #include "wx/cocoa/cursor.h"
1777b9bb 47#elif defined(__WXPM__)
0ef5b1da 48 #define wxCURSOR_DEFAULT_TYPE wxBITMAP_TYPE_CUR_RESOURCE
86d2c809 49 #include "wx/os2/cursor.h"
c801d85f
KB
50#endif
51
eebe4016 52#include "wx/utils.h"
83141d3a 53
eebe4016
KB
54/* This is a small class which can be used by all ports
55 to temporarily suspend the busy cursor. Useful in modal
56 dialogs.
f6bcfd97
BP
57
58 Actually that is not (any longer) quite true.. currently it is
59 only used in wxGTK Dialog::ShowModal() and now uses static
60 wxBusyCursor methods that are only implemented for wxGTK so far.
61 The BusyCursor handling code should probably be implemented in
62 common code somewhere instead of the separate implementations we
63 currently have. Also the name BusyCursorSuspender is a little
64 misleading since it doesn't actually suspend the BusyCursor, just
65 masks one that is already showing.
66 If another call to wxBeginBusyCursor is made while this is active
67 the Busy Cursor will again be shown. But at least now it doesn't
68 interfere with the state of wxIsBusy() -- RL
69
eebe4016
KB
70*/
71class wxBusyCursorSuspender
72{
73public:
f6bcfd97
BP
74 wxBusyCursorSuspender()
75 {
76 if( wxIsBusy() )
77 {
78 wxSetCursor( wxBusyCursor::GetStoredCursor() );
f6bcfd97
BP
79 }
80 }
81 ~wxBusyCursorSuspender()
82 {
83 if( wxIsBusy() )
84 {
85 wxSetCursor( wxBusyCursor::GetBusyCursor() );
f6bcfd97
BP
86 }
87 }
eebe4016 88};
c801d85f 89#endif
34138703 90 // _WX_CURSOR_H_BASE_