mirror of
https://github.com/Interlisp/maiko.git
synced 2026-01-13 15:18:14 +00:00
The predefined cursors (image and mask) are better represented as arrays of const uint8_t rather than char. Likewise for the window icon. Track this change in the functions that take the image and mask as arguments, casting only when we get to the X library functions that take char*.
404 lines
9.3 KiB
C
404 lines
9.3 KiB
C
#ifndef XBITMAPS_H
|
|
#define XBITMAPS_H 1
|
|
/* $Id: xbitmaps.h,v 1.3 2001/12/24 01:08:58 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
|
|
|
|
|
/************************************************************************/
|
|
/* */
|
|
/* (C) Copyright 1989, 1990, 1990, 1991, 1992, 1993, 1994, 1995 Venue. */
|
|
/* All Rights Reserved. */
|
|
/* Manufactured in the United States of America. */
|
|
/* */
|
|
/************************************************************************/
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
short cubitsprepixel; /* bits per pixel in the cursor, mostly 1 */
|
|
const uint8_t *cuimage; /* the image bitmap */
|
|
const uint8_t *cumask; /* the mask bitmap */
|
|
short cuhotspotx; /* hot-spot X coordinate */
|
|
short cuhotspoty; /* hot-spot Y coordinate */
|
|
short cudata; /* ?? */
|
|
} LISP_CURSOR;
|
|
|
|
const uint8_t defaultcursor_bitmap[]=
|
|
{
|
|
0x80, 0, 0xc0, 0, 0xe0, 0, 0xf0, 0
|
|
, 0xf8, 0, 0xfc, 0, 0xfe, 0, 0xf0, 0
|
|
, 0xd8, 0, 0x98, 0, 0x0c, 0, 0x0c, 0
|
|
, 0x06, 0, 0x06, 0, 0x03, 0, 0x03, 0
|
|
};
|
|
|
|
LISP_CURSOR default_cursor =
|
|
{
|
|
1
|
|
, defaultcursor_bitmap
|
|
, defaultcursor_bitmap
|
|
, 0
|
|
, 15
|
|
, 0
|
|
};
|
|
|
|
|
|
const uint8_t waitcursor_bitmap[]=
|
|
{
|
|
0xFF, 0xFE, 0xC0, 0x06, 0x60, 0x1C, 0x3D, 0x78
|
|
, 0x1F, 0xF0, 0x0F, 0xE0, 0x06, 0xC0, 0x03, 0x80
|
|
, 0x02, 0x80, 0x03, 0xC0, 0x0D, 0x60, 0x19, 0x30
|
|
, 0x37, 0xD8, 0x67, 0xEC, 0xFF, 0xFE, 0xFF, 0xFE
|
|
};
|
|
|
|
LISP_CURSOR wait_cursor =
|
|
{
|
|
1
|
|
, waitcursor_bitmap
|
|
, waitcursor_bitmap
|
|
, 7
|
|
, 8
|
|
, 0
|
|
};
|
|
|
|
const uint8_t horizscrollcursor_bitmap[]={
|
|
0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x08, 0x20
|
|
, 0x18, 0x30
|
|
, 0x38, 0x38
|
|
, 0x78, 0x3C
|
|
, 0xFF, 0xFE
|
|
, 0xFF, 0xFE
|
|
, 0x78, 0x3C
|
|
, 0x38, 0x38
|
|
, 0x18, 0x30
|
|
, 0x08, 0x20
|
|
};
|
|
|
|
LISP_CURSOR horizscroll_cursor = {
|
|
1
|
|
, horizscrollcursor_bitmap
|
|
, horizscrollcursor_bitmap
|
|
, 7
|
|
, 5
|
|
, 0
|
|
};
|
|
|
|
|
|
|
|
const uint8_t horizthumbcursor_bitmap[]={
|
|
0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x02, 0x00
|
|
, 0x02, 0x00
|
|
, 0x0A, 0x80
|
|
, 0x0A, 0x80
|
|
, 0x0A, 0x80
|
|
, 0x2A, 0xA0
|
|
, 0x2A, 0xA0
|
|
, 0x2A, 0xA0
|
|
, 0xAA, 0xA8
|
|
, 0xAA, 0xA8
|
|
, 0xAA, 0xA8
|
|
, 0xAA, 0xA8
|
|
, 0xAA, 0xA8
|
|
};
|
|
|
|
LISP_CURSOR horizthumb_cursor = {
|
|
1
|
|
, horizthumbcursor_bitmap
|
|
, horizthumbcursor_bitmap
|
|
, 6
|
|
, 8
|
|
, 0
|
|
};
|
|
|
|
|
|
|
|
const uint8_t scrolldowncursor_bitmap[]={
|
|
0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x1F, 0xF0
|
|
, 0x1F, 0xF0
|
|
, 0x0F, 0xE0
|
|
, 0x0F, 0xE0
|
|
, 0x07, 0xC0
|
|
, 0x07, 0xC0
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x01, 0x00
|
|
};
|
|
|
|
LISP_CURSOR scrolldown_cursor = {
|
|
1
|
|
, scrolldowncursor_bitmap
|
|
, scrolldowncursor_bitmap
|
|
, 7
|
|
, 15
|
|
, 0
|
|
};
|
|
|
|
|
|
|
|
const uint8_t scrollleftcursor_bitmap[]={
|
|
0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x80
|
|
, 0x03, 0x80
|
|
, 0x0F, 0x80
|
|
, 0x3F, 0x80
|
|
, 0xFF, 0xFF
|
|
, 0xFF, 0xFF
|
|
, 0x3F, 0x80
|
|
, 0x0F, 0x80
|
|
, 0x03, 0x80
|
|
, 0x00, 0x80
|
|
};
|
|
|
|
LISP_CURSOR scrollleft_cursor = {
|
|
1
|
|
, scrollleftcursor_bitmap
|
|
, scrollleftcursor_bitmap
|
|
, 8
|
|
, 5
|
|
, 0
|
|
};
|
|
|
|
|
|
|
|
const uint8_t scrollrightcursor_bitmap[]={
|
|
0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x00, 0x00
|
|
, 0x01, 0x00
|
|
, 0x01, 0xC0
|
|
, 0x01, 0xF0
|
|
, 0x01, 0xFC
|
|
, 0xFF, 0xFF
|
|
, 0xFF, 0xFF
|
|
, 0x01, 0xFC
|
|
, 0x01, 0xF0
|
|
, 0x01, 0xC0
|
|
, 0x01, 0x00
|
|
};
|
|
|
|
LISP_CURSOR scrollright_cursor = {
|
|
1
|
|
, scrollrightcursor_bitmap
|
|
, scrollrightcursor_bitmap
|
|
, 7
|
|
, 5
|
|
, 0
|
|
};
|
|
|
|
|
|
|
|
const uint8_t scrollupcursor_bitmap[]={
|
|
0x01, 0x00
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x07, 0xC0
|
|
, 0x07, 0xC0
|
|
, 0x0F, 0xE0
|
|
, 0x0F, 0xE0
|
|
, 0x1F, 0xF0
|
|
, 0x1F, 0xF0
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
};
|
|
|
|
LISP_CURSOR scrollup_cursor = {
|
|
1
|
|
, scrollupcursor_bitmap
|
|
, scrollupcursor_bitmap
|
|
, 7
|
|
, 15
|
|
, 0
|
|
};
|
|
|
|
|
|
|
|
const uint8_t vertscrollcursor_bitmap[]={
|
|
0x01, 0x00
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x07, 0xC0
|
|
, 0x07, 0xC0
|
|
, 0x0F, 0xE0
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x0F, 0xE0
|
|
, 0x07, 0xC0
|
|
, 0x07, 0xC0
|
|
, 0x03, 0x80
|
|
, 0x03, 0x80
|
|
, 0x01, 0x00
|
|
};
|
|
|
|
LISP_CURSOR vertscroll_cursor = {
|
|
1
|
|
, vertscrollcursor_bitmap
|
|
, vertscrollcursor_bitmap
|
|
, 7
|
|
, 15
|
|
, 0
|
|
};
|
|
|
|
|
|
|
|
const uint8_t vertthumbcursor_bitmap[]={
|
|
0x00,0x00
|
|
,0x00,0x1f
|
|
,0x00,0x00
|
|
,0x00,0xff
|
|
,0x00,0x00
|
|
,0x07,0xff
|
|
,0x00,0x00
|
|
,0x1f,0xff
|
|
,0x00,0x00
|
|
,0x07,0xff
|
|
,0x00,0x00
|
|
,0x00,0xff
|
|
,0x00,0x00
|
|
,0x00,0x1f
|
|
,0x00,0x00
|
|
,0x00,0x00
|
|
};
|
|
|
|
LISP_CURSOR vertthumb_cursor = {
|
|
1
|
|
, vertthumbcursor_bitmap
|
|
, vertthumbcursor_bitmap
|
|
, 8
|
|
, 8
|
|
, 0
|
|
};
|
|
|
|
int check_width = 16;
|
|
int check_height = 16;
|
|
|
|
static const uint8_t check_bits[] = { 0x88, 0x88,
|
|
0x00, 0x00,
|
|
0x22, 0x22,
|
|
0x00, 0x00,
|
|
0x88, 0x88,
|
|
0x00, 0x00,
|
|
0x22, 0x22,
|
|
0x00, 0x00,
|
|
0x88, 0x88,
|
|
0x00, 0x00,
|
|
0x22, 0x22,
|
|
0x00, 0x00,
|
|
0x88, 0x88,
|
|
0x00, 0x00,
|
|
0x22, 0x22,
|
|
0x00, 0x00 };
|
|
static const uint8_t plain_bits[] = { 0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00,
|
|
0x00, 0x00 };
|
|
|
|
int Lisp_icon_width = 88;
|
|
int Lisp_icon_height = 58;
|
|
|
|
const uint8_t Lisp_icon[] =
|
|
{
|
|
0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08,
|
|
0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x3f, 0xe2,
|
|
0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x10, 0x20,
|
|
0xbf, 0xff, 0xff, 0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x97, 0xa8,
|
|
0x3f, 0xff, 0xff, 0xa0, 0x82, 0x08, 0x20, 0x82, 0x08, 0x30, 0x22,
|
|
0x20, 0x00, 0x00, 0x88, 0x20, 0x82, 0x08, 0x20, 0x83, 0xf0, 0x20,
|
|
0xa0, 0x00, 0x00, 0x82, 0x08, 0x20, 0x82, 0x08, 0x21, 0x10, 0x28,
|
|
0x24, 0x01, 0x00, 0xa0, 0x87, 0xff, 0xff, 0xc2, 0x09, 0x1f, 0xe2,
|
|
0x29, 0xb2, 0x00, 0x88, 0x24, 0x00, 0x00, 0x60, 0x83, 0x04, 0x20,
|
|
0xa9, 0xb2, 0x50, 0x82, 0x0c, 0x00, 0x00, 0x48, 0x21, 0x06, 0x08,
|
|
0x29, 0xb2, 0x00, 0xa0, 0x87, 0xff, 0xff, 0xc2, 0x09, 0xfc, 0x82,
|
|
0x24, 0x01, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xe0, 0x82, 0x08, 0x20,
|
|
0xa0, 0x00, 0x00, 0xbf, 0xff, 0xe0, 0x08, 0x48, 0x21, 0xfe, 0x08,
|
|
0x20, 0x01, 0x20, 0xe0, 0x00, 0x20, 0x0f, 0x42, 0x0a, 0x02, 0x82,
|
|
0x20, 0x00, 0x90, 0xe0, 0x00, 0x3f, 0xf8, 0x60, 0x83, 0xfe, 0x20,
|
|
0xa5, 0x48, 0x90, 0xbf, 0xff, 0xff, 0xff, 0x48, 0x20, 0x82, 0x08,
|
|
0x20, 0x00, 0x90, 0xbf, 0xff, 0xe0, 0x08, 0x42, 0x08, 0x20, 0x82,
|
|
0x20, 0x01, 0x20, 0xa0, 0x00, 0x35, 0x4f, 0x7f, 0xff, 0xff, 0xe0,
|
|
0xa0, 0x00, 0x00, 0xaa, 0xa0, 0x20, 0x08, 0x5f, 0xff, 0xff, 0xe8,
|
|
0x20, 0x00, 0x00, 0xa0, 0x00, 0x35, 0x4f, 0x50, 0x00, 0x00, 0x22,
|
|
0x3f, 0xff, 0xff, 0xab, 0x56, 0x20, 0x08, 0x70, 0x07, 0xc0, 0x20,
|
|
0x82, 0x00, 0x00, 0x20, 0x00, 0x35, 0x0f, 0xd0, 0x0c, 0x47, 0xa8,
|
|
0x22, 0x00, 0x00, 0x2d, 0x5a, 0xa0, 0x08, 0x90, 0x0f, 0xcc, 0xa2,
|
|
0x0a, 0x00, 0x00, 0x20, 0x00, 0x34, 0x08, 0x30, 0x10, 0x17, 0xa0,
|
|
0x82, 0x00, 0x00, 0x20, 0x00, 0x20, 0x0a, 0x10, 0x17, 0xd0, 0x28,
|
|
0x22, 0x00, 0x00, 0x20, 0x00, 0x35, 0x08, 0x90, 0x2c, 0x67, 0xa2,
|
|
0x0a, 0x00, 0x00, 0x20, 0x00, 0x20, 0x08, 0x30, 0x37, 0xdc, 0xa0,
|
|
0x82, 0x00, 0x00, 0x20, 0x00, 0x35, 0x4a, 0x17, 0xe0, 0x07, 0xa8,
|
|
0x22, 0x00, 0x00, 0x20, 0x00, 0x20, 0x08, 0x94, 0x57, 0xc0, 0x22,
|
|
0x0a, 0x00, 0x00, 0x20, 0x00, 0x20, 0x08, 0x37, 0xec, 0x40, 0x20,
|
|
0x83, 0xff, 0xff, 0xe0, 0x00, 0x20, 0x0a, 0x10, 0x27, 0xc0, 0x28,
|
|
0x20, 0x82, 0x08, 0x20, 0x00, 0x20, 0x08, 0x90, 0x10, 0x00, 0x22,
|
|
0x08, 0x20, 0x82, 0x20, 0x00, 0x3f, 0xf8, 0x30, 0x1f, 0xc0, 0x20,
|
|
0x82, 0x08, 0x20, 0xa0, 0x00, 0x20, 0x82, 0x10, 0x0c, 0x40, 0x28,
|
|
0x20, 0x82, 0x08, 0x3f, 0xff, 0xe8, 0x20, 0x90, 0x07, 0xc0, 0x22,
|
|
0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x30, 0x00, 0x00, 0x20,
|
|
0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x10, 0x00, 0x00, 0x28,
|
|
0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x9f, 0xff, 0xff, 0xe2,
|
|
0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x20,
|
|
0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08,
|
|
0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x20, 0x82, 0x08, 0x20, 0x82,
|
|
0x42, 0x13, 0x18, 0xc7, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
|
|
0x99, 0x34, 0xa5, 0x24, 0x29, 0x26, 0x38, 0xc5, 0x04, 0x00, 0x00,
|
|
0xa1, 0x14, 0x99, 0x27, 0x35, 0x29, 0x40, 0x26, 0x9c, 0x00, 0x00,
|
|
0xa1, 0x13, 0xa4, 0xe4, 0x25, 0x29, 0x30, 0xe4, 0xa4, 0x00, 0x00,
|
|
0xa1, 0x10, 0xa4, 0x24, 0x24, 0xc9, 0x09, 0x24, 0xa4, 0x00, 0x00,
|
|
0x5a, 0x13, 0x18, 0xc7, 0xa4, 0xc6, 0x70, 0xd4, 0x9c, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x03, 0xc0, 0x50, 0x84, 0x00, 0x00, 0x01, 0xc0, 0x02, 0x10, 0x20,
|
|
0x02, 0x12, 0x00, 0x48, 0xcb, 0x32, 0x22, 0x0c, 0x02, 0x38, 0x20,
|
|
0x03, 0x92, 0x50, 0x31, 0x2c, 0x49, 0x42, 0x12, 0x02, 0x10, 0xe0,
|
|
0x02, 0x12, 0x50, 0x31, 0xe8, 0x48, 0x82, 0x12, 0x02, 0x11, 0x20,
|
|
0x02, 0x16, 0x50, 0x49, 0x08, 0x49, 0x42, 0x12, 0x02, 0x15, 0x20,
|
|
0x02, 0x0a, 0x50, 0x84, 0xc8, 0x32, 0x21, 0xcc, 0x93, 0xc8, 0xe0,
|
|
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
|
|
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
};
|
|
#endif /* XBITMAPS_H */
|