-wxCursor::wxCursor( const int cursorId )
-{
- m_refData = new wxCursorRefData();
-
- GdkCursorType gdk_cur = GDK_LEFT_PTR;
- switch (cursorId)
- {
- case wxCURSOR_HAND: gdk_cur = GDK_HAND1; break;
- case wxCURSOR_CROSS: gdk_cur = GDK_CROSSHAIR; break;
- case wxCURSOR_SIZEWE: gdk_cur = GDK_SB_H_DOUBLE_ARROW; break;
- case wxCURSOR_SIZENS: gdk_cur = GDK_SB_V_DOUBLE_ARROW; break;
- case wxCURSOR_WAIT: gdk_cur = GDK_WATCH; break;
- case wxCURSOR_WATCH: gdk_cur = GDK_WATCH; break;
- case wxCURSOR_SIZING: gdk_cur = GDK_SIZING; break;
- case wxCURSOR_SPRAYCAN: gdk_cur = GDK_SPRAYCAN; break;
- case wxCURSOR_IBEAM: gdk_cur = GDK_XTERM; break;
- case wxCURSOR_PENCIL: gdk_cur = GDK_PENCIL; break;
- case wxCURSOR_NO_ENTRY: gdk_cur = GDK_PIRATE; break;
- };
-
- M_CURSORDATA->m_cursor = gdk_cursor_new( gdk_cur );
-
+wxCursor::wxCursor( int cursorId )
+{
+ m_refData = new wxCursorRefData();
+
+ GdkCursorType gdk_cur = GDK_LEFT_PTR;
+ switch (cursorId)
+ {
+ case wxCURSOR_BLANK:
+ {
+ const char bits[] = { 0 };
+ const GdkColor color = { 0, 0, 0, 0 };
+
+ GdkPixmap *pixmap = gdk_bitmap_create_from_data(NULL, bits, 1, 1);
+ M_CURSORDATA->m_cursor = gdk_cursor_new_from_pixmap(pixmap,
+ pixmap,
+ &color,
+ &color,
+ 0, 0);
+ g_object_unref(pixmap);
+ }
+ return;
+
+ case wxCURSOR_ARROW: // fall through to default
+ case wxCURSOR_DEFAULT: gdk_cur = GDK_LEFT_PTR; break;
+ case wxCURSOR_RIGHT_ARROW: gdk_cur = GDK_RIGHT_PTR; break;
+ case wxCURSOR_HAND: gdk_cur = GDK_HAND2; break;
+ case wxCURSOR_CROSS: gdk_cur = GDK_CROSSHAIR; break;
+ case wxCURSOR_SIZEWE: gdk_cur = GDK_SB_H_DOUBLE_ARROW; break;
+ case wxCURSOR_SIZENS: gdk_cur = GDK_SB_V_DOUBLE_ARROW; break;
+ case wxCURSOR_ARROWWAIT:
+ case wxCURSOR_WAIT:
+ case wxCURSOR_WATCH: gdk_cur = GDK_WATCH; break;
+ case wxCURSOR_SIZING: gdk_cur = GDK_SIZING; break;
+ case wxCURSOR_SPRAYCAN: gdk_cur = GDK_SPRAYCAN; break;
+ case wxCURSOR_IBEAM: gdk_cur = GDK_XTERM; break;
+ case wxCURSOR_PENCIL: gdk_cur = GDK_PENCIL; break;
+ case wxCURSOR_NO_ENTRY: gdk_cur = GDK_PIRATE; break;
+ case wxCURSOR_SIZENWSE:
+ case wxCURSOR_SIZENESW: gdk_cur = GDK_FLEUR; break;
+ case wxCURSOR_QUESTION_ARROW: gdk_cur = GDK_QUESTION_ARROW; break;
+ case wxCURSOR_PAINT_BRUSH: gdk_cur = GDK_SPRAYCAN; break;
+ case wxCURSOR_MAGNIFIER: gdk_cur = GDK_PLUS; break;
+ case wxCURSOR_CHAR: gdk_cur = GDK_XTERM; break;
+ case wxCURSOR_LEFT_BUTTON: gdk_cur = GDK_LEFTBUTTON; break;
+ case wxCURSOR_MIDDLE_BUTTON: gdk_cur = GDK_MIDDLEBUTTON; break;
+ case wxCURSOR_RIGHT_BUTTON: gdk_cur = GDK_RIGHTBUTTON; break;
+ case wxCURSOR_BULLSEYE: gdk_cur = GDK_TARGET; break;
+
+ case wxCURSOR_POINT_LEFT: gdk_cur = GDK_SB_LEFT_ARROW; break;
+ case wxCURSOR_POINT_RIGHT: gdk_cur = GDK_SB_RIGHT_ARROW; break;