]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_cursor.i
Some error recovery and other tweaks
[wxWidgets.git] / wxPython / src / _cursor.i
CommitLineData
d14a1e28
RD
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
4c42683a
RD
18
19DocStr(wxCursor,
d07d2bc9
RD
20"A cursor is a small bitmap usually used for denoting where the mouse
21pointer is, with a picture that might indicate the interpretation of a
22mouse click.
4c42683a
RD
23
24A single cursor object may be used in many windows (any subwindow
d07d2bc9
RD
25type). The wxWindows convention is to set the cursor for a window, as
26in X, rather than to set it globally as in MS Windows, although a
27global `wx.SetCursor` function is also available for use on MS Windows.
28","
29
30Stock Cursor IDs
31-----------------
32 ======================== ======================================
4c42683a
RD
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.)
d07d2bc9 60 ======================== ======================================
4c42683a
RD
61
62");
63
d14a1e28
RD
64class wxCursor : public wxGDIObject
65{
66public:
4c42683a 67
d14a1e28 68 %extend {
4c42683a 69 DocStr(wxCursor,
d07d2bc9
RD
70 "Construct a Cursor from a file. Specify the type of file using
71wx.BITAMP_TYPE* constants, and specify the hotspot if not using a cur
72file.
73
74This constructor is not available on wxGTK, use ``wx.StockCursor``,
75``wx.CursorFromImage``, or ``wx.CursorFromBits`` instead.", "");
4c42683a
RD
76 wxCursor(const wxString* cursorName, long type, int hotSpotX=0, int hotSpotY=0) {
77%#ifdef __WXGTK__
dd9f7fea 78 wxCHECK_MSG(False, NULL,
4c42683a
RD
79 wxT("wx.Cursor constructor not implemented for wxGTK, use wx.StockCursor, wx.CursorFromImage, or wx.CursorFromBits instead."));
80%#else
1cee36ad 81 return new wxCursor(*cursorName, type, hotSpotX, hotSpotY);
4c42683a 82%#endif
d14a1e28
RD
83 }
84 }
85
86 ~wxCursor();
87
4c42683a
RD
88 DocCtorStrName(
89 wxCursor(int id),
d07d2bc9
RD
90 "Create a cursor using one of the stock cursors. Note that not all
91cursors are available on all platforms.", "",
4c42683a
RD
92 StockCursor);
93
94
95 DocCtorStrName(
96 wxCursor(const wxImage& image),
d07d2bc9
RD
97 "Constructs a cursor from a wxImage. The cursor is monochrome, colors
98with the RGB elements all greater than 127 will be foreground, colors
99less than this background. The mask (if any) will be used as
100transparent.",
101"
102In MSW the foreground will be white and the background
103black. The cursor is resized to 32x32.
104
105In GTK, the two most frequent colors will be used for foreground and
106background. The cursor will be displayed at the size of the image.
107
108On MacOS the cursor is resized to 16x16 and currently only shown as
109black/white (mask respected).",
4c42683a
RD
110 CursorFromImage);
111
112
113// %extend {
114// DocStr(wxCursor,
115// "");
116// %name(CursorFromBits) wxCursor(PyObject* bits, int width, int height,
117// int hotSpotX=-1, int hotSpotY=-1,
118// PyObject* maskBits=NULL) {
119// char* bitsbuf;
120// char* maskbuf = NULL;
121// int length;
122// PyString_AsStringAndSize(bits, &bitsbuf, &length);
123// if (maskBits)
124// PyString_AsStringAndSize(maskBits, &maskbuf, &length);
125// return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf);
126// }
127// }
128
129
d14a1e28 130
d14a1e28 131#ifdef __WXMSW__
4c42683a
RD
132 DocDeclStr(
133 long , GetHandle(),
d07d2bc9 134 "Get the MS Windows handle for the cursor", "");
4c42683a 135
a0c956e8
RD
136 %extend {
137 DocStr(SetHandle,
d07d2bc9 138 "Set the MS Windows handle to use for the cursor", "");
a0c956e8
RD
139 void SetHandle(long handle) { self->SetHandle((WXHANDLE)handle); }
140 }
4c42683a 141
d14a1e28
RD
142#endif
143
4c42683a
RD
144 DocDeclStr(
145 bool , Ok(),
d07d2bc9 146 "", "");
4c42683a
RD
147
148 %pythoncode { def __nonzero__(self): return self.Ok() }
149
d14a1e28
RD
150
151#ifdef __WXMSW__
4c42683a
RD
152 DocDeclStr(
153 int , GetWidth(),
d07d2bc9 154 "", "");
4c42683a
RD
155
156 DocDeclStr(
157 int , GetHeight(),
d07d2bc9 158 "", "");
4c42683a
RD
159
160 DocDeclStr(
161 int , GetDepth(),
d07d2bc9 162 "", "");
4c42683a
RD
163
164 DocDeclStr(
165 void , SetWidth(int w),
d07d2bc9 166 "", "");
4c42683a
RD
167
168 DocDeclStr(
169 void , SetHeight(int h),
d07d2bc9 170 "", "");
4c42683a
RD
171
172 DocDeclStr(
173 void , SetDepth(int d),
d07d2bc9 174 "", "");
4c42683a
RD
175
176 DocDeclStr(
177 void , SetSize(const wxSize& size),
d07d2bc9 178 "", "");
4c42683a 179
d14a1e28
RD
180#endif
181
d14a1e28
RD
182};
183
184
185//---------------------------------------------------------------------------
186//---------------------------------------------------------------------------