diff options
author | Kirill Volinsky <mataes2007@gmail.com> | 2012-05-19 14:38:34 +0000 |
---|---|---|
committer | Kirill Volinsky <mataes2007@gmail.com> | 2012-05-19 14:38:34 +0000 |
commit | 4392b08fedcfc61eb3ec40a956516637d5abbf38 (patch) | |
tree | 16061c2ae482ea45b070fe4171b080edc1cf5c1b /plugins/Alarms/glyph.c | |
parent | 162e60d66c78bd51aa44c691fe4f4e2f1deb990f (diff) |
added Alarms
git-svn-id: http://svn.miranda-ng.org/main/trunk@77 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Alarms/glyph.c')
-rw-r--r-- | plugins/Alarms/glyph.c | 537 |
1 files changed, 537 insertions, 0 deletions
diff --git a/plugins/Alarms/glyph.c b/plugins/Alarms/glyph.c new file mode 100644 index 0000000000..b7e4a3e5ff --- /dev/null +++ b/plugins/Alarms/glyph.c @@ -0,0 +1,537 @@ +#ifdef _WIN32 +#include <windows.h> +#endif + +#include <GL/gl.h> +#include <assert.h> + +static const unsigned char g20[] = { + 0xff, 0xff +}; +static const unsigned char g21[] = { + 0x60, 0x80, 0x62, 0x82, 0xff, 0x64, 0x84, 0x6e, + 0x8e, 0xff, 0xff +}; +static const unsigned char g22[] = { + 0x6a, 0x6e, 0x4c, 0x4e, 0xff, 0x8a, 0xac, 0x8e, + 0xae, 0xff, 0xff +}; +static const unsigned char g23[] = { + 0x42, 0x62, 0x44, 0x64, 0x46, 0x66, 0x48, 0x68, + 0x4a, 0x6a, 0x4c, 0x6c, 0xff, 0x82, 0xa2, 0x84, + 0xa4, 0x86, 0xa6, 0x88, 0xa8, 0x8a, 0xaa, 0x8c, + 0xac, 0xff, 0x24, 0x44, 0x26, 0x46, 0xff, 0x64, + 0x84, 0x66, 0x86, 0xff, 0xa4, 0xc4, 0xa6, 0xc6, + 0xff, 0x28, 0x48, 0x2a, 0x4a, 0xff, 0x68, 0x88, + 0x6a, 0x8a, 0xff, 0xa8, 0xc8, 0xaa, 0xca, 0xff, + 0xff +}; +static const unsigned char g24[] = { + 0x46, 0x48, 0x26, 0x38, 0x08, 0x29, 0x0a, 0x3a, + 0x2c, 0x4a, 0x4c, 0xff, 0xa8, 0xa6, 0xc8, 0xb6, + 0xe6, 0xc5, 0xe4, 0xb4, 0xc2, 0xa4, 0xa2, 0xff, + 0x25, 0x04, 0x34, 0x22, 0x44, 0x42, 0xff, 0xc9, + 0xea, 0xba, 0xcc, 0xaa, 0xac, 0xff, 0x40, 0x60, + 0x42, 0x62, 0x44, 0x64, 0x46, 0x66, 0x48, 0x68, + 0x4a, 0x6a, 0x4c, 0x6c, 0x4e, 0x6e, 0xff, 0x80, + 0xa0, 0x82, 0xa2, 0x84, 0xa4, 0x86, 0xa6, 0x88, + 0xa8, 0x8a, 0xaa, 0x8c, 0xac, 0x8e, 0xae, 0xff, + 0x62, 0x82, 0x64, 0x84, 0xff, 0x66, 0x86, 0x68, + 0x88, 0xff, 0x6a, 0x8a, 0x6c, 0x8c, 0xff, 0xff +}; +static const unsigned char g25[] = { + 0x00, 0x20, 0x02, 0xec, 0xce, 0xee, 0xff, 0xa0, + 0xb2, 0x82, 0xa3, 0x84, 0xb4, 0xa6, 0xc6, 0xff, + 0xc6, 0xb4, 0xe4, 0xc3, 0xe2, 0xb2, 0xc0, 0xa0, + 0xff, 0x28, 0x3a, 0x0a, 0x2b, 0x0c, 0x3c, 0x2e, + 0x4e, 0xff, 0x4e, 0x3c, 0x6c, 0x4b, 0x6a, 0x3a, + 0x48, 0x28, 0xff, 0xff +}; +static const unsigned char g26[] = { + 0xa0, 0xe0, 0x91, 0xb3, 0x73, 0x95, 0x55, 0x77, + 0x37, 0x59, 0x28, 0x4a, 0x2c, 0x4b, 0x4e, 0x5c, + 0x6e, 0x6b, 0x8c, 0x6a, 0x88, 0x59, 0x77, 0xff, + 0x91, 0x73, 0x80, 0x62, 0x20, 0x42, 0x02, 0x33, + 0x04, 0x55, 0x37, 0xff, 0x95, 0xb3, 0xa6, 0xc4, + 0xff, 0xff +}; +static const unsigned char g27[] = { + 0x6a, 0x8c, 0x6e, 0x8e, 0xff, 0xff +}; +static const unsigned char g28[] = { + 0x80, 0xa0, 0x62, 0x82, 0x6c, 0x8c, 0x8e, 0xae, + 0xff, 0xff +}; +static const unsigned char g29[] = { + 0x40, 0x60, 0x62, 0x82, 0x6c, 0x8c, 0x4e, 0x6e, + 0xff, 0xff +}; +static const unsigned char g2A[] = { + 0x77, 0xa8, 0x8a, 0xb9, 0x9b, 0xff, 0x77, 0x8a, + 0x6a, 0x8c, 0x6c, 0xff, 0x77, 0x6a, 0x48, 0x5b, + 0x39, 0xff, 0x77, 0x48, 0x46, 0x28, 0x26, 0xff, + 0x77, 0x46, 0x64, 0x35, 0x53, 0xff, 0x77, 0x64, + 0x84, 0x62, 0x82, 0xff, 0x77, 0x84, 0xa6, 0x93, + 0xb5, 0xff, 0x77, 0xa6, 0xa8, 0xc6, 0xc8, 0xff, + 0xff +}; +static const unsigned char g2B[] = { + 0x62, 0x82, 0x66, 0x86, 0x88, 0xc6, 0xc8, 0xff, + 0x8c, 0x6c, 0x88, 0x68, 0x66, 0x28, 0x26, 0xff, + 0xff +}; +static const unsigned char g2C[] = { + 0x84, 0x64, 0x82, 0x60, 0xff, 0xff +}; +static const unsigned char g2D[] = { + 0x28, 0x26, 0xc8, 0xc6, 0xff, 0xff +}; +static const unsigned char g2E[] = { + 0x60, 0x80, 0x62, 0x82, 0xff, 0xff +}; +static const unsigned char g2F[] = { + 0x00, 0x20, 0x02, 0xec, 0xce, 0xee, 0xff, 0xff +}; +static const unsigned char g30[] = { + 0x24, 0x42, 0xac, 0xca, 0xff, 0xb2, 0xc0, 0xc3, + 0xe2, 0xca, 0xec, 0xac, 0xce, 0x3c, 0x2e, 0x2b, + 0x0c, 0x24, 0x02, 0x42, 0x20, 0xb2, 0xc0, 0xff, + 0xff +}; +static const unsigned char g31[] = { + 0x80, 0xff, 0x4c, 0x4a, 0x6e, 0x6a, 0x8e, 0x60, + 0x80, 0xff, 0xff +}; +static const unsigned char g32[] = { + 0x0c, 0x2b, 0x2e, 0x3c, 0xce, 0xbc, 0xec, 0xcb, + 0xe8, 0xc9, 0xc6, 0xb8, 0x36, 0x28, 0x25, 0x06, + 0x22, 0x00, 0xe2, 0xe0, 0xff, 0xff +}; +static const unsigned char g33[] = { + 0x0c, 0x2b, 0x2e, 0x3c, 0xce, 0xbc, 0xec, 0xcb, + 0xe8, 0xc9, 0xd7, 0xb8, 0xb6, 0x68, 0x66, 0xff, + 0xd7, 0xb6, 0xe6, 0xc5, 0xe2, 0xc3, 0xc0, 0xb2, + 0x20, 0x32, 0x02, 0x23, 0xff, 0xff +}; +static const unsigned char g34[] = { + 0xc6, 0xc8, 0x06, 0x28, 0x0c, 0x2c, 0xff, 0xc0, + 0xe0, 0xc6, 0xe7, 0xc8, 0xee, 0xce, 0xff, 0xff +}; +static const unsigned char g35[] = { + 0xec, 0xee, 0x2c, 0x0e, 0x29, 0x08, 0x38, 0x26, + 0xc8, 0xb6, 0xe6, 0xc5, 0xe2, 0xc3, 0xc0, 0xb2, + 0x20, 0x32, 0x02, 0x23, 0xff, 0xff +}; +static const unsigned char g36[] = { + 0xcb, 0xec, 0xbc, 0xce, 0x3c, 0x2e, 0x2b, 0x0c, + 0x28, 0x07, 0x26, 0x02, 0x23, 0x20, 0x32, 0xc0, + 0xb2, 0xe2, 0xc3, 0xe6, 0xc5, 0xc8, 0xb6, 0x28, + 0x26, 0xff, 0xff +}; +static const unsigned char g37[] = { + 0x0e, 0x0c, 0xee, 0xbc, 0xec, 0x67, 0x86, 0x60, + 0x80, 0xff, 0xff +}; +static const unsigned char g38[] = { + 0x36, 0x17, 0x25, 0x06, 0x23, 0x02, 0x32, 0x20, + 0xb2, 0xc0, 0xc3, 0xe2, 0xc5, 0xe6, 0xb6, 0xd7, + 0xb8, 0xe8, 0xc9, 0xec, 0xcb, 0xce, 0xbc, 0x2e, + 0x3c, 0x0c, 0x2b, 0x08, 0x29, 0x17, 0x38, 0x36, + 0xb8, 0xb6, 0xff, 0xff +}; +static const unsigned char g39[] = { + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xc6, 0xe7, 0xc8, 0xec, 0xcb, 0xce, 0xbc, 0x2e, + 0x3c, 0x0c, 0x2b, 0x08, 0x29, 0x26, 0x38, 0xc6, + 0xc8, 0xff, 0xff +}; +static const unsigned char g3A[] = { + 0x60, 0x80, 0x62, 0x82, 0xff, 0x66, 0x86, 0x68, + 0x88, 0xff, 0xff +}; +static const unsigned char g3B[] = { + 0x84, 0x64, 0x82, 0x60, 0xff, 0x66, 0x86, 0x68, + 0x88, 0xff, 0xff +}; +static const unsigned char g3C[] = { + 0xbc, 0x8c, 0x67, 0x37, 0xb2, 0x82, 0xff, 0xff +}; +static const unsigned char g3D[] = { + 0x24, 0x26, 0xc4, 0xc6, 0xff, 0x28, 0x2a, 0xc8, + 0xca, 0xff, 0xff +}; +static const unsigned char g3E[] = { + 0x32, 0x62, 0x87, 0xb7, 0x3c, 0x6c, 0xff, 0xff +}; +static const unsigned char g3F[] = { + 0x60, 0x80, 0x62, 0x82, 0xff, 0x64, 0x84, 0x65, + 0xea, 0xcb, 0xec, 0xbc, 0xce, 0x3c, 0x2e, 0x2b, + 0x0c, 0xff, 0xff +}; +static const unsigned char g40[] = { + 0xe2, 0xc3, 0xc0, 0xb2, 0x20, 0x32, 0x02, 0x23, + 0x0c, 0x2b, 0x2e, 0x3c, 0xce, 0xbc, 0xec, 0xcb, + 0xe6, 0xc7, 0xc4, 0xb6, 0xa4, 0xa6, 0x84, 0x86, + 0x64, 0x76, 0x46, 0x67, 0x48, 0x78, 0x6a, 0x88, + 0xaa, 0x86, 0xa6, 0xff, 0xff +}; +static const unsigned char g41[] = { + 0x00, 0x20, 0x08, 0x26, 0x38, 0xc6, 0xb8, 0xff, + 0xc0, 0xe0, 0xc6, 0xe8, 0xb8, 0x8e, 0x7c, 0x6e, + 0x38, 0x08, 0xff, 0xff +}; +static const unsigned char g42[] = { + 0xb8, 0xd7, 0xc9, 0xe8, 0xcb, 0xec, 0xbc, 0xce, + 0x2c, 0x0e, 0x28, 0x07, 0x26, 0x00, 0x22, 0xc0, + 0xb2, 0xe2, 0xc3, 0xe6, 0xc5, 0xd7, 0xb6, 0xb8, + 0x26, 0x28, 0xff, 0xff +}; +static const unsigned char g43[] = { + 0xcb, 0xec, 0xbc, 0xce, 0x3c, 0x2e, 0x2b, 0x0c, + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xff, 0xff +}; +static const unsigned char g44[] = { + 0x22, 0x00, 0xb2, 0xc0, 0xc3, 0xe2, 0xcb, 0xec, + 0xbc, 0xce, 0x2c, 0x0e, 0x22, 0x00, 0xff, 0xff +}; +static const unsigned char g45[] = { + 0xe0, 0xe2, 0x00, 0x22, 0x06, 0x26, 0x08, 0x28, + 0x0e, 0x2c, 0xee, 0xec, 0xff, 0x28, 0x26, 0x88, + 0x86, 0xff, 0xff +}; +static const unsigned char g46[] = { + 0x00, 0x20, 0x06, 0x26, 0x08, 0x28, 0x0e, 0x2c, + 0xee, 0xec, 0xff, 0x28, 0x26, 0x88, 0x86, 0xff, + 0xff +}; +static const unsigned char g47[] = { + 0xcb, 0xec, 0xbc, 0xce, 0x3c, 0x2e, 0x2b, 0x0c, + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xc6, 0xe8, 0x86, 0x88, 0xff, 0xff +}; +static const unsigned char g48[] = { + 0x2e, 0x0e, 0x28, 0x07, 0x26, 0x00, 0x20, 0xff, + 0xc0, 0xe0, 0xc6, 0xe7, 0xc8, 0xee, 0xce, 0xff, + 0x28, 0x26, 0xc8, 0xc6, 0xff, 0xff +}; +static const unsigned char g49[] = { + 0x42, 0x40, 0x62, 0x60, 0x82, 0x80, 0xa2, 0xa0, + 0xff, 0x4e, 0x4c, 0x6e, 0x6c, 0x8e, 0x8c, 0xae, + 0xac, 0xff, 0x62, 0x82, 0x6c, 0x8c, 0xff, 0xff +}; +static const unsigned char g4A[] = { + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xce, 0xee, 0xff, 0xff +}; +static const unsigned char g4B[] = { + 0x2e, 0x0e, 0x28, 0x07, 0x26, 0x00, 0x20, 0xff, + 0x28, 0x26, 0x68, 0x66, 0x97, 0xc0, 0xe2, 0xe0, + 0xff, 0x68, 0x97, 0xce, 0xec, 0xee, 0xff, 0xff +}; +static const unsigned char g4C[] = { + 0xe0, 0xe2, 0x00, 0x22, 0x0e, 0x2e, 0xff, 0xff +}; +static const unsigned char g4D[] = { + 0x00, 0x20, 0x0e, 0x2b, 0x2e, 0x67, 0x79, 0x87, + 0xce, 0xcb, 0xee, 0xc0, 0xe0, 0xff, 0xff +}; +static const unsigned char g4E[] = { + 0x00, 0x20, 0x0e, 0x2b, 0x2e, 0xc0, 0xc3, 0xe0, + 0xce, 0xee, 0xff, 0xff +}; +static const unsigned char g4F[] = { + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xcb, 0xec, 0xbc, 0xce, 0x3c, 0x2e, 0x2b, 0x0c, + 0x23, 0x02, 0xff, 0xff +}; +static const unsigned char g50[] = { + 0x00, 0x20, 0x06, 0x26, 0x08, 0x28, 0x0c, 0x2c, + 0x0e, 0xbc, 0xce, 0xcb, 0xec, 0xc9, 0xe8, 0xb8, + 0xc6, 0x28, 0x26, 0xff, 0xff +}; +static const unsigned char g51[] = { + 0xc0, 0xe2, 0xc4, 0xec, 0xcb, 0xce, 0xbc, 0x2e, + 0x3c, 0x0c, 0x2b, 0x02, 0x23, 0x20, 0x32, 0xc0, + 0xa2, 0xc4, 0x84, 0xa6, 0xff, 0xff +}; +static const unsigned char g52[] = { + 0xc0, 0xe0, 0xc5, 0xe6, 0xb6, 0xd7, 0xb8, 0xe8, + 0xc9, 0xec, 0xcb, 0xce, 0xbc, 0x0e, 0x2c, 0x08, + 0x28, 0x06, 0x26, 0x00, 0x20, 0xff, 0x28, 0x26, + 0xb8, 0xb6, 0xff, 0xff +}; +static const unsigned char g53[] = { + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xc5, 0xe6, 0xb6, 0xc8, 0x26, 0x38, 0x08, 0x29, + 0x0c, 0x2b, 0x2e, 0x3c, 0xce, 0xbc, 0xec, 0xcb, + 0xff, 0xff +}; +static const unsigned char g54[] = { + 0x0e, 0x0c, 0x6e, 0x6c, 0x8e, 0x8c, 0xee, 0xec, + 0xff, 0x60, 0x80, 0x6c, 0x8c, 0xff, 0xff +}; +static const unsigned char g55[] = { + 0x2e, 0x0e, 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, + 0xc3, 0xe2, 0xce, 0xee, 0xff, 0xff +}; +static const unsigned char g56[] = { + 0x2e, 0x0e, 0x27, 0x06, 0x72, 0x60, 0xff, 0x60, + 0x80, 0x72, 0xe6, 0xc7, 0xee, 0xce, 0xff, 0xff +}; +static const unsigned char g57[] = { + 0xee, 0xce, 0xe0, 0xc3, 0xc0, 0x87, 0x75, 0x67, + 0x20, 0x23, 0x00, 0x2e, 0x0e, 0xff, 0xff +}; +static const unsigned char g58[] = { + 0x00, 0x20, 0x02, 0x75, 0x57, 0x97, 0x79, 0xec, + 0xce, 0xee, 0xff, 0xe0, 0xe2, 0xc0, 0x97, 0x75, + 0xff, 0x0e, 0x0c, 0x2e, 0x57, 0x79, 0xff, 0xff +}; +static const unsigned char g59[] = { + 0x0e, 0x0c, 0x2e, 0x66, 0x79, 0x86, 0xce, 0xec, + 0xee, 0xff, 0x60, 0x80, 0x66, 0x86, 0xff, 0xff +}; +static const unsigned char g5A[] = { + 0x0e, 0x0c, 0xee, 0xbc, 0xec, 0x02, 0x32, 0x00, + 0xe2, 0xe0, 0xff, 0xff +}; +static const unsigned char g5B[] = { + 0xa0, 0xa2, 0x60, 0x82, 0x6e, 0x8c, 0xae, 0xac, + 0xff, 0xff +}; +static const unsigned char g5C[] = { + 0xe0, 0xe2, 0xc0, 0x2e, 0x0c, 0x0e, 0xff, 0xff +}; +static const unsigned char g5D[] = { + 0x4e, 0x4c, 0x8e, 0x6c, 0x80, 0x62, 0x40, 0x42, + 0xff, 0xff +}; +static const unsigned char g5E[] = { + 0x3a, 0x6a, 0x7e, 0x7b, 0xba, 0x8a, 0xff, 0xff +}; +static const unsigned char g5F[] = { + 0x02, 0x00, 0xe2, 0xe0, 0xff, 0xff +}; +static const unsigned char g60[] = { + 0x8a, 0x8e, 0x6c, 0x6e, 0xff, 0xff +}; +static const unsigned char g61[] = { + 0x08, 0x27, 0x2a, 0x38, 0xca, 0xb8, 0xe8, 0xc7, + 0xe6, 0xc6, 0xe4, 0xc4, 0xe0, 0xc2, 0x20, 0x32, + 0x02, 0x23, 0x04, 0x34, 0x26, 0xc4, 0xc6, 0xff, + 0xff +}; +static const unsigned char g62[] = { + 0x2e, 0x0e, 0x2a, 0x09, 0x28, 0x00, 0x22, 0xc0, + 0xb2, 0xe2, 0xc3, 0xe8, 0xc7, 0xca, 0xb8, 0x2a, + 0x28, 0xff, 0xff +}; +static const unsigned char g63[] = { + 0xc7, 0xe8, 0xb8, 0xca, 0x38, 0x2a, 0x27, 0x08, + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xff, 0xff +}; +static const unsigned char g64[] = { + 0xc8, 0xca, 0x38, 0x2a, 0x27, 0x08, 0x23, 0x02, + 0x32, 0x20, 0xc2, 0xe0, 0xc8, 0xe9, 0xca, 0xee, + 0xce, 0xff, 0xff +}; +static const unsigned char g65[] = { + 0xe2, 0xc3, 0xc0, 0xb2, 0x20, 0x32, 0x02, 0x23, + 0x04, 0x24, 0x06, 0x26, 0x08, 0x27, 0x2a, 0x38, + 0xca, 0xb8, 0xe8, 0xc7, 0xe4, 0xc6, 0x24, 0x26, + 0xff, 0xff +}; +static const unsigned char g66[] = { + 0x4a, 0x48, 0x6a, 0x68, 0x8a, 0x88, 0xaa, 0xa8, + 0xff, 0x60, 0x80, 0x68, 0x88, 0xff, 0x6a, 0x8a, + 0x6c, 0x8b, 0x8e, 0x9c, 0xae, 0xac, 0xff, 0xff +}; +static const unsigned char g67[] = { + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xc4, 0xe6, 0xc6, 0xea, 0xc8, 0x2a, 0x38, 0x08, + 0x27, 0x06, 0x36, 0x24, 0xc6, 0xc4, 0xff, 0xff +}; +static const unsigned char g68[] = { + 0x00, 0x20, 0x08, 0x28, 0x0a, 0x2a, 0x0e, 0x2e, + 0xff, 0x2a, 0x28, 0xca, 0xb8, 0xe8, 0xc7, 0xe0, + 0xc0, 0xff, 0xff +}; +static const unsigned char g69[] = { + 0x60, 0x80, 0x6a, 0x8a, 0xff, 0x6c, 0x8c, 0x6e, + 0x8e, 0xff, 0xff +}; +static const unsigned char g6A[] = { + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xca, 0xea, 0xff, 0xcc, 0xec, 0xce, 0xee, 0xff, + 0xff +}; +static const unsigned char g6B[] = { + 0x00, 0x20, 0x04, 0x24, 0x06, 0x26, 0x0e, 0x2e, + 0xff, 0x26, 0x24, 0x86, 0x84, 0xb5, 0xc0, 0xe2, + 0xe0, 0xff, 0x86, 0xb5, 0xca, 0xe8, 0xea, 0xff, + 0xff +}; +static const unsigned char g6C[] = { + 0x60, 0x80, 0x6e, 0x8e, 0xff, 0xff +}; +static const unsigned char g6D[] = { + 0x00, 0x20, 0x0a, 0x28, 0x6a, 0x68, 0xff, 0x60, + 0x80, 0x68, 0x88, 0x6a, 0xb8, 0xca, 0xc7, 0xe8, + 0xc0, 0xe0, 0xff, 0xff +}; +static const unsigned char g6E[] = { + 0x00, 0x20, 0x0a, 0x28, 0xca, 0xb8, 0xe8, 0xc7, + 0xe0, 0xc0, 0xff, 0xff +}; +static const unsigned char g6F[] = { + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xc7, 0xe8, 0xb8, 0xca, 0x38, 0x2a, 0x27, 0x08, + 0x23, 0x02, 0xff, 0xff +}; +static const unsigned char g70[] = { + 0x00, 0x20, 0x04, 0x24, 0x06, 0x26, 0x0a, 0x28, + 0xca, 0xb8, 0xe8, 0xc7, 0xe6, 0xb6, 0xc4, 0x26, + 0x24, 0xff, 0xff +}; +static const unsigned char g71[] = { + 0xc0, 0xe0, 0xc4, 0xe5, 0xc6, 0xea, 0xc8, 0x2a, + 0x38, 0x08, 0x27, 0x06, 0x36, 0x24, 0xc6, 0xc4, + 0xff, 0xff +}; +static const unsigned char g72[] = { + 0x00, 0x20, 0x0a, 0x28, 0xca, 0xb8, 0xe8, 0xc7, + 0xff, 0xff +}; +static const unsigned char g73[] = { + 0xc3, 0xe4, 0xb4, 0xc6, 0x24, 0x36, 0x06, 0x27, + 0x08, 0x38, 0x2a, 0xb8, 0xca, 0xc7, 0xe8, 0xff, + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xe4, 0xff, 0xff +}; +static const unsigned char g74[] = { + 0x4a, 0x48, 0x6a, 0x68, 0xff, 0x8a, 0x88, 0xaa, + 0xa8, 0xff, 0xa0, 0xa2, 0x80, 0x92, 0x62, 0x83, + 0x68, 0x88, 0x6a, 0x8a, 0x6c, 0x8c, 0xff, 0xff +}; +static const unsigned char g75[] = { + 0x2a, 0x0a, 0x23, 0x02, 0x32, 0x20, 0xc2, 0xe0, + 0xca, 0xea, 0xff, 0xff +}; +static const unsigned char g76[] = { + 0xea, 0xca, 0xe6, 0xc7, 0x80, 0x72, 0x60, 0x27, + 0x06, 0x2a, 0x0a, 0xff, 0xff +}; +static const unsigned char g77[] = { + 0x2a, 0x0a, 0x22, 0x00, 0x52, 0x60, 0x63, 0x71, + 0x83, 0x80, 0x92, 0xc0, 0xb2, 0xe2, 0xc3, 0xea, + 0xca, 0xff, 0x8a, 0x6a, 0x83, 0x63, 0xff, 0xff +}; +static const unsigned char g78[] = { + 0x00, 0x20, 0x02, 0x74, 0x45, 0x76, 0x08, 0x2a, + 0x0a, 0xff, 0xea, 0xca, 0xe8, 0x76, 0xa5, 0x74, + 0xe2, 0xc0, 0xe0, 0xff, 0xff +}; +static const unsigned char g79[] = { + 0x23, 0x02, 0x32, 0x20, 0xb2, 0xc0, 0xc3, 0xe2, + 0xc4, 0xe5, 0xc6, 0xea, 0xca, 0xff, 0x2a, 0x0a, + 0x27, 0x06, 0x36, 0x24, 0xc6, 0xc4, 0xff, 0xff +}; +static const unsigned char g7A[] = { + 0x0a, 0x08, 0xea, 0xa8, 0xe8, 0x02, 0x42, 0x00, + 0xe2, 0xe0, 0xff, 0xff +}; +static const unsigned char g7B[] = { + 0x80, 0xa0, 0x62, 0x82, 0x66, 0x86, 0x57, 0x77, + 0x68, 0x88, 0x6c, 0x8c, 0x8e, 0xae, 0xff, 0xff +}; +static const unsigned char g7C[] = { + 0x60, 0x80, 0x6f, 0x8f, 0xff, 0xff +}; +static const unsigned char g7D[] = { + 0x6e, 0x4e, 0x8c, 0x6c, 0x88, 0x68, 0x97, 0x77, + 0x86, 0x66, 0x82, 0x62, 0x60, 0x40, 0xff, 0xff +}; +static const unsigned char g7E[] = { + 0xbc, 0xbe, 0x9a, 0x9c, 0x5c, 0x5e, 0x3a, 0x3c, + 0xff, 0xff +}; +static const unsigned char g7F[] = { + 0x44, 0x22, 0xa4, 0xc2, 0xaa, 0xcc, 0x4a, 0x2c, + 0x44, 0x22, 0xff, 0xff +}; + +static const unsigned char *glyph[] = { + g7F, g7F, g7F, g7F, g7F, g7F, g7F, g7F, + g7F, g7F, g7F, g7F, g7F, g7F, g7F, g7F, + g7F, g7F, g7F, g7F, g7F, g7F, g7F, g7F, + g7F, g7F, g7F, g7F, g7F, g7F, g7F, g7F, + g20, g21, g22, g23, g24, g25, g26, g27, + g28, g29, g2A, g2B, g2C, g2D, g2E, g2F, + g30, g31, g32, g33, g34, g35, g36, g37, + g38, g39, g3A, g3B, g3C, g3D, g3E, g3F, + g40, g41, g42, g43, g44, g45, g46, g47, + g48, g49, g4A, g4B, g4C, g4D, g4E, g4F, + g50, g51, g52, g53, g54, g55, g56, g57, + g58, g59, g5A, g5B, g5C, g5D, g5E, g5F, + g60, g61, g62, g63, g64, g65, g66, g67, + g68, g69, g6A, g6B, g6C, g6D, g6E, g6F, + g70, g71, g72, g73, g74, g75, g76, g77, + g78, g79, g7A, g7B, g7C, g7D, g7E, g7F, +}; + +void draw_glyph(int c) +{ + int i = 0; + + assert(0 <= c && c < 128); + + while (glyph[c][i] != 0xff) + { + glBegin(GL_TRIANGLE_STRIP); + { + while (glyph[c][i] != 0xff) + { + glVertex2f((glyph[c][i] / 16) / 16.0f, + (glyph[c][i] % 16) / 16.0f); + i++; + } + } + glEnd(); + + i++; + } + + glTranslatef(1.0f, 0.0f, 0.0f); +} + +double text_width = 8; +double text_height = 12; + +void draw_string(const char *s) { + int index = 0; + + glPushMatrix(); + glScaled(text_width, text_height, 0); + glRotated(180, 1, 0, 0); // flip - ortho screen coords have y inverted + + while(s[index] != '\0') { + draw_glyph((int)s[index]); + index++; + } + + glPopMatrix(); +} + +void draw_string_centered(const char *s) { + glPushMatrix(); + glTranslated(strlen(s) / 2.0 * -text_width, text_height / 2, 0); + draw_string(s); + glPopMatrix(); +} + +void set_text_size(const double ttext_width, const double ttext_height) { + text_width = ttext_width; + text_height = ttext_height; +} |