X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dd9f7fea29e3f8bb61861f52984b7943512346ac..3cebfef17b54f9dacc386f090827b8badb2773d2:/wxPython/src/_cursor.i?ds=sidebyside diff --git a/wxPython/src/_cursor.i b/wxPython/src/_cursor.i index dac7260966..b1e103f2aa 100644 --- a/wxPython/src/_cursor.i +++ b/wxPython/src/_cursor.i @@ -15,58 +15,171 @@ //--------------------------------------------------------------------------- + +DocStr(wxCursor, +"A cursor is a small bitmap usually used for denoting where the +mouse pointer is, with a picture that might indicate the +interpretation of a mouse click. + +A single cursor object may be used in many windows (any subwindow +type). The wxWindows convention is to set the cursor for a +window, as in X, rather than to set it globally as in MS Windows, +although a global wx.SetCursor function is also available for use +on MS Windows."); + + +RefDoc(wxCursor::wxCursor(int id), +" + Stock Cursor IDs + + wx.CURSOR_ARROW A standard arrow cursor. + wx.CURSOR_RIGHT_ARROW A standard arrow cursor pointing to the right. + wx.CURSOR_BLANK Transparent cursor. + wx.CURSOR_BULLSEYE Bullseye cursor. + wx.CURSOR_CHAR Rectangular character cursor. + wx.CURSOR_CROSS A cross cursor. + wx.CURSOR_HAND A hand cursor. + wx.CURSOR_IBEAM An I-beam cursor (vertical line). + wx.CURSOR_LEFT_BUTTON Represents a mouse with the left button depressed. + wx.CURSOR_MAGNIFIER A magnifier icon. + wx.CURSOR_MIDDLE_BUTTON Represents a mouse with the middle button depressed. + wx.CURSOR_NO_ENTRY A no-entry sign cursor. + wx.CURSOR_PAINT_BRUSH A paintbrush cursor. + wx.CURSOR_PENCIL A pencil cursor. + wx.CURSOR_POINT_LEFT A cursor that points left. + wx.CURSOR_POINT_RIGHT A cursor that points right. + wx.CURSOR_QUESTION_ARROW An arrow and question mark. + wx.CURSOR_RIGHT_BUTTON Represents a mouse with the right button depressed. + wx.CURSOR_SIZENESW A sizing cursor pointing NE-SW. + wx.CURSOR_SIZENS A sizing cursor pointing N-S. + wx.CURSOR_SIZENWSE A sizing cursor pointing NW-SE. + wx.CURSOR_SIZEWE A sizing cursor pointing W-E. + wx.CURSOR_SIZING A general sizing cursor. + wx.CURSOR_SPRAYCAN A spraycan cursor. + wx.CURSOR_WAIT A wait cursor. + wx.CURSOR_WATCH A watch cursor. + wx.CURSOR_ARROWWAIT A cursor with both an arrow and an hourglass, (windows.) + +"); + class wxCursor : public wxGDIObject { public: + + RefDoc(wxCursor, ""); // turn it off for the ctors + %extend { - wxCursor(const wxString* cursorName, long flags, int hotSpotX=0, int hotSpotY=0) { -#ifdef __WXGTK__ + DocStr(wxCursor, + "Construct a Cursor from a file. Specify the type of file using\n" + "wx.BITAMP_TYPE* constants, and specify the hotspot if not using a\n" + ".cur file.\n" + "\n" + "This cursor is not available on wxGTK, use wx.StockCursor,\n" + "wx.CursorFromImage, or wx.CursorFromBits instead."); + wxCursor(const wxString* cursorName, long type, int hotSpotX=0, int hotSpotY=0) { +%#ifdef __WXGTK__ wxCHECK_MSG(False, NULL, - wxT("wxCursor constructor not implemented for wxGTK, use wxStockCursor, wxCursorFromImage, or wxCursorFromBits instead.")); -#else - return new wxCursor(*cursorName, flags, hotSpotX, hotSpotY); -#endif + wxT("wx.Cursor constructor not implemented for wxGTK, use wx.StockCursor, wx.CursorFromImage, or wx.CursorFromBits instead.")); +%#else + return new wxCursor(*cursorName, type, hotSpotX, hotSpotY); +%#endif } } ~wxCursor(); - // alternate constructors - %name(StockCursor) wxCursor(int id); - %name(CursorFromImage) wxCursor(const wxImage& image); + DocCtorStrName( + wxCursor(int id), + "Create a cursor using one of the stock cursors. Note that not\n" + "all cursors are available on all platforms.", + StockCursor); + + + DocCtorStrName( + wxCursor(const wxImage& image), + "Constructs a cursor from a wxImage. The cursor is monochrome,\n" + "colors with the RGB elements all greater than 127 will be\n" + "foreground, colors less than this background. The mask (if any)\n" + "will be used as transparent.\n" + "\n" + "In MSW the foreground will be white and the background black. The\n" + "cursor is resized to 32x32 In GTK, the two most frequent colors\n" + "will be used for foreground and background. The cursor will be\n" + "displayed at the size of the image. On MacOS the cursor is\n" + "resized to 16x16 and currently only shown as black/white (mask\n" + "respected).", + CursorFromImage); + + +// %extend { +// DocStr(wxCursor, +// ""); +// %name(CursorFromBits) wxCursor(PyObject* bits, int width, int height, +// int hotSpotX=-1, int hotSpotY=-1, +// PyObject* maskBits=NULL) { +// char* bitsbuf; +// char* maskbuf = NULL; +// int length; +// PyString_AsStringAndSize(bits, &bitsbuf, &length); +// if (maskBits) +// PyString_AsStringAndSize(maskBits, &maskbuf, &length); +// return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf); +// } +// } + + + +#ifdef __WXMSW__ + DocDeclStr( + long , GetHandle(), + "Get the MS Windows handle for the cursor"); + %extend { - %name(CursorFromBits) wxCursor(PyObject* bits, int width, int height, - int hotSpotX=-1, int hotSpotY=-1, - PyObject* maskBits=0) { - char* bitsbuf; - char* maskbuf = NULL; - int length; - PyString_AsStringAndSize(bits, &bitsbuf, &length); - if (maskBits) - PyString_AsStringAndSize(maskBits, &maskbuf, &length); - return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf); - } + DocStr(SetHandle, + "Set the MS Windows handle to use for the cursor"); + void SetHandle(long handle) { self->SetHandle((WXHANDLE)handle); } } - // wxGDIImage methods -#ifdef __WXMSW__ - long GetHandle(); - void SetHandle(long handle); #endif - bool Ok(); + DocDeclStr( + bool , Ok(), + ""); + + %pythoncode { def __nonzero__(self): return self.Ok() } + #ifdef __WXMSW__ - int GetWidth(); - int GetHeight(); - int GetDepth(); - void SetWidth(int w); - void SetHeight(int h); - void SetDepth(int d); - void SetSize(const wxSize& size); + DocDeclStr( + int , GetWidth(), + ""); + + DocDeclStr( + int , GetHeight(), + ""); + + DocDeclStr( + int , GetDepth(), + ""); + + DocDeclStr( + void , SetWidth(int w), + ""); + + DocDeclStr( + void , SetHeight(int h), + ""); + + DocDeclStr( + void , SetDepth(int d), + ""); + + DocDeclStr( + void , SetSize(const wxSize& size), + ""); + #endif - %pythoncode { def __nonzero__(self): return self.Ok() } };