#define poly_width 21 #define poly_height 11 static char poly_bits[] = { 0x00, 0x00, 0x00, 0x02, 0x02, 0x08, 0x06, 0x05, 0x0c, 0x8a, 0x08, 0x0a, 0x52, 0x10, 0x09, 0x22, 0xa0, 0x08, 0x02, 0x40, 0x08, 0x02, 0x00, 0x08, 0x02, 0x00, 0x08, 0xfe, 0xff, 0x0f, 0x00, 0x00, 0x00}; static char poly_mask_bits[] = { 0x07, 0x07, 0x1c, 0x8f, 0x0f, 0x1e, 0xdf, 0x1f, 0x1f, 0xff, 0xbf, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xfd, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f}; static char poly_bold_bits[] = { 0x00, 0x00, 0x00, 0x02, 0x02, 0x08, 0x06, 0x07, 0x0c, 0x8e, 0x0f, 0x0e, 0xde, 0x1d, 0x0f, 0xfe, 0xb8, 0x0f, 0x76, 0xf0, 0x0d, 0x06, 0xe0, 0x0c, 0xfe, 0xff, 0x0f, 0xfe, 0xff, 0x0f, 0x00, 0x00, 0x00}; static BtnIcon poly = { poly_bits, poly_mask_bits, poly_width, poly_height }; static BtnIcon polyb = { poly_bold_bits, poly_mask_bits, poly_width, poly_height }; #define box_width 21 #define box_height 11 static char box_bits[] = { 0x00, 0x00, 0x00, 0xfe, 0xff, 0x0f, 0x02, 0x00, 0x08, 0x02, 0x00, 0x08, 0x02, 0x00, 0x08, 0x02, 0x00, 0x08, 0x02, 0x00, 0x08, 0x02, 0x00, 0x08, 0x02, 0x00, 0x08, 0xfe, 0xff, 0x0f, 0x00, 0x00, 0x00}; static char box_mask_bits[] = { 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0x0f, 0x00, 0x1e, 0x0f, 0x00, 0x1e, 0x0f, 0x00, 0x1e, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f}; static char box_bold_bits[] = { 0x00, 0x00, 0x00, 0xfe, 0xff, 0x0f, 0xfe, 0xff, 0x0f, 0x06, 0x00, 0x0c, 0x06, 0x00, 0x0c, 0x06, 0x00, 0x0c, 0x06, 0x00, 0x0c, 0x06, 0x00, 0x0c, 0xfe, 0xff, 0x0f, 0xfe, 0xff, 0x0f, 0x00, 0x00, 0x00}; static BtnIcon box = { box_bits, box_mask_bits, box_width, box_height }; static BtnIcon boxb = { box_bold_bits, box_mask_bits, box_width, box_height }; #define circle_width 15 #define circle_height 15 static char circle_bits[] = { 0x00, 0x00, 0xe0, 0x03, 0x18, 0x0c, 0x04, 0x10, 0x04, 0x10, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x04, 0x10, 0x04, 0x10, 0x18, 0x0c, 0xe0, 0x03, 0x00, 0x00}; static char circle_mask_bits[] = { 0xf0, 0x07, 0xfc, 0x1f, 0xfe, 0x3f, 0xfe, 0x3f, 0x3f, 0x7e, 0x1f, 0x7c, 0x0f, 0x78, 0x0f, 0x78, 0x0f, 0x78, 0x1f, 0x7c, 0x3f, 0x7e, 0xfe, 0x3f, 0xfe, 0x3f, 0xfc, 0x1f, 0xf0, 0x07}; static char circle_bold_bits[] = { 0x00, 0x00, 0xe0, 0x03, 0xf8, 0x0f, 0x1c, 0x1c, 0x0c, 0x18, 0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x0c, 0x18, 0x1c, 0x1c, 0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00}; static BtnIcon circ = { circle_bits, circle_mask_bits, circle_width, circle_height }; static BtnIcon circb = { circle_bold_bits, circle_mask_bits, circle_width, circle_height }; #define ell_width 23 #define ell_height 11 static char ell_bits[] = { 0x00, 0x00, 0x00, 0x80, 0xff, 0x00, 0x70, 0x00, 0x07, 0x0c, 0x00, 0x18, 0x02, 0x00, 0x20, 0x02, 0x00, 0x20, 0x02, 0x00, 0x20, 0x0c, 0x00, 0x18, 0x70, 0x00, 0x07, 0x80, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static char ell_mask_bits[] = { 0xc0, 0xff, 0x01, 0xf8, 0xff, 0x0f, 0xfe, 0xff, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0x80, 0x7f, 0x1f, 0x00, 0x7c, 0xff, 0x80, 0x7f, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0x3f, 0xf8, 0xff, 0x0f, 0xc0, 0xff, 0x01}; static char ell_bold_bits[] = { 0x00, 0x00, 0x00, 0x80, 0xff, 0x00, 0xf0, 0xff, 0x07, 0x7c, 0x00, 0x1f, 0x0e, 0x00, 0x38, 0x06, 0x00, 0x30, 0x0e, 0x00, 0x38, 0x7c, 0x00, 0x1f, 0xf0, 0xff, 0x07, 0x80, 0xff, 0x00, 0x00, 0x00, 0x00}; static BtnIcon ell = { ell_bits, ell_mask_bits, ell_width, ell_height }; static BtnIcon ellb = { ell_bold_bits, ell_mask_bits, ell_width, ell_height }; #define arr_width 16 #define arr_height 9 static char arr_bits[] = { 0x00, 0x00, 0x80, 0x01, 0x60, 0x00, 0x18, 0x00, 0xfe, 0x7f, 0x18, 0x00, 0x60, 0x00, 0x80, 0x01, 0x00, 0x00}; static char arr_mask_bits[] = { 0xc0, 0x03, 0xf0, 0x03, 0xfc, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xf0, 0x03, 0xc0, 0x03}; static char arr_bold_bits[] = { 0x00, 0x00, 0x80, 0x01, 0xe0, 0x01, 0xf8, 0x00, 0xfe, 0x7f, 0xf8, 0x00, 0xe0, 0x01, 0x80, 0x01, 0x00, 0x00}; static BtnIcon arr = { arr_bits, arr_mask_bits, arr_width, arr_height }; static BtnIcon arrb = { arr_bold_bits, arr_mask_bits, arr_width, arr_height }; #define ortho_width 15 #define ortho_height 12 static char ortho_bits[] = { 0x00, 0x00, 0x38, 0x1c, 0x44, 0x22, 0x82, 0x22, 0x82, 0x22, 0x82, 0x1c, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x44, 0x00, 0x38, 0x00, 0x00, 0x00}; static char ortho_mask_bits[] = { 0x7c, 0x3e, 0xfe, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xef, 0x7f, 0xef, 0x7f, 0xef, 0x3f, 0xef, 0x01, 0xff, 0x01, 0xff, 0x01, 0xfe, 0x00, 0x7c, 0x00}; static char ortho_bold_bits[] = { 0x00, 0x00, 0x38, 0x1c, 0x6c, 0x36, 0xc6, 0x36, 0xc6, 0x36, 0xc6, 0x1c, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0x6c, 0x00, 0x38, 0x00, 0x00, 0x00}; static BtnIcon orth = { ortho_bits, ortho_mask_bits, ortho_width, ortho_height }; static BtnIcon orthb = { ortho_bold_bits, ortho_mask_bits, ortho_width, ortho_height }; #define pie_width 15 #define pie_height 12 static char pie_bits[] = { 0x00, 0x00, 0xe0, 0x03, 0xf0, 0x07, 0xb8, 0x0e, 0x9c, 0x1c, 0x0c, 0x18, 0x3c, 0x1e, 0x0c, 0x18, 0x9c, 0x1c, 0xb8, 0x0e, 0xf0, 0x07, 0xe0, 0x03}; static char pie_mask_bits[] = { 0xff, 0xff, 0x1f, 0xfc, 0x0f, 0xf8, 0x47, 0xf1, 0x63, 0xe3, 0xf3, 0xe7, 0xc3, 0xe1, 0xf3, 0xe7, 0x63, 0xe3, 0x47, 0xf1, 0x0f, 0xf8, 0x1f, 0xfc}; static char pie_bold_bits[] = { 0x00, 0x00, 0xe0, 0x03, 0xf0, 0x07, 0xb8, 0x0e, 0x9c, 0x1c, 0x0c, 0x18, 0x3c, 0x1e, 0x0c, 0x18, 0x9c, 0x1c, 0xb8, 0x0e, 0xf0, 0x07, 0xe0, 0x03}; static BtnIcon pie = { pie_bits, pie_mask_bits, pie_width, pie_height }; static BtnIcon pieb = { pie_bold_bits, pie_mask_bits, pie_width, pie_height }; #define pnt_width 6 #define pnt_height 6 static char pnt_bits[] = { 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00}; static char pnt_mask_bits[] = { 0x1e, 0x3f, 0x3f, 0x3f, 0x3f, 0x1e}; static char pnt_bold_bits[] = { 0x00, 0x0c, 0x1e, 0x1e, 0x0c, 0x00}; static BtnIcon pnt = { pnt_bits, pnt_mask_bits, pnt_width, pnt_height }; static BtnIcon pntb = { pnt_bold_bits, pnt_mask_bits, pnt_width, pnt_height }; #define ann_width 15 #define ann_height 15 static char ann_bits[] = { 0x00, 0x00, 0xfe, 0x3f, 0x02, 0x20, 0x02, 0x20, 0xf2, 0x27, 0x12, 0x24, 0x12, 0x24, 0x12, 0x24, 0x12, 0x24, 0x12, 0x24, 0xf2, 0x27, 0x02, 0x20, 0x02, 0x20, 0xfe, 0x3f, 0x00, 0x00}; static char ann_mask_bits[] = { 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f}; static char ann_bold_bits[] = { 0x00, 0x00, 0xfe, 0x3f, 0xfe, 0x3f, 0x06, 0x30, 0xf6, 0x37, 0xf6, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xf6, 0x37, 0xf6, 0x37, 0x06, 0x30, 0xfe, 0x3f, 0xfe, 0x3f, 0x00, 0x00}; static BtnIcon ann = { ann_bits, ann_mask_bits, ann_width, ann_height }; static BtnIcon annb = { ann_bold_bits, ann_mask_bits, ann_width, ann_height }; static BtnSpec CursorA[] = { { "point", 0, NULL, 0, NULL, 0, NULL, 0, &pnt, &pnt, &pntb, &pntb, 0, 2, { BTNMode, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Point } }, { "poly", 0, NULL, 0, NULL, 0, NULL, 0, &poly, &poly, &polyb, &polyb, 0, 2, { BTNMode, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Polygon } }, { "circle", 0, NULL, 0, NULL, 0, NULL, 0, &circ, &circ, &circb, &circb, 0, 2, { BTNMode, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Circle } }, { "ellipse", 0, NULL, 0, NULL, 0, NULL, 0, &ell, &ell, &ellb, &ellb, 0, 2, { BTNMode, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Ellipse } }, { "box", 0, NULL, 0, NULL, 0, NULL, 0, &box, &box, &boxb, &boxb, 0, 2, { BTNMode, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Box } }, { "pie", 0, NULL, 0, NULL, 0, NULL, 0, &box, &box, &boxb, &boxb, 0, 2, { BTNMode, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_PieSlice } }, { "ortho", 0, NULL, 0, NULL, 0, NULL, 0, &orth, &orth, &orthb, &orthb, 0, 2, { BTNFlash, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Orthogonal } }, { "annuli", 0, NULL, 0, NULL, 0, NULL, 0, &ann, &ann, &annb, &annb, 0, 2, { BTNToggle, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Annuli } }, { "arrow", 0, NULL, 0, NULL, 0, NULL, 0, &arr, &arr, &arrb, &arrb, 0, 2, { BTNMode, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Arrow } }, { "abc", 0, NULL, 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL, 0, 2, { BTNMode, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { COP, COP_Text } } }; static BtnSpec CursorB[] = { { "region", 0, NULL, 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL, 0, 2, { BTNToggle, BTNCoWhile }, { ControlMask, ControlMask }, { 0x0, ControlMask }, { ROP, 0 } } }; BoxSpec CursorBoxes[] = { { "CursorA", { 0, 10, 10, 1, 10.28571, 1.0, 0.0, 0.0, 0, 1 }, CursorA }, { "CursorB", { 0, 1, 1, 1, 8.0, 1.0, 0.875, 0.0, 0, 1 }, CursorB } }; PanelAttach CursorAttach = { "MainPanel", "MainA", 0, 1, 0, ControlMask, 0, 1, { COP } }; /* PanelSpec CursorPanel = { "CursorPanel", "menucsr.h", 1, 1, CursorBoxes, &CursorAttach }; */