#include "i.h"
typedef struct Iconinfo Iconinfo;
struct Iconinfo {
int width;
int height;
uchar* data; // 8-bit-deep, Brazil colormap
uchar* mask; // 8-bit-deep grey, can be nil
};
// logo made with background color == 221 (RGB=221,221,221), which
// matches Grey of frame
#define logowidth 47
#define logoheight 48
static uchar logodata[2256] = {
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 187,
153, 170, 170, 170, 170, 187, 221, 238,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 238, 221, 221, 204, 187, 153, 136,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 170, 51, 85, 102, 124,
141, 141, 141, 141, 141, 107, 73, 136,
153, 153, 153, 153, 153, 170, 170, 170,
153, 153, 136, 153, 136, 136, 136, 73,
73, 90, 90, 107, 124, 141, 141, 141,
238, 221, 221, 221, 221, 221, 221, 221,
221, 221, 238, 255, 255, 119, 73, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 238,
221, 221, 221, 221, 221, 221, 136, 255,
255, 255, 255, 255, 187, 85, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 107, 204, 221,
221, 221, 221, 221, 187, 221, 255, 255,
255, 204, 238, 238, 85, 141, 141, 141,
141, 141, 141, 141, 90, 68, 34, 68,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 85, 102, 124, 107, 204, 221, 221,
221, 221, 221, 136, 255, 255, 255, 238,
51, 85, 102, 124, 141, 141, 141, 141,
141, 141, 51, 0, 0, 17, 17, 34,
124, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 90, 85, 102, 85,
51, 119, 85, 68, 187, 221, 221, 221,
221, 221, 153, 221, 68, 85, 85, 107,
141, 141, 141, 141, 141, 141, 141, 141,
102, 0, 0, 0, 80, 80, 17, 85,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 85, 187, 255, 221, 170, 170,
255, 187, 68, 221, 221, 221, 221, 221,
238, 153, 119, 107, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 17,
0, 0, 136, 143, 79, 79, 34, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 85, 187, 102, 102, 136, 221, 255,
255, 153, 170, 221, 221, 221, 221, 204,
51, 102, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 0, 0,
97, 239, 114, 97, 79, 34, 141, 141,
141, 141, 141, 141, 141, 141, 141, 73,
17, 153, 204, 255, 255, 255, 255, 255,
170, 221, 221, 221, 221, 221, 238, 73,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 17, 0, 0,
205, 205, 0, 17, 90, 141, 141, 141,
141, 141, 141, 141, 141, 141, 85, 102,
255, 255, 255, 255, 255, 187, 255, 153,
221, 221, 221, 221, 221, 221, 90, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 73, 0, 0, 79,
79, 0, 102, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 107, 51, 187,
221, 238, 187, 119, 68, 255, 153, 221,
221, 221, 221, 221, 221, 107, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 107, 85, 51, 68,
107, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 85, 51,
85, 107, 124, 136, 255, 170, 221, 221,
221, 221, 221, 204, 124, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 124, 90, 107, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 102, 187, 170, 204, 221, 221,
221, 221, 204, 124, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 68, 131, 114,
159, 159, 159, 80, 90, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 107, 68, 170, 221, 221, 221,
221, 204, 124, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 90, 0, 222, 240, 240,
159, 222, 159, 51, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 119, 221, 221, 221, 221, 221,
204, 107, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 34, 17, 80, 239, 222, 177,
222, 142, 177, 85, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
141, 119, 221, 221, 221, 221, 221, 238,
90, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
107, 0, 80, 0, 205, 240, 222, 114,
239, 142, 80, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
119, 221, 221, 221, 221, 221, 238, 90,
141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141,
17, 79, 80, 80, 240, 239, 239, 205,
160, 177, 73, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 73,
221, 221, 221, 221, 221, 221, 90, 141,
141, 124, 124, 107, 90, 124, 141, 141,
141, 141, 141, 141, 141, 141, 141, 85,
79, 17, 80, 222, 240, 222, 114, 239,
142, 51, 107, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 90, 221,
221, 221, 221, 221, 221, 136, 73, 68,
72, 89, 89, 89, 72, 102, 85, 68,
85, 85, 68, 68, 85, 68, 68, 79,
17, 17, 159, 240, 159, 239, 142, 159,
17, 72, 68, 85, 90, 141, 141, 141,
141, 141, 141, 141, 141, 90, 221, 221,
221, 221, 221, 221, 102, 85, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 34, 0,
79, 97, 240, 240, 159, 205, 222, 79,
123, 140, 140, 89, 85, 85, 90, 141,
141, 141, 141, 141, 90, 221, 221, 221,
221, 221, 221, 119, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 85, 17, 80,
79, 239, 240, 222, 239, 142, 160, 89,
140, 140, 140, 140, 140, 106, 85, 68,
68, 85, 85, 85, 221, 221, 221, 221,
221, 221, 136, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 106, 0, 79, 0,
222, 240, 240, 142, 239, 142, 85, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 68, 238, 221, 221, 221, 221,
221, 136, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 0, 0, 79, 177,
240, 239, 222, 160, 205, 51, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 89, 221, 221, 221, 221, 221, 221,
136, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 17, 17, 97, 159, 240,
240, 177, 177, 205, 34, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
89, 221, 221, 221, 221, 221, 221, 136,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 34, 0, 79, 142, 240, 240,
222, 239, 159, 80, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 89,
221, 221, 221, 221, 221, 221, 153, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 51, 0, 17, 142, 240, 240, 240,
160, 240, 97, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 89, 221,
221, 221, 221, 221, 221, 170, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
34, 17, 159, 114, 240, 240, 222, 239,
160, 97, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 89, 221, 221,
221, 221, 221, 221, 170, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 51,
97, 79, 80, 240, 240, 240, 177, 160,
142, 106, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 119, 221, 221, 221,
221, 221, 221, 204, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 17, 17,
142, 97, 240, 240, 177, 160, 160, 160,
85, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 89, 221, 221, 221, 221,
221, 221, 204, 123, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 34, 80, 79,
79, 240, 177, 160, 160, 205, 205, 68,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 89, 221, 221, 221, 221, 221,
221, 221, 106, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 17, 0, 79, 79,
240, 240, 160, 205, 205, 160, 79, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 89, 221, 221, 221, 221, 221, 221,
238, 89, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 17, 0, 97, 79, 240,
222, 222, 205, 159, 114, 114, 72, 140,
140, 140, 140, 140, 140, 140, 140, 140,
89, 221, 221, 221, 221, 221, 221, 221,
102, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 0, 0, 0, 79, 240, 240,
205, 159, 114, 114, 159, 34, 140, 140,
140, 140, 140, 140, 140, 140, 140, 89,
221, 221, 221, 221, 221, 221, 221, 34,
34, 68, 140, 106, 68, 102, 68, 72,
89, 89, 89, 72, 72, 89, 72, 85,
51, 0, 0, 0, 79, 239, 205, 114,
114, 114, 159, 79, 79, 123, 140, 140,
140, 140, 140, 140, 140, 140, 72, 221,
221, 221, 221, 221, 221, 221, 85, 0,
0, 106, 140, 34, 17, 0, 17, 17,
51, 34, 68, 85, 17, 17, 17, 17,
34, 17, 0, 0, 160, 80, 97, 79,
97, 0, 17, 68, 123, 140, 140, 140,
140, 140, 140, 140, 140, 119, 221, 221,
221, 221, 221, 221, 221, 68, 0, 0,
106, 140, 140, 51, 51, 34, 17, 34,
17, 51, 0, 34, 34, 0, 17, 51,
34, 68, 17, 0, 17, 0, 51, 89,
123, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 119, 221, 221, 221,
221, 221, 221, 221, 153, 106, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
123, 89, 72, 85, 68, 51, 17, 34,
17, 85, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 102, 221, 221, 221, 221,
221, 221, 221, 221, 123, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 119, 221, 221, 221, 221, 221,
221, 221, 221, 136, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 102, 221, 221, 221, 221, 221, 221,
221, 221, 238, 136, 106, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 123,
123, 123, 140, 140, 140, 140, 140, 140,
187, 221, 221, 221, 221, 221, 221, 221,
221, 221, 170, 187, 153, 136, 136, 102,
89, 123, 140, 140, 140, 140, 123, 106,
106, 89, 119, 119, 136, 136, 153, 153,
153, 170, 170, 187, 204, 204, 221, 204,
204, 187, 187, 170, 153, 136, 153, 238,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 238,
221, 204, 204, 204, 204, 204, 221, 238,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221,
};
#define backwidth 16
#define backheight 16
static uchar backdata[256] = {
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 238,
170, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 238, 170, 97,
85, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 221, 51, 97, 17,
187, 238, 255, 255, 255, 255, 255, 255,
255, 255, 255, 170, 114, 97, 79, 97,
79, 80, 114, 68, 153, 221, 255, 255,
255, 255, 119, 177, 205, 80, 97, 159,
97, 205, 239, 205, 177, 80, 34, 204,
255, 119, 160, 222, 205, 114, 160, 222,
177, 159, 114, 97, 159, 114, 142, 187,
170, 159, 79, 80, 240, 159, 222, 177,
160, 159, 222, 177, 142, 177, 142, 153,
187, 97, 17, 79, 159, 205, 80, 80,
142, 159, 80, 205, 159, 80, 0, 153,
255, 136, 97, 79, 159, 177, 80, 79,
142, 97, 79, 142, 142, 142, 79, 187,
255, 255, 68, 80, 79, 142, 79, 34,
238, 204, 136, 114, 97, 142, 187, 255,
255, 255, 221, 97, 80, 142, 159, 17,
204, 255, 255, 238, 85, 187, 255, 255,
255, 255, 255, 187, 79, 142, 114, 51,
238, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 204, 68, 17, 221,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 238, 187, 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 uchar backmask[256] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 255,
255, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 255,
255, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
0, 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,
0, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 0, 0, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 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,
};
#define fwdwidth 16
#define fwdheight 16
static uchar fwddata[256] = {
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, 170, 170, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 170, 160, 114, 170, 255, 255, 255,
255, 255, 255, 255, 238, 255, 255, 255,
255, 85, 114, 205, 97, 221, 255, 255,
255, 255, 255, 102, 34, 34, 34, 85,
119, 51, 205, 97, 222, 80, 255, 255,
255, 255, 119, 97, 51, 34, 97, 17,
0, 34, 142, 51, 159, 222, 102, 255,
255, 255, 97, 240, 240, 239, 222, 222,
160, 79, 142, 159, 114, 205, 159, 170,
255, 255, 79, 160, 177, 160, 205, 160,
240, 177, 205, 239, 160, 114, 177, 170,
255, 255, 17, 51, 114, 80, 80, 80,
142, 80, 159, 142, 177, 159, 51, 238,
255, 255, 51, 34, 97, 79, 51, 80,
80, 114, 51, 97, 114, 114, 136, 255,
255, 255, 153, 255, 255, 255, 255, 255,
255, 136, 159, 80, 97, 131, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 131, 80, 34, 153, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
238, 79, 17, 153, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
119, 79, 204, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
119, 238, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
};
static uchar fwdmask[256] = {
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, 255, 255, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 255, 255, 255, 255, 0, 0, 0,
0, 0, 0, 0, 255, 0, 0, 0,
0, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 0,
0, 0, 255, 0, 0, 0, 0, 0,
0, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 255, 255, 255, 255, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
255, 255, 255, 255, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
#define reloadwidth 16
#define reloadheight 16
static uchar reloaddata[256] = {
255, 255, 255, 255, 255, 255, 170, 136,
136, 153, 170, 119, 170, 255, 255, 255,
255, 255, 255, 255, 255, 102, 205, 239,
222, 222, 97, 177, 205, 119, 255, 255,
255, 255, 255, 255, 238, 142, 240, 240,
240, 177, 177, 177, 159, 97, 255, 255,
255, 255, 255, 255, 136, 222, 239, 240,
240, 142, 222, 114, 97, 85, 255, 255,
255, 255, 255, 255, 131, 222, 114, 159,
239, 142, 142, 159, 160, 187, 255, 255,
255, 255, 255, 255, 131, 239, 240, 222,
240, 142, 177, 34, 119, 255, 255, 255,
255, 255, 238, 255, 165, 240, 205, 222,
222, 114, 114, 187, 255, 187, 153, 255,
255, 221, 17, 51, 51, 222, 142, 114,
114, 159, 159, 68, 34, 79, 102, 255,
255, 119, 97, 0, 97, 142, 205, 80,
222, 160, 80, 80, 17, 79, 221, 255,
255, 136, 51, 80, 79, 97, 160, 177,
205, 80, 79, 142, 97, 187, 255, 255,
255, 255, 136, 142, 160, 205, 239, 160,
114, 205, 222, 177, 85, 255, 255, 255,
255, 255, 255, 119, 142, 205, 205, 97,
239, 177, 205, 142, 238, 255, 255, 255,
255, 255, 255, 255, 85, 97, 97, 80,
97, 142, 159, 170, 255, 255, 255, 255,
255, 255, 255, 255, 238, 80, 159, 80,
205, 159, 170, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 221, 68, 222,
114, 187, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 238, 119,
221, 255, 255, 255, 255, 255, 255, 255,
};
static uchar reloadmask[256] = {
0, 0, 0, 0, 0, 0, 255, 255,
255, 255, 255, 255, 255, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 255, 255, 255, 0, 0, 0,
0, 0, 255, 0, 255, 255, 255, 255,
255, 255, 255, 255, 0, 255, 255, 0,
0, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 0,
0, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 0,
0, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 0, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 255, 255, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 255, 255,
255, 0, 0, 0, 0, 0, 0, 0,
};
#define stopwidth 16
#define stopheight 16
static uchar stopdata[256] = {
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 187, 119, 68, 159, 131,
119, 170, 255, 255, 255, 255, 255, 255,
255, 255, 221, 80, 205, 159, 159, 160,
114, 114, 119, 255, 255, 255, 255, 255,
255, 255, 255, 131, 79, 142, 177, 240,
240, 240, 142, 255, 255, 255, 255, 255,
255, 255, 255, 165, 79, 142, 222, 159,
240, 240, 165, 255, 255, 255, 255, 255,
255, 255, 255, 170, 79, 79, 114, 177,
160, 177, 153, 255, 255, 255, 255, 255,
255, 255, 255, 255, 34, 79, 114, 160,
222, 160, 238, 255, 255, 255, 255, 255,
255, 255, 255, 255, 119, 79, 159, 114,
222, 148, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 187, 79, 79, 80,
205, 165, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 238, 148, 80, 159,
240, 119, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 85, 148,
136, 187, 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, 136,
119, 238, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 85, 114,
80, 136, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 102, 17,
17, 170, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 238, 102,
170, 255, 255, 255, 255, 255, 255, 255,
};
static uchar stopmask[256] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 255, 255,
255, 255, 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, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 255, 255,
255, 0, 0, 0, 0, 0, 0, 0,
};
#define histwidth 16
#define histheight 16
static uchar histdata[256] = {
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, 221,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 221, 85, 221, 187,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 170, 187, 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, 238,
204, 238, 255, 136, 79, 187, 255, 255,
255, 255, 255, 255, 255, 238, 136, 97,
80, 136, 187, 80, 136, 255, 255, 255,
255, 255, 255, 255, 255, 68, 79, 79,
119, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 187, 170, 238,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 238, 238, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 119, 79, 114, 170,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 187, 131, 97, 79, 131, 187,
255, 255, 255, 255, 255, 255, 255, 255,
255, 238, 80, 79, 79, 68, 238, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 119, 131, 136, 238, 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 uchar histmask[256] = {
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, 255,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 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, 255,
255, 255, 0, 255, 255, 255, 0, 0,
0, 0, 0, 0, 0, 255, 255, 255,
255, 255, 255, 255, 255, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 255,
255, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 255,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 255, 255, 255, 255, 255, 255,
0, 0, 0, 0, 0, 0, 0, 0,
0, 255, 255, 255, 255, 255, 255, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 255, 255, 255, 255, 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,
};
#define bmarkwidth 16
#define bmarkheight 16
static uchar bmarkdata[256] = {
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 238, 221, 221, 221, 238,
221, 153, 153, 170, 204, 255, 255, 255,
255, 255, 255, 131, 160, 160, 160, 159,
160, 239, 222, 222, 142, 238, 255, 255,
255, 255, 255, 131, 159, 239, 222, 159,
239, 222, 222, 240, 160, 238, 255, 255,
255, 255, 255, 131, 177, 97, 79, 240,
159, 114, 97, 239, 142, 238, 255, 255,
255, 255, 255, 51, 222, 205, 160, 240,
222, 239, 240, 205, 159, 238, 255, 255,
255, 255, 255, 159, 177, 240, 239, 240,
222, 222, 222, 205, 160, 221, 255, 255,
255, 255, 255, 79, 239, 239, 0, 239,
205, 142, 159, 222, 205, 204, 255, 255,
255, 255, 255, 80, 222, 240, 142, 177,
240, 240, 240, 240, 222, 170, 255, 255,
255, 255, 255, 80, 222, 240, 240, 240,
160, 142, 160, 222, 222, 153, 255, 255,
255, 255, 255, 79, 177, 205, 17, 240,
205, 240, 240, 160, 79, 153, 255, 255,
255, 255, 238, 97, 177, 222, 205, 240,
239, 240, 240, 97, 79, 68, 255, 255,
255, 255, 187, 177, 205, 222, 177, 222,
160, 222, 142, 79, 102, 238, 255, 255,
255, 255, 187, 119, 136, 136, 119, 165,
119, 119, 136, 204, 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 uchar bmarkmask[256] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 0, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 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,
};
#define exitwidth 16
#define exitheight 16
static uchar exitdata[256] = {
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 240, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 240, 255, 255,
255, 240, 240, 240, 255, 255, 255, 255,
255, 255, 255, 255, 240, 240, 240, 255,
255, 255, 240, 240, 240, 255, 255, 255,
255, 255, 255, 240, 240, 240, 255, 255,
255, 255, 255, 240, 240, 240, 255, 255,
255, 255, 240, 240, 240, 255, 255, 255,
255, 255, 255, 255, 240, 240, 240, 255,
255, 240, 240, 240, 255, 255, 255, 255,
255, 255, 255, 255, 255, 240, 240, 240,
240, 240, 240, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 240, 240,
240, 240, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 240, 240,
240, 240, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 240, 240, 240,
240, 240, 240, 255, 255, 255, 255, 255,
255, 255, 255, 255, 240, 240, 240, 255,
255, 240, 240, 240, 255, 255, 255, 255,
255, 255, 255, 240, 240, 240, 255, 255,
255, 255, 240, 240, 240, 255, 255, 255,
255, 255, 240, 240, 240, 255, 255, 255,
255, 255, 255, 240, 240, 240, 255, 255,
255, 240, 240, 240, 255, 255, 255, 255,
255, 255, 255, 255, 240, 240, 240, 255,
255, 255, 240, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 240, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
};
static uchar exitmask[256] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 0, 0,
0, 255, 255, 255, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 0,
0, 0, 255, 255, 255, 0, 0, 0,
0, 0, 0, 255, 255, 255, 0, 0,
0, 0, 0, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 0,
0, 255, 255, 255, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 255,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 255, 255,
255, 255, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 255, 255,
255, 255, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 0,
0, 255, 255, 255, 0, 0, 0, 0,
0, 0, 0, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 0, 0, 0,
0, 0, 255, 255, 255, 0, 0, 0,
0, 0, 0, 255, 255, 255, 0, 0,
0, 255, 255, 255, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 0,
0, 0, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 255, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
// indexed by IClogo, etc.
static Iconinfo icons[NICONS] = {
{ logowidth, logoheight, logodata, nil},
{ backwidth, backheight, backdata, backmask},
{ fwdwidth, fwdheight, fwddata, fwdmask},
{ reloadwidth, reloadheight, reloaddata, reloadmask},
{ stopwidth, stopheight, stopdata, stopmask},
{ histwidth, histheight, histdata, histmask},
{ bmarkwidth, bmarkheight, bmarkdata, bmarkmask},
{ exitwidth, exitheight, exitdata, exitmask},
};
Image*
geticon(int icon, Image** pmask)
{
Image* im;
Image* mim;
Iconinfo* ii;
Rectangle r;
int n;
if(icon < 0 || icon >= NICONS)
return nil;
ii = &icons[icon];
r = Rect(0, 0, ii->width, ii->height);
n = ii->width * ii->height;
im = allocimage(display, r, CMAP8, 0, DNofill);
if(im == nil)
fatalerror("can't create icon image");
loadimage(im, r, ii->data, n);
if(pmask != nil)
*pmask = nil;
if(ii->mask != nil) {
mim = allocimage(display, r, GREY8, 0, DNofill);
if(mim != nil && pmask != nil) {
loadimage(mim, r, ii->mask, n);
*pmask = mim;
}
}
return im;
}
|