]> git.saurik.com Git - wxWidgets.git/blob - wxPython/src/_cursor.i
little tweaks
[wxWidgets.git] / wxPython / src / _cursor.i
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: _cursor.i
3 // Purpose: SWIG interface for wxCursor
4 //
5 // Author: Robin Dunn
6 //
7 // Created: 7-July-1997
8 // RCS-ID: $Id$
9 // Copyright: (c) 2003 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
12
13 // Not a %module
14
15
16 //---------------------------------------------------------------------------
17
18
19 DocStr(wxCursor,
20 "A cursor is a small bitmap usually used for denoting where the mouse
21 pointer is, with a picture that might indicate the interpretation of a
22 mouse click.
23
24 A single cursor object may be used in many windows (any subwindow
25 type). The wxWindows convention is to set the cursor for a window, as
26 in X, rather than to set it globally as in MS Windows, although a
27 global `wx.SetCursor` function is also available for use on MS Windows.
28 ","
29
30 Stock Cursor IDs
31 -----------------
32 ======================== ======================================
33 wx.CURSOR_ARROW A standard arrow cursor.
34 wx.CURSOR_RIGHT_ARROW A standard arrow cursor pointing to the right.
35 wx.CURSOR_BLANK Transparent cursor.
36 wx.CURSOR_BULLSEYE Bullseye cursor.
37 wx.CURSOR_CHAR Rectangular character cursor.
38 wx.CURSOR_CROSS A cross cursor.
39 wx.CURSOR_HAND A hand cursor.
40 wx.CURSOR_IBEAM An I-beam cursor (vertical line).
41 wx.CURSOR_LEFT_BUTTON Represents a mouse with the left button depressed.
42 wx.CURSOR_MAGNIFIER A magnifier icon.
43 wx.CURSOR_MIDDLE_BUTTON Represents a mouse with the middle button depressed.
44 wx.CURSOR_NO_ENTRY A no-entry sign cursor.
45 wx.CURSOR_PAINT_BRUSH A paintbrush cursor.
46 wx.CURSOR_PENCIL A pencil cursor.
47 wx.CURSOR_POINT_LEFT A cursor that points left.
48 wx.CURSOR_POINT_RIGHT A cursor that points right.
49 wx.CURSOR_QUESTION_ARROW An arrow and question mark.
50 wx.CURSOR_RIGHT_BUTTON Represents a mouse with the right button depressed.
51 wx.CURSOR_SIZENESW A sizing cursor pointing NE-SW.
52 wx.CURSOR_SIZENS A sizing cursor pointing N-S.
53 wx.CURSOR_SIZENWSE A sizing cursor pointing NW-SE.
54 wx.CURSOR_SIZEWE A sizing cursor pointing W-E.
55 wx.CURSOR_SIZING A general sizing cursor.
56 wx.CURSOR_SPRAYCAN A spraycan cursor.
57 wx.CURSOR_WAIT A wait cursor.
58 wx.CURSOR_WATCH A watch cursor.
59 wx.CURSOR_ARROWWAIT A cursor with both an arrow and an hourglass, (windows.)
60 ======================== ======================================
61
62 ");
63
64 MustHaveApp(wxCursor);
65
66 class wxCursor : public wxGDIObject
67 {
68 public:
69
70 %extend {
71 DocStr(wxCursor,
72 "Construct a Cursor from a file. Specify the type of file using
73 wx.BITAMP_TYPE* constants, and specify the hotspot if not using a cur
74 file.
75
76 This constructor is not available on wxGTK, use ``wx.StockCursor``,
77 ``wx.CursorFromImage``, or ``wx.CursorFromBits`` instead.", "");
78 wxCursor(const wxString* cursorName, long type, int hotSpotX=0, int hotSpotY=0) {
79 %#ifdef __WXGTK__
80 wxCHECK_MSG(False, NULL,
81 wxT("wx.Cursor constructor not implemented for wxGTK, use wx.StockCursor, wx.CursorFromImage, or wx.CursorFromBits instead."));
82 %#else
83 return new wxCursor(*cursorName, type, hotSpotX, hotSpotY);
84 %#endif
85 }
86 }
87
88 ~wxCursor();
89
90 DocCtorStrName(
91 wxCursor(int id),
92 "Create a cursor using one of the stock cursors. Note that not all
93 cursors are available on all platforms.", "",
94 StockCursor);
95
96
97 DocCtorStrName(
98 wxCursor(const wxImage& image),
99 "Constructs a cursor from a wxImage. The cursor is monochrome, colors
100 with the RGB elements all greater than 127 will be foreground, colors
101 less than this background. The mask (if any) will be used as
102 transparent.",
103 "
104 In MSW the foreground will be white and the background
105 black. The cursor is resized to 32x32.
106
107 In GTK, the two most frequent colors will be used for foreground and
108 background. The cursor will be displayed at the size of the image.
109
110 On MacOS the cursor is resized to 16x16 and currently only shown as
111 black/white (mask respected).",
112 CursorFromImage);
113
114
115 // %extend {
116 // DocStr(wxCursor,
117 // "");
118 // %name(CursorFromBits) wxCursor(PyObject* bits, int width, int height,
119 // int hotSpotX=-1, int hotSpotY=-1,
120 // PyObject* maskBits=NULL) {
121 // char* bitsbuf;
122 // char* maskbuf = NULL;
123 // int length;
124 // PyString_AsStringAndSize(bits, &bitsbuf, &length);
125 // if (maskBits)
126 // PyString_AsStringAndSize(maskBits, &maskbuf, &length);
127 // return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf);
128 // }
129 // }
130
131
132
133 #ifdef __WXMSW__
134 DocDeclStr(
135 long , GetHandle(),
136 "Get the MS Windows handle for the cursor", "");
137
138 %extend {
139 DocStr(SetHandle,
140 "Set the MS Windows handle to use for the cursor", "");
141 void SetHandle(long handle) { self->SetHandle((WXHANDLE)handle); }
142 }
143
144 #endif
145
146 DocDeclStr(
147 bool , Ok(),
148 "", "");
149
150 %pythoncode { def __nonzero__(self): return self.Ok() }
151
152
153 #ifdef __WXMSW__
154 DocDeclStr(
155 int , GetWidth(),
156 "", "");
157
158 DocDeclStr(
159 int , GetHeight(),
160 "", "");
161
162 DocDeclStr(
163 int , GetDepth(),
164 "", "");
165
166 DocDeclStr(
167 void , SetWidth(int w),
168 "", "");
169
170 DocDeclStr(
171 void , SetHeight(int h),
172 "", "");
173
174 DocDeclStr(
175 void , SetDepth(int d),
176 "", "");
177
178 DocDeclStr(
179 void , SetSize(const wxSize& size),
180 "", "");
181
182 #endif
183
184 };
185
186
187 //---------------------------------------------------------------------------
188 //---------------------------------------------------------------------------