- int hotSpotX=0;
- int hotSpotY=0;
-
- if (image.HasOption(wxCUR_HOTSPOT_X))
- hotSpotX = image.GetOptionInt(wxCUR_HOTSPOT_X);
- if (image.HasOption(wxCUR_HOTSPOT_Y))
- hotSpotY = image.GetOptionInt(wxCUR_HOTSPOT_Y);
-
- if (hotSpotX < 0 || hotSpotX >= w)
- hotSpotX = 0;
- if (hotSpotY < 0 || hotSpotY >= h)
- hotSpotY = 0;
-
- GdkBitmap *data = gdk_bitmap_create_from_data( wxGetRootWindow()->window, (gchar *) bits,
- w, h );
- GdkBitmap *mask = gdk_bitmap_create_from_data( wxGetRootWindow()->window, (gchar *) maskBits,
- w, h );
-
- m_refData = new wxCursorRefData;
- M_CURSORDATA->m_cursor = gdk_cursor_new_from_pixmap(
- data, mask, fg.GetColor(), bg.GetColor(),
- hotSpotX, hotSpotY );
-
- gdk_bitmap_unref( data );
- gdk_bitmap_unref( mask );
- delete [] bits ;
- delete [] maskBits;
-
-}
-#endif
+ M_CURSORDATA->m_cursor = gdk_cursor_new_from_pixmap
+ (
+ bitmap.GetPixmap(),
+ mask,
+ fg.GetColor(), bg.GetColor(),
+ hotSpotX, hotSpotY
+ );