// File: OpenGl_Display_2.cxx // Created: 25 October 2011 // Author: Sergey ZERCHANINOV // Copyright: OPEN CASCADE 2011 #include #include #ifdef HAVE_GL2PS #include #endif #define DOT_LS 0xCCCC #define DASH_DOT_LS 0xFF18 #define DASH_LS 0xFFC0 #define DASH_DDOT_LS 0xFF24 static const unsigned int myInteriors[TEL_HS_USER_DEF_START][32] = { //TEL_HS_SOLID { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }, //TEL_HS_CROSS { 0xFFFFFFFF, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB, 0xEEEEEEEE, 0xBBBBBBBB }, //TEL_HS_CROSS_SPARSE { 0x81818181, 0x24242424, 0x18181818, 0x42424242, 0x81818181, 0x24242424, 0x18181818, 0x42424242, 0x81818181, 0x24242424, 0x18181818, 0x42424242, 0x81818181, 0x24242424, 0x18181818, 0x42424242, 0x81818181, 0x24242424, 0x18181818, 0x42424242, 0x81818181, 0x24242424, 0x18181818, 0x42424242, 0x81818181, 0x24242424, 0x18181818, 0x42424242, 0x81818181, 0x24242424, 0x18181818, 0x42424242 }, //TEL_HS_GRID { 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888, 0xFFFFFFFF, 0x88888888 }, //TEL_HS_GRID_SPARSE { 0xFFFFFFFF, 0x80808080, 0x80808080, 0x80808080, 0xFFFFFFFF, 0x80808080, 0x80808080, 0x80808080, 0xFFFFFFFF, 0x80808080, 0x80808080, 0x80808080, 0xFFFFFFFF, 0x80808080, 0x80808080, 0x80808080, 0xFFFFFFFF, 0x80808080, 0x80808080, 0x80808080, 0xFFFFFFFF, 0x80808080, 0x80808080, 0x80808080, 0xFFFFFFFF, 0x80808080, 0x80808080, 0x80808080, 0xFFFFFFFF, 0x80808080, 0x80808080, 0x80808080 }, //TEL_HS_DIAG_45 { 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222, 0x88888888, 0x22222222 }, //TEL_HS_DIAG_135 { 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444, 0x11111111, 0x44444444 }, //TEL_HS_HORIZONTAL { 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000 }, //TEL_HS_VERTICAL { 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111, 0x11111111 }, //TEL_HS_DIAG_45_SPARSE { 0x80808080, 0x20202020, 0x08080808, 0x02020202, 0x80808080, 0x20202020, 0x08080808, 0x02020202, 0x80808080, 0x20202020, 0x08080808, 0x02020202, 0x80808080, 0x20202020, 0x08080808, 0x02020202, 0x80808080, 0x20202020, 0x08080808, 0x02020202, 0x80808080, 0x20202020, 0x08080808, 0x02020202, 0x80808080, 0x20202020, 0x08080808, 0x02020202, 0x80808080, 0x20202020, 0x08080808, 0x02020202 }, //TEL_HS_DIAG_135_SPARSE { 0x01010101, 0x04040404, 0x10101010, 0x40404040, 0x01010101, 0x04040404, 0x10101010, 0x40404040, 0x01010101, 0x04040404, 0x10101010, 0x40404040, 0x01010101, 0x04040404, 0x10101010, 0x40404040, 0x01010101, 0x04040404, 0x10101010, 0x40404040, 0x01010101, 0x04040404, 0x10101010, 0x40404040, 0x01010101, 0x04040404, 0x10101010, 0x40404040, 0x01010101, 0x04040404, 0x10101010, 0x40404040 }, //TEL_HS_HORIZONTAL_SPARSE { 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000 }, //TEL_HS_VERTICAL_SPARSE { 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010 } }; /* Following Section relates to POLYMARKER */ #define TEL_NO_OF_SIZES 13 #define TEL_NB_OF_LISTS 5 struct PM_FONT_INFO { const char *str; Tfloat width, height; Tint offset; }; typedef PM_FONT_INFO* pm_font_info; #define PM_PLUS_10_NUM 9*2 #define PM_PLUS_15_NUM 11*2 #define PM_PLUS_20_NUM 13*2 #define PM_PLUS_25_NUM 15*2 #define PM_PLUS_30_NUM 17*3 #define PM_PLUS_35_NUM 19*3 #define PM_PLUS_40_NUM 21*3 #define PM_PLUS_45_NUM 23*3 #define PM_PLUS_50_NUM 25*4 #define PM_PLUS_55_NUM 27*4 #define PM_PLUS_60_NUM 29*4 #define PM_PLUS_65_NUM 31*4 #define PM_PLUS_70_NUM 32*4 #define PM_STAR_10_NUM 9 #define PM_STAR_15_NUM 11*2 #define PM_STAR_20_NUM 13*2 #define PM_STAR_25_NUM 15*2 #define PM_STAR_30_NUM 17*2 #define PM_STAR_35_NUM 19*2 #define PM_STAR_40_NUM 21*3 #define PM_STAR_45_NUM 23*3 #define PM_STAR_50_NUM 25*3 #define PM_STAR_55_NUM 27*3 #define PM_STAR_60_NUM 29*4 #define PM_STAR_65_NUM 32*4 #define PM_STAR_70_NUM 32*4 #define PM_CIRC_10_NUM 7 #define PM_CIRC_15_NUM 9*2 #define PM_CIRC_20_NUM 9*2 #define PM_CIRC_25_NUM 11*2 #define PM_CIRC_30_NUM 13*2 #define PM_CIRC_35_NUM 15*2 #define PM_CIRC_40_NUM 17*3 #define PM_CIRC_45_NUM 19*3 #define PM_CIRC_50_NUM 21*3 #define PM_CIRC_55_NUM 23*3 #define PM_CIRC_60_NUM 25*4 #define PM_CIRC_65_NUM 27*4 #define PM_CIRC_70_NUM 29*4 #define PM_CROSS_10_NUM 7 #define PM_CROSS_15_NUM 9*2 #define PM_CROSS_20_NUM 11*2 #define PM_CROSS_25_NUM 13*2 #define PM_CROSS_30_NUM 15*2 #define PM_CROSS_35_NUM 17*3 #define PM_CROSS_40_NUM 19*3 #define PM_CROSS_45_NUM 21*3 #define PM_CROSS_50_NUM 23*3 #define PM_CROSS_55_NUM 25*4 #define PM_CROSS_60_NUM 27*4 #define PM_CROSS_65_NUM 32*4 #define PM_CROSS_70_NUM 32*4 #define PM_PLUS_10_OFT 0 #define PM_PLUS_15_OFT PM_PLUS_10_OFT + PM_PLUS_10_NUM #define PM_PLUS_20_OFT PM_PLUS_15_OFT + PM_PLUS_15_NUM #define PM_PLUS_25_OFT PM_PLUS_20_OFT + PM_PLUS_20_NUM #define PM_PLUS_30_OFT PM_PLUS_25_OFT + PM_PLUS_25_NUM #define PM_PLUS_35_OFT PM_PLUS_30_OFT + PM_PLUS_30_NUM #define PM_PLUS_40_OFT PM_PLUS_35_OFT + PM_PLUS_35_NUM #define PM_PLUS_45_OFT PM_PLUS_40_OFT + PM_PLUS_40_NUM #define PM_PLUS_50_OFT PM_PLUS_45_OFT + PM_PLUS_45_NUM #define PM_PLUS_55_OFT PM_PLUS_50_OFT + PM_PLUS_50_NUM #define PM_PLUS_60_OFT PM_PLUS_55_OFT + PM_PLUS_55_NUM #define PM_PLUS_65_OFT PM_PLUS_60_OFT + PM_PLUS_60_NUM #define PM_PLUS_70_OFT PM_PLUS_65_OFT + PM_PLUS_65_NUM #define PM_STAR_10_OFT PM_PLUS_70_OFT + PM_PLUS_70_NUM #define PM_STAR_15_OFT PM_STAR_10_OFT + PM_STAR_10_NUM #define PM_STAR_20_OFT PM_STAR_15_OFT + PM_STAR_15_NUM #define PM_STAR_25_OFT PM_STAR_20_OFT + PM_STAR_20_NUM #define PM_STAR_30_OFT PM_STAR_25_OFT + PM_STAR_25_NUM #define PM_STAR_35_OFT PM_STAR_30_OFT + PM_STAR_30_NUM #define PM_STAR_40_OFT PM_STAR_35_OFT + PM_STAR_35_NUM #define PM_STAR_45_OFT PM_STAR_40_OFT + PM_STAR_40_NUM #define PM_STAR_50_OFT PM_STAR_45_OFT + PM_STAR_45_NUM #define PM_STAR_55_OFT PM_STAR_50_OFT + PM_STAR_50_NUM #define PM_STAR_60_OFT PM_STAR_55_OFT + PM_STAR_55_NUM #define PM_STAR_65_OFT PM_STAR_60_OFT + PM_STAR_60_NUM #define PM_STAR_70_OFT PM_STAR_65_OFT + PM_STAR_65_NUM #define PM_CIRC_10_OFT PM_STAR_70_OFT + PM_STAR_70_NUM #define PM_CIRC_15_OFT PM_CIRC_10_OFT + PM_CIRC_10_NUM #define PM_CIRC_20_OFT PM_CIRC_15_OFT + PM_CIRC_15_NUM #define PM_CIRC_25_OFT PM_CIRC_20_OFT + PM_CIRC_20_NUM #define PM_CIRC_30_OFT PM_CIRC_25_OFT + PM_CIRC_25_NUM #define PM_CIRC_35_OFT PM_CIRC_30_OFT + PM_CIRC_30_NUM #define PM_CIRC_40_OFT PM_CIRC_35_OFT + PM_CIRC_35_NUM #define PM_CIRC_45_OFT PM_CIRC_40_OFT + PM_CIRC_40_NUM #define PM_CIRC_50_OFT PM_CIRC_45_OFT + PM_CIRC_45_NUM #define PM_CIRC_55_OFT PM_CIRC_50_OFT + PM_CIRC_50_NUM #define PM_CIRC_60_OFT PM_CIRC_55_OFT + PM_CIRC_55_NUM #define PM_CIRC_65_OFT PM_CIRC_60_OFT + PM_CIRC_60_NUM #define PM_CIRC_70_OFT PM_CIRC_65_OFT + PM_CIRC_65_NUM #define PM_CROSS_10_OFT PM_CIRC_70_OFT + PM_CIRC_70_NUM #define PM_CROSS_15_OFT PM_CROSS_10_OFT + PM_CROSS_10_NUM #define PM_CROSS_20_OFT PM_CROSS_15_OFT + PM_CROSS_15_NUM #define PM_CROSS_25_OFT PM_CROSS_20_OFT + PM_CROSS_20_NUM #define PM_CROSS_30_OFT PM_CROSS_25_OFT + PM_CROSS_25_NUM #define PM_CROSS_35_OFT PM_CROSS_30_OFT + PM_CROSS_30_NUM #define PM_CROSS_40_OFT PM_CROSS_35_OFT + PM_CROSS_35_NUM #define PM_CROSS_45_OFT PM_CROSS_40_OFT + PM_CROSS_40_NUM #define PM_CROSS_50_OFT PM_CROSS_45_OFT + PM_CROSS_45_NUM #define PM_CROSS_55_OFT PM_CROSS_50_OFT + PM_CROSS_50_NUM #define PM_CROSS_60_OFT PM_CROSS_55_OFT + PM_CROSS_55_NUM #define PM_CROSS_65_OFT PM_CROSS_60_OFT + PM_CROSS_60_NUM #define PM_CROSS_70_OFT PM_CROSS_65_OFT + PM_CROSS_65_NUM static const PM_FONT_INFO arrPMFontInfo[][TEL_NO_OF_SIZES] = { /* TOM_POINT - not used */ {{"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}}, /* TOM_PLUS */ {{"\001", 9.f, 9.f, PM_PLUS_10_OFT}, {"\002", 11.f, 11.f, PM_PLUS_15_OFT}, {"\003", 13.f, 13.f, PM_PLUS_20_OFT}, {"\004", 15.f, 15.f, PM_PLUS_25_OFT}, {"\005", 17.f, 17.f, PM_PLUS_30_OFT}, {"\006", 19.f, 19.f, PM_PLUS_35_OFT}, {"\007", 21.f, 21.f, PM_PLUS_40_OFT}, {"\010", 23.f, 23.f, PM_PLUS_45_OFT}, {"\011", 25.f, 25.f, PM_PLUS_50_OFT}, {"\012", 27.f, 27.f, PM_PLUS_55_OFT}, {"\013", 29.f, 29.f, PM_PLUS_60_OFT}, {"\014", 31.f, 31.f, PM_PLUS_65_OFT}, {"\015", 32.f, 32.f, PM_PLUS_70_OFT}}, /* TOM_STAR */ {{"\016", 7.f, 9.f, PM_STAR_10_OFT}, {"\017", 9.f, 11.f, PM_STAR_15_OFT}, {"\020", 11.f, 13.f, PM_STAR_20_OFT}, {"\021", 13.f, 15.f, PM_STAR_25_OFT}, {"\022", 13.f, 17.f, PM_STAR_30_OFT}, {"\023", 15.f, 19.f, PM_STAR_35_OFT}, {"\024", 17.f, 21.f, PM_STAR_40_OFT}, {"\025", 19.f, 23.f, PM_STAR_45_OFT}, {"\026", 21.f, 25.f, PM_STAR_50_OFT}, {"\027", 23.f, 27.f, PM_STAR_55_OFT}, {"\030", 25.f, 29.f, PM_STAR_60_OFT}, {"\031", 32.f, 32.f, PM_STAR_65_OFT}, {"\032", 32.f, 32.f, PM_STAR_70_OFT}}, /* TOM_O */ {{"\033", 7.f, 7.f, PM_CIRC_10_OFT}, {"\034", 9.f, 9.f, PM_CIRC_15_OFT}, {"\035", 9.f, 9.f, PM_CIRC_20_OFT}, {"\036", 11.f, 11.f, PM_CIRC_25_OFT}, {"\037", 13.f, 13.f, PM_CIRC_30_OFT}, {"\040", 15.f, 15.f, PM_CIRC_35_OFT}, {"\041", 17.f, 17.f, PM_CIRC_40_OFT}, {"\042", 19.f, 19.f, PM_CIRC_45_OFT}, {"\043", 21.f, 21.f, PM_CIRC_50_OFT}, {"\044", 23.f, 23.f, PM_CIRC_55_OFT}, {"\045", 25.f, 25.f, PM_CIRC_60_OFT}, {"\046", 27.f, 27.f, PM_CIRC_65_OFT}, {"\047", 29.f, 29.f, PM_CIRC_70_OFT}}, /* TOM_X */ {{"\050", 7.f, 7.f, PM_CROSS_10_OFT}, {"\051", 9.f, 9.f, PM_CROSS_15_OFT}, {"\052", 11.f, 11.f, PM_CROSS_20_OFT}, {"\053", 13.f, 13.f, PM_CROSS_25_OFT}, {"\054", 15.f, 15.f, PM_CROSS_30_OFT}, {"\055", 17.f, 17.f, PM_CROSS_35_OFT}, {"\056", 19.f, 19.f, PM_CROSS_40_OFT}, {"\057", 21.f, 21.f, PM_CROSS_45_OFT}, {"\060", 23.f, 23.f, PM_CROSS_50_OFT}, {"\061", 25.f, 25.f, PM_CROSS_55_OFT}, {"\062", 27.f, 27.f, PM_CROSS_60_OFT}, {"\063", 32.f, 32.f, PM_CROSS_65_OFT}, {"\064", 32.f, 32.f, PM_CROSS_70_OFT}}, /* TOM_O_POINT - not used */ {{"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}, {"\0"}}, /* TOM_O_PLUS */ {{"\001\033"}, {"\002\034"}, {"\003\035"}, {"\004\036"}, {"\005\037"}, {"\006\040"}, {"\007\041"}, {"\010\042"}, {"\011\043"}, {"\012\044"}, {"\013\045"}, {"\014\046"}, {"\015\047"}}, /* TOM_O_STAR */ {{"\016\033"}, {"\017\034"}, {"\020\035"}, {"\021\036"}, {"\022\037"}, {"\023\040"}, {"\024\041"}, {"\025\042"}, {"\026\043"}, {"\027\044"}, {"\030\045"}, {"\031\046"}, {"\032\047"}}, /* TOM_O_X */ {{"\050\033"}, {"\051\034"}, {"\052\035"}, {"\053\036"}, {"\054\037"}, {"\055\040"}, {"\056\041"}, {"\057\042"}, {"\060\043"}, {"\061\044"}, {"\062\045"}, {"\063\046"}, {"\064\047"}} }; static const unsigned char myMarkerRaster[] = { /* TYPE = PLUS */ 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0xff,0x80, 0x08,0x00, 0x08,0x00, 0x08,0x00, 0x08,0x00, /* PLUS 9x9 = 1.0 */ 0x04,0x00, 0x04,0x00, 0x04,0x00, 0x04,0x00, 0x04,0x00, 0xff,0xe0, 0x04,0x00, 0x04,0x00, 0x04,0x00, 0x04,0x00, 0x04,0x00, /* PLUS 11x11 = 1.5 */ 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0xff,0xf8, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00,/* PLUS 13x13 = 2.0 */ 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0xff,0xfe, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00,/* PLUS 15x15 = 2.5 */ 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0xff,0xff, 0x80, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00,/* PLUS 17x17 = 3.0 */ 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0xff,0xff, 0xe0, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00,/* PLUS 19x19 = 3.5 */ 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0xff,0xff, 0xf8, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00,/* PLUS 21x21 = 4.0 */ 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0xff,0xff, 0xfe, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00,/* PLUS 23x23 = 4.5 */ 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0xff,0xff, 0xff,0x80, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00,/* PLUS 25x25 = 5.0 */ 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0xff,0xff, 0xff,0xe0, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x04, 0x00,0x00,/* PLUS 27x27 = 5.5 */ 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0xff,0xff, 0xff,0xf8, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x02, 0x00,0x00,/* PLUS 29x29 = 6.0 */ 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0xff,0xff, 0xff,0xfd, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00, 0x00,0x01, 0x00,0x00,/* PLUS 31x31 = 6.5 */ 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, 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, 0xff,0xff, 0xff,0xff, 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, 0x80,0x00, 0x00,0x00, 0x80,0x00, 0x00,0x00, 0x80,0x00, 0x00,0x00, 0x80,0x00, 0x00,0x00, 0x80,0x00, 0x00,0x00, 0x80,0x00,/* PLUS 32x32 = 7.0 */ /* TYPE = STAR */ 0x10, 0x10, 0xd6, 0x38, 0x10, 0x38, 0xd6, 0x10, 0x10,/* STAR 7x9 = 1.0 */ 0x08,0x00, 0x08,0x00, 0x08,0x00, 0xc9,0x80, 0x3e,0x00, 0x08,0x00, 0x3e,0x00, 0xc9,0x80, 0x08,0x00, 0x08,0x00, 0x08,0x00,/* STAR 9x11 = 1.5 */ 0x04,0x00, 0x04,0x00, 0x04,0x00, 0x84,0x20, 0x64,0xc0, 0x1f,0x00, 0x04,0x00, 0x1f,0x00, 0x64,0xc0, 0x84,0x20, 0x04,0x00, 0x04,0x00, 0x04,0x00,/* STAR 11x13 = 2.0 */ 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x82,0x18, 0x62,0x60, 0x1b,0x80, 0x06,0x00, 0x1b,0x80, 0x62,0x60, 0x82,0x18, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00,/* STAR 13x15 = 2.5 */ 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x82,0x08, 0x62,0x30, 0x12,0x40, 0x0f,0x80, 0x02,0x00, 0x0f,0x80, 0x12,0x40, 0x62,0x30, 0x82,0x08, 0x02,0x00, 0x02,0x00, 0x02,0x00, 0x02,0x00,/* STAR 13x17 = 3.0 */ 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0xc1,0x06, 0x21,0x18, 0x19,0x20, 0x07,0xc0, 0x01,0x00, 0x07,0xc0, 0x19,0x20, 0x21,0x18, 0xc1,0x06, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00, 0x01,0x00,/* STAR 15x19 = 3.5 */ 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x80,0x80, 0x80, 0x60,0x83, 0x00, 0x10,0x8c, 0x00, 0x0c,0x90, 0x00, 0x03,0xe0, 0x00, 0x00,0x80, 0x00, 0x03,0xe0, 0x00, 0x0c,0x90, 0x00, 0x10,0x8c, 0x00, 0x60,0x83, 0x00, 0x80,0x80, 0x80, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00, 0x00,0x80, 0x00,/* STAR 17x21 = 4.0 */ 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0xc0,0x40, 0x60, 0x30,0x41, 0x80, 0x08,0x42, 0x00, 0x06,0x4c, 0x00, 0x01,0xf0, 0x00, 0x00,0x40, 0x00, 0x01,0xf0, 0x00, 0x06,0x4c, 0x00, 0x08,0x42, 0x00, 0x30,0x41, 0x80, 0xc0,0x40, 0x60, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00, 0x00,0x40, 0x00,/* STAR 19x23 = 4.5 */ 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x80,0x20, 0x08, 0x60,0x20, 0x30, 0x18,0x20, 0xc0, 0x04,0x21, 0x00, 0x03,0x26, 0x00, 0x00,0xf8, 0x00, 0x00,0x20, 0x00, 0x00,0xf8, 0x00, 0x03,0x26, 0x00, 0x04,0x21, 0x00, 0x18,0x20, 0xc0, 0x60,0x20, 0x30, 0x80,0x20, 0x08, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00, 0x00,0x20, 0x00,/* STAR 21x25 = 5.0 */ 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0xc0,0x10, 0x06, 0x30,0x10, 0x18, 0x08,0x10, 0x60, 0x06,0x10, 0x80, 0x01,0x93, 0x00, 0x00,0x7c, 0x00, 0x00,0x10, 0x00, 0x00,0x7c, 0x00, 0x01,0x93, 0x00, 0x06,0x10, 0x80, 0x08,0x10, 0x60, 0x30,0x10, 0x18, 0xc0,0x10, 0x06, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00, 0x00,0x10, 0x00,/* STAR 23x27 = 5.5 */ 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x80,0x08, 0x00,0x80, 0x60,0x08, 0x03,0x00, 0x18,0x08, 0x0c,0x00, 0x04,0x08, 0x30,0x00, 0x03,0x08, 0x40,0x00, 0x00,0xc9, 0x80,0x00, 0x00,0x3e, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x3e, 0x00,0x00, 0x00,0xc9, 0x80,0x00, 0x03,0x08, 0x40,0x00, 0x04,0x08, 0x30,0x00, 0x18,0x08, 0x0c,0x00, 0x60,0x08, 0x03,0x00, 0x80,0x08, 0x00,0x80, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x08, 0x00,0x00,/* STAR 25x29 = 6.0 */ 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, 0x30,0x00, 0x80,0x06, 0x0c,0x00, 0x80,0x18, 0x03,0x00, 0x80,0x60, 0x00,0xc0, 0x81,0x80, 0x00,0x30, 0x86,0x00, 0x00,0x0c, 0x98,0x00, 0x00,0x03, 0xe0,0x00, 0x00,0x03, 0xe0,0x00, 0x00,0x0c, 0x98,0x00, 0x00,0x30, 0x86,0x00, 0x00,0xc0, 0x81,0x80, 0x03,0x00, 0x80,0x60, 0x0c,0x00, 0x80,0x18, 0x30,0x00, 0x80,0x06, 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,/* STAR 32x32 = 6.5 */ 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, 0x10, 0x00, 0x80, 0x04, 0x0c, 0x00, 0x80, 0x18, 0x02, 0x00, 0x80, 0x20, 0x01, 0x80, 0x80, 0xc0, 0x00, 0x40, 0x81, 0x00, 0x00, 0x30, 0x86, 0x00, 0x00, 0x08, 0x88, 0x00, 0x00, 0x06, 0xb0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x06, 0xb0, 0x00, 0x00, 0x08, 0x88, 0x00, 0x00, 0x30, 0x86, 0x00, 0x00, 0x40, 0x81, 0x00, 0x01, 0x80, 0x80, 0xc0, 0x02, 0x00, 0x80, 0x20, 0x0c, 0x00, 0x80, 0x18, 0x10, 0x00, 0x80, 0x04, 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,/* STAR 32x32 = 7.0 */ /* TYPE = CIRC */ 0x38, 0x44, 0x82, 0x82, 0x82, 0x44, 0x38,/* CIRC 7x7 = 1.0 */ 0x3c,0x00, 0x42,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x81,0x00, 0x42,0x00, 0x3c,0x00, 0x00,0x00,/*CIRC 9x9 = 1.5 */ 0x3e, 0x00, 0x41, 0x00, 0x81, 0x80, 0x80,0x80, 0x80,0x80, 0x80,0x80, 0x81, 0x80, 0x41, 0x00, 0x3e,0x00,/* CIRC 9x9 = 2.0 */ 0x1f,0x00, 0x20,0x80, 0x40,0x40, 0x80,0x20, 0x80,0x20, 0x80,0x20, 0x80,0x20, 0x80,0x20, 0x40,0x40, 0x20,0x80, 0x1f,0x00,/* CIRC 11x11 = 2.5 */ 0x0f,0x80, 0x10,0x40, 0x20,0x20, 0x40,0x10, 0x80,0x08, 0x80,0x08, 0x80,0x08, 0x80,0x08, 0x80,0x08, 0x40,0x10, 0x20,0x20, 0x10,0x40, 0x0f,0x80,/* CIRC 13x13 = 3.0 */ 0x07,0xc0, 0x18,0x30, 0x20,0x08, 0x40,0x04, 0x40,0x04, 0x80,0x02, 0x80,0x02, 0x80,0x02, 0x80,0x02, 0x80,0x02, 0x40,0x04, 0x40,0x04, 0x20,0x08, 0x18,0x30, 0x07,0xc0,/* CIRC 15x15 = 3.5 */ 0x03,0xe0, 0x00, 0x0c,0x18, 0x00, 0x10,0x04, 0x00, 0x20,0x02, 0x00, 0x40,0x01, 0x00, 0x40,0x01, 0x00, 0x80,0x00, 0x80, 0x80,0x00, 0x80, 0x80,0x00, 0x80, 0x80,0x00, 0x80, 0x80,0x00, 0x80, 0x40,0x01, 0x00, 0x40,0x01, 0x00, 0x20,0x02, 0x00, 0x10,0x04, 0x00, 0x0c,0x18, 0x00, 0x03,0xe0, 0x00,/* CIRC 17x17 = 4.0 */ 0x03,0xf8, 0x00, 0x0e,0x0e, 0x00, 0x18,0x03, 0x00, 0x20,0x00, 0x80, 0x60,0x00, 0xc0, 0x40,0x00, 0x40, 0xc0,0x00, 0x60, 0x80,0x00, 0x20, 0x80,0x00, 0x20, 0x80,0x00, 0x20, 0x80,0x00, 0x20, 0x80,0x00, 0x20, 0xc0,0x00, 0x60, 0x40,0x00, 0x40, 0x60,0x00, 0xc0, 0x20,0x00, 0x80, 0x18,0x03, 0x00, 0x0e,0x0e, 0x00, 0x03,0xf8, 0x00,/* CIRC 19x19 = 4.5 */ 0x01,0xfc, 0x00, 0x06,0x03, 0x00, 0x08,0x00, 0x80, 0x10,0x00, 0x40, 0x20,0x00, 0x20, 0x40,0x00, 0x10, 0x40,0x00, 0x10, 0x80,0x00, 0x08, 0x80,0x00, 0x08, 0x80,0x00, 0x08, 0x80,0x00, 0x08, 0x80,0x00, 0x08, 0x80,0x00, 0x08, 0x80,0x00, 0x08, 0x40,0x00, 0x10, 0x40,0x00, 0x10, 0x20,0x00, 0x20, 0x10,0x00, 0x40, 0x08,0x00, 0x80, 0x06,0x03, 0x00, 0x01,0xfc, 0x00,/* CIRC 21x21 = 5.0 */ 0x00,0xfe, 0x00, 0x03,0x01, 0x80, 0x0c,0x00, 0x60, 0x18,0x00, 0x30, 0x30,0x00, 0x18, 0x20,0x00, 0x08, 0x40,0x00, 0x04, 0x40,0x00, 0x04, 0x80,0x00, 0x02, 0x80,0x00, 0x02, 0x80,0x00, 0x02, 0x80,0x00, 0x02, 0x80,0x00, 0x02, 0x80,0x00, 0x02, 0x80,0x00, 0x02, 0x40,0x00, 0x04, 0x40,0x00, 0x04, 0x20,0x00, 0x08, 0x30,0x00, 0x18, 0x18,0x00, 0x30, 0x0c,0x00, 0x60, 0x03,0x01, 0x80, 0x00,0xfe, 0x00,/* CIRC 23x23 = 5.5 */ 0x00,0x7f, 0x00,0x00, 0x01,0x80, 0xc0,0x00, 0x06,0x00, 0x30,0x00, 0x08,0x00, 0x08,0x00, 0x10,0x00, 0x04,0x00, 0x20,0x00, 0x02,0x00, 0x20,0x00, 0x02,0x00, 0x40,0x00, 0x01,0x00, 0x40,0x00, 0x01,0x00, 0x80,0x00, 0x00,0x80, 0x80,0x00, 0x00,0x80, 0x80,0x00, 0x00,0x80, 0x80,0x00, 0x00,0x80, 0x80,0x00, 0x00,0x80, 0x80,0x00, 0x00,0x80, 0x80,0x00, 0x00,0x80, 0x40,0x00, 0x01,0x00, 0x40,0x00, 0x01,0x00, 0x20,0x00, 0x02,0x00, 0x20,0x00, 0x02,0x00, 0x10,0x00, 0x04,0x00, 0x08,0x00, 0x08,0x00, 0x06,0x00, 0x30,0x00, 0x01,0x80, 0xc0,0x00, 0x00,0x7f, 0x00,0x00,/* CIRC 25x25 = 6.0 */ 0x00,0x3f, 0x80,0x00, 0x01,0xc0, 0x70,0x00, 0x03,0x00, 0x18,0x00, 0x0c,0x00, 0x06,0x00, 0x18,0x00, 0x03,0x00, 0x10,0x00, 0x01,0x00, 0x20,0x00, 0x00,0x80, 0x60,0x00, 0x00,0xc0, 0x40,0x00, 0x00,0x40, 0x40,0x00, 0x00,0x40, 0x80,0x00, 0x00,0x20, 0x80,0x00, 0x00,0x20, 0x80,0x00, 0x00,0x20, 0x80,0x00, 0x00,0x20, 0x80,0x00, 0x00,0x20, 0x80,0x00, 0x00,0x20, 0x80,0x00, 0x00,0x20, 0x40,0x00, 0x00,0x40, 0x40,0x00, 0x00,0x40, 0x60,0x00, 0x00,0xc0, 0x20,0x00, 0x00,0x80, 0x10,0x00, 0x01,0x00, 0x18,0x00, 0x03,0x00, 0x0c,0x00, 0x06,0x00, 0x03,0x00, 0x18,0x00, 0x01,0xc0, 0x70,0x00, 0x00,0x3f, 0x80,0x00,/* CIRC 27x27 = 6.5 */ 0x00,0x1f, 0xc0,0x00, 0x00,0xe0, 0x38,0x00, 0x01,0x00, 0x04,0x00, 0x06,0x00, 0x03,0x00, 0x08,0x00, 0x00,0x80, 0x10,0x00, 0x00,0x40, 0x10,0x00, 0x00,0x40, 0x20,0x00, 0x00,0x20, 0x40,0x00, 0x00,0x10, 0x40,0x00, 0x00,0x10, 0x40,0x00, 0x00,0x10, 0x80,0x00, 0x00,0x08, 0x80,0x00, 0x00,0x08, 0x80,0x00, 0x00,0x08, 0x80,0x00, 0x00,0x08, 0x80,0x00, 0x00,0x08, 0x80,0x00, 0x00,0x08, 0x80,0x00, 0x00,0x08, 0x40,0x00, 0x00,0x10, 0x40,0x00, 0x00,0x10, 0x40,0x00, 0x00,0x10, 0x20,0x00, 0x00,0x20, 0x10,0x00, 0x00,0x40, 0x10,0x00, 0x00,0x40, 0x08,0x00, 0x00,0x80, 0x06,0x00, 0x03,0x00, 0x01,0x00, 0x04,0x00, 0x00,0xe0, 0x38,0x00, 0x00,0x1f, 0xc0,0x00, /* CIRC 29x29 = 7.0 */ /* TYPE = CROSS */ 0x82, 0x44, 0x28, 0x10, 0x28, 0x44, 0x82,/* CROSS 7x7 = 1.0 */ 0x80,0x80, 0x41,0x00, 0x22,0x00, 0x14,0x00, 0x08,0x00, 0x14,0x00, 0x22,0x00, 0x41,0x00, 0x80,0x80,/* CROSS 9x9 = 1.5 */ 0x80,0x20, 0x40,0x40, 0x20,0x80, 0x11,0x00, 0x0a,0x00, 0x04,0x00, 0x0a,0x00, 0x11,0x00, 0x20,0x80, 0x40,0x40, 0x80,0x20,/* CROSS 11x11 = 2.0 */ 0x80,0x08, 0x40,0x10, 0x20,0x20, 0x10,0x40, 0x08,0x80, 0x05,0x00, 0x02,0x00, 0x05,0x00, 0x08,0x80, 0x10,0x40, 0x20,0x20, 0x40,0x10, 0x80,0x08,/* CROSS 13x13 = 2.5 */ 0x80,0x02, 0x40,0x04, 0x20,0x08, 0x10,0x10, 0x08,0x20, 0x04,0x40, 0x02,0x80, 0x01,0x00, 0x02,0x80, 0x04,0x40, 0x08,0x20, 0x10,0x10, 0x20,0x08, 0x40,0x04, 0x80,0x02,/* CROSS 15x15 = 3.0 */ 0x80,0x00, 0x80, 0x40,0x01, 0x00, 0x20,0x02, 0x00, 0x10,0x04, 0x00, 0x08,0x08, 0x00, 0x04,0x10, 0x00, 0x02,0x20, 0x00, 0x01,0x40, 0x00, 0x00,0x80, 0x00, 0x01,0x40, 0x00, 0x02,0x20, 0x00, 0x04,0x10, 0x00, 0x08,0x08, 0x00, 0x10,0x04, 0x00, 0x20,0x02, 0x00, 0x40,0x01, 0x00, 0x80,0x00, 0x80,/* CROSS 17x17 = 3.5 */ 0x80,0x00, 0x20, 0x40,0x00, 0x40, 0x20,0x00, 0x80, 0x10,0x01, 0x00, 0x08,0x02, 0x00, 0x04,0x04, 0x00, 0x02,0x08, 0x00, 0x01,0x10, 0x00, 0x00,0xa0, 0x00, 0x00,0x40, 0x00, 0x00,0xa0, 0x00, 0x01,0x10, 0x00, 0x02,0x08, 0x00, 0x04,0x04, 0x00, 0x08,0x02, 0x00, 0x10,0x01, 0x00, 0x20,0x00, 0x80, 0x40,0x00, 0x40, 0x80,0x00, 0x20,/* CROSS 19x19 = 4.0 */ 0x80,0x00, 0x08, 0x40,0x00, 0x10, 0x20,0x00, 0x20, 0x10,0x00, 0x40, 0x08,0x00, 0x80, 0x04,0x01, 0x00, 0x02,0x02, 0x00, 0x01,0x04, 0x00, 0x00,0x88, 0x00, 0x00,0x50, 0x00, 0x00,0x20, 0x00, 0x00,0x50, 0x00, 0x00,0x88, 0x00, 0x01,0x04, 0x00, 0x02,0x02, 0x00, 0x04,0x01, 0x00, 0x08,0x00, 0x80, 0x10,0x00, 0x40, 0x20,0x00, 0x20, 0x40,0x00, 0x10, 0x80,0x00, 0x08,/* CROSS 21x21 = 4.5 */ 0x80,0x00, 0x02, 0x40,0x00, 0x04, 0x20,0x00, 0x08, 0x10,0x00, 0x10, 0x08,0x00, 0x20, 0x04,0x00, 0x40, 0x02,0x00, 0x80, 0x01,0x01, 0x00, 0x00,0x82, 0x00, 0x00,0x44, 0x00, 0x00,0x28, 0x00, 0x00,0x10, 0x00, 0x00,0x28, 0x00, 0x00,0x44, 0x00, 0x00,0x82, 0x00, 0x01,0x01, 0x00, 0x02,0x00, 0x80, 0x04,0x00, 0x40, 0x08,0x00, 0x20, 0x10,0x00, 0x10, 0x20,0x00, 0x08, 0x40,0x00, 0x04, 0x80,0x00, 0x02,/* CROSS 23x23 = 5.0 */ 0x80,0x00, 0x00,0x80, 0x40,0x00, 0x01,0x00, 0x20,0x00, 0x02,0x00, 0x10,0x00, 0x04,0x00, 0x08,0x00, 0x08,0x00, 0x04,0x00, 0x10,0x00, 0x02,0x00, 0x20,0x00, 0x01,0x00, 0x40,0x00, 0x00,0x80, 0x80,0x00, 0x00,0x41, 0x00,0x00, 0x00,0x22, 0x00,0x00, 0x00,0x14, 0x00,0x00, 0x00,0x08, 0x00,0x00, 0x00,0x14, 0x00,0x00, 0x00,0x22, 0x00,0x00, 0x00,0x41, 0x00,0x00, 0x00,0x80, 0x80,0x00, 0x01,0x00, 0x40,0x00, 0x02,0x00, 0x20,0x00, 0x04,0x00, 0x10,0x00, 0x08,0x00, 0x08,0x00, 0x10,0x00, 0x04,0x00, 0x20,0x00, 0x02,0x00, 0x40,0x00, 0x01,0x00, 0x80,0x00, 0x00,0x80,/* CROSS 25x25 = 5.5 */ 0x80,0x00, 0x00,0x20, 0x40,0x00, 0x00,0x40, 0x20,0x00, 0x00,0x80, 0x10,0x00, 0x01,0x00, 0x08,0x00, 0x02,0x00, 0x04,0x00, 0x04,0x00, 0x02,0x00, 0x08,0x00, 0x01,0x00, 0x10,0x00, 0x00,0x80, 0x20,0x00, 0x00,0x40, 0x40,0x00, 0x00,0x20, 0x80,0x00, 0x00,0x11, 0x00,0x00, 0x00,0x0a, 0x00,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x0a, 0x00,0x00, 0x00,0x11, 0x00,0x00, 0x00,0x20, 0x80,0x00, 0x00,0x40, 0x40,0x00, 0x00,0x80, 0x20,0x00, 0x01,0x00, 0x10,0x00, 0x02,0x00, 0x08,0x00, 0x04,0x00, 0x04,0x00, 0x08,0x00, 0x02,0x00, 0x10,0x00, 0x01,0x00, 0x20,0x00, 0x00,0x80, 0x40,0x00, 0x00,0x40, 0x80,0x00, 0x00,0x20,/* CROSS 27x27 = 6.0 */ 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x20,0x00, 0x00,0x04, 0x10,0x00, 0x00,0x08, 0x08,0x00, 0x00,0x10, 0x04,0x00, 0x00,0x20, 0x02,0x00, 0x00,0x40, 0x01,0x00, 0x00,0x80, 0x00,0x80, 0x01,0x00, 0x00,0x40, 0x02,0x00, 0x00,0x20, 0x04,0x00, 0x00,0x10, 0x08,0x00, 0x00,0x08, 0x10,0x00, 0x00,0x04, 0x20,0x00, 0x00,0x02, 0x40,0x00, 0x00,0x01, 0x80,0x00, 0x00,0x01, 0x80,0x00, 0x00,0x02, 0x40,0x00, 0x00,0x04, 0x20,0x00, 0x00,0x08, 0x10,0x00, 0x00,0x10, 0x08,0x00, 0x00,0x20, 0x04,0x00, 0x00,0x40, 0x02,0x00, 0x00,0x80, 0x01,0x00, 0x01,0x00, 0x00,0x80, 0x02,0x00, 0x00,0x40, 0x04,0x00, 0x00,0x20, 0x08,0x00, 0x00,0x10, 0x10,0x00, 0x00,0x08, 0x20,0x00, 0x00,0x04, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,/* CROSS 32x32 = 6.5 */ 0x00,0x00, 0x00,0x00, 0x40,0x00, 0x00,0x02, 0x20,0x00, 0x00,0x04, 0x10,0x00, 0x00,0x08, 0x08,0x00, 0x00,0x10, 0x04,0x00, 0x00,0x20, 0x02,0x00, 0x00,0x40, 0x01,0x00, 0x00,0x80, 0x00,0x80, 0x01,0x00, 0x00,0x40, 0x02,0x00, 0x00,0x20, 0x04,0x00, 0x00,0x10, 0x08,0x00, 0x00,0x08, 0x10,0x00, 0x00,0x04, 0x20,0x00, 0x00,0x02, 0x40,0x00, 0x00,0x01, 0x80,0x00, 0x00,0x01, 0x80,0x00, 0x00,0x02, 0x40,0x00, 0x00,0x04, 0x20,0x00, 0x00,0x08, 0x10,0x00, 0x00,0x10, 0x08,0x00, 0x00,0x20, 0x04,0x00, 0x00,0x40, 0x02,0x00, 0x00,0x80, 0x01,0x00, 0x01,0x00, 0x00,0x80, 0x02,0x00, 0x00,0x40, 0x04,0x00, 0x00,0x20, 0x08,0x00, 0x00,0x10, 0x10,0x00, 0x00,0x08, 0x20,0x00, 0x00,0x04, 0x40,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x00/* CROSS 32x32 = 7.0 */ }; /*----------------------------------------------------------------------*/ //TsmInitAttributes void OpenGl_Display::InitAttributes () { // Return if already initialized if (myLinestyleBase) return; myLinestyleBase = glGenLists(5); /* Line */ glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DASH, GL_COMPILE ); glLineStipple(1, DASH_LS ); glEndList(); glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DOT, GL_COMPILE ); glLineStipple(1, DOT_LS ); glEndList(); glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DOTDASH, GL_COMPILE ); glLineStipple(1, DASH_DOT_LS ); glEndList(); glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_USERDEFINED, GL_COMPILE ); glLineStipple(1, DASH_DDOT_LS ); glEndList(); /* FSXXX * GL_POLYGON_STIPPLE * need 32x32 stipple patterns */ const int nbi = sizeof(myInteriors)/(32*sizeof(unsigned int)); myPatternBase = glGenLists(TEL_HS_USER_DEF_START); int i; for( i = 1; i < TEL_HS_USER_DEF_START; i++ ) { glNewList( (GLuint)myPatternBase + i, GL_COMPILE ); glPolygonStipple((const GLubyte *) (myInteriors[i Aspect_TOM_O_X )? Aspect_TOM_X : AType); const float index = ( float )(TEL_NO_OF_SIZES-1) * (AVal - ( float )TEL_PM_START_SIZE ) / ( float )(TEL_PM_END_SIZE - TEL_PM_START_SIZE); int id = (int)(index + 0.5F); if (id < 0) id = 0; else if (id >= TEL_NO_OF_SIZES) id = TEL_NO_OF_SIZES-1; return arrPMFontInfo[atype][id].str; } /*----------------------------------------------------------------------*/ void OpenGl_Display::SetBaseForMarker () const { glListBase( (const GLuint) myMarkerBase ); } /*----------------------------------------------------------------------*/ void OpenGl_Display::SetTypeOfLine (const Aspect_TypeOfLine AType) const { if (AType != Aspect_TOL_SOLID) { glCallList((GLuint)myLinestyleBase+(GLuint)AType); glEnable( GL_LINE_STIPPLE ); #ifdef HAVE_GL2PS gl2psEnable( GL2PS_LINE_STIPPLE ); #endif } else { glDisable( GL_LINE_STIPPLE ); #ifdef HAVE_GL2PS gl2psDisable( GL2PS_LINE_STIPPLE ); #endif } } /*----------------------------------------------------------------------*/ void OpenGl_Display::SetTypeOfHatch (const int AType) const { if (AType) { glCallList((GLuint)myPatternBase+(GLuint)AType); glEnable( GL_POLYGON_STIPPLE ); } else glDisable( GL_POLYGON_STIPPLE ); } /*----------------------------------------------------------------------*/