+ The wxWidgets 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 wxSetCursor()
+ function is also available for MS Windows use.
+
+ @section cursor_custom Creating a Custom Cursor
+
+ The following is an example of creating a cursor from 32x32 bitmap data
+ (down_bits) and a mask (down_mask) where 1 is black and 0 is white for the
+ bits, and 1 is opaque and 0 is transparent for the mask. It works on
+ Windows and GTK+.
+
+ @code
+ static char down_bits[] = { 255, 255, 255, 255, 31,
+ 255, 255, 255, 31, 255, 255, 255, 31, 255, 255, 255,
+ 31, 255, 255, 255, 31, 255, 255, 255, 31, 255, 255,
+ 255, 31, 255, 255, 255, 31, 255, 255, 255, 25, 243,
+ 255, 255, 19, 249, 255, 255, 7, 252, 255, 255, 15, 254,
+ 255, 255, 31, 255, 255, 255, 191, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255 };
+
+ static char down_mask[] = { 240, 1, 0, 0, 240, 1,
+ 0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 240, 1,
+ 0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 255, 31, 0, 0, 255,
+ 31, 0, 0, 254, 15, 0, 0, 252, 7, 0, 0, 248, 3, 0, 0,
+ 240, 1, 0, 0, 224, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0 };
+
+ #ifdef __WXMSW__
+ wxBitmap down_bitmap(down_bits, 32, 32);
+ wxBitmap down_mask_bitmap(down_mask, 32, 32);
+
+ down_bitmap.SetMask(new wxMask(down_mask_bitmap));
+ wxImage down_image = down_bitmap.ConvertToImage();
+ down_image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, 6);
+ down_image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, 14);
+ wxCursor down_cursor = wxCursor(down_image);
+ #else
+ wxCursor down_cursor = wxCursor(down_bits, 32, 32, 6, 14,
+ down_mask, wxWHITE, wxBLACK);
+ #endif
+ @endcode