1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 22:11:21 -08:00

Add more cursor bitmaps on Haiku

* src/haikufns.c (cursor_bitmaps, cursor_bitmaps_for_id):
Register crosshair and xterm cursors.

* src/haikugui.h (cross_ptr_bits, cross_ptrmask_bits)
(ibeam_ptr_bits, ibeam_ptrmask_bits): New cursor bitmaps.
This commit is contained in:
Po Lu 2022-05-13 05:34:46 +00:00
parent 78996a113e
commit 1bf3afba23
2 changed files with 93 additions and 44 deletions

View file

@ -1836,56 +1836,56 @@ struct user_cursor_info custom_cursors[] =
struct user_cursor_bitmap_info cursor_bitmaps[] =
{
{ NULL, NULL, 0, 0, 0, 0 }, /* text_cursor */
{ left_ptr_bits, left_ptrmsk_bits, 16, 16, 3, 1 }, /* nontext_cursor */
{ left_ptr_bits, left_ptrmsk_bits, 16, 16, 3, 1 }, /* modeline_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* hand_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* hourglass_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* horizontal_drag_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* vertical_drag_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* left_edge_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* top_left_corner_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* top_edge_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* top_right_corner_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* right_edge_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* bottom_right_corner_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* bottom_edge_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* bottom_left_corner_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* no_cursor */
{ ibeam_ptr_bits, ibeam_ptrmask_bits, 15, 15, 7, 7 }, /* text_cursor */
{ left_ptr_bits, left_ptrmsk_bits, 16, 16, 3, 1 }, /* nontext_cursor */
{ left_ptr_bits, left_ptrmsk_bits, 16, 16, 3, 1 }, /* modeline_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* hand_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* hourglass_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* horizontal_drag_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* vertical_drag_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* left_edge_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* top_left_corner_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* top_edge_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* top_right_corner_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* right_edge_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* bottom_right_corner_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* bottom_edge_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* bottom_left_corner_cursor */
{ NULL, NULL, 0, 0, 0, 0 }, /* no_cursor */
};
/* Array of cursor bitmaps for each system cursor ID. This is used to
color in user-specified cursors. */
struct user_cursor_bitmap_info cursor_bitmaps_for_id[28] =
{
{ NULL, NULL, 0, 0, 0, 0 },
{ left_ptr_bits, left_ptrmsk_bits, 16, 16, 3, 1 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ left_ptr_bits, left_ptrmsk_bits, 16, 16, 3, 1 },
{ ibeam_ptr_bits, ibeam_ptrmask_bits, 15, 15, 7, 7 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ cross_ptr_bits, cross_ptrmask_bits, 30, 30, 15, 15 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
{ NULL, NULL, 0, 0, 0, 0 },
};
static void *

View file

@ -95,4 +95,53 @@ typedef haiku Drawable;
typedef haiku Window;
typedef int Display;
/* Cursor bitmaps. These are only used to create colored cursors when
the user specifies a mouse color. */
MAYBE_UNUSED static unsigned char cross_ptr_bits[] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0xf0, 0x1f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
MAYBE_UNUSED static unsigned char cross_ptrmask_bits[] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01,
0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0,
0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00,
0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xfc, 0x07, 0xf0, 0x1f, 0xfe, 0x0f, 0xf8, 0x3f, 0xfc, 0x07,
0xf0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00,
0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01,
0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xc0,
0x01, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
MAYBE_UNUSED static unsigned char ibeam_ptr_bits[] =
{
0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01,
0xc0, 0x01, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00
};
MAYBE_UNUSED static unsigned char ibeam_ptrmask_bits[] =
{
0x00, 0x00, 0xfc, 0x1f, 0xfe, 0x3f, 0xfc, 0x1f, 0xe0, 0x03, 0xe0,
0x03, 0xe0, 0x03, 0xe0, 0x03, 0xe0, 0x03, 0xe0, 0x03, 0xe0, 0x03,
0xfc, 0x1f, 0xfe, 0x3f, 0xfc, 0x1f, 0x00, 0x00
};
#endif /* _HAIKU_GUI_H_ */