+ m_refData = new wxCursorRefData();
+
+ GdkCursorType gdk_cur = GDK_LEFT_PTR;
+ switch (cursorId)
+ {
+#ifdef __WXGTK3__
+ case wxCURSOR_BLANK: gdk_cur = GDK_BLANK_CURSOR; break;
+#else
+ 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;
+#endif
+ 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;
+/*
+ case wxCURSOR_DOUBLE_ARROW: gdk_cur = GDK_DOUBLE_ARROW; break;
+ case wxCURSOR_CROSS_REVERSE: gdk_cur = GDK_CROSS_REVERSE; break;
+ case wxCURSOR_BASED_ARROW_UP: gdk_cur = GDK_BASED_ARROW_UP; break;
+ case wxCURSOR_BASED_ARROW_DOWN: gdk_cur = GDK_BASED_ARROW_DOWN; break;
+*/
+
+ default:
+ wxFAIL_MSG(wxT("unsupported cursor type"));
+ // will use the standard one
+ break;
+ }
+
+ M_CURSORDATA->m_cursor = gdk_cursor_new( gdk_cur );