Created
November 16, 2022 11:42
-
-
Save Kielan/b2971284bc68703cf3d101c27e0797b8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* dust/source/dust/windowmanager/intern/wm_cursors.c */ | |
| /** | |
| * Custom Cursor Description | |
| * ========================= | |
| * | |
| * Each bit represents a pixel, so 1 byte = 8 pixels, | |
| * the bytes go Left to Right. Top to bottom | |
| * the bits in a byte go right to left | |
| * (ie; 0x01, 0x80 represents a line of 16 pix with the first and last pix set.) | |
| * | |
| * - A 0 in the bitmap = white, a 1 black | |
| * - a 0 in the mask = transparent pix. | |
| * | |
| * This type of cursor is 16x16 pixels only. | |
| * | |
| * ---- | |
| * | |
| * There is a nice Python GUI utility that can be used for drawing cursors in | |
| * this format in the Blender source distribution, in | |
| * `./source/tools/utils/make_cursor_gui.py` . | |
| * | |
| * Start it with the command `python3 make_cursor_gui.py` | |
| * It will copy its output to the console when you press 'Do it'. | |
| */ | |
| /** | |
| * Because defining a cursor mixes declarations and executable code | |
| * each cursor needs its own scoping block or it would be split up | |
| * over several hundred lines of code. To enforce/document this better | |
| * I define 2 pretty brain-dead macros so it's obvious what the extra "[]" | |
| * are for */ | |
| void wm_init_cursor_data(void) | |
| { | |
| /********************** NW_ARROW Cursor **************************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char nw_bitmap[] = { | |
| 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x3e, | |
| 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01, 0xfe, 0x03, 0xfe, 0x07, | |
| 0x7e, 0x00, 0x6e, 0x00, 0xc6, 0x00, 0xc2, 0x00, 0x00, 0x00, | |
| }; | |
| static char nw_mask[] = { | |
| 0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x3f, 0x00, 0x7f, | |
| 0x00, 0xff, 0x00, 0xff, 0x01, 0xff, 0x03, 0xff, 0x07, 0xff, 0x0f, | |
| 0xff, 0x0f, 0xff, 0x00, 0xef, 0x01, 0xe7, 0x01, 0xc3, 0x00, | |
| }; | |
| static BCursor NWArrowCursor = { | |
| nw_bitmap, | |
| nw_mask, | |
| 0, | |
| 0, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_DEFAULT] = &NWArrowCursor; | |
| BlenderCursor[WM_CURSOR_COPY] = &NWArrowCursor; | |
| BlenderCursor[WM_CURSOR_NW_ARROW] = &NWArrowCursor; | |
| END_CURSOR_BLOCK; | |
| /************************ NS_ARROW Cursor *************************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char ns_bitmap[] = { | |
| 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0x80, | |
| 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, | |
| 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, | |
| }; | |
| static char ns_mask[] = { | |
| 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xfc, | |
| 0x1f, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xfc, 0x1f, | |
| 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, | |
| }; | |
| static BCursor NSArrowCursor = { | |
| ns_bitmap, | |
| ns_mask, | |
| 7, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_Y_MOVE] = &NSArrowCursor; | |
| BlenderCursor[WM_CURSOR_NS_ARROW] = &NSArrowCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** EW_ARROW Cursor *************************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char ew_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x18, | |
| 0x18, 0x1c, 0x38, 0xfe, 0x7f, 0x1c, 0x38, 0x18, 0x18, 0x10, 0x08, | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static char ew_mask[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x30, 0x0c, 0x38, 0x1c, 0x3c, | |
| 0x3c, 0xfe, 0x7f, 0xff, 0xff, 0xfe, 0x7f, 0x3c, 0x3c, 0x38, 0x1c, | |
| 0x30, 0x0c, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static BCursor EWArrowCursor = { | |
| ew_bitmap, | |
| ew_mask, | |
| 7, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_X_MOVE] = &EWArrowCursor; | |
| BlenderCursor[WM_CURSOR_EW_ARROW] = &EWArrowCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Wait Cursor *****************************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char wait_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0xf0, 0x07, 0xb0, 0x06, 0x60, | |
| 0x03, 0xc0, 0x01, 0x80, 0x00, 0x80, 0x00, 0xc0, 0x01, 0x60, 0x03, | |
| 0x30, 0x06, 0x10, 0x04, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static char wait_mask[] = { | |
| 0xfc, 0x1f, 0xfc, 0x1f, 0xf8, 0x0f, 0xf8, 0x0f, 0xf8, 0x0f, 0xf0, | |
| 0x07, 0xe0, 0x03, 0xc0, 0x01, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, | |
| 0xf8, 0x0f, 0xf8, 0x0f, 0xf8, 0x0f, 0xfc, 0x1f, 0xfc, 0x1f, | |
| }; | |
| static BCursor WaitCursor = { | |
| wait_bitmap, | |
| wait_mask, | |
| 7, | |
| 7, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_WAIT] = &WaitCursor; | |
| END_CURSOR_BLOCK; | |
| /****************** Normal Cross Cursor ************************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char cross_bitmap[] = { | |
| 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, | |
| 0x01, 0x00, 0x00, 0x3e, 0x7c, 0x3e, 0x7c, 0x00, 0x00, 0x80, 0x01, | |
| 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00, | |
| }; | |
| static char cross_mask[] = { | |
| 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, | |
| 0x03, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0xff, 0xff, 0xc0, 0x03, | |
| 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, | |
| }; | |
| static BCursor CrossCursor = { | |
| cross_bitmap, | |
| cross_mask, | |
| 7, | |
| 7, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_EDIT] = &CrossCursor; | |
| BlenderCursor[WM_CURSOR_CROSS] = &CrossCursor; | |
| END_CURSOR_BLOCK; | |
| /****************** Painting Cursor ************************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char paint_bitmap[] = { | |
| 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, | |
| 0x00, 0x00, 0x00, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, | |
| }; | |
| static char paint_mask[] = { | |
| 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00, 0x00, | |
| 0x00, 0x8f, 0x78, 0xcf, 0x79, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00, | |
| 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00, | |
| }; | |
| static BCursor PaintCursor = { | |
| paint_bitmap, | |
| paint_mask, | |
| 7, | |
| 7, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_PAINT] = &PaintCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Dot Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char dot_bitmap[] = { | |
| 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, | |
| 0x00, 0x00, 0x00, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, | |
| }; | |
| static char dot_mask[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| 0x00, 0x80, 0x00, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static BCursor DotCursor = { | |
| dot_bitmap, | |
| dot_mask, | |
| 7, | |
| 7, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_DOT] = &DotCursor; | |
| END_CURSOR_BLOCK; | |
| /************* Minimal Crosshair Cursor ***************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char crossc_bitmap[] = { | |
| 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, | |
| 0x00, 0x80, 0x00, 0x55, 0x55, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, | |
| 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, | |
| }; | |
| static char crossc_mask[] = { | |
| 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, | |
| 0x00, 0x80, 0x00, 0x7f, 0x7f, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, | |
| 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, | |
| }; | |
| static BCursor CrossCursorC = { | |
| crossc_bitmap, | |
| crossc_mask, | |
| 7, | |
| 7, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_CROSSC] = &CrossCursorC; | |
| END_CURSOR_BLOCK; | |
| /********************** Knife Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char knife_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, | |
| 0x0c, 0x00, 0x06, 0x00, 0x0f, 0x80, 0x07, 0xc0, 0x03, 0xe0, 0x01, | |
| 0xf0, 0x00, 0x78, 0x00, 0x3c, 0x00, 0x0e, 0x00, 0x00, 0x00, | |
| }; | |
| static char knife_mask[] = { | |
| 0x00, 0x40, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0x78, 0x00, 0x3c, 0x00, | |
| 0x1e, 0x00, 0x0f, 0x80, 0x1f, 0xc0, 0x0f, 0xe0, 0x07, 0xf0, 0x03, | |
| 0xf8, 0x01, 0xfc, 0x00, 0x7e, 0x00, 0x3f, 0x00, 0x0f, 0x00, | |
| }; | |
| static BCursor KnifeCursor = { | |
| knife_bitmap, | |
| knife_mask, | |
| 0, | |
| 15, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_KNIFE] = &KnifeCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Loop Select Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char vloop_bitmap[] = { | |
| 0x00, 0x00, 0x7e, 0x00, 0x3e, 0x00, 0x1e, 0x00, 0xfe, 0xf0, 0x96, | |
| 0x9f, 0x92, 0x90, 0xf0, 0xf0, 0x20, 0x40, 0x20, 0x40, 0x20, 0x40, | |
| 0x20, 0x40, 0xf0, 0xf0, 0x90, 0x90, 0x90, 0x9f, 0xf0, 0xf0, | |
| }; | |
| static char vloop_mask[] = { | |
| 0xff, 0x01, 0xff, 0x00, 0x7f, 0x00, 0x3f, 0x00, 0xff, 0xf0, 0xff, | |
| 0xff, 0xf7, 0xff, 0xf3, 0xf0, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, | |
| 0x60, 0x60, 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xf0, | |
| }; | |
| static BCursor VLoopCursor = { | |
| vloop_bitmap, | |
| vloop_mask, | |
| 0, | |
| 0, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_VERTEX_LOOP] = &VLoopCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** TextEdit Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char textedit_bitmap[] = { | |
| 0x00, 0x00, 0x70, 0x07, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, | |
| 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, | |
| 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x70, 0x07, 0x00, 0x00, | |
| }; | |
| static char textedit_mask[] = { | |
| 0x70, 0x07, 0xf8, 0x0f, 0xf0, 0x07, 0xc0, 0x01, 0xc0, 0x01, 0xc0, | |
| 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, | |
| 0xc0, 0x01, 0xc0, 0x01, 0xf0, 0x07, 0xf8, 0x0f, 0x70, 0x07, | |
| }; | |
| static BCursor TextEditCursor = { | |
| textedit_bitmap, | |
| textedit_mask, | |
| 7, | |
| 7, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_TEXT_EDIT] = &TextEditCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Paintbrush Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char paintbrush_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x30, 0x00, 0x78, 0x00, 0x74, 0x00, 0x2e, 0x00, | |
| 0x1f, 0x80, 0x0f, 0xc0, 0x07, 0xe0, 0x03, 0xf0, 0x01, 0xf8, 0x00, | |
| 0x7c, 0x00, 0x3e, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x00, 0x00, | |
| }; | |
| static char paintbrush_mask[] = { | |
| 0x00, 0x30, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfe, 0x00, 0x7f, 0x80, | |
| 0x3f, 0xc0, 0x1f, 0xe0, 0x0f, 0xf0, 0x07, 0xf8, 0x03, 0xfc, 0x01, | |
| 0xfe, 0x00, 0x7f, 0x00, 0x3f, 0x00, 0x1f, 0x00, 0x0f, 0x00, | |
| }; | |
| static BCursor PaintBrushCursor = { | |
| paintbrush_bitmap, | |
| paintbrush_mask, | |
| 0, | |
| 15, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_PAINT_BRUSH] = &PaintBrushCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Eraser Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char eraser_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | |
| 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xfc, 0x07, | |
| 0xfe, 0x03, 0xfe, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static char eraser_mask[] = { | |
| 0x00, 0x00, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x1f, 0x80, 0x3f, 0xc0, | |
| 0x7f, 0xe0, 0xff, 0xf0, 0x7f, 0xf8, 0x3f, 0xfc, 0x1f, 0xfe, 0x0f, | |
| 0xff, 0x07, 0xff, 0x03, 0xff, 0x01, 0xff, 0x00, 0x00, 0x00, | |
| }; | |
| static BCursor EraserCursor = { | |
| eraser_bitmap, | |
| eraser_mask, | |
| 0, | |
| 14, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_ERASER] = &EraserCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Hand Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char hand_bitmap[] = { | |
| 0x00, 0x00, 0x80, 0x01, 0x80, 0x0d, 0x98, 0x6d, 0xb8, 0x6d, 0xb0, | |
| 0x6d, 0xb0, 0x6d, 0xe0, 0x6f, 0xe6, 0x7f, 0xee, 0x7f, 0x7c, 0x35, | |
| 0x78, 0x35, 0x70, 0x15, 0x60, 0x15, 0xc0, 0x1f, 0xc0, 0x1f, | |
| }; | |
| static char hand_mask[] = { | |
| 0x80, 0x01, 0xc0, 0x0f, 0xd8, 0x7f, 0xfc, 0xff, 0xfc, 0xff, 0xf8, | |
| 0xff, 0xf8, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, | |
| 0xfc, 0x7f, 0xf8, 0x3f, 0xf0, 0x3f, 0xe0, 0x3f, 0xe0, 0x3f, | |
| }; | |
| static BCursor HandCursor = { | |
| hand_bitmap, | |
| hand_mask, | |
| 8, | |
| 8, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_HAND] = &HandCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** NSEW Scroll Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char nsewscroll_bitmap[] = { | |
| 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0x40, 0x02, 0x00, 0x00, 0x00, | |
| 0x00, 0x0c, 0x30, 0x06, 0x60, 0x06, 0x60, 0x0c, 0x30, 0x00, 0x00, | |
| 0x00, 0x00, 0x40, 0x02, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00, | |
| }; | |
| static char nsewscroll_mask[] = { | |
| 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xe0, 0x07, 0x40, 0x02, 0x0c, | |
| 0x30, 0x1e, 0x78, 0x0f, 0xf0, 0x0f, 0xf8, 0x1e, 0x78, 0x0c, 0x30, | |
| 0x40, 0x02, 0xe0, 0x07, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, | |
| }; | |
| static BCursor NSEWScrollCursor = { | |
| nsewscroll_bitmap, | |
| nsewscroll_mask, | |
| 7, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_NSEW_SCROLL] = &NSEWScrollCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** NS Scroll Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char nsscroll_bitmap[] = { | |
| 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0x70, 0x07, 0x20, | |
| 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, | |
| 0x70, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, | |
| }; | |
| static char nsscroll_mask[] = { | |
| 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0x70, | |
| 0x07, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x70, 0x07, | |
| 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, | |
| }; | |
| static BCursor NSScrollCursor = { | |
| nsscroll_bitmap, | |
| nsscroll_mask, | |
| 7, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_NS_SCROLL] = &NSScrollCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** EW Scroll Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char ewscroll_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x38, | |
| 0x1c, 0x1c, 0x38, 0x0e, 0x70, 0x1c, 0x38, 0x38, 0x1c, 0x10, 0x08, | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static char ewscroll_mask[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x38, 0x1c, 0x7c, | |
| 0x3e, 0x3e, 0x7c, 0x1f, 0xf8, 0x3e, 0x7c, 0x7c, 0x3e, 0x38, 0x1c, | |
| 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static BCursor EWScrollCursor = { | |
| ewscroll_bitmap, | |
| ewscroll_mask, | |
| 7, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_EW_SCROLL] = &EWScrollCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Eyedropper Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char eyedropper_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x60, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x17, 0x00, | |
| 0x0e, 0x00, 0x1d, 0x80, 0x0b, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0x00, | |
| 0x38, 0x00, 0x1c, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x00, | |
| }; | |
| static char eyedropper_mask[] = { | |
| 0x00, 0x60, 0x00, 0xf0, 0x00, 0xfa, 0x00, 0x7f, 0x80, 0x3f, 0x00, | |
| 0x1f, 0x80, 0x3f, 0xc0, 0x1f, 0xe0, 0x0b, 0xf0, 0x01, 0xf8, 0x00, | |
| 0x7c, 0x00, 0x3e, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0x03, 0x00, | |
| }; | |
| static BCursor EyedropperCursor = { | |
| eyedropper_bitmap, | |
| eyedropper_mask, | |
| 0, | |
| 15, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_EYEDROPPER] = &EyedropperCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Swap Area Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char swap_bitmap[] = { | |
| 0xc0, 0xff, 0x40, 0x80, 0x40, 0xbc, 0x40, 0xb8, 0x40, 0xb8, 0x40, | |
| 0xa4, 0x00, 0x82, 0xfe, 0x81, 0x7e, 0x81, 0xbe, 0xfd, 0xda, 0x01, | |
| 0xe2, 0x01, 0xe2, 0x01, 0xc2, 0x01, 0xfe, 0x01, 0x00, 0x00, | |
| }; | |
| static char swap_mask[] = { | |
| 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0, | |
| 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, | |
| 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, | |
| }; | |
| static BCursor SwapCursor = { | |
| swap_bitmap, | |
| swap_mask, | |
| 7, | |
| 7, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_SWAP_AREA] = &SwapCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Vertical Split Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char vsplit_bitmap[] = { | |
| 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x88, | |
| 0x11, 0x8c, 0x31, 0x86, 0x61, 0x86, 0x61, 0x8c, 0x31, 0x88, 0x11, | |
| 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, | |
| }; | |
| static char vsplit_mask[] = { | |
| 0xe0, 0x07, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc8, 0x13, 0xdc, | |
| 0x3b, 0xde, 0x7b, 0xcf, 0xf3, 0xcf, 0xf3, 0xde, 0x7b, 0xdc, 0x3b, | |
| 0xc8, 0x13, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, | |
| }; | |
| static BCursor VSplitCursor = { | |
| vsplit_bitmap, | |
| vsplit_mask, | |
| 7, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_V_SPLIT] = &VSplitCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Horizontal Split Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char hsplit_bitmap[] = { | |
| 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x00, 0x00, 0x00, | |
| 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, | |
| 0x00, 0x00, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00, | |
| }; | |
| static char hsplit_mask[] = { | |
| 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0x60, 0x06, 0x01, | |
| 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x80, | |
| 0x60, 0x06, 0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, | |
| }; | |
| static BCursor HSplitCursor = { | |
| hsplit_bitmap, | |
| hsplit_mask, | |
| 7, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_H_SPLIT] = &HSplitCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** North Arrow Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char narrow_bitmap[] = { | |
| 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, | |
| 0x0f, 0x7c, 0x1f, 0x3e, 0x3e, 0x1c, 0x1c, 0x08, 0x08, 0x00, 0x00, | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static char narrow_mask[] = { | |
| 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xfc, | |
| 0x1f, 0xfe, 0x3f, 0x7f, 0x7f, 0x3e, 0x3e, 0x1c, 0x1c, 0x08, 0x08, | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static BCursor NArrowCursor = { | |
| narrow_bitmap, | |
| narrow_mask, | |
| 7, | |
| 5, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_N_ARROW] = &NArrowCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** South Arrow Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char sarrow_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| 0x00, 0x08, 0x08, 0x1c, 0x1c, 0x3e, 0x3e, 0x7c, 0x1f, 0xf8, 0x0f, | |
| 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, | |
| }; | |
| static char sarrow_mask[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, | |
| 0x08, 0x1c, 0x1c, 0x3e, 0x3e, 0x7f, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, | |
| 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, | |
| }; | |
| static BCursor SArrowCursor = { | |
| sarrow_bitmap, | |
| sarrow_mask, | |
| 7, | |
| 10, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_S_ARROW] = &SArrowCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** East Arrow Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char earrow_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x0f, 0x00, | |
| 0x1f, 0x00, 0x3e, 0x00, 0x7c, 0x00, 0x3e, 0x00, 0x1f, 0x80, 0x0f, | |
| 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static char earrow_mask[] = { | |
| 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x1f, 0x80, | |
| 0x3f, 0x00, 0x7f, 0x00, 0xfe, 0x00, 0x7f, 0x80, 0x3f, 0xc0, 0x1f, | |
| 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01, 0x00, 0x00, | |
| }; | |
| static BCursor EArrowCursor = { | |
| earrow_bitmap, | |
| earrow_mask, | |
| 10, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_E_ARROW] = &EArrowCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** West Arrow Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char warrow_bitmap[] = { | |
| 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x01, 0xf8, | |
| 0x00, 0x7c, 0x00, 0x3e, 0x00, 0x7c, 0x00, 0xf8, 0x00, 0xf0, 0x01, | |
| 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, | |
| }; | |
| static char warrow_mask[] = { | |
| 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x03, 0xfc, | |
| 0x01, 0xfe, 0x00, 0x7f, 0x00, 0xfe, 0x00, 0xfc, 0x01, 0xf8, 0x03, | |
| 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, | |
| }; | |
| static BCursor WArrowCursor = { | |
| warrow_bitmap, | |
| warrow_mask, | |
| 5, | |
| 7, | |
| true, | |
| }; | |
| BlenderCursor[WM_CURSOR_W_ARROW] = &WArrowCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Stop Sign Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char stop_bitmap[] = { | |
| 0x00, 0x00, 0xe0, 0x07, 0xf8, 0x1f, 0x1c, 0x3c, 0x3c, 0x30, 0x76, | |
| 0x70, 0xe6, 0x60, 0xc6, 0x61, 0x86, 0x63, 0x06, 0x67, 0x0e, 0x6e, | |
| 0x0c, 0x3c, 0x3c, 0x38, 0xf8, 0x1f, 0xe0, 0x07, 0x00, 0x00, | |
| }; | |
| static char stop_mask[] = { | |
| 0xe0, 0x07, 0xf8, 0x1f, 0xfc, 0x3f, 0xfe, 0x7f, 0x7e, 0x7c, 0xff, | |
| 0xf8, 0xff, 0xf1, 0xef, 0xf3, 0xcf, 0xf7, 0x8f, 0xff, 0x1f, 0xff, | |
| 0x3e, 0x7e, 0xfe, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xe0, 0x07, | |
| }; | |
| static BCursor StopCursor = { | |
| stop_bitmap, | |
| stop_mask, | |
| 7, | |
| 7, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_STOP] = &StopCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Zoom In Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char zoomin_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x03, 0xb8, 0x03, 0xbc, | |
| 0x07, 0x0c, 0x06, 0xbc, 0x07, 0xb8, 0x03, 0xf8, 0x0b, 0xe0, 0x14, | |
| 0x00, 0x22, 0x00, 0x44, 0x00, 0x88, 0x00, 0x90, 0x00, 0x60, | |
| }; | |
| static char zoomin_mask[] = { | |
| 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x03, 0xfc, 0x07, 0xfc, 0x07, 0xfe, | |
| 0x0f, 0xfe, 0x0f, 0xfe, 0x0f, 0xfc, 0x07, 0xfc, 0x0f, 0xf8, 0x1f, | |
| 0xe0, 0x3e, 0x00, 0x7c, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0x60, | |
| }; | |
| static BCursor ZoomInCursor = { | |
| zoomin_bitmap, | |
| zoomin_mask, | |
| 6, | |
| 6, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_ZOOM_IN] = &ZoomInCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Zoom Out Cursor ***********************/ | |
| BEGIN_CURSOR_BLOCK; | |
| static char zoomout_bitmap[] = { | |
| 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x03, 0xf8, 0x03, 0xfc, | |
| 0x07, 0x0c, 0x06, 0xfc, 0x07, 0xf8, 0x03, 0xf8, 0x0b, 0xe0, 0x14, | |
| 0x00, 0x22, 0x00, 0x44, 0x00, 0x88, 0x00, 0x90, 0x00, 0x60, | |
| }; | |
| static char zoomout_mask[] = { | |
| 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x03, 0xfc, 0x07, 0xfc, 0x07, 0xfe, | |
| 0x0f, 0xfe, 0x0f, 0xfe, 0x0f, 0xfc, 0x07, 0xfc, 0x0f, 0xf8, 0x1f, | |
| 0xe0, 0x3e, 0x00, 0x7c, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0x60, | |
| }; | |
| static BCursor ZoomOutCursor = { | |
| zoomout_bitmap, | |
| zoomout_mask, | |
| 6, | |
| 6, | |
| false, | |
| }; | |
| BlenderCursor[WM_CURSOR_ZOOM_OUT] = &ZoomOutCursor; | |
| END_CURSOR_BLOCK; | |
| /********************** Put the cursors in the array ***********************/ | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment