diff --git a/src/raygui.h b/src/raygui.h index d3b2186..ced3770 100644 --- a/src/raygui.h +++ b/src/raygui.h @@ -3639,7 +3639,7 @@ char **GuiLoadIcons(const char *fileName, bool loadIconsName) if (rgiFile != NULL) { - char signature[5] = ""; + char signature[5] = { 0 }; short version = 0; short reserved = 0; short iconCount = 0; diff --git a/styles/ashes/ashes.h b/styles/ashes/ashes.h new file mode 100644 index 0000000..9ba5ebd --- /dev/null +++ b/styles/ashes/ashes.h @@ -0,0 +1,337 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleAshes(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define ASHES_STYLE_PROPS_COUNT 15 + +// Custom style name: ashes +static const GuiStyleProp ashesStyleProps[ASHES_STYLE_PROPS_COUNT] = { + { 0, 0, 0xf0f0f0ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0x868686ff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0xe6e6e6ff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0x929999ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0xeaeaeaff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0x98a1a8ff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0x3f3f3fff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0xf6f6f6ff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0x414141ff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x8b8b8bff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0x777777ff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x959595ff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE + { 0, 18, 0x9dadb1ff }, // DEFAULT_LINE_COLOR + { 0, 19, 0x6b6b6bff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: (size: 16, spacing: 1) + +#define ASHES_COMPRESSED_DATA_SIZE 999 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char ashesFontData[ASHES_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0x4b, 0x96, 0x9b, 0x30, 0x10, 0x05, 0x50, 0xed, 0x7f, 0xd3, 0x95, 0x51, 0x4e, 0x3e, 0xa7, 0x31, 0x54, 0xa9, 0x64, + 0x7e, 0x37, 0x77, 0xd6, 0xed, 0x60, 0x9a, 0x87, 0xc0, 0x36, 0x0f, 0x39, 0x06, 0x00, 0xc0, 0x7f, 0xe2, 0xc7, 0x9f, 0xc4, + 0xe6, 0x23, 0xe3, 0xf0, 0x72, 0xfe, 0xfd, 0x79, 0x6c, 0xfc, 0x36, 0xb7, 0xbc, 0x38, 0xfc, 0xbc, 0x95, 0xdf, 0xc4, 0x8f, + 0xeb, 0x17, 0xd3, 0xcf, 0x1a, 0x87, 0xff, 0x9a, 0x4f, 0x8f, 0xfd, 0xf4, 0x9c, 0x71, 0xd1, 0xfc, 0xe3, 0xc3, 0xf2, 0x3e, + 0x2f, 0x31, 0x26, 0xf6, 0x89, 0x63, 0xcf, 0x7b, 0x3c, 0xd3, 0xf9, 0xed, 0xb9, 0xb5, 0x6f, 0x1d, 0x7f, 0xec, 0xfe, 0x36, + 0x5e, 0x9b, 0xff, 0xdf, 0xff, 0xc6, 0xc6, 0x6f, 0x6b, 0x19, 0xaf, 0x19, 0xe9, 0x9f, 0xd7, 0x34, 0x9a, 0xd2, 0x3e, 0xbe, + 0xd7, 0xc6, 0xd4, 0x71, 0xa8, 0xb2, 0xf4, 0xfa, 0x1a, 0x8f, 0x64, 0x5a, 0xb1, 0xb3, 0x17, 0x46, 0x7a, 0x89, 0xb3, 0xc7, + 0xf3, 0xca, 0xf8, 0xbf, 0x4a, 0xfe, 0xb5, 0xbd, 0x39, 0x2e, 0x90, 0x7f, 0x25, 0xb9, 0x68, 0x58, 0xd3, 0x68, 0x3a, 0xff, + 0xaf, 0x48, 0x3f, 0x9b, 0x7f, 0x34, 0x6e, 0x81, 0xce, 0xfc, 0xab, 0xc7, 0xff, 0xca, 0xf1, 0x6f, 0x5c, 0x24, 0xcf, 0xef, + 0xe7, 0x1f, 0x5f, 0xdf, 0x02, 0x1d, 0xe3, 0x7f, 0xec, 0x1e, 0x6d, 0x63, 0xe7, 0x55, 0x4d, 0x3c, 0x20, 0xff, 0x8e, 0xfd, + 0xbf, 0x7a, 0xa6, 0xbc, 0xee, 0xf9, 0x3f, 0x0e, 0x1c, 0xeb, 0xe2, 0x11, 0xe3, 0x3f, 0x7f, 0x96, 0x3b, 0xfe, 0x7e, 0x73, + 0xef, 0x4c, 0x19, 0xa7, 0xff, 0xed, 0xb5, 0x57, 0x20, 0xbf, 0xff, 0xdf, 0xfd, 0xc7, 0xff, 0x55, 0xce, 0x41, 0x67, 0xad, + 0x77, 0x9c, 0x3a, 0xbe, 0xe4, 0xff, 0x86, 0xbf, 0x3f, 0x6c, 0x79, 0x7b, 0x99, 0xf4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0xcd, 0x82, 0x7c, 0x13, 0x21, 0xa6, 0x3b, 0x6e, 0x3d, 0xfd, 0xfb, 0x48, 0x6f, 0x81, 0x4a, 0xef, 0x7e, 0x6b, 0xbd, + 0x72, 0x8f, 0x1f, 0xe9, 0x4e, 0x5d, 0xb5, 0xef, 0x1b, 0xe5, 0x56, 0xd7, 0x7c, 0x43, 0x7d, 0xc5, 0x15, 0xe4, 0x7a, 0xd7, + 0x2e, 0xd3, 0xd1, 0x8d, 0xa6, 0x9e, 0x56, 0x34, 0xdf, 0xa3, 0xd2, 0x9d, 0xff, 0x38, 0x3d, 0xff, 0x58, 0xda, 0x07, 0x89, + 0x9d, 0xbe, 0xd9, 0x1b, 0xf2, 0xaf, 0x36, 0x77, 0x33, 0xc7, 0xf9, 0x68, 0xef, 0x4e, 0xe6, 0xd7, 0x6f, 0xff, 0x7e, 0x80, + 0x37, 0xe6, 0x3f, 0xd2, 0xe3, 0x36, 0x7f, 0x84, 0x3d, 0x7a, 0xa6, 0x8e, 0x13, 0xc7, 0xff, 0xa7, 0xf3, 0x76, 0x24, 0x46, + 0x4d, 0x36, 0xff, 0xdc, 0xf3, 0xfe, 0x59, 0xd7, 0xdc, 0x88, 0x38, 0x33, 0xff, 0x31, 0xd9, 0xe3, 0x8c, 0xb6, 0x23, 0x46, + 0xf5, 0x3c, 0x77, 0xbd, 0xf1, 0xdf, 0xfd, 0xfa, 0x6f, 0x5d, 0xfe, 0xd1, 0xd0, 0xc6, 0x8a, 0xa5, 0x5d, 0xd0, 0xca, 0x3d, + 0x2a, 0xcf, 0xc9, 0xbf, 0xf2, 0x0e, 0xa7, 0x67, 0x39, 0x77, 0xe8, 0xa1, 0xbe, 0x21, 0x7f, 0xe4, 0xaf, 0x87, 0x5e, 0x79, + 0xdd, 0xb6, 0xee, 0xf3, 0x9f, 0x48, 0x1f, 0xaf, 0xe5, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x4b, 0xbf, 0x77, + 0xbb, 0xa1, 0x99, 0x9f, 0x17, 0xbc, 0xe3, 0xf1, 0xd5, 0x67, 0x88, 0xb6, 0x0e, 0x68, 0x5f, 0xa3, 0x74, 0xfb, 0x8a, 0x72, + 0xc7, 0x35, 0xee, 0x75, 0xf9, 0x8f, 0xf6, 0x5e, 0x6d, 0xbe, 0xa5, 0x96, 0x9f, 0x31, 0x7f, 0x5c, 0x2c, 0xff, 0x91, 0xd8, + 0xee, 0xf2, 0x7f, 0x77, 0xfe, 0x7d, 0x6d, 0xe9, 0xa7, 0xe7, 0x3f, 0x6e, 0x95, 0xff, 0xdc, 0x77, 0x04, 0x74, 0xe5, 0x5f, + 0x6f, 0xbc, 0x77, 0x9d, 0x05, 0xe7, 0xef, 0x3a, 0x18, 0xe5, 0xef, 0x16, 0xea, 0xca, 0x7f, 0x14, 0xee, 0x04, 0x5c, 0xd7, + 0x96, 0xbf, 0xd7, 0xf8, 0x1f, 0x0d, 0xe3, 0x7f, 0x5c, 0xf4, 0xf8, 0x3f, 0x9a, 0x1a, 0xa2, 0xf2, 0x7f, 0x77, 0xfe, 0x9d, + 0xf7, 0xcb, 0x3e, 0x31, 0xff, 0xab, 0xbe, 0xfe, 0x93, 0xff, 0x1d, 0xf3, 0x8f, 0xb6, 0xbf, 0xbc, 0x2f, 0xff, 0xdc, 0x1e, + 0x10, 0xd3, 0xfd, 0xf2, 0xfd, 0x4f, 0x4d, 0x22, 0xb9, 0xb4, 0xd1, 0x30, 0xaf, 0x43, 0xfe, 0xf5, 0x57, 0xf6, 0xce, 0xa6, + 0xbd, 0x39, 0x23, 0xb2, 0xf3, 0x34, 0xe4, 0xe6, 0x81, 0xb8, 0xf2, 0xb7, 0x7e, 0x9c, 0x31, 0x87, 0x89, 0xcf, 0x6d, 0xb1, + 0xcf, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x67, 0x79, 0x8c, 0xe4, 0xf5, 0xc8, 0xae, 0xab, 0xb9, 0xa3, 0xe5, 0x1b, + 0x07, 0xa2, 0xe1, 0x0a, 0xfb, 0xdc, 0xff, 0x8f, 0xbf, 0xae, 0x0d, 0x77, 0xdd, 0xe5, 0x30, 0x7b, 0x75, 0x68, 0x7b, 0x96, + 0xe1, 0x9e, 0x2b, 0x92, 0xab, 0x3a, 0x0d, 0x51, 0x68, 0x46, 0xc7, 0x82, 0x2b, 0xa9, 0x91, 0xdc, 0xae, 0x67, 0xb6, 0xa2, + 0x73, 0xf9, 0x44, 0xcb, 0xd1, 0xa5, 0xa3, 0x4b, 0x1c, 0xd3, 0x5d, 0xe1, 0x7c, 0x53, 0x78, 0x45, 0x33, 0xea, 0x1e, 0xf9, + 0xf7, 0x76, 0x14, 0x56, 0x8d, 0xdc, 0xde, 0xf1, 0x1f, 0x5f, 0x69, 0xc6, 0xcb, 0xbf, 0x33, 0xff, 0xdc, 0x2b, 0x91, 0x75, + 0xf9, 0x1b, 0xff, 0xe7, 0x8d, 0xff, 0xd9, 0x16, 0x9f, 0xfc, 0xdf, 0x91, 0x7f, 0x34, 0xcd, 0xcd, 0x2d, 0xff, 0xf9, 0x77, + 0x97, 0xb9, 0x0e, 0x6c, 0x57, 0x57, 0xf8, 0x3a, 0xe3, 0x7f, 0xb4, 0xb5, 0xa2, 0xf3, 0x77, 0xbf, 0x5f, 0xa1, 0x49, 0x5a, + 0xd9, 0x3f, 0xa3, 0xe5, 0x8e, 0x86, 0xb3, 0xcf, 0xff, 0xdf, 0xec, 0x00, 0x5f, 0x37, 0xff, 0x6c, 0x7b, 0x35, 0x26, 0xef, + 0x68, 0x38, 0x27, 0xff, 0xf5, 0x5b, 0xf6, 0xbe, 0xf9, 0xdf, 0xb7, 0x31, 0x7d, 0xa5, 0xad, 0xd5, 0x91, 0xbf, 0x1e, 0xb9, + 0xfb, 0x2e, 0x70, 0xcf, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xf8, 0x54, 0x3b, 0xdf, 0x89, 0xcd, 0xf4, 0x88, 0x63, + 0xe2, 0x8a, 0xfa, 0xf1, 0x26, 0xe0, 0x38, 0x3c, 0x4f, 0x7e, 0x24, 0xbb, 0xc7, 0x4f, 0xbf, 0x9e, 0xd5, 0xdb, 0xd0, 0x3a, + 0x6b, 0x8e, 0xf4, 0xca, 0x3c, 0x8f, 0xf3, 0xf7, 0x41, 0x3c, 0x27, 0xff, 0xf9, 0x26, 0x7e, 0x2d, 0xff, 0x7c, 0x6f, 0x6c, + 0xdd, 0x4f, 0xdf, 0x7a, 0x3d, 0xfb, 0x1b, 0xc7, 0xff, 0xd5, 0x73, 0xe4, 0xcb, 0x7f, 0xae, 0xcf, 0x70, 0x9f, 0xe3, 0x7f, + 0xdf, 0x3c, 0xdf, 0xf2, 0xef, 0xbe, 0xb7, 0x66, 0x7d, 0x0f, 0xba, 0xeb, 0x3b, 0x12, 0xde, 0xb8, 0x07, 0x3c, 0x21, 0xff, + 0xae, 0x9c, 0xe5, 0xdf, 0xdd, 0xad, 0x1f, 0x07, 0xe6, 0xc8, 0x1e, 0xd3, 0xf7, 0x6a, 0x46, 0xcb, 0x77, 0xa7, 0xe8, 0x76, + 0xdd, 0xa3, 0xfd, 0x18, 0x8b, 0xde, 0xdd, 0xc8, 0xff, 0x1e, 0x1d, 0x48, 0xf9, 0xdb, 0xfb, 0xbe, 0xb7, 0xaf, 0xf0, 0x86, + 0x3d, 0x46, 0xb3, 0x1b, 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, 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, 0x80, 0x5b, 0xfa, 0x05 }; + +// Font characters rectangles data +static const Rectangle ashesFontRecs[95] = { + { 4, 4, 4 , 16 }, + { 16, 4, 1 , 10 }, + { 25, 4, 3 , 3 }, + { 36, 4, 6 , 8 }, + { 50, 4, 5 , 11 }, + { 63, 4, 7 , 8 }, + { 78, 4, 6 , 9 }, + { 92, 4, 1 , 3 }, + { 101, 4, 3 , 12 }, + { 112, 4, 3 , 12 }, + { 123, 4, 5 , 5 }, + { 136, 4, 5 , 5 }, + { 149, 4, 2 , 2 }, + { 159, 4, 4 , 1 }, + { 171, 4, 1 , 1 }, + { 180, 4, 5 , 10 }, + { 193, 4, 4 , 8 }, + { 205, 4, 2 , 8 }, + { 215, 4, 4 , 8 }, + { 227, 4, 4 , 8 }, + { 239, 4, 6 , 8 }, + { 4, 28, 4 , 8 }, + { 16, 28, 4 , 8 }, + { 28, 28, 4 , 8 }, + { 40, 28, 4 , 8 }, + { 52, 28, 4 , 8 }, + { 64, 28, 1 , 5 }, + { 73, 28, 2 , 6 }, + { 83, 28, 4 , 7 }, + { 95, 28, 4 , 4 }, + { 107, 28, 4 , 7 }, + { 119, 28, 4 , 10 }, + { 131, 28, 8 , 7 }, + { 147, 28, 4 , 10 }, + { 159, 28, 4 , 10 }, + { 171, 28, 4 , 10 }, + { 183, 28, 4 , 10 }, + { 195, 28, 4 , 10 }, + { 207, 28, 5 , 10 }, + { 220, 28, 4 , 10 }, + { 232, 28, 4 , 10 }, + { 4, 52, 1 , 10 }, + { 13, 52, 3 , 10 }, + { 24, 52, 4 , 10 }, + { 36, 52, 4 , 10 }, + { 48, 52, 7 , 10 }, + { 63, 52, 4 , 10 }, + { 75, 52, 4 , 10 }, + { 87, 52, 4 , 10 }, + { 99, 52, 5 , 11 }, + { 112, 52, 4 , 10 }, + { 124, 52, 4 , 10 }, + { 136, 52, 5 , 10 }, + { 149, 52, 4 , 10 }, + { 161, 52, 4 , 10 }, + { 173, 52, 7 , 10 }, + { 188, 52, 4 , 10 }, + { 200, 52, 4 , 10 }, + { 212, 52, 4 , 10 }, + { 224, 52, 2 , 12 }, + { 234, 52, 5 , 10 }, + { 4, 76, 2 , 12 }, + { 14, 76, 5 , 3 }, + { 27, 76, 5 , 1 }, + { 40, 76, 2 , 2 }, + { 50, 76, 4 , 8 }, + { 62, 76, 4 , 10 }, + { 74, 76, 3 , 8 }, + { 85, 76, 4 , 10 }, + { 97, 76, 4 , 8 }, + { 109, 76, 3 , 10 }, + { 120, 76, 5 , 11 }, + { 133, 76, 4 , 10 }, + { 145, 76, 1 , 10 }, + { 154, 76, 3 , 13 }, + { 165, 76, 4 , 10 }, + { 177, 76, 2 , 10 }, + { 187, 76, 7 , 8 }, + { 202, 76, 4 , 8 }, + { 214, 76, 4 , 8 }, + { 226, 76, 4 , 11 }, + { 238, 76, 4 , 11 }, + { 4, 100, 3 , 8 }, + { 15, 100, 4 , 8 }, + { 27, 100, 3 , 10 }, + { 38, 100, 4 , 8 }, + { 50, 100, 5 , 8 }, + { 63, 100, 7 , 8 }, + { 78, 100, 4 , 8 }, + { 90, 100, 4 , 11 }, + { 102, 100, 4 , 8 }, + { 114, 100, 4 , 12 }, + { 126, 100, 1 , 10 }, + { 135, 100, 4 , 12 }, + { 147, 100, 4 , 2 }, +}; + +// Font characters info data +// NOTE: No chars.image data provided +static const GlyphInfo ashesFontChars[95] = { + { 32, 0, 13, 4, { 0 }}, + { 33, 0, 3, 4, { 0 }}, + { 34, 0, 1, 5, { 0 }}, + { 35, 0, 4, 8, { 0 }}, + { 36, 0, 2, 7, { 0 }}, + { 37, 0, 5, 9, { 0 }}, + { 38, 0, 4, 8, { 0 }}, + { 39, 0, 1, 3, { 0 }}, + { 40, 0, 2, 5, { 0 }}, + { 41, 0, 2, 5, { 0 }}, + { 42, 0, 3, 7, { 0 }}, + { 43, 0, 6, 7, { 0 }}, + { 44, 0, 12, 4, { 0 }}, + { 45, 0, 9, 5, { 0 }}, + { 46, 0, 12, 3, { 0 }}, + { 47, 0, 3, 7, { 0 }}, + { 48, 0, 5, 6, { 0 }}, + { 49, 0, 5, 4, { 0 }}, + { 50, 0, 5, 6, { 0 }}, + { 51, 0, 5, 6, { 0 }}, + { 52, 0, 5, 8, { 0 }}, + { 53, 0, 5, 6, { 0 }}, + { 54, 0, 5, 6, { 0 }}, + { 55, 0, 5, 6, { 0 }}, + { 56, 0, 5, 6, { 0 }}, + { 57, 0, 5, 6, { 0 }}, + { 58, 0, 8, 3, { 0 }}, + { 59, 0, 8, 4, { 0 }}, + { 60, 0, 5, 6, { 0 }}, + { 61, 0, 7, 7, { 0 }}, + { 62, 0, 5, 6, { 0 }}, + { 63, 1, 3, 7, { 0 }}, + { 64, 0, 5, 10, { 0 }}, + { 65, 0, 3, 6, { 0 }}, + { 66, 0, 3, 6, { 0 }}, + { 67, 0, 3, 6, { 0 }}, + { 68, 0, 3, 6, { 0 }}, + { 69, 0, 3, 6, { 0 }}, + { 70, 0, 3, 6, { 0 }}, + { 71, 0, 3, 6, { 0 }}, + { 72, 0, 3, 6, { 0 }}, + { 73, 0, 3, 3, { 0 }}, + { 74, 0, 3, 5, { 0 }}, + { 75, 0, 3, 6, { 0 }}, + { 76, 0, 3, 6, { 0 }}, + { 77, 0, 3, 9, { 0 }}, + { 78, 0, 3, 6, { 0 }}, + { 79, 0, 3, 6, { 0 }}, + { 80, 0, 3, 6, { 0 }}, + { 81, 0, 3, 7, { 0 }}, + { 82, 0, 3, 6, { 0 }}, + { 83, 0, 3, 6, { 0 }}, + { 84, 0, 3, 6, { 0 }}, + { 85, 0, 3, 6, { 0 }}, + { 86, 0, 3, 6, { 0 }}, + { 87, 0, 3, 9, { 0 }}, + { 88, 0, 3, 6, { 0 }}, + { 89, 0, 3, 6, { 0 }}, + { 90, 0, 3, 6, { 0 }}, + { 91, 0, 2, 4, { 0 }}, + { 92, 0, 3, 7, { 0 }}, + { 93, 0, 2, 4, { 0 }}, + { 94, 0, 3, 7, { 0 }}, + { 95, 0, 12, 7, { 0 }}, + { 96, 0, 1, 4, { 0 }}, + { 97, 0, 5, 6, { 0 }}, + { 98, 0, 3, 6, { 0 }}, + { 99, 0, 5, 5, { 0 }}, + { 100, 0, 3, 6, { 0 }}, + { 101, 0, 5, 6, { 0 }}, + { 102, 0, 3, 5, { 0 }}, + { 103, 0, 5, 6, { 0 }}, + { 104, 0, 3, 6, { 0 }}, + { 105, 0, 3, 3, { 0 }}, + { 106, 0, 3, 5, { 0 }}, + { 107, 0, 3, 6, { 0 }}, + { 108, 0, 3, 4, { 0 }}, + { 109, 0, 5, 9, { 0 }}, + { 110, 0, 5, 6, { 0 }}, + { 111, 0, 5, 6, { 0 }}, + { 112, 0, 5, 6, { 0 }}, + { 113, 0, 5, 6, { 0 }}, + { 114, 0, 5, 5, { 0 }}, + { 115, 0, 5, 6, { 0 }}, + { 116, 0, 3, 5, { 0 }}, + { 117, 0, 5, 6, { 0 }}, + { 118, 0, 5, 7, { 0 }}, + { 119, 0, 5, 9, { 0 }}, + { 120, 0, 5, 6, { 0 }}, + { 121, 0, 5, 6, { 0 }}, + { 122, 0, 5, 6, { 0 }}, + { 123, 0, 2, 6, { 0 }}, + { 124, 0, 3, 3, { 0 }}, + { 125, 0, 2, 6, { 0 }}, + { 126, 0, 1, 6, { 0 }}, +}; + +// Style loading function: ashes +static void GuiLoadStyleAshes(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < ASHES_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(ashesStyleProps[i].controlId, ashesStyleProps[i].propertyId, ashesStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int ashesFontDataSize = 0; + unsigned char *data = DecompressData(ashesFontData, ASHES_COMPRESSED_DATA_SIZE, &ashesFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 16; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, ashesFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, ashesFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + Rectangle whiteChar = { 37, 6, 1, 1 }; + SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/ashes/ashes.rgs b/styles/ashes/ashes.rgs index 45ab7bd..f491d68 100644 Binary files a/styles/ashes/ashes.rgs and b/styles/ashes/ashes.rgs differ diff --git a/styles/ashes/ashes.txt.rgs b/styles/ashes/ashes.txt.rgs new file mode 100644 index 0000000..45ab7bd --- /dev/null +++ b/styles/ashes/ashes.txt.rgs @@ -0,0 +1,24 @@ +# +# rgs style text file (v3.1) - raygui style file generated using rGuiStyler +# +# Style properties: +# f +# p +# +f 16 0 v5loxical.ttf +p 00 00 0xf0f0f0ff DEFAULT_BORDER_COLOR_NORMAL +p 00 01 0x868686ff DEFAULT_BASE_COLOR_NORMAL +p 00 02 0xe6e6e6ff DEFAULT_TEXT_COLOR_NORMAL +p 00 03 0x929999ff DEFAULT_BORDER_COLOR_FOCUSED +p 00 04 0xeaeaeaff DEFAULT_BASE_COLOR_FOCUSED +p 00 05 0x98a1a8ff DEFAULT_TEXT_COLOR_FOCUSED +p 00 06 0x3f3f3fff DEFAULT_BORDER_COLOR_PRESSED +p 00 07 0xf6f6f6ff DEFAULT_BASE_COLOR_PRESSED +p 00 08 0x414141ff DEFAULT_TEXT_COLOR_PRESSED +p 00 09 0x8b8b8bff DEFAULT_BORDER_COLOR_DISABLED +p 00 10 0x777777ff DEFAULT_BASE_COLOR_DISABLED +p 00 11 0x959595ff DEFAULT_TEXT_COLOR_DISABLED +p 00 16 0x00000010 TEXT_SIZE +p 00 17 0x00000001 TEXT_SPACING +p 00 18 0x9dadb1ff DEFAULT_LINE_COLOR +p 00 19 0x6b6b6bff DEFAULT_BACKGROUND_COLOR diff --git a/styles/bluish/bluish.h b/styles/bluish/bluish.h new file mode 100644 index 0000000..648d1bb --- /dev/null +++ b/styles/bluish/bluish.h @@ -0,0 +1,358 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleBluish(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define BLUISH_STYLE_PROPS_COUNT 14 + +// Custom style name: bluish +static const GuiStyleProp bluishStyleProps[BLUISH_STYLE_PROPS_COUNT] = { + { 0, 0, 0x5ca6a6ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0xb4e8f3ff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0x447e77ff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0x5f8792ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0xcdeff7ff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0x4c6c74ff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0x3b5b5fff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0xeaffffff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0x275057ff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x96aaacff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0xc8d7d9ff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x8c9c9eff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 18, 0x84adb7ff }, // DEFAULT_LINE_COLOR + { 0, 19, 0xe8eef1ff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: (size: 10, spacing: 1) + +#define BLUISH_COMPRESSED_DATA_SIZE 1423 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char bluishFontData[BLUISH_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0xd1, 0x72, 0x9b, 0x3a, 0x10, 0x00, 0x50, 0xc4, 0xff, 0x7f, 0x72, 0x41, 0x77, 0x1a, 0x3b, 0x99, 0xb9, 0x2d, 0x2b, + 0x58, 0x21, 0x08, 0x6d, 0x4f, 0xcf, 0xb4, 0x0f, 0x91, 0x51, 0x24, 0x2d, 0xe0, 0x34, 0x5a, 0x2f, 0x75, 0x02, 0x00, 0xf8, + 0xcd, 0x1c, 0x7c, 0x6d, 0x0e, 0x5f, 0x3d, 0x27, 0x7a, 0x7a, 0x7d, 0x7d, 0x6e, 0xb4, 0xe7, 0x7a, 0x9b, 0x13, 0x3d, 0xb4, + 0x5a, 0xda, 0x6d, 0xbf, 0x2a, 0x6f, 0x23, 0x56, 0x76, 0xfe, 0x5a, 0x8f, 0xed, 0x55, 0xca, 0xbc, 0x7e, 0x4e, 0xcd, 0x62, + 0x5b, 0x0d, 0xbe, 0xb6, 0x6e, 0xce, 0xb7, 0xd6, 0x12, 0xb4, 0xcc, 0xb5, 0x06, 0xe3, 0xa9, 0x1f, 0x47, 0x6d, 0xf7, 0xd8, + 0x3a, 0x6a, 0xeb, 0x7b, 0x2c, 0x1b, 0x7d, 0x2c, 0xe1, 0x59, 0xf1, 0xf3, 0x3b, 0x46, 0x2b, 0xb4, 0x06, 0xf1, 0xac, 0x9b, + 0xaf, 0x7d, 0x29, 0x87, 0x5e, 0xdd, 0xfa, 0x0e, 0xb5, 0x2e, 0x75, 0x79, 0xaf, 0xc7, 0xaf, 0xb3, 0xa8, 0xa9, 0xd7, 0xc7, + 0x2d, 0xe7, 0xe3, 0xbf, 0x7e, 0x8c, 0xa7, 0x6c, 0x5c, 0x07, 0x3f, 0xa3, 0xb5, 0x06, 0xf1, 0x8a, 0xc6, 0xf3, 0x5a, 0xb9, + 0xb2, 0xd9, 0x63, 0xeb, 0xa8, 0xe9, 0xf0, 0x6a, 0x6f, 0x1f, 0xff, 0x1a, 0xe9, 0xf6, 0x3c, 0xca, 0x47, 0xdb, 0xd6, 0xda, + 0x2d, 0x83, 0xee, 0xab, 0xd1, 0x7c, 0xa7, 0xe6, 0xb5, 0xb5, 0xbd, 0x0a, 0x6b, 0xaa, 0xe5, 0x7c, 0xfc, 0xe3, 0x33, 0xba, + 0xbe, 0xff, 0x46, 0x33, 0x5b, 0x82, 0xf1, 0x94, 0xa0, 0xa5, 0x7d, 0xd4, 0x99, 0xf8, 0x97, 0xf7, 0x48, 0xe7, 0xe0, 0x7a, + 0xae, 0xc1, 0x15, 0x7d, 0x65, 0xf4, 0xf3, 0xf1, 0x2f, 0xef, 0x73, 0xb5, 0x04, 0xef, 0x4a, 0xf7, 0xc6, 0xbf, 0xbc, 0xef, + 0xff, 0x73, 0x30, 0xfa, 0x12, 0x46, 0x3f, 0xbe, 0xdb, 0x66, 0xde, 0x57, 0x73, 0xd7, 0xff, 0x6b, 0x9d, 0xa3, 0x73, 0xeb, + 0xba, 0xd8, 0xb7, 0xe7, 0x9b, 0x8b, 0x7f, 0x0d, 0xdf, 0x79, 0x3e, 0xcf, 0xe2, 0xb3, 0xb3, 0x58, 0x07, 0x5d, 0xff, 0x6b, + 0x38, 0x9e, 0xf2, 0xbe, 0xff, 0x6f, 0xcf, 0x39, 0x73, 0x15, 0x66, 0xe2, 0xbf, 0x17, 0xe3, 0x2b, 0xaf, 0xfd, 0xb8, 0xef, + 0x7c, 0xfc, 0x5f, 0x3d, 0x6e, 0x7d, 0x97, 0xab, 0xcf, 0xe2, 0x29, 0xf5, 0xf3, 0x5f, 0x69, 0xfc, 0xcc, 0xf3, 0x79, 0xee, + 0x64, 0xe6, 0x37, 0x2a, 0xce, 0xf7, 0xab, 0xbb, 0x33, 0xc8, 0xc4, 0xbf, 0x84, 0xab, 0x5a, 0x6e, 0x7f, 0xff, 0x6f, 0xc5, + 0xbf, 0x35, 0xd2, 0x56, 0xfc, 0x73, 0xb3, 0xa8, 0xc9, 0x9f, 0xc1, 0x9f, 0x17, 0xff, 0xfa, 0xf5, 0xff, 0xa1, 0x63, 0x73, + 0x8b, 0x5e, 0xdf, 0xea, 0xe9, 0x7b, 0x66, 0xdd, 0x33, 0x9e, 0xa7, 0xcd, 0x82, 0x33, 0x7e, 0x74, 0xc4, 0xf1, 0x87, 0xd8, + 0x03, 0x00, 0x00, 0x00, 0x0c, 0xcb, 0xf2, 0x19, 0x95, 0x61, 0x32, 0xba, 0xe5, 0x5c, 0x56, 0x50, 0x9c, 0x9d, 0xd3, 0xca, + 0x48, 0x6a, 0x8f, 0xf2, 0xae, 0xf5, 0x98, 0x6e, 0xca, 0xf9, 0xa9, 0x1d, 0x19, 0x29, 0x77, 0xb5, 0x2c, 0x87, 0xb3, 0x30, + 0xb6, 0x77, 0x73, 0xe3, 0xec, 0x9c, 0x35, 0x58, 0xab, 0xbd, 0x51, 0xde, 0xb7, 0x1e, 0x73, 0xc7, 0xe8, 0x7a, 0x7e, 0x5b, + 0x5e, 0x77, 0x76, 0xe7, 0x96, 0x54, 0xcb, 0xba, 0xbb, 0xd7, 0x97, 0xcb, 0x7c, 0x39, 0xb7, 0xaf, 0xda, 0xca, 0xce, 0x8b, + 0xf2, 0x3f, 0x5a, 0xa3, 0x8c, 0xf2, 0x2a, 0x6a, 0xf7, 0xac, 0x97, 0xa1, 0xc7, 0x2c, 0x5d, 0xf1, 0x8f, 0x67, 0x15, 0xef, + 0xcd, 0xb7, 0xb3, 0x1e, 0xe3, 0xde, 0x72, 0x2d, 0xc7, 0xb3, 0x0f, 0xa2, 0x18, 0xc7, 0x39, 0x12, 0xd9, 0xdc, 0x99, 0xda, + 0xc8, 0xab, 0xd8, 0x9b, 0xdb, 0x92, 0xda, 0x9b, 0xac, 0x3b, 0x6b, 0x78, 0x3e, 0x5b, 0xe6, 0x58, 0x76, 0xc6, 0xda, 0x98, + 0x6f, 0x3b, 0xc3, 0x64, 0x4d, 0x1d, 0xb3, 0x0e, 0xc8, 0x57, 0xc9, 0x9e, 0x3d, 0xad, 0x3c, 0x9c, 0xb5, 0x11, 0xff, 0x39, + 0x39, 0xb7, 0x57, 0xcb, 0x9c, 0xda, 0x0b, 0xae, 0x3b, 0x6b, 0x78, 0x3e, 0x5b, 0xe6, 0xd8, 0xfa, 0x95, 0xee, 0x3b, 0xf6, + 0xa8, 0x63, 0xae, 0x3b, 0x03, 0x6a, 0xba, 0x9f, 0xfa, 0x75, 0xa6, 0x8e, 0xbc, 0xff, 0x97, 0x8e, 0x77, 0xe4, 0x72, 0x3a, + 0x57, 0xe3, 0xf8, 0x1d, 0xbb, 0x2f, 0xc3, 0x64, 0xd4, 0x31, 0xcf, 0xca, 0xdd, 0x28, 0x9d, 0x77, 0xec, 0x7b, 0x5a, 0xae, + 0x88, 0x7f, 0x6f, 0x86, 0xc9, 0x3a, 0xec, 0x98, 0xe9, 0xf6, 0x9c, 0x9e, 0x1a, 0x5e, 0xff, 0xad, 0xf5, 0x18, 0xb9, 0x86, + 0xad, 0x3c, 0xa0, 0xf6, 0x08, 0xfe, 0x05, 0x8b, 0xdf, 0xd9, 0x00, 0x00, 0x00, 0x00, 0x40, 0x22, 0xff, 0xa7, 0x9d, 0x7d, + 0x93, 0xcb, 0x50, 0x69, 0x67, 0xed, 0x64, 0x6b, 0xf4, 0xcc, 0xb7, 0x67, 0xdd, 0x8c, 0x6e, 0xe9, 0x59, 0x8b, 0xbd, 0x96, + 0xdc, 0x91, 0xfb, 0xbf, 0xef, 0x8e, 0x73, 0x4a, 0xa2, 0xdf, 0x6a, 0x2f, 0x1f, 0x47, 0x8d, 0xd9, 0xfd, 0xab, 0xbb, 0x23, + 0x7b, 0xfd, 0x3b, 0x3f, 0x30, 0x3f, 0xa9, 0x95, 0xb9, 0xf4, 0x39, 0xf2, 0x91, 0xbb, 0x85, 0xaf, 0x96, 0x65, 0x73, 0x2d, + 0x7a, 0xf7, 0xd0, 0x7a, 0xf2, 0x50, 0xda, 0xbb, 0x61, 0xe3, 0xe2, 0xdf, 0x3b, 0xe7, 0x7b, 0x5b, 0xb2, 0x75, 0x44, 0x9e, + 0x17, 0xff, 0x56, 0x96, 0xcf, 0xa8, 0xf8, 0x9f, 0xcb, 0x83, 0x19, 0x17, 0xff, 0x9e, 0x1c, 0xae, 0x78, 0xec, 0xad, 0x3c, + 0xa8, 0x3b, 0xe3, 0x1f, 0xd7, 0xd1, 0x3a, 0x12, 0xff, 0x7c, 0x96, 0x4f, 0x3e, 0xfe, 0xe7, 0xf2, 0x60, 0xc6, 0xc5, 0xbf, + 0x27, 0x87, 0x63, 0x6d, 0x54, 0x8b, 0x5a, 0xd3, 0xb5, 0x47, 0xea, 0x4e, 0x8e, 0xe1, 0xd2, 0x11, 0xff, 0x12, 0x8e, 0xf1, + 0x6c, 0xfe, 0x67, 0xe6, 0xfa, 0x2f, 0x97, 0xe5, 0xc1, 0x8c, 0xbd, 0xff, 0x8f, 0x5a, 0x87, 0xb2, 0x93, 0x7d, 0x58, 0x3a, + 0xb2, 0x45, 0xd6, 0xc1, 0x6b, 0x71, 0x2c, 0xdf, 0x61, 0x4c, 0xfc, 0x7b, 0xfa, 0x3a, 0x76, 0x4c, 0x36, 0xfe, 0xa5, 0x23, + 0xfe, 0x23, 0xc7, 0xde, 0x8e, 0x7f, 0x69, 0x64, 0x8b, 0xec, 0x1f, 0x33, 0x3a, 0xfe, 0xbd, 0x59, 0x2d, 0x65, 0x60, 0x5f, + 0x75, 0x70, 0xfc, 0xf3, 0x79, 0x32, 0x63, 0xc7, 0xde, 0x8e, 0x7f, 0xff, 0xe8, 0x5e, 0x7f, 0xe6, 0x0b, 0x72, 0xe8, 0x51, + 0x71, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x7f, 0xa6, 0xc6, 0x13, 0xa9, 0xda, 0x59, 0x46, 0xc7, 0xb3, 0x85, 0x3e, 0x33, + 0x28, 0xb6, 0xf3, 0x27, 0xc6, 0x54, 0xfa, 0xd9, 0x7f, 0x76, 0x57, 0xf6, 0xfb, 0x44, 0xab, 0xd5, 0x33, 0xb6, 0xab, 0x9f, + 0x71, 0x76, 0x2c, 0xcb, 0xa7, 0x95, 0xf7, 0x92, 0xfb, 0x0c, 0x6a, 0x54, 0x9b, 0x66, 0x0e, 0x2a, 0xdd, 0x64, 0x3f, 0xbb, + 0xdf, 0xaa, 0x55, 0x11, 0xf7, 0x33, 0xb2, 0x8a, 0x45, 0x0d, 0xcf, 0xd7, 0xda, 0x31, 0xb6, 0x25, 0xf8, 0x6a, 0xd4, 0xc7, + 0xdc, 0xfd, 0x49, 0xe9, 0xfe, 0x5a, 0x0e, 0x47, 0x6b, 0x2a, 0xc5, 0x3b, 0x86, 0xaf, 0xbd, 0xee, 0xec, 0x19, 0xb0, 0x86, + 0xd7, 0xd8, 0xf6, 0x58, 0xe7, 0x30, 0xbf, 0x65, 0x0a, 0x9f, 0x66, 0x96, 0xaf, 0x55, 0x53, 0x83, 0xa7, 0x86, 0xb5, 0xf7, + 0x8f, 0xa2, 0xb1, 0x45, 0x4f, 0x4b, 0x9a, 0x82, 0x3e, 0x96, 0xee, 0xcf, 0x84, 0xd7, 0x9d, 0xe7, 0x48, 0x65, 0x7a, 0x6e, + 0x9d, 0x01, 0xad, 0x27, 0xb9, 0x2d, 0x03, 0x9e, 0x55, 0x92, 0xaf, 0x55, 0xd3, 0xca, 0x3c, 0x68, 0xf7, 0x96, 0xad, 0xcd, + 0x12, 0x9f, 0x33, 0xb9, 0x3b, 0xc3, 0xa8, 0x0a, 0x33, 0xc7, 0xee, 0x9c, 0xa5, 0x31, 0xa3, 0x29, 0x7d, 0x06, 0x5c, 0xfb, + 0x24, 0x8f, 0xeb, 0x32, 0x0f, 0x8e, 0xce, 0x62, 0xf4, 0xce, 0xf2, 0xf1, 0xf8, 0x4f, 0xa7, 0x6a, 0x82, 0x94, 0xee, 0x5c, + 0x99, 0xdc, 0x19, 0x70, 0x75, 0xfc, 0xaf, 0xca, 0x3c, 0x18, 0x55, 0x81, 0x63, 0x7d, 0x68, 0xfc, 0xf7, 0xaa, 0xcd, 0xe4, + 0x63, 0x99, 0xcf, 0x18, 0x9d, 0xbe, 0xe5, 0xce, 0x30, 0xfa, 0x98, 0x29, 0xfd, 0x3f, 0x99, 0x67, 0xc4, 0xbf, 0xaf, 0x42, + 0x4d, 0x49, 0xd7, 0x12, 0xfa, 0xae, 0xf8, 0xe7, 0x9f, 0x23, 0xd5, 0x77, 0xcc, 0xf8, 0xdc, 0xcb, 0x3b, 0xe2, 0xcf, 0x9f, + 0x53, 0xf9, 0x68, 0x91, 0x9f, 0x04, 0x00, 0x00, 0x00, 0x40, 0x52, 0xf9, 0x9f, 0x4c, 0xf6, 0xca, 0xf7, 0xb7, 0xcc, 0x3b, + 0xbb, 0x5a, 0xa5, 0xbb, 0xa5, 0x0c, 0xeb, 0xb3, 0x95, 0x63, 0x74, 0xf6, 0x99, 0x67, 0x9f, 0x7d, 0x97, 0x01, 0x3b, 0xe7, + 0xaf, 0x7f, 0xe7, 0x41, 0x3b, 0xeb, 0xe3, 0x5b, 0xae, 0xff, 0x34, 0xff, 0x15, 0xf5, 0x06, 0x5a, 0x15, 0x22, 0xe6, 0xc3, + 0xb9, 0x15, 0x4b, 0xb8, 0xa7, 0xba, 0x36, 0x6a, 0x06, 0xe4, 0xf7, 0x20, 0xbe, 0xbf, 0xca, 0xce, 0x92, 0x7c, 0x0e, 0xd5, + 0x7c, 0x63, 0x8d, 0x8d, 0x75, 0x27, 0x1f, 0x26, 0x97, 0x43, 0x13, 0xd7, 0x50, 0x98, 0x52, 0xaf, 0x8d, 0x9e, 0x49, 0xf4, + 0x67, 0xc6, 0x7f, 0x4a, 0xe6, 0xf6, 0xad, 0x07, 0xea, 0x65, 0x8c, 0xaa, 0xb1, 0x51, 0x3a, 0x32, 0x7c, 0x4a, 0xe3, 0xf9, + 0x63, 0xb9, 0xf8, 0x47, 0x4f, 0xab, 0x5b, 0x4f, 0x3e, 0xf9, 0xe9, 0x9a, 0x2a, 0x1b, 0xe3, 0x9f, 0x60, 0x33, 0xae, 0x9a, + 0xc7, 0xf8, 0x1a, 0x1b, 0xad, 0x9d, 0xf2, 0x38, 0xaf, 0x32, 0x17, 0xff, 0xab, 0x6a, 0x3b, 0x5c, 0x53, 0x65, 0xa3, 0xb7, + 0x42, 0x48, 0x4f, 0x6e, 0x4f, 0x79, 0x48, 0x8d, 0x8d, 0x6c, 0x85, 0x90, 0xf3, 0xf7, 0xff, 0xe7, 0xee, 0x54, 0xdf, 0x53, + 0x67, 0xa3, 0x27, 0x4f, 0xe7, 0xaa, 0x9d, 0xf9, 0xfc, 0xee, 0x7c, 0x26, 0xb7, 0x52, 0x65, 0x97, 0x51, 0x79, 0x3a, 0x4f, + 0xf2, 0x94, 0x67, 0x9e, 0xf1, 0xa4, 0x73, 0xda, 0x1a, 0xfc, 0xdb, 0x59, 0x5e, 0xd6, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x2f, + 0xf0, 0x1f }; + +// Font characters rectangles data +static const Rectangle bluishFontRecs[95] = { + { 4, 4, 5 , 10 }, + { 17, 4, 2 , 8 }, + { 27, 4, 4 , 3 }, + { 39, 4, 6 , 8 }, + { 53, 4, 5 , 10 }, + { 66, 4, 6 , 8 }, + { 80, 4, 5 , 10 }, + { 93, 4, 2 , 3 }, + { 103, 4, 3 , 8 }, + { 114, 4, 3 , 8 }, + { 125, 4, 6 , 6 }, + { 139, 4, 6 , 6 }, + { 153, 4, 2 , 3 }, + { 163, 4, 5 , 2 }, + { 176, 4, 2 , 2 }, + { 186, 4, 6 , 8 }, + { 200, 4, 5 , 8 }, + { 213, 4, 3 , 8 }, + { 224, 4, 5 , 8 }, + { 237, 4, 5 , 8 }, + { 4, 22, 5 , 8 }, + { 17, 22, 5 , 8 }, + { 30, 22, 5 , 8 }, + { 43, 22, 5 , 8 }, + { 56, 22, 5 , 8 }, + { 69, 22, 5 , 8 }, + { 82, 22, 2 , 8 }, + { 92, 22, 2 , 9 }, + { 102, 22, 4 , 6 }, + { 114, 22, 5 , 4 }, + { 127, 22, 4 , 6 }, + { 139, 22, 5 , 8 }, + { 152, 22, 6 , 8 }, + { 166, 22, 5 , 8 }, + { 179, 22, 5 , 8 }, + { 192, 22, 5 , 8 }, + { 205, 22, 5 , 8 }, + { 218, 22, 5 , 8 }, + { 231, 22, 5 , 8 }, + { 4, 40, 5 , 8 }, + { 17, 40, 5 , 8 }, + { 30, 40, 4 , 8 }, + { 42, 40, 5 , 8 }, + { 55, 40, 5 , 8 }, + { 68, 40, 5 , 8 }, + { 81, 40, 8 , 8 }, + { 97, 40, 5 , 8 }, + { 110, 40, 5 , 8 }, + { 123, 40, 5 , 8 }, + { 136, 40, 5 , 9 }, + { 149, 40, 5 , 8 }, + { 162, 40, 5 , 8 }, + { 175, 40, 6 , 8 }, + { 189, 40, 5 , 8 }, + { 202, 40, 5 , 8 }, + { 215, 40, 8 , 8 }, + { 231, 40, 5 , 8 }, + { 4, 58, 5 , 8 }, + { 17, 58, 5 , 8 }, + { 30, 58, 3 , 8 }, + { 41, 58, 6 , 8 }, + { 55, 58, 3 , 8 }, + { 66, 58, 6 , 4 }, + { 80, 58, 5 , 1 }, + { 93, 58, 2 , 3 }, + { 103, 58, 5 , 6 }, + { 116, 58, 5 , 8 }, + { 129, 58, 5 , 6 }, + { 142, 58, 5 , 8 }, + { 155, 58, 5 , 6 }, + { 168, 58, 5 , 8 }, + { 181, 58, 5 , 7 }, + { 194, 58, 5 , 8 }, + { 207, 58, 2 , 8 }, + { 217, 58, 3 , 9 }, + { 228, 58, 5 , 8 }, + { 241, 58, 2 , 8 }, + { 4, 76, 8 , 6 }, + { 20, 76, 5 , 6 }, + { 33, 76, 5 , 6 }, + { 46, 76, 5 , 7 }, + { 59, 76, 5 , 7 }, + { 72, 76, 5 , 6 }, + { 85, 76, 5 , 6 }, + { 98, 76, 5 , 8 }, + { 111, 76, 5 , 6 }, + { 124, 76, 5 , 6 }, + { 137, 76, 8 , 6 }, + { 153, 76, 5 , 6 }, + { 166, 76, 5 , 7 }, + { 179, 76, 5 , 6 }, + { 192, 76, 4 , 8 }, + { 204, 76, 2 , 10 }, + { 214, 76, 4 , 8 }, + { 226, 76, 6 , 4 }, +}; + +// Font characters info data +// NOTE: No chars.image data provided +static const GlyphInfo bluishFontChars[95] = { + { 32, 0, 9, 5, { 0 }}, + { 33, 0, 1, 2, { 0 }}, + { 34, 0, 1, 4, { 0 }}, + { 35, 0, 1, 6, { 0 }}, + { 36, 0, 0, 5, { 0 }}, + { 37, 0, 1, 6, { 0 }}, + { 38, 0, 0, 5, { 0 }}, + { 39, 0, 1, 2, { 0 }}, + { 40, 0, 1, 3, { 0 }}, + { 41, 0, 1, 3, { 0 }}, + { 42, 0, 1, 6, { 0 }}, + { 43, 0, 2, 6, { 0 }}, + { 44, 0, 7, 2, { 0 }}, + { 45, 0, 4, 5, { 0 }}, + { 46, 0, 7, 2, { 0 }}, + { 47, 0, 1, 6, { 0 }}, + { 48, 0, 1, 5, { 0 }}, + { 49, 0, 1, 3, { 0 }}, + { 50, 0, 1, 5, { 0 }}, + { 51, 0, 1, 5, { 0 }}, + { 52, 0, 1, 5, { 0 }}, + { 53, 0, 1, 5, { 0 }}, + { 54, 0, 1, 5, { 0 }}, + { 55, 0, 1, 5, { 0 }}, + { 56, 0, 1, 5, { 0 }}, + { 57, 0, 1, 5, { 0 }}, + { 58, 0, 1, 2, { 0 }}, + { 59, 0, 1, 2, { 0 }}, + { 60, 0, 2, 4, { 0 }}, + { 61, 0, 3, 5, { 0 }}, + { 62, 0, 2, 4, { 0 }}, + { 63, 0, 1, 5, { 0 }}, + { 64, 0, 1, 6, { 0 }}, + { 65, 0, 1, 5, { 0 }}, + { 66, 0, 1, 5, { 0 }}, + { 67, 0, 1, 5, { 0 }}, + { 68, 0, 1, 5, { 0 }}, + { 69, 0, 1, 5, { 0 }}, + { 70, 0, 1, 5, { 0 }}, + { 71, 0, 1, 5, { 0 }}, + { 72, 0, 1, 5, { 0 }}, + { 73, 0, 1, 4, { 0 }}, + { 74, 0, 1, 5, { 0 }}, + { 75, 0, 1, 5, { 0 }}, + { 76, 0, 1, 5, { 0 }}, + { 77, 0, 1, 8, { 0 }}, + { 78, 0, 1, 5, { 0 }}, + { 79, 0, 1, 5, { 0 }}, + { 80, 0, 1, 5, { 0 }}, + { 81, 0, 1, 5, { 0 }}, + { 82, 0, 1, 5, { 0 }}, + { 83, 0, 1, 5, { 0 }}, + { 84, 0, 1, 6, { 0 }}, + { 85, 0, 1, 5, { 0 }}, + { 86, 0, 1, 5, { 0 }}, + { 87, 0, 1, 8, { 0 }}, + { 88, 0, 1, 5, { 0 }}, + { 89, 0, 1, 5, { 0 }}, + { 90, 0, 1, 5, { 0 }}, + { 91, 0, 1, 3, { 0 }}, + { 92, 0, 1, 6, { 0 }}, + { 93, 0, 1, 3, { 0 }}, + { 94, 0, 1, 6, { 0 }}, + { 95, 0, 9, 5, { 0 }}, + { 96, 0, 1, 2, { 0 }}, + { 97, 0, 3, 5, { 0 }}, + { 98, 0, 1, 5, { 0 }}, + { 99, 0, 3, 5, { 0 }}, + { 100, 0, 1, 5, { 0 }}, + { 101, 0, 3, 5, { 0 }}, + { 102, 0, 1, 5, { 0 }}, + { 103, 0, 3, 5, { 0 }}, + { 104, 0, 1, 5, { 0 }}, + { 105, 0, 1, 2, { 0 }}, + { 106, 0, 1, 3, { 0 }}, + { 107, 0, 1, 5, { 0 }}, + { 108, 0, 1, 2, { 0 }}, + { 109, 0, 3, 8, { 0 }}, + { 110, 0, 3, 5, { 0 }}, + { 111, 0, 3, 5, { 0 }}, + { 112, 0, 3, 5, { 0 }}, + { 113, 0, 3, 5, { 0 }}, + { 114, 0, 3, 5, { 0 }}, + { 115, 0, 3, 5, { 0 }}, + { 116, 0, 1, 5, { 0 }}, + { 117, 0, 3, 5, { 0 }}, + { 118, 0, 3, 5, { 0 }}, + { 119, 0, 3, 8, { 0 }}, + { 120, 0, 3, 5, { 0 }}, + { 121, 0, 3, 5, { 0 }}, + { 122, 0, 3, 5, { 0 }}, + { 123, 0, 1, 4, { 0 }}, + { 124, 0, 0, 2, { 0 }}, + { 125, 0, 1, 4, { 0 }}, + { 126, 0, 3, 6, { 0 }}, +}; + +// Style loading function: bluish +static void GuiLoadStyleBluish(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < BLUISH_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(bluishStyleProps[i].controlId, bluishStyleProps[i].propertyId, bluishStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int bluishFontDataSize = 0; + unsigned char *data = DecompressData(bluishFontData, BLUISH_COMPRESSED_DATA_SIZE, &bluishFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 10; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, bluishFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, bluishFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + Rectangle whiteChar = { 66, 5, 2, 2 }; + SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/bluish/bluish.rgs b/styles/bluish/bluish.rgs index 9a2b7c4..d3d21ff 100644 Binary files a/styles/bluish/bluish.rgs and b/styles/bluish/bluish.rgs differ diff --git a/styles/bluish/bluish.txt.rgs b/styles/bluish/bluish.txt.rgs new file mode 100644 index 0000000..9a2b7c4 --- /dev/null +++ b/styles/bluish/bluish.txt.rgs @@ -0,0 +1,24 @@ +# +# rgs style text file (v3.1) - raygui style file generated using rGuiStyler +# +# Style properties: +# f +# p +# +f 10 0 homespun.ttf +p 00 00 0x5ca6a6ff DEFAULT_BORDER_COLOR_NORMAL +p 00 01 0xb4e8f3ff DEFAULT_BASE_COLOR_NORMAL +p 00 02 0x447e77ff DEFAULT_TEXT_COLOR_NORMAL +p 00 03 0x5f8792ff DEFAULT_BORDER_COLOR_FOCUSED +p 00 04 0xcdeff7ff DEFAULT_BASE_COLOR_FOCUSED +p 00 05 0x4c6c74ff DEFAULT_TEXT_COLOR_FOCUSED +p 00 06 0x3b5b5fff DEFAULT_BORDER_COLOR_PRESSED +p 00 07 0xeaffffff DEFAULT_BASE_COLOR_PRESSED +p 00 08 0x275057ff DEFAULT_TEXT_COLOR_PRESSED +p 00 09 0x96aaacff DEFAULT_BORDER_COLOR_DISABLED +p 00 10 0xc8d7d9ff DEFAULT_BASE_COLOR_DISABLED +p 00 11 0x8c9c9eff DEFAULT_TEXT_COLOR_DISABLED +p 00 16 0x0000000a TEXT_SIZE +p 00 17 0x00000001 TEXT_SPACING +p 00 18 0x84adb7ff DEFAULT_LINE_COLOR +p 00 19 0xe8eef1ff DEFAULT_BACKGROUND_COLOR diff --git a/styles/candy/candy.h b/styles/candy/candy.h new file mode 100644 index 0000000..0ff8adf --- /dev/null +++ b/styles/candy/candy.h @@ -0,0 +1,345 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleCandy(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define CANDY_STYLE_PROPS_COUNT 16 + +// Custom style name: candy +static const GuiStyleProp candyStyleProps[CANDY_STYLE_PROPS_COUNT] = { + { 0, 0, 0xe58b68ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0xfeda96ff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0xe59b5fff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0xee813fff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0xfcd85bff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0xfc6955ff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0xb34848ff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0xeb7272ff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0xbd4a4aff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x94795dff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0xc2a37aff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x9c8369ff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x0000000f }, // DEFAULT_TEXT_SIZE + { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING + { 0, 18, 0xd77575ff }, // DEFAULT_LINE_COLOR + { 0, 19, 0xfff5e1ff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: (size: 15, spacing: 0) + +#define CANDY_COMPRESSED_DATA_SIZE 1129 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char candyFontData[CANDY_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0xe1, 0x6e, 0xab, 0x38, 0x10, 0x06, 0x50, 0xbf, 0xff, 0x4b, 0x7b, 0xb5, 0xd2, 0x4a, 0x55, 0xef, 0xde, 0x80, 0x3d, + 0x9e, 0x31, 0x4e, 0x72, 0x7a, 0xfe, 0x95, 0x36, 0x09, 0x0c, 0x36, 0x10, 0x3e, 0x9b, 0xde, 0x00, 0x00, 0x7e, 0xf9, 0xf7, + 0xe7, 0xff, 0xbf, 0x6b, 0x7f, 0xf9, 0xed, 0xcf, 0xdf, 0xf6, 0xbf, 0x2e, 0xbd, 0x5a, 0x12, 0xff, 0xcf, 0xeb, 0x4f, 0x32, + 0xf6, 0x0a, 0xed, 0x62, 0xc9, 0xfd, 0x67, 0xfe, 0xf3, 0x77, 0x3d, 0xe5, 0xdd, 0x5f, 0xbd, 0xce, 0xdd, 0x27, 0xea, 0x97, + 0xeb, 0x52, 0x59, 0xff, 0x3f, 0x7f, 0x32, 0xeb, 0x7f, 0xfd, 0x9a, 0x2b, 0x15, 0xfb, 0x59, 0x9b, 0x9e, 0x50, 0xff, 0xf9, + 0xbd, 0xe8, 0x7a, 0x0d, 0x5e, 0xef, 0x63, 0x91, 0x36, 0x94, 0x55, 0xff, 0xbb, 0xbf, 0x9d, 0xaf, 0x62, 0xff, 0xaf, 0x02, + 0xd1, 0xde, 0x61, 0xb4, 0x35, 0x5f, 0x7d, 0xae, 0xab, 0x4f, 0xfc, 0x7a, 0xcf, 0xc9, 0xd8, 0xc2, 0xb3, 0x6b, 0x7c, 0xbd, + 0x2f, 0x9d, 0x5a, 0xff, 0xf5, 0xa3, 0xc3, 0xca, 0x16, 0xbd, 0x6a, 0x69, 0xb1, 0x3e, 0x2b, 0x6f, 0x0b, 0x67, 0xd5, 0x7f, + 0x57, 0xff, 0xbf, 0x56, 0xff, 0x68, 0x0f, 0x39, 0xbe, 0x76, 0x79, 0xed, 0xbf, 0xbe, 0xfe, 0x57, 0xfb, 0x5c, 0x9f, 0xda, + 0x92, 0xbd, 0xe4, 0x93, 0xee, 0xe9, 0xff, 0xc7, 0xfa, 0x85, 0x9a, 0xfe, 0xff, 0xee, 0xf8, 0xdf, 0xb6, 0xb7, 0xfe, 0x9f, + 0x5a, 0xce, 0xd6, 0xff, 0x8c, 0x6b, 0x85, 0x1e, 0x38, 0x9f, 0xbe, 0x3b, 0xe3, 0xa9, 0x3c, 0xfe, 0xb7, 0xc7, 0xb6, 0x5c, + 0x4f, 0xec, 0x49, 0x9f, 0x3e, 0xff, 0xbb, 0x3b, 0xff, 0x5f, 0x39, 0x3b, 0x98, 0x3b, 0xb2, 0xc5, 0xae, 0xf3, 0xd4, 0xff, + 0xc9, 0xfe, 0x7f, 0xe4, 0x7f, 0xdb, 0x87, 0xd5, 0xbf, 0x0f, 0xb4, 0xa6, 0xf1, 0x25, 0x77, 0xe7, 0xb1, 0xa7, 0x7e, 0x9b, + 0xb4, 0xef, 0x5d, 0x4e, 0xdb, 0x32, 0xe7, 0xd6, 0xe9, 0xbd, 0xeb, 0x3f, 0xff, 0xfd, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xe7, 0xde, 0x9d, 0x89, 0x66, 0x37, 0xe6, 0xef, 0x57, 0xc6, 0xff, 0xef, 0x3e, 0x49, 0x5a, 0x91, 0xe0, 0x8e, 0xa5, + 0x13, 0x46, 0xd2, 0x85, 0xb9, 0xcb, 0xa2, 0x77, 0x81, 0xc7, 0xf2, 0x99, 0x99, 0xd9, 0x9d, 0xca, 0x65, 0x15, 0x79, 0xa9, + 0xc8, 0xda, 0xaf, 0xe5, 0xbc, 0xb3, 0x97, 0xad, 0xde, 0x3d, 0x8f, 0xe5, 0x91, 0x57, 0xee, 0xd6, 0x56, 0xac, 0xe1, 0xc8, + 0x5a, 0xf6, 0x94, 0xb1, 0x0b, 0xbf, 0x53, 0x9c, 0xef, 0x50, 0xff, 0x7e, 0x9b, 0x48, 0x9d, 0xeb, 0x71, 0xae, 0x93, 0xfd, + 0x77, 0xad, 0xaa, 0x2e, 0xe9, 0x94, 0xd5, 0xfa, 0x47, 0xea, 0x7f, 0x3d, 0x66, 0xa6, 0x5d, 0xee, 0x6f, 0xf5, 0x69, 0xc9, + 0xd5, 0xd6, 0x38, 0x72, 0x3c, 0x8d, 0xa6, 0xfe, 0xe7, 0x8f, 0x71, 0xfb, 0xfb, 0xff, 0xfb, 0xb1, 0x45, 0xbd, 0xec, 0xc8, + 0xd9, 0x0a, 0x5a, 0x47, 0x0f, 0x8d, 0x92, 0x88, 0xef, 0x39, 0xf1, 0x36, 0xbe, 0x56, 0xff, 0x8a, 0x3e, 0x60, 0x36, 0xe1, + 0x75, 0x52, 0xff, 0x1f, 0xdd, 0xe2, 0x6b, 0x9f, 0x26, 0xd6, 0xab, 0xf6, 0xe9, 0x6c, 0xf2, 0xd3, 0xd7, 0x54, 0x67, 0x9c, + 0x39, 0x7f, 0x6b, 0xfd, 0x4f, 0xcd, 0x35, 0x9e, 0x75, 0xfe, 0x17, 0xbd, 0xfe, 0x8f, 0x5f, 0xc5, 0xde, 0x5f, 0x6d, 0xee, + 0x1b, 0xe9, 0x76, 0x62, 0xfd, 0x77, 0x5e, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0x92, 0xff, 0x5e, 0x4b, + 0x63, 0xcf, 0x65, 0x98, 0x7a, 0x49, 0x1e, 0x2a, 0x76, 0xbf, 0x7c, 0x6f, 0x76, 0x3b, 0x9a, 0x96, 0xcf, 0xc8, 0x03, 0x9c, + 0x90, 0xd4, 0x5e, 0x4d, 0x04, 0x5f, 0xef, 0x4d, 0x7d, 0x3a, 0xa1, 0x78, 0x52, 0xb2, 0xbd, 0x3a, 0x2d, 0xf3, 0x1e, 0xf5, + 0x8f, 0x26, 0xd0, 0xef, 0x6a, 0xdc, 0x8f, 0x1d, 0xbd, 0xf0, 0x2e, 0xf5, 0x6f, 0xc1, 0x3e, 0x6b, 0x36, 0x83, 0xda, 0x4a, + 0xea, 0xbf, 0x7b, 0x59, 0x6e, 0x5a, 0x2a, 0x27, 0x0f, 0x16, 0x49, 0x69, 0xad, 0xb7, 0x9f, 0x33, 0xda, 0xff, 0x29, 0xf5, + 0x6f, 0xc7, 0xf6, 0xff, 0xd9, 0xef, 0xfd, 0xc4, 0xf6, 0xce, 0x7e, 0xdd, 0x9d, 0xb9, 0xde, 0x13, 0xfa, 0x7f, 0xf5, 0x9f, + 0xef, 0x73, 0x9e, 0xae, 0x7f, 0x7b, 0x39, 0xfa, 0x4c, 0xfd, 0xeb, 0xeb, 0xff, 0x7c, 0xfb, 0x1f, 0x4f, 0x4b, 0xc7, 0x46, + 0x78, 0xe6, 0x5e, 0xff, 0xf7, 0xe0, 0xf3, 0x8d, 0xc6, 0x46, 0x20, 0x66, 0x5e, 0xff, 0x8f, 0x1c, 0xc1, 0x73, 0xbf, 0x6f, + 0x88, 0xa6, 0xe5, 0xcd, 0x7d, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0x98, 0xfe, 0xae, 0xcd, 0xc9, 0xf4, 0xe1, + 0xa4, 0x77, 0x9b, 0x4a, 0x86, 0xb7, 0xa1, 0x59, 0x44, 0xfb, 0xf4, 0xff, 0xe4, 0xdd, 0x07, 0x8f, 0xde, 0xf3, 0x6e, 0x0b, + 0x29, 0xf2, 0x93, 0xea, 0xdf, 0x86, 0xe6, 0xc7, 0xbe, 0xaf, 0xff, 0xab, 0xa5, 0xd1, 0x19, 0xcf, 0x76, 0xcf, 0xbb, 0x9a, + 0x97, 0x15, 0x8c, 0x3c, 0x21, 0x7e, 0xad, 0xfe, 0xf1, 0x6c, 0xc6, 0x5d, 0x32, 0x69, 0x6e, 0x0f, 0xd8, 0x33, 0x1f, 0x64, + 0x3f, 0xa8, 0xfe, 0xb1, 0xc4, 0x4f, 0x7e, 0xfd, 0x5b, 0xfa, 0xd3, 0xfb, 0xcf, 0xac, 0xff, 0xc8, 0x58, 0x81, 0xbc, 0x3c, + 0x50, 0x2c, 0xd5, 0x33, 0x52, 0xff, 0xb9, 0xed, 0x51, 0xd7, 0xfe, 0x7b, 0xa0, 0xce, 0x91, 0x25, 0x99, 0xe7, 0x41, 0xe7, + 0x3e, 0xcd, 0x62, 0x66, 0x8b, 0xcf, 0xec, 0x01, 0xd5, 0x39, 0xb9, 0xd9, 0x33, 0x3d, 0xf5, 0x1f, 0x1b, 0x5b, 0xd3, 0x8e, + 0xa8, 0x7f, 0xfc, 0xf9, 0x08, 0xb3, 0x75, 0xee, 0x0f, 0x8e, 0x83, 0xad, 0x68, 0x03, 0xf1, 0xeb, 0x8d, 0xa6, 0xfe, 0x8f, + 0x5c, 0x23, 0xd7, 0xcc, 0xad, 0x1e, 0x1b, 0x91, 0x95, 0xf9, 0x84, 0x94, 0xb5, 0xd7, 0x8c, 0x3d, 0xc7, 0xa3, 0x4d, 0xef, + 0x01, 0xea, 0xff, 0x7b, 0xc9, 0x7b, 0xcc, 0x90, 0xdf, 0x92, 0xae, 0xf4, 0xdb, 0xc3, 0x6b, 0xb4, 0xf2, 0x4d, 0x43, 0xfe, + 0x13, 0x67, 0x7a, 0xe1, 0x13, 0x92, 0xf6, 0x6d, 0xcd, 0xba, 0xbf, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xff, 0x8e, + 0xfd, 0xee, 0x3e, 0xe5, 0x79, 0x9d, 0x2b, 0x6b, 0xc1, 0x19, 0xb1, 0xdb, 0x40, 0x72, 0xba, 0x07, 0xdf, 0x6f, 0x66, 0xc6, + 0xb2, 0x76, 0xe4, 0xbc, 0x94, 0xfd, 0x98, 0xfa, 0x9f, 0x38, 0x03, 0x6b, 0x56, 0x1a, 0xeb, 0xd4, 0x79, 0x09, 0xab, 0xee, + 0x94, 0x7e, 0x47, 0xfd, 0x67, 0xd7, 0x2e, 0xbf, 0xfe, 0x15, 0x79, 0xfb, 0xbc, 0xf6, 0x3f, 0x93, 0x57, 0x3b, 0xb5, 0xfe, + 0x91, 0xf4, 0x5f, 0xdf, 0x58, 0xff, 0xb5, 0xf9, 0x3e, 0x5b, 0x71, 0xfd, 0xdf, 0xbf, 0xfd, 0x67, 0x6c, 0x8d, 0xf3, 0xda, + 0x7f, 0xb4, 0xdf, 0x9f, 0xa9, 0x7f, 0xff, 0xd8, 0xf6, 0x9f, 0x7b, 0xfc, 0xaf, 0x9a, 0x97, 0xb6, 0xe2, 0xf8, 0x3f, 0x57, + 0xff, 0xf9, 0x2d, 0x54, 0x35, 0xb2, 0xe0, 0xba, 0x8f, 0x8c, 0x3f, 0xb1, 0x62, 0x36, 0xe1, 0xda, 0xa6, 0xc7, 0x62, 0xfe, + 0xde, 0x2e, 0xb1, 0xad, 0xf2, 0xdc, 0xf9, 0x7f, 0x66, 0xdf, 0x93, 0x7f, 0x26, 0x5a, 0xf1, 0x89, 0xce, 0xcb, 0x1e, 0x56, + 0xaf, 0x9d, 0xfa, 0x9f, 0x59, 0xff, 0xaa, 0x11, 0xaf, 0xab, 0xf5, 0xdf, 0xbb, 0x8d, 0x76, 0xd7, 0xff, 0xb4, 0x3d, 0xa0, + 0x6f, 0x1b, 0x0b, 0xc7, 0xb7, 0x7e, 0x27, 0x6c, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x67, 0x66, 0xc0, 0xc7, 0x73, + 0x10, 0xee, 0x19, 0x7d, 0x5a, 0xf5, 0xdb, 0x74, 0x12, 0xc6, 0x7d, 0xa3, 0xcf, 0xba, 0xdb, 0x77, 0xe2, 0x2c, 0x6c, 0xa8, + 0x3f, 0xea, 0x4f, 0x7d, 0xd6, 0xe3, 0xc4, 0x79, 0x78, 0xd1, 0xfe, 0x51, 0x7f, 0xd4, 0x9f, 0x73, 0xae, 0xff, 0xf9, 0xe6, + 0xef, 0xff, 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, 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, 0x80, 0x37, 0xf7, 0x0f }; + +// Font characters rectangles data +static const Rectangle candyFontRecs[95] = { + { 4, 4, 3 , 15 }, + { 15, 4, 2 , 9 }, + { 25, 4, 3 , 2 }, + { 36, 4, 8 , 9 }, + { 52, 4, 6 , 11 }, + { 66, 4, 7 , 9 }, + { 81, 4, 7 , 9 }, + { 96, 4, 1 , 2 }, + { 105, 4, 3 , 11 }, + { 116, 4, 3 , 11 }, + { 127, 4, 7 , 7 }, + { 142, 4, 6 , 5 }, + { 156, 4, 2 , 3 }, + { 166, 4, 5 , 1 }, + { 179, 4, 2 , 2 }, + { 189, 4, 5 , 10 }, + { 202, 4, 6 , 9 }, + { 216, 4, 4 , 9 }, + { 228, 4, 6 , 9 }, + { 4, 27, 6 , 9 }, + { 18, 27, 7 , 9 }, + { 33, 27, 6 , 9 }, + { 47, 27, 6 , 9 }, + { 61, 27, 6 , 9 }, + { 75, 27, 6 , 9 }, + { 89, 27, 6 , 9 }, + { 103, 27, 2 , 6 }, + { 113, 27, 2 , 7 }, + { 123, 27, 4 , 6 }, + { 135, 27, 5 , 3 }, + { 148, 27, 4 , 6 }, + { 160, 27, 6 , 9 }, + { 174, 27, 8 , 7 }, + { 190, 27, 6 , 9 }, + { 204, 27, 6 , 9 }, + { 218, 27, 6 , 9 }, + { 232, 27, 6 , 9 }, + { 4, 50, 6 , 9 }, + { 18, 50, 6 , 9 }, + { 32, 50, 6 , 9 }, + { 46, 50, 6 , 9 }, + { 60, 50, 2 , 9 }, + { 70, 50, 6 , 9 }, + { 84, 50, 6 , 9 }, + { 98, 50, 6 , 9 }, + { 112, 50, 8 , 9 }, + { 128, 50, 6 , 9 }, + { 142, 50, 6 , 9 }, + { 156, 50, 6 , 9 }, + { 170, 50, 6 , 9 }, + { 184, 50, 6 , 9 }, + { 198, 50, 6 , 9 }, + { 212, 50, 6 , 9 }, + { 226, 50, 6 , 9 }, + { 240, 50, 6 , 9 }, + { 4, 73, 8 , 9 }, + { 20, 73, 6 , 9 }, + { 34, 73, 6 , 9 }, + { 48, 73, 6 , 9 }, + { 62, 73, 3 , 11 }, + { 73, 73, 5 , 10 }, + { 86, 73, 3 , 11 }, + { 97, 73, 6 , 4 }, + { 111, 73, 6 , 1 }, + { 125, 73, 3 , 2 }, + { 136, 73, 6 , 7 }, + { 150, 73, 6 , 10 }, + { 164, 73, 6 , 7 }, + { 178, 73, 6 , 10 }, + { 192, 73, 6 , 7 }, + { 206, 73, 5 , 10 }, + { 219, 73, 7 , 10 }, + { 234, 73, 6 , 10 }, + { 4, 96, 2 , 10 }, + { 14, 96, 2 , 12 }, + { 24, 96, 6 , 10 }, + { 38, 96, 3 , 10 }, + { 49, 96, 8 , 7 }, + { 65, 96, 6 , 7 }, + { 79, 96, 6 , 7 }, + { 93, 96, 6 , 10 }, + { 107, 96, 6 , 10 }, + { 121, 96, 6 , 7 }, + { 135, 96, 6 , 7 }, + { 149, 96, 3 , 10 }, + { 160, 96, 6 , 7 }, + { 174, 96, 6 , 7 }, + { 188, 96, 8 , 7 }, + { 204, 96, 6 , 7 }, + { 218, 96, 6 , 10 }, + { 232, 96, 6 , 7 }, + { 4, 119, 4 , 11 }, + { 16, 119, 1 , 11 }, + { 25, 119, 4 , 11 }, + { 37, 119, 6 , 2 }, +}; + +// Font characters info data +// NOTE: No chars.image data provided +static const GlyphInfo candyFontChars[95] = { + { 32, 0, 12, 3, { 0 }}, + { 33, 0, 3, 3, { 0 }}, + { 34, 0, 2, 4, { 0 }}, + { 35, 0, 3, 9, { 0 }}, + { 36, 0, 2, 7, { 0 }}, + { 37, 0, 3, 8, { 0 }}, + { 38, 0, 3, 8, { 0 }}, + { 39, 0, 2, 2, { 0 }}, + { 40, 1, 2, 5, { 0 }}, + { 41, 1, 2, 5, { 0 }}, + { 42, 0, 4, 8, { 0 }}, + { 43, 0, 6, 7, { 0 }}, + { 44, 0, 10, 3, { 0 }}, + { 45, 0, 7, 6, { 0 }}, + { 46, 0, 10, 3, { 0 }}, + { 47, 1, 3, 7, { 0 }}, + { 48, 0, 3, 7, { 0 }}, + { 49, 0, 3, 5, { 0 }}, + { 50, 0, 3, 7, { 0 }}, + { 51, 0, 3, 7, { 0 }}, + { 52, 0, 3, 8, { 0 }}, + { 53, 0, 3, 7, { 0 }}, + { 54, 0, 3, 7, { 0 }}, + { 55, 0, 3, 7, { 0 }}, + { 56, 0, 3, 7, { 0 }}, + { 57, 0, 3, 7, { 0 }}, + { 58, 0, 6, 3, { 0 }}, + { 59, 0, 6, 3, { 0 }}, + { 60, 1, 5, 6, { 0 }}, + { 61, 1, 7, 7, { 0 }}, + { 62, 1, 5, 6, { 0 }}, + { 63, 0, 3, 7, { 0 }}, + { 64, 0, 4, 9, { 0 }}, + { 65, 0, 3, 7, { 0 }}, + { 66, 0, 3, 7, { 0 }}, + { 67, 0, 3, 7, { 0 }}, + { 68, 0, 3, 7, { 0 }}, + { 69, 0, 3, 7, { 0 }}, + { 70, 0, 3, 7, { 0 }}, + { 71, 0, 3, 7, { 0 }}, + { 72, 0, 3, 7, { 0 }}, + { 73, 0, 3, 3, { 0 }}, + { 74, 0, 3, 7, { 0 }}, + { 75, 0, 3, 7, { 0 }}, + { 76, 0, 3, 7, { 0 }}, + { 77, 0, 3, 9, { 0 }}, + { 78, 0, 3, 7, { 0 }}, + { 79, 0, 3, 7, { 0 }}, + { 80, 0, 3, 7, { 0 }}, + { 81, 0, 3, 7, { 0 }}, + { 82, 0, 3, 7, { 0 }}, + { 83, 0, 3, 7, { 0 }}, + { 84, 0, 3, 7, { 0 }}, + { 85, 0, 3, 7, { 0 }}, + { 86, 0, 3, 7, { 0 }}, + { 87, 0, 3, 9, { 0 }}, + { 88, 0, 3, 7, { 0 }}, + { 89, 0, 3, 7, { 0 }}, + { 90, 0, 3, 7, { 0 }}, + { 91, 1, 2, 5, { 0 }}, + { 92, 1, 3, 7, { 0 }}, + { 93, 1, 2, 5, { 0 }}, + { 94, 0, 3, 7, { 0 }}, + { 95, 0, 11, 7, { 0 }}, + { 96, 0, 0, 4, { 0 }}, + { 97, 0, 5, 7, { 0 }}, + { 98, 0, 2, 7, { 0 }}, + { 99, 0, 5, 7, { 0 }}, + { 100, 0, 2, 7, { 0 }}, + { 101, 0, 5, 7, { 0 }}, + { 102, 0, 2, 6, { 0 }}, + { 103, 0, 5, 7, { 0 }}, + { 104, 0, 2, 7, { 0 }}, + { 105, 0, 2, 3, { 0 }}, + { 106, 0, 2, 3, { 0 }}, + { 107, 0, 2, 7, { 0 }}, + { 108, 0, 2, 4, { 0 }}, + { 109, 0, 5, 9, { 0 }}, + { 110, 0, 5, 7, { 0 }}, + { 111, 0, 5, 7, { 0 }}, + { 112, 0, 5, 7, { 0 }}, + { 113, 0, 5, 7, { 0 }}, + { 114, 0, 5, 7, { 0 }}, + { 115, 0, 5, 7, { 0 }}, + { 116, 0, 2, 4, { 0 }}, + { 117, 0, 5, 7, { 0 }}, + { 118, 0, 5, 7, { 0 }}, + { 119, 0, 5, 9, { 0 }}, + { 120, 0, 5, 7, { 0 }}, + { 121, 0, 5, 7, { 0 }}, + { 122, 0, 5, 7, { 0 }}, + { 123, 1, 2, 6, { 0 }}, + { 124, 1, 2, 3, { 0 }}, + { 125, 1, 2, 6, { 0 }}, + { 126, 0, 0, 7, { 0 }}, +}; + +// Style loading function: candy +static void GuiLoadStyleCandy(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < CANDY_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(candyStyleProps[i].controlId, candyStyleProps[i].propertyId, candyStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int candyFontDataSize = 0; + unsigned char *data = DecompressData(candyFontData, CANDY_COMPRESSED_DATA_SIZE, &candyFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 15; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, candyFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, candyFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + Rectangle whiteChar = { 129, 6, 3, 3 }; + SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/candy/candy.rgs b/styles/candy/candy.rgs index 0ba56a7..65c000f 100644 Binary files a/styles/candy/candy.rgs and b/styles/candy/candy.rgs differ diff --git a/styles/candy/candy.txt.rgs b/styles/candy/candy.txt.rgs new file mode 100644 index 0000000..fe43d10 --- /dev/null +++ b/styles/candy/candy.txt.rgs @@ -0,0 +1,24 @@ +# +# rgs style text file (v3.1) - raygui style file generated using rGuiStyler +# +# Style properties: +# f +# p +# +f 15 0 v5easter.ttf +p 00 00 0xe58b68ff DEFAULT_BORDER_COLOR_NORMAL +p 00 01 0xfeda96ff DEFAULT_BASE_COLOR_NORMAL +p 00 02 0xe59b5fff DEFAULT_TEXT_COLOR_NORMAL +p 00 03 0xee813fff DEFAULT_BORDER_COLOR_FOCUSED +p 00 04 0xfcd85bff DEFAULT_BASE_COLOR_FOCUSED +p 00 05 0xfc6955ff DEFAULT_TEXT_COLOR_FOCUSED +p 00 06 0xb34848ff DEFAULT_BORDER_COLOR_PRESSED +p 00 07 0xeb7272ff DEFAULT_BASE_COLOR_PRESSED +p 00 08 0xbd4a4aff DEFAULT_TEXT_COLOR_PRESSED +p 00 09 0x94795dff DEFAULT_BORDER_COLOR_DISABLED +p 00 10 0xc2a37aff DEFAULT_BASE_COLOR_DISABLED +p 00 11 0x9c8369ff DEFAULT_TEXT_COLOR_DISABLED +p 00 16 0x0000000f TEXT_SIZE +p 00 17 0x00000000 TEXT_SPACING +p 00 18 0xd77575ff DEFAULT_LINE_COLOR +p 00 19 0xfff5e1ff DEFAULT_BACKGROUND_COLOR diff --git a/styles/cherry/cherry.h b/styles/cherry/cherry.h new file mode 100644 index 0000000..ec747af --- /dev/null +++ b/styles/cherry/cherry.h @@ -0,0 +1,359 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleCherry(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define CHERRY_STYLE_PROPS_COUNT 16 + +// Custom style name: cherry +static const GuiStyleProp cherryStyleProps[CHERRY_STYLE_PROPS_COUNT] = { + { 0, 0, 0xda5757ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0x753233ff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0xe17373ff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0xfaaa97ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0xe06262ff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0xfdb4aaff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0xe03c46ff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0x5b1e20ff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0xc2474fff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0xa19292ff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0x706060ff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x9e8585ff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x0000000f }, // DEFAULT_TEXT_SIZE + { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING + { 0, 18, 0xfb8170ff }, // DEFAULT_LINE_COLOR + { 0, 19, 0x3a1720ff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: (size: 15, spacing: 0) + +#define CHERRY_COMPRESSED_DATA_SIZE 1406 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char cherryFontData[CHERRY_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0x4b, 0x76, 0xe3, 0x36, 0x10, 0x05, 0x50, 0xed, 0x7f, 0xd3, 0x2f, 0x27, 0x93, 0xa4, 0x4f, 0x3a, 0x26, 0x50, 0x85, + 0xa2, 0xc4, 0xb6, 0xaf, 0xef, 0xcc, 0xb2, 0x28, 0x0a, 0x45, 0x82, 0xbf, 0x07, 0x38, 0x2f, 0x00, 0x80, 0xdf, 0xfc, 0xfd, + 0xf3, 0xd5, 0x6f, 0xff, 0xff, 0xb5, 0x5f, 0xdf, 0x95, 0xcb, 0x25, 0xf7, 0x3f, 0x3b, 0xc5, 0xa5, 0xa6, 0xf0, 0x77, 0xf9, + 0x72, 0x5d, 0xb2, 0xfd, 0x99, 0xf5, 0xef, 0x5d, 0xff, 0xae, 0x57, 0x6d, 0x9f, 0xd1, 0x2d, 0xe0, 0xeb, 0xdf, 0xae, 0xea, + 0xf0, 0x55, 0x7b, 0xfe, 0xfb, 0x73, 0xf5, 0x89, 0x29, 0xbe, 0xb6, 0x7a, 0x4f, 0xff, 0xb7, 0xab, 0xf6, 0xfe, 0xfa, 0xfb, + 0xe5, 0xa0, 0x9d, 0xaf, 0xdb, 0xa1, 0xde, 0x76, 0x93, 0xf5, 0xbf, 0xde, 0x6b, 0x73, 0xd9, 0x02, 0xb9, 0xdc, 0x82, 0xf2, + 0x4f, 0xef, 0x32, 0xf5, 0xfd, 0x52, 0xda, 0x52, 0xaa, 0xeb, 0x3b, 0xd3, 0x7a, 0xb5, 0x6d, 0x3d, 0xcb, 0x7e, 0xe4, 0x73, + 0xf5, 0x5f, 0xb7, 0xd5, 0xaa, 0x3d, 0xb3, 0xec, 0x27, 0x33, 0xb2, 0xfe, 0x69, 0x6d, 0xd1, 0x77, 0x1d, 0x67, 0xab, 0xdb, + 0x7a, 0x5a, 0x6d, 0xff, 0x8c, 0xfa, 0xaf, 0x6b, 0x98, 0xe2, 0x59, 0xc1, 0xbd, 0xf5, 0xbf, 0xa3, 0x5d, 0xef, 0xaa, 0xff, + 0xf4, 0x5a, 0xa6, 0x75, 0x04, 0x58, 0xad, 0x5f, 0x5a, 0xe7, 0x71, 0xff, 0xad, 0x45, 0xde, 0x52, 0xff, 0xd7, 0xad, 0x95, + 0x7f, 0x35, 0x8f, 0x75, 0xf9, 0xc8, 0x9a, 0x9e, 0x1f, 0xfd, 0xf7, 0x7a, 0xf9, 0xbd, 0x7d, 0xe2, 0x7d, 0xf5, 0xbf, 0xb3, + 0xef, 0xef, 0x1d, 0xcb, 0xf3, 0xa6, 0xea, 0xd7, 0xf7, 0x92, 0xfd, 0x6b, 0x83, 0xeb, 0xeb, 0xb0, 0x5c, 0x5e, 0x59, 0xe5, + 0xe8, 0xdc, 0xea, 0xb3, 0x7b, 0xc9, 0xe9, 0xb5, 0xdc, 0xd5, 0xb9, 0xf5, 0xec, 0x79, 0x4a, 0x9a, 0xc7, 0xdb, 0x6c, 0x1e, + 0x1f, 0x52, 0xbe, 0xfe, 0xcb, 0xc8, 0xb9, 0xf5, 0x93, 0xea, 0xff, 0xa4, 0x2d, 0x71, 0xe2, 0xfa, 0x6f, 0xbd, 0x77, 0x5e, + 0x6d, 0xa5, 0x59, 0x9e, 0x19, 0x66, 0x71, 0x8d, 0x78, 0x7a, 0x87, 0xe6, 0x19, 0xf7, 0xd8, 0xbe, 0xff, 0x9d, 0x45, 0x77, + 0x57, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0xce, 0x6d, 0xd4, 0xd2, 0x49, 0x59, 0x3c, 0x9f, 0x9e, 0x79, 0xcf, 0x6b, + 0x23, 0x29, 0x5c, 0x79, 0xb2, 0x94, 0xc1, 0x24, 0x55, 0x16, 0x19, 0xf8, 0xb4, 0x96, 0xbd, 0x7a, 0x86, 0x9f, 0x65, 0xfb, + 0x76, 0x9f, 0xc5, 0xd5, 0xb2, 0xe9, 0xbd, 0xa5, 0x55, 0xb3, 0xce, 0x57, 0xaf, 0x64, 0xfb, 0xb7, 0xeb, 0x77, 0x74, 0x96, + 0xb6, 0x93, 0x39, 0xcf, 0x32, 0x29, 0x33, 0xb9, 0xe4, 0xb3, 0x94, 0x62, 0x0a, 0xeb, 0x99, 0x52, 0x22, 0x7e, 0xa7, 0x37, + 0xe9, 0xa4, 0xe0, 0x4f, 0x47, 0x58, 0x9c, 0x8f, 0x82, 0xf9, 0x3a, 0x9f, 0x9d, 0x66, 0xc6, 0xe5, 0xba, 0xc6, 0x39, 0xc8, + 0x8c, 0xd6, 0x7b, 0xb2, 0x2c, 0xc7, 0x70, 0xd4, 0x7a, 0xa1, 0x7a, 0x6e, 0x69, 0x26, 0xd1, 0x9e, 0xcd, 0xcc, 0xe2, 0xab, + 0x99, 0x48, 0xbd, 0xaa, 0x51, 0x1a, 0xd9, 0xbe, 0x34, 0x93, 0x2b, 0x67, 0xe3, 0x3f, 0x32, 0x92, 0xd4, 0x3d, 0x19, 0xa3, + 0x33, 0x79, 0x54, 0xbb, 0x7b, 0xff, 0xdf, 0xc9, 0x2f, 0x76, 0x47, 0x40, 0x5d, 0xed, 0x5d, 0xf3, 0xf5, 0xcf, 0x41, 0xa6, + 0x34, 0x23, 0xb9, 0xe5, 0xbc, 0x25, 0xd5, 0xdc, 0x49, 0x33, 0xa6, 0x35, 0x9a, 0xef, 0xd7, 0x9e, 0xf3, 0xae, 0xfe, 0x7f, + 0xb2, 0xfe, 0x69, 0xec, 0xb1, 0x57, 0x23, 0xb8, 0xba, 0x47, 0xe7, 0xdc, 0x3e, 0xa2, 0xed, 0x1d, 0xa9, 0xff, 0x1c, 0x8d, + 0x71, 0x7c, 0xd2, 0xf1, 0x7f, 0x7d, 0x35, 0xf7, 0xba, 0x7d, 0xdc, 0x6a, 0xf5, 0xfa, 0xef, 0xf3, 0x29, 0xc6, 0x75, 0x2f, + 0x93, 0x76, 0xf2, 0x3f, 0x1b, 0xf9, 0xe8, 0x9f, 0x91, 0xad, 0xec, 0x26, 0x88, 0xdf, 0x71, 0xd7, 0x24, 0x1b, 0x67, 0x34, + 0xaf, 0x66, 0x86, 0x7f, 0xfe, 0xfa, 0xff, 0xbb, 0x65, 0x88, 0xf3, 0x80, 0x14, 0xf3, 0x4f, 0xab, 0x85, 0x6c, 0x39, 0xaa, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x7b, 0x92, 0x9a, 0x46, 0x3e, 0xf6, 0xb5, 0x91, 0xe8, 0x9e, 0xcd, 0xe9, 0x76, + 0x96, 0xf7, 0xfb, 0xab, 0xab, 0x65, 0x74, 0xbf, 0x6d, 0x27, 0x0d, 0x9e, 0xad, 0x75, 0x4f, 0xb3, 0x6e, 0x7b, 0xb9, 0xa7, + 0x6e, 0xaa, 0x24, 0x97, 0xf3, 0x7d, 0x4d, 0xcf, 0x60, 0x9a, 0xa3, 0xdc, 0x7f, 0x36, 0x32, 0x02, 0xb9, 0x25, 0x7b, 0x9d, + 0xad, 0xef, 0xd5, 0xcd, 0x02, 0xe5, 0x20, 0x85, 0xde, 0x1d, 0x33, 0x31, 0x91, 0x46, 0xeb, 0xd6, 0x3f, 0xed, 0x75, 0xc9, + 0x32, 0x7b, 0x9f, 0x83, 0xf6, 0x4c, 0x33, 0xb3, 0x35, 0x31, 0x92, 0xa0, 0xb3, 0x57, 0xcf, 0x7e, 0xb3, 0x77, 0xd5, 0xff, + 0x64, 0x5b, 0xfc, 0x33, 0xeb, 0x9f, 0x83, 0x0c, 0xca, 0x7e, 0xfd, 0xb3, 0x75, 0x9c, 0xb9, 0x4e, 0x3a, 0x57, 0x53, 0xce, + 0xb3, 0xb9, 0xba, 0x9d, 0x6d, 0x31, 0xdb, 0x33, 0x0f, 0x77, 0xea, 0x9f, 0xe5, 0x18, 0x9a, 0xce, 0xac, 0xf6, 0xdd, 0xb9, + 0xb2, 0xdf, 0xb5, 0xff, 0x9f, 0x8f, 0x72, 0x79, 0xd7, 0xfe, 0x7f, 0x7f, 0xfd, 0x3b, 0x4b, 0xdd, 0xcd, 0xa5, 0xbf, 0xa7, + 0xff, 0x9f, 0xfc, 0x84, 0x7a, 0xfd, 0x73, 0xeb, 0xf1, 0xbf, 0xf2, 0x09, 0xfd, 0xfe, 0xff, 0xea, 0xb3, 0x67, 0xcf, 0xff, + 0x66, 0xfb, 0xff, 0xde, 0x37, 0x9b, 0x3d, 0xff, 0xdf, 0x1b, 0x3b, 0x90, 0x81, 0x6d, 0x31, 0x8d, 0x4a, 0x9d, 0xb6, 0xd2, + 0xd9, 0xf1, 0x3f, 0xad, 0x0c, 0xea, 0xfe, 0x38, 0xe6, 0x1c, 0x5c, 0x59, 0xcf, 0x5d, 0xff, 0xaf, 0xc7, 0x01, 0xac, 0xef, + 0x52, 0xac, 0xef, 0x1d, 0xdc, 0x75, 0xfd, 0xbf, 0x6e, 0xa5, 0xea, 0x7d, 0x8d, 0xbd, 0x3b, 0x0b, 0x52, 0xc8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xef, 0xcf, 0x10, 0xf7, 0x9e, 0xd6, 0x9e, 0x24, 0xb4, 0x4f, 0x9e, 0xdf, 0xee, 0xe5, 0xc1, + 0x2a, 0x73, 0x67, 0x56, 0x52, 0xc3, 0xfb, 0xcf, 0xa8, 0x5f, 0x07, 0x49, 0xef, 0xce, 0x13, 0xe0, 0xd3, 0x67, 0xbf, 0xd9, + 0xce, 0xde, 0x4e, 0x24, 0x34, 0x52, 0x5e, 0x83, 0x89, 0x04, 0x59, 0x16, 0x33, 0xdc, 0x76, 0xe7, 0x39, 0x9f, 0x4c, 0xe3, + 0xcc, 0xa5, 0xce, 0x6b, 0x33, 0x41, 0xa6, 0x9c, 0xbd, 0xef, 0xd5, 0x3f, 0xcd, 0xb4, 0x59, 0x06, 0x92, 0xe9, 0x73, 0x33, + 0x23, 0xf6, 0x52, 0xad, 0x29, 0xd6, 0xe1, 0x2c, 0x75, 0x54, 0x9d, 0x09, 0x74, 0x9d, 0x32, 0xca, 0xe6, 0xdf, 0xad, 0xda, + 0xa0, 0x93, 0x35, 0xcc, 0xf0, 0xc8, 0x84, 0xb3, 0xea, 0x9f, 0xee, 0xff, 0xf5, 0xfa, 0xd7, 0xb7, 0xb7, 0xe9, 0xfa, 0xaf, + 0x47, 0x9b, 0xec, 0xf6, 0xca, 0x19, 0xcc, 0xb8, 0x7e, 0xa6, 0xfe, 0xab, 0x2c, 0x77, 0x9a, 0x33, 0xb7, 0xd6, 0x67, 0xfc, + 0x5e, 0x7f, 0xda, 0x6c, 0xfd, 0x73, 0xbc, 0x87, 0x67, 0x78, 0x9c, 0xd1, 0x27, 0xe6, 0x00, 0xdd, 0x39, 0x5f, 0xe8, 0xd5, + 0x38, 0xa3, 0xc7, 0x9b, 0x5a, 0xf6, 0x2f, 0x9b, 0xfb, 0x6e, 0x8e, 0x7a, 0x9d, 0xbc, 0x69, 0xcb, 0xc8, 0xc7, 0xae, 0xa5, + 0x3a, 0x9f, 0xdf, 0x9f, 0xe5, 0x3c, 0x87, 0xaf, 0x57, 0xea, 0x7f, 0x9d, 0x53, 0x3d, 0xab, 0x7f, 0x16, 0x23, 0x1d, 0xf3, + 0xc7, 0xd4, 0x3f, 0xad, 0xfa, 0x67, 0xb8, 0xfe, 0x9d, 0x2d, 0x2a, 0x03, 0xe7, 0x88, 0x69, 0xcf, 0xe5, 0x7e, 0xfa, 0x7f, + 0x98, 0xaa, 0xe3, 0x69, 0xde, 0x7d, 0x64, 0xb8, 0xe3, 0x9d, 0xfd, 0x64, 0xf8, 0x77, 0xba, 0x77, 0xe5, 0x0e, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x3f, 0x29, 0x9c, 0x79, 0xf2, 0x9a, 0xf6, 0x7f, 0xcb, 0xde, 0xf9, 0xab, 0xee, 0x1c, + 0xa4, 0xb9, 0xcc, 0x96, 0xd7, 0xf2, 0xdf, 0xeb, 0xff, 0x07, 0x3d, 0x31, 0x53, 0x5a, 0x27, 0x5d, 0xff, 0x1a, 0x4b, 0x89, + 0x9c, 0x2c, 0x29, 0xcb, 0x67, 0xdf, 0xfd, 0x39, 0xd4, 0xd7, 0x09, 0xd9, 0x34, 0xd3, 0xca, 0xb3, 0x39, 0xa5, 0x7e, 0x6e, + 0xfe, 0x2c, 0x7b, 0x7f, 0x52, 0xb5, 0x94, 0x93, 0xda, 0x39, 0xca, 0x2a, 0x4f, 0xd6, 0xf8, 0xa4, 0xfe, 0xf5, 0xfe, 0xf2, + 0xae, 0xfa, 0x4f, 0x64, 0xaf, 0xfb, 0xfb, 0x7f, 0xa7, 0xfe, 0xaf, 0x07, 0xd5, 0x3f, 0x8b, 0x54, 0x59, 0x86, 0x92, 0x75, + 0xdd, 0x1e, 0xea, 0xb5, 0x39, 0xb7, 0x71, 0x96, 0x7f, 0x95, 0x76, 0xfd, 0x33, 0x94, 0xb1, 0xeb, 0x2d, 0x27, 0x87, 0xa3, + 0x47, 0x56, 0xaf, 0x65, 0x30, 0x59, 0x9b, 0xad, 0x19, 0xe2, 0xab, 0x09, 0xbf, 0x1c, 0x67, 0xaf, 0x27, 0xfa, 0xff, 0x8c, + 0xd4, 0xbf, 0x3a, 0xb6, 0xa3, 0x32, 0x37, 0x6b, 0xe7, 0xdc, 0xab, 0x3f, 0xea, 0x62, 0xae, 0xff, 0x7f, 0x6d, 0x9c, 0xdf, + 0xdc, 0x9b, 0xbd, 0x3c, 0xa9, 0x7f, 0x6d, 0x06, 0xef, 0x67, 0x65, 0x72, 0xf3, 0x90, 0xb3, 0xdf, 0x3f, 0x21, 0x45, 0x99, + 0xe3, 0xdc, 0xe5, 0xc9, 0x11, 0xf5, 0x13, 0xd7, 0xb6, 0xb3, 0x39, 0xd9, 0x0c, 0x8e, 0x32, 0x7c, 0x7f, 0x1b, 0x9d, 0xb7, + 0x44, 0x2e, 0xae, 0x9b, 0x7f, 0xc6, 0x5c, 0xd4, 0xe6, 0xdb, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0xfb, 0xfc, + 0x37, 0x5b, 0x19, 0xea, 0x99, 0x6c, 0xb8, 0x67, 0xa7, 0xaf, 0x8f, 0x66, 0x64, 0xe6, 0xfe, 0x27, 0x7f, 0x0a, 0xc9, 0x90, + 0xdd, 0x99, 0x65, 0xf9, 0x44, 0xfd, 0xeb, 0x19, 0xc0, 0x6e, 0x66, 0xd0, 0xde, 0xff, 0xd4, 0xfc, 0xd7, 0xfd, 0xdb, 0x05, + 0x4f, 0x38, 0x07, 0xa8, 0x26, 0xaf, 0xa7, 0xe7, 0xf9, 0xe5, 0x19, 0xc7, 0x81, 0xfd, 0xf3, 0x3f, 0xfb, 0xff, 0xcf, 0x38, + 0xfe, 0xeb, 0xff, 0xe5, 0x56, 0x2b, 0x89, 0xe7, 0x94, 0x92, 0xe1, 0x7c, 0xb7, 0x2d, 0xe7, 0x49, 0xb3, 0x72, 0x03, 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, 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, 0x5f, 0xfa, 0x0b }; + +// Font characters rectangles data +static const Rectangle cherryFontRecs[95] = { + { 4, 4, 5 , 15 }, + { 17, 4, 3 , 10 }, + { 28, 4, 5 , 2 }, + { 41, 4, 10 , 10 }, + { 59, 4, 7 , 11 }, + { 74, 4, 7 , 10 }, + { 89, 4, 8 , 10 }, + { 105, 4, 1 , 2 }, + { 114, 4, 3 , 10 }, + { 125, 4, 3 , 10 }, + { 136, 4, 3 , 3 }, + { 147, 4, 7 , 7 }, + { 162, 4, 2 , 2 }, + { 172, 4, 6 , 3 }, + { 186, 4, 1 , 1 }, + { 195, 4, 4 , 10 }, + { 207, 4, 5 , 8 }, + { 220, 4, 5 , 8 }, + { 233, 4, 5 , 8 }, + { 4, 27, 5 , 8 }, + { 17, 27, 5 , 8 }, + { 30, 27, 5 , 8 }, + { 43, 27, 5 , 8 }, + { 56, 27, 5 , 8 }, + { 69, 27, 5 , 8 }, + { 82, 27, 5 , 8 }, + { 95, 27, 3 , 10 }, + { 106, 27, 3 , 12 }, + { 117, 27, 6 , 7 }, + { 131, 27, 6 , 4 }, + { 145, 27, 6 , 7 }, + { 159, 27, 5 , 10 }, + { 172, 27, 8 , 10 }, + { 188, 27, 7 , 9 }, + { 203, 27, 7 , 9 }, + { 218, 27, 6 , 9 }, + { 232, 27, 6 , 9 }, + { 4, 50, 7 , 9 }, + { 19, 50, 6 , 9 }, + { 33, 50, 6 , 9 }, + { 47, 50, 7 , 9 }, + { 62, 50, 3 , 9 }, + { 73, 50, 6 , 9 }, + { 87, 50, 7 , 9 }, + { 102, 50, 7 , 9 }, + { 117, 50, 11 , 9 }, + { 136, 50, 8 , 9 }, + { 152, 50, 6 , 9 }, + { 166, 50, 6 , 9 }, + { 180, 50, 7 , 9 }, + { 195, 50, 7 , 9 }, + { 210, 50, 6 , 9 }, + { 224, 50, 7 , 9 }, + { 239, 50, 8 , 9 }, + { 4, 73, 9 , 9 }, + { 21, 73, 11 , 9 }, + { 40, 73, 7 , 9 }, + { 55, 73, 7 , 9 }, + { 70, 73, 7 , 9 }, + { 85, 73, 3 , 9 }, + { 96, 73, 4 , 10 }, + { 108, 73, 3 , 9 }, + { 119, 73, 3 , 3 }, + { 130, 73, 7 , 2 }, + { 145, 73, 2 , 2 }, + { 155, 73, 6 , 6 }, + { 169, 73, 6 , 9 }, + { 183, 73, 6 , 6 }, + { 197, 73, 6 , 9 }, + { 211, 73, 6 , 6 }, + { 225, 73, 5 , 9 }, + { 238, 73, 5 , 9 }, + { 4, 96, 7 , 9 }, + { 19, 96, 3 , 7 }, + { 30, 96, 3 , 8 }, + { 41, 96, 6 , 9 }, + { 55, 96, 4 , 9 }, + { 67, 96, 11 , 6 }, + { 86, 96, 7 , 6 }, + { 101, 96, 5 , 6 }, + { 114, 96, 6 , 8 }, + { 128, 96, 6 , 8 }, + { 142, 96, 5 , 6 }, + { 155, 96, 5 , 6 }, + { 168, 96, 5 , 9 }, + { 181, 96, 7 , 6 }, + { 196, 96, 7 , 6 }, + { 211, 96, 11 , 6 }, + { 230, 96, 7 , 6 }, + { 4, 119, 7 , 8 }, + { 19, 119, 6 , 6 }, + { 33, 119, 5 , 9 }, + { 46, 119, 1 , 9 }, + { 55, 119, 5 , 9 }, + { 68, 119, 7 , 3 }, +}; + +// Font characters info data +// NOTE: No chars.image data provided +static const GlyphInfo cherryFontChars[95] = { + { 32, 0, 12, 5, { 0 }}, + { 33, 0, 2, 4, { 0 }}, + { 34, 0, 2, 6, { 0 }}, + { 35, 0, 2, 11, { 0 }}, + { 36, 0, 2, 8, { 0 }}, + { 37, 0, 2, 8, { 0 }}, + { 38, 0, 2, 9, { 0 }}, + { 39, 0, 2, 2, { 0 }}, + { 40, 0, 2, 4, { 0 }}, + { 41, 0, 2, 4, { 0 }}, + { 42, 0, 2, 4, { 0 }}, + { 43, 0, 4, 8, { 0 }}, + { 44, 0, 11, 3, { 0 }}, + { 45, 0, 6, 7, { 0 }}, + { 46, 0, 11, 2, { 0 }}, + { 47, 0, 2, 5, { 0 }}, + { 48, 0, 4, 6, { 0 }}, + { 49, 0, 4, 6, { 0 }}, + { 50, 0, 4, 6, { 0 }}, + { 51, 0, 4, 6, { 0 }}, + { 52, 0, 4, 6, { 0 }}, + { 53, 0, 4, 6, { 0 }}, + { 54, 0, 4, 6, { 0 }}, + { 55, 0, 4, 6, { 0 }}, + { 56, 0, 4, 6, { 0 }}, + { 57, 0, 4, 6, { 0 }}, + { 58, 0, 2, 4, { 0 }}, + { 59, 0, 2, 4, { 0 }}, + { 60, 0, 4, 7, { 0 }}, + { 61, 0, 5, 7, { 0 }}, + { 62, 0, 4, 7, { 0 }}, + { 63, 0, 2, 6, { 0 }}, + { 64, 0, 2, 9, { 0 }}, + { 65, 0, 3, 8, { 0 }}, + { 66, 0, 3, 8, { 0 }}, + { 67, 0, 3, 7, { 0 }}, + { 68, 0, 3, 7, { 0 }}, + { 69, 0, 3, 8, { 0 }}, + { 70, 0, 3, 7, { 0 }}, + { 71, 0, 3, 7, { 0 }}, + { 72, 0, 3, 8, { 0 }}, + { 73, 0, 3, 4, { 0 }}, + { 74, 0, 3, 7, { 0 }}, + { 75, 0, 3, 8, { 0 }}, + { 76, 0, 3, 8, { 0 }}, + { 77, 0, 3, 12, { 0 }}, + { 78, 0, 3, 9, { 0 }}, + { 79, 0, 3, 7, { 0 }}, + { 80, 0, 3, 7, { 0 }}, + { 81, 0, 3, 8, { 0 }}, + { 82, 0, 3, 8, { 0 }}, + { 83, 0, 3, 7, { 0 }}, + { 84, 0, 3, 8, { 0 }}, + { 85, 0, 3, 9, { 0 }}, + { 86, 0, 3, 10, { 0 }}, + { 87, 0, 3, 12, { 0 }}, + { 88, 0, 3, 8, { 0 }}, + { 89, 0, 3, 8, { 0 }}, + { 90, 0, 3, 8, { 0 }}, + { 91, 0, 3, 4, { 0 }}, + { 92, 0, 2, 5, { 0 }}, + { 93, 0, 3, 4, { 0 }}, + { 94, 0, 3, 4, { 0 }}, + { 95, 0, 10, 8, { 0 }}, + { 96, 0, 2, 3, { 0 }}, + { 97, 0, 6, 7, { 0 }}, + { 98, 0, 3, 7, { 0 }}, + { 99, 0, 6, 7, { 0 }}, + { 100, 0, 3, 7, { 0 }}, + { 101, 0, 6, 7, { 0 }}, + { 102, 0, 3, 6, { 0 }}, + { 103, 0, 5, 6, { 0 }}, + { 104, 0, 3, 8, { 0 }}, + { 105, 0, 5, 4, { 0 }}, + { 106, 0, 5, 4, { 0 }}, + { 107, 0, 3, 7, { 0 }}, + { 108, 0, 3, 5, { 0 }}, + { 109, 0, 6, 12, { 0 }}, + { 110, 0, 6, 8, { 0 }}, + { 111, 0, 6, 6, { 0 }}, + { 112, 0, 6, 7, { 0 }}, + { 113, 0, 6, 7, { 0 }}, + { 114, 0, 6, 6, { 0 }}, + { 115, 0, 6, 6, { 0 }}, + { 116, 0, 3, 6, { 0 }}, + { 117, 0, 6, 8, { 0 }}, + { 118, 0, 6, 8, { 0 }}, + { 119, 0, 6, 12, { 0 }}, + { 120, 0, 6, 8, { 0 }}, + { 121, 0, 6, 8, { 0 }}, + { 122, 0, 6, 7, { 0 }}, + { 123, 0, 3, 6, { 0 }}, + { 124, 0, 3, 2, { 0 }}, + { 125, 0, 3, 6, { 0 }}, + { 126, 0, 6, 8, { 0 }}, +}; + +// Style loading function: cherry +static void GuiLoadStyleCherry(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < CHERRY_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(cherryStyleProps[i].controlId, cherryStyleProps[i].propertyId, cherryStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int cherryFontDataSize = 0; + unsigned char *data = DecompressData(cherryFontData, CHERRY_COMPRESSED_DATA_SIZE, &cherryFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 15; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, cherryFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, cherryFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + Rectangle whiteChar = { 17, 30, 2, 2 }; + SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/cherry/cherry.rgs b/styles/cherry/cherry.rgs index a830816..83b341b 100644 Binary files a/styles/cherry/cherry.rgs and b/styles/cherry/cherry.rgs differ diff --git a/styles/cherry/cherry.txt.rgs b/styles/cherry/cherry.txt.rgs new file mode 100644 index 0000000..a830816 --- /dev/null +++ b/styles/cherry/cherry.txt.rgs @@ -0,0 +1,24 @@ +# +# rgs style text file (v3.1) - raygui style file generated using rGuiStyler +# +# Style properties: +# f +# p +# +f 15 0 Westington.ttf +p 00 00 0xda5757ff DEFAULT_BORDER_COLOR_NORMAL +p 00 01 0x753233ff DEFAULT_BASE_COLOR_NORMAL +p 00 02 0xe17373ff DEFAULT_TEXT_COLOR_NORMAL +p 00 03 0xfaaa97ff DEFAULT_BORDER_COLOR_FOCUSED +p 00 04 0xe06262ff DEFAULT_BASE_COLOR_FOCUSED +p 00 05 0xfdb4aaff DEFAULT_TEXT_COLOR_FOCUSED +p 00 06 0xe03c46ff DEFAULT_BORDER_COLOR_PRESSED +p 00 07 0x5b1e20ff DEFAULT_BASE_COLOR_PRESSED +p 00 08 0xc2474fff DEFAULT_TEXT_COLOR_PRESSED +p 00 09 0xa19292ff DEFAULT_BORDER_COLOR_DISABLED +p 00 10 0x706060ff DEFAULT_BASE_COLOR_DISABLED +p 00 11 0x9e8585ff DEFAULT_TEXT_COLOR_DISABLED +p 00 16 0x0000000f TEXT_SIZE +p 00 17 0x00000000 TEXT_SPACING +p 00 18 0xfb8170ff DEFAULT_LINE_COLOR +p 00 19 0x3a1720ff DEFAULT_BACKGROUND_COLOR diff --git a/styles/cyber/cyber.h b/styles/cyber/cyber.h new file mode 100644 index 0000000..d421947 --- /dev/null +++ b/styles/cyber/cyber.h @@ -0,0 +1,344 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleCyber(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define CYBER_STYLE_PROPS_COUNT 16 + +// Custom style name: cyber +static const GuiStyleProp cyberStyleProps[CYBER_STYLE_PROPS_COUNT] = { + { 0, 0, 0x2f7486ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0x024658ff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0x51bfd3ff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0x82cde0ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0x3299b4ff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0xb6e1eaff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0xeb7630ff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0xffbc51ff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0xd86f36ff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x134b5aff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0x02313dff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x17505fff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x0000000e }, // DEFAULT_TEXT_SIZE + { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING + { 0, 18, 0x81c0d0ff }, // DEFAULT_LINE_COLOR + { 0, 19, 0x00222bff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: (size: 14, spacing: 0) + +#define CYBER_COMPRESSED_DATA_SIZE 1104 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char cyberFontData[CYBER_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0xe1, 0x6e, 0x9b, 0x30, 0x14, 0x05, 0x60, 0xb4, 0xf7, 0x7f, 0xe3, 0x8d, 0x9d, 0x49, 0x95, 0xb6, 0xa9, 0x9b, 0x02, + 0xf6, 0xb5, 0x4d, 0x48, 0xfa, 0xed, 0xfb, 0xd7, 0x94, 0x05, 0x7c, 0xb1, 0x81, 0xfa, 0xc4, 0xc9, 0x06, 0x00, 0xb0, 0x58, + 0x2e, 0x7e, 0xb7, 0x34, 0xff, 0x74, 0xde, 0x11, 0xfd, 0xfe, 0xf7, 0xdc, 0x63, 0x5f, 0x77, 0x74, 0x8f, 0x8e, 0x24, 0x27, + 0xc7, 0x99, 0x87, 0x2d, 0xf3, 0xef, 0x56, 0x39, 0xd8, 0xbe, 0x6f, 0x4f, 0xfb, 0xce, 0xc3, 0x1c, 0xee, 0xfd, 0xda, 0xf3, + 0x39, 0x87, 0x6d, 0xb6, 0x77, 0x6c, 0x75, 0xdc, 0xce, 0xab, 0xea, 0xff, 0xf9, 0xdf, 0xa3, 0xff, 0x29, 0x0d, 0xad, 0x56, + 0x3d, 0xbb, 0xc6, 0xeb, 0xbf, 0x75, 0x9d, 0x5f, 0xeb, 0xc7, 0xc5, 0x34, 0x54, 0xba, 0xbf, 0x1f, 0xad, 0x1a, 0xaf, 0xf7, + 0x86, 0x63, 0xd9, 0xcb, 0xef, 0x98, 0xee, 0x3d, 0xea, 0xad, 0x7f, 0x0e, 0x46, 0xee, 0x79, 0x3d, 0xaa, 0x7a, 0x36, 0x56, + 0xc6, 0x9f, 0x6b, 0xeb, 0x3f, 0x36, 0xfe, 0x9f, 0xbf, 0xdf, 0xf7, 0x0f, 0xed, 0x7b, 0xf5, 0x2a, 0xfd, 0xbf, 0xed, 0x3d, + 0x73, 0x93, 0xf1, 0xbf, 0x5e, 0xff, 0xbf, 0xfd, 0x3f, 0x03, 0x15, 0x6b, 0x3f, 0xae, 0x2b, 0xae, 0xff, 0xe3, 0xf6, 0xc6, + 0xbd, 0xcc, 0x84, 0xab, 0xde, 0xea, 0x7b, 0xed, 0xb1, 0xeb, 0x7f, 0x1a, 0xcf, 0xae, 0x75, 0xf5, 0xbf, 0xde, 0x8f, 0xe6, + 0x23, 0x78, 0x4e, 0xfd, 0xaf, 0x1b, 0xff, 0x7b, 0xee, 0xff, 0xf3, 0x26, 0xf5, 0x4f, 0x47, 0xaf, 0xea, 0x7d, 0xfa, 0x5c, + 0x79, 0xbf, 0xe2, 0xf9, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xd3, 0xac, 0x63, 0x0a, 0xc9, 0x86, 0xf7, 0x6e, + 0xa3, 0x96, 0xa3, 0xcc, 0x49, 0x4e, 0x35, 0x0d, 0xbf, 0x71, 0xb6, 0x7d, 0x6d, 0x1e, 0xfc, 0x38, 0x27, 0xbb, 0x36, 0xf1, + 0xb0, 0x35, 0x67, 0xc0, 0x67, 0x1c, 0x4d, 0x9a, 0xb7, 0xaf, 0x65, 0x25, 0x8f, 0xf3, 0x68, 0xb5, 0x1c, 0x74, 0x86, 0x32, + 0x8b, 0x19, 0x7c, 0x7d, 0x74, 0xa4, 0x38, 0x4b, 0x35, 0x3d, 0xfe, 0xe9, 0x8a, 0xa3, 0xc9, 0xa7, 0x4c, 0xe4, 0xfc, 0xd6, + 0x38, 0xce, 0x9a, 0x54, 0xfb, 0xef, 0xda, 0x1c, 0x74, 0xff, 0x58, 0x9f, 0x49, 0xe9, 0x94, 0xda, 0xd9, 0xfc, 0xbb, 0xa5, + 0x46, 0x8f, 0x66, 0x9f, 0x98, 0xb1, 0x69, 0x4b, 0x1a, 0x65, 0xb0, 0x0f, 0xed, 0x85, 0xb6, 0xfc, 0x96, 0xfd, 0x8f, 0xad, + 0x38, 0x26, 0xae, 0xa9, 0xfe, 0x59, 0xde, 0xed, 0xd1, 0xef, 0xef, 0x43, 0x9f, 0xa4, 0x48, 0x7e, 0x7e, 0xd8, 0x97, 0x64, + 0xac, 0x72, 0x78, 0x45, 0x4a, 0xd7, 0x58, 0xdf, 0x33, 0x26, 0xb5, 0xe5, 0xa0, 0xf7, 0x85, 0x09, 0xb3, 0x2c, 0xca, 0xee, + 0x3f, 0xea, 0xff, 0xd7, 0x8d, 0x76, 0xdb, 0xd2, 0xeb, 0xf3, 0x9c, 0x2b, 0x74, 0x3d, 0x07, 0xbf, 0xf6, 0xfa, 0x7f, 0xd5, + 0x19, 0xb3, 0x62, 0xfc, 0x9f, 0xff, 0x94, 0x33, 0x7a, 0x4f, 0x9b, 0x62, 0x5e, 0x77, 0xf6, 0x1d, 0xef, 0xda, 0xfb, 0xff, + 0xd6, 0xa3, 0x49, 0xf1, 0x53, 0x5f, 0x57, 0xb5, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x9a, 0xfe, 0x4d, + 0x69, 0xc6, 0x7a, 0x6c, 0xeb, 0x7a, 0xfe, 0x72, 0x5d, 0x4e, 0x26, 0x27, 0xbf, 0xdb, 0xba, 0x5e, 0xd9, 0x79, 0x8a, 0x77, + 0xbf, 0x41, 0x0a, 0x78, 0x2c, 0x53, 0x98, 0xa5, 0x79, 0x97, 0xde, 0xff, 0x63, 0x56, 0xfd, 0x73, 0x98, 0xe4, 0xcb, 0x85, + 0x29, 0xdf, 0xf5, 0x99, 0xe8, 0x99, 0x7d, 0xe5, 0x7e, 0xf5, 0xaf, 0xae, 0x37, 0x99, 0x83, 0xd4, 0x7b, 0x4e, 0x32, 0xb1, + 0x77, 0xaa, 0xff, 0x36, 0xa1, 0xfe, 0xf5, 0xf1, 0x3f, 0x27, 0xe9, 0xe2, 0x34, 0x8d, 0x65, 0x73, 0x73, 0xfb, 0xad, 0x67, + 0xed, 0xe3, 0x15, 0x27, 0xcf, 0xd6, 0x33, 0x7d, 0x7e, 0xff, 0xae, 0x8e, 0xff, 0x2b, 0xfb, 0x7f, 0x5e, 0xaa, 0xff, 0xb7, + 0x5c, 0xff, 0xeb, 0x29, 0xfe, 0x0c, 0xa6, 0x80, 0xf7, 0xe6, 0xfa, 0xde, 0x67, 0xfc, 0x9f, 0x5b, 0xff, 0xdc, 0xe2, 0xfe, + 0x2f, 0x4b, 0xc6, 0xe7, 0xf6, 0xf1, 0x25, 0x83, 0x89, 0xee, 0xb9, 0x77, 0xf0, 0xd7, 0xde, 0xff, 0x8f, 0xf5, 0xa0, 0xf6, + 0x63, 0xca, 0xf4, 0xf1, 0x77, 0x74, 0xed, 0xdf, 0xb9, 0xe3, 0x3f, 0xaf, 0xf4, 0xd9, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x8f, 0x96, 0xe2, 0x6a, 0x5d, 0xe9, 0x5c, 0x13, 0xaa, 0xb2, 0xfa, 0x6a, 0x7d, 0x9e, 0x76, 0xce, 0x2c, 0x6f, + 0x86, 0xe7, 0xe8, 0xdb, 0x5e, 0x4f, 0x79, 0x3e, 0xbd, 0x67, 0x36, 0xbf, 0x27, 0xa3, 0x90, 0xf2, 0x1c, 0xec, 0x75, 0xab, + 0x85, 0x8e, 0xcf, 0x0e, 0x8f, 0x7e, 0x63, 0xf2, 0xfa, 0xfa, 0xb7, 0x7c, 0x7f, 0x74, 0x3d, 0x0b, 0x36, 0xf6, 0xcd, 0xfe, + 0x39, 0xcc, 0x87, 0x8e, 0x9f, 0x01, 0xf5, 0x6c, 0xcd, 0x3b, 0xd5, 0xff, 0xbc, 0x4d, 0x53, 0xae, 0xfe, 0xd8, 0xb7, 0x81, + 0xaf, 0xcd, 0x60, 0xec, 0x4d, 0xe7, 0x46, 0x6d, 0xad, 0xd7, 0x7d, 0x78, 0x55, 0xdc, 0x2b, 0xeb, 0x3f, 0x5e, 0x89, 0x2c, + 0xc9, 0xa8, 0xe7, 0xb2, 0x4f, 0xdf, 0x54, 0x72, 0x7e, 0xf5, 0x6d, 0xe7, 0xd5, 0xbf, 0xa5, 0x67, 0x8f, 0xf7, 0xff, 0x91, + 0x57, 0xd3, 0xdc, 0x0b, 0xef, 0x95, 0xc1, 0xca, 0xc0, 0x5e, 0x5c, 0x59, 0xff, 0xe3, 0xea, 0xcd, 0xb8, 0xfe, 0x8f, 0x55, + 0xf8, 0xbc, 0x05, 0x7e, 0xa8, 0xff, 0xe0, 0x73, 0x46, 0x1a, 0x9e, 0xa3, 0xaa, 0x4f, 0x18, 0xe7, 0xaf, 0x8c, 0x65, 0x94, + 0x47, 0x9f, 0x11, 0x9e, 0x71, 0x6d, 0xb8, 0xea, 0xe9, 0xd0, 0xf3, 0xbf, 0xbf, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf0, 0x8a, 0xf3, 0x63, 0x79, 0x93, 0xf9, 0xc5, 0x34, 0x7d, 0x8b, 0xf6, 0xf9, 0xea, 0xa9, 0xc7, 0x6b, 0xaf, 0xee, 0xa5, + 0xd4, 0x55, 0x7d, 0x9f, 0xe6, 0x27, 0x04, 0xfe, 0xdf, 0x72, 0xef, 0x98, 0x05, 0xcd, 0xf4, 0xe4, 0x6a, 0x26, 0xa5, 0x3a, + 0x7a, 0xf2, 0xc6, 0xfd, 0xc9, 0xa9, 0x39, 0xaf, 0xce, 0xca, 0xb6, 0xcd, 0xa9, 0xff, 0x58, 0x76, 0x3a, 0xcb, 0x52, 0x13, + 0x5f, 0xa7, 0xfe, 0x5b, 0x71, 0xbd, 0xd2, 0xb9, 0xfd, 0xbf, 0x67, 0xbf, 0x52, 0x4e, 0x35, 0x57, 0xfa, 0x7f, 0xde, 0xbe, + 0xfe, 0xb5, 0xd6, 0xcc, 0x94, 0x1e, 0x57, 0xcb, 0x4e, 0xed, 0xe5, 0xf4, 0x69, 0x6f, 0xfd, 0x73, 0x69, 0xff, 0xdf, 0x1a, + 0x57, 0xc3, 0x9c, 0xd9, 0x96, 0xf5, 0xf5, 0x8a, 0x57, 0xdf, 0x85, 0xd5, 0x3f, 0x21, 0x31, 0xa3, 0xfe, 0x63, 0xab, 0x68, + 0x3e, 0xa7, 0x3d, 0x56, 0xec, 0x5d, 0x6e, 0x90, 0x41, 0xed, 0xeb, 0x25, 0x33, 0xfb, 0xff, 0xca, 0x7b, 0x0c, 0xf5, 0x5f, + 0xf1, 0xce, 0x57, 0xd4, 0x7f, 0xfb, 0x52, 0xe9, 0xcc, 0xf7, 0xcf, 0xa2, 0x4a, 0xda, 0x7e, 0xed, 0xbf, 0x40, 0x69, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd9, 0xf3, 0x6e, 0x79, 0x42, 0x9a, 0xaa, 0x25, 0x4f, 0xd3, 0x96, 0x14, 0x39, 0x9e, + 0x5b, 0x32, 0xc3, 0xb4, 0xaa, 0xfe, 0x47, 0xdf, 0x54, 0xdc, 0x9e, 0x50, 0xcb, 0x92, 0x9f, 0xaa, 0xfd, 0x15, 0xf5, 0xdf, + 0x9a, 0x92, 0x6b, 0x99, 0x96, 0x7b, 0xbd, 0x53, 0x1e, 0xec, 0x7d, 0xce, 0x80, 0xfa, 0xea, 0x9d, 0xf5, 0xfe, 0x3f, 0x73, + 0x3d, 0x67, 0xf5, 0x5f, 0x93, 0xbf, 0x68, 0x5f, 0xbd, 0xb1, 0xb2, 0x4a, 0xed, 0xcc, 0x75, 0xdb, 0x9d, 0x01, 0xef, 0x96, + 0xef, 0xd2, 0xff, 0xbf, 0xea, 0xa7, 0x0b, 0xd5, 0x1f, 0xf5, 0x67, 0xfc, 0xf9, 0x1f, 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, 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, 0x80, + 0x0f, 0xbf, 0x00 }; + +// Font characters rectangles data +static const Rectangle cyberFontRecs[95] = { + { 4, 4, 4 , 14 }, + { 16, 4, 1 , 8 }, + { 25, 4, 4 , 3 }, + { 37, 4, 8 , 8 }, + { 53, 4, 8 , 9 }, + { 69, 4, 8 , 8 }, + { 85, 4, 8 , 8 }, + { 101, 4, 1 , 3 }, + { 110, 4, 4 , 9 }, + { 122, 4, 4 , 9 }, + { 134, 4, 5 , 6 }, + { 147, 4, 5 , 6 }, + { 160, 4, 2 , 2 }, + { 170, 4, 4 , 1 }, + { 182, 4, 1 , 1 }, + { 191, 4, 8 , 8 }, + { 207, 4, 8 , 8 }, + { 223, 4, 2 , 8 }, + { 233, 4, 8 , 8 }, + { 4, 26, 8 , 8 }, + { 20, 26, 8 , 8 }, + { 36, 26, 8 , 8 }, + { 52, 26, 8 , 8 }, + { 68, 26, 7 , 8 }, + { 83, 26, 8 , 8 }, + { 99, 26, 8 , 8 }, + { 115, 26, 1 , 4 }, + { 124, 26, 2 , 5 }, + { 134, 26, 4 , 8 }, + { 146, 26, 5 , 3 }, + { 159, 26, 4 , 8 }, + { 171, 26, 7 , 8 }, + { 186, 26, 8 , 8 }, + { 202, 26, 8 , 8 }, + { 218, 26, 8 , 8 }, + { 234, 26, 8 , 8 }, + { 4, 48, 8 , 8 }, + { 20, 48, 7 , 8 }, + { 35, 48, 7 , 8 }, + { 50, 48, 8 , 8 }, + { 66, 48, 8 , 8 }, + { 82, 48, 5 , 8 }, + { 95, 48, 7 , 8 }, + { 110, 48, 8 , 8 }, + { 126, 48, 7 , 8 }, + { 141, 48, 8 , 8 }, + { 157, 48, 8 , 8 }, + { 173, 48, 8 , 8 }, + { 189, 48, 8 , 8 }, + { 205, 48, 8 , 9 }, + { 221, 48, 8 , 8 }, + { 237, 48, 8 , 8 }, + { 4, 70, 8 , 8 }, + { 20, 70, 8 , 8 }, + { 36, 70, 8 , 8 }, + { 52, 70, 9 , 8 }, + { 69, 70, 8 , 8 }, + { 85, 70, 8 , 8 }, + { 101, 70, 8 , 8 }, + { 117, 70, 4 , 9 }, + { 129, 70, 8 , 8 }, + { 145, 70, 4 , 9 }, + { 157, 70, 4 , 3 }, + { 169, 70, 7 , 1 }, + { 184, 70, 2 , 3 }, + { 194, 70, 7 , 5 }, + { 209, 70, 7 , 8 }, + { 224, 70, 7 , 5 }, + { 239, 70, 7 , 8 }, + { 4, 92, 7 , 5 }, + { 19, 92, 4 , 8 }, + { 31, 92, 7 , 7 }, + { 46, 92, 7 , 8 }, + { 61, 92, 1 , 8 }, + { 70, 92, 3 , 10 }, + { 81, 92, 7 , 8 }, + { 96, 92, 4 , 8 }, + { 108, 92, 9 , 5 }, + { 125, 92, 7 , 5 }, + { 140, 92, 7 , 5 }, + { 155, 92, 7 , 7 }, + { 170, 92, 7 , 7 }, + { 185, 92, 5 , 5 }, + { 198, 92, 7 , 5 }, + { 213, 92, 5 , 8 }, + { 226, 92, 7 , 5 }, + { 4, 114, 7 , 5 }, + { 19, 114, 9 , 5 }, + { 36, 114, 7 , 5 }, + { 51, 114, 7 , 7 }, + { 66, 114, 7 , 5 }, + { 81, 114, 4 , 9 }, + { 93, 114, 1 , 9 }, + { 102, 114, 4 , 9 }, + { 114, 114, 8 , 2 }, +}; + +// Font characters info data +// NOTE: No chars.image data provided +static const GlyphInfo cyberFontChars[95] = { + { 32, 0, 11, 4, { 0 }}, + { 33, 0, 3, 2, { 0 }}, + { 34, 0, 3, 4, { 0 }}, + { 35, 0, 3, 8, { 0 }}, + { 36, 0, 3, 8, { 0 }}, + { 37, 0, 3, 8, { 0 }}, + { 38, 0, 3, 8, { 0 }}, + { 39, 0, 3, 2, { 0 }}, + { 40, 0, 3, 4, { 0 }}, + { 41, 0, 3, 4, { 0 }}, + { 42, 0, 4, 6, { 0 }}, + { 43, 0, 4, 6, { 0 }}, + { 44, 0, 10, 3, { 0 }}, + { 45, 0, 7, 5, { 0 }}, + { 46, 0, 10, 2, { 0 }}, + { 47, 0, 3, 8, { 0 }}, + { 48, 0, 3, 8, { 0 }}, + { 49, 0, 3, 3, { 0 }}, + { 50, 0, 3, 8, { 0 }}, + { 51, 0, 3, 8, { 0 }}, + { 52, 0, 3, 8, { 0 }}, + { 53, 0, 3, 8, { 0 }}, + { 54, 0, 3, 8, { 0 }}, + { 55, 0, 3, 7, { 0 }}, + { 56, 0, 3, 8, { 0 }}, + { 57, 0, 3, 8, { 0 }}, + { 58, 0, 6, 2, { 0 }}, + { 59, 0, 6, 3, { 0 }}, + { 60, 0, 3, 5, { 0 }}, + { 61, 0, 6, 6, { 0 }}, + { 62, 0, 3, 5, { 0 }}, + { 63, 0, 3, 7, { 0 }}, + { 64, 0, 3, 8, { 0 }}, + { 65, 0, 3, 8, { 0 }}, + { 66, 0, 3, 8, { 0 }}, + { 67, 0, 3, 8, { 0 }}, + { 68, 0, 3, 8, { 0 }}, + { 69, 0, 3, 7, { 0 }}, + { 70, 0, 3, 7, { 0 }}, + { 71, 0, 3, 8, { 0 }}, + { 72, 0, 3, 8, { 0 }}, + { 73, 0, 3, 6, { 0 }}, + { 74, 0, 3, 7, { 0 }}, + { 75, 0, 3, 8, { 0 }}, + { 76, 0, 3, 7, { 0 }}, + { 77, 0, 3, 9, { 0 }}, + { 78, 0, 3, 8, { 0 }}, + { 79, 0, 3, 8, { 0 }}, + { 80, 0, 3, 8, { 0 }}, + { 81, 0, 3, 8, { 0 }}, + { 82, 0, 3, 8, { 0 }}, + { 83, 0, 3, 8, { 0 }}, + { 84, 0, 3, 8, { 0 }}, + { 85, 0, 3, 8, { 0 }}, + { 86, 0, 3, 8, { 0 }}, + { 87, 0, 3, 10, { 0 }}, + { 88, 0, 3, 8, { 0 }}, + { 89, 0, 3, 8, { 0 }}, + { 90, 0, 3, 8, { 0 }}, + { 91, 0, 3, 4, { 0 }}, + { 92, 0, 3, 8, { 0 }}, + { 93, 0, 3, 4, { 0 }}, + { 94, 0, 3, 4, { 0 }}, + { 95, 0, 11, 7, { 0 }}, + { 96, 0, 3, 3, { 0 }}, + { 97, 0, 6, 7, { 0 }}, + { 98, 0, 3, 7, { 0 }}, + { 99, 0, 6, 7, { 0 }}, + { 100, 0, 3, 7, { 0 }}, + { 101, 0, 6, 7, { 0 }}, + { 102, 0, 3, 5, { 0 }}, + { 103, 0, 6, 7, { 0 }}, + { 104, 0, 3, 7, { 0 }}, + { 105, 0, 3, 2, { 0 }}, + { 106, -2, 3, 2, { 0 }}, + { 107, 0, 3, 7, { 0 }}, + { 108, 0, 3, 4, { 0 }}, + { 109, 0, 6, 10, { 0 }}, + { 110, 0, 6, 7, { 0 }}, + { 111, 0, 6, 7, { 0 }}, + { 112, 0, 6, 7, { 0 }}, + { 113, 0, 6, 7, { 0 }}, + { 114, 0, 6, 6, { 0 }}, + { 115, 0, 6, 7, { 0 }}, + { 116, 0, 3, 6, { 0 }}, + { 117, 0, 6, 7, { 0 }}, + { 118, 0, 6, 7, { 0 }}, + { 119, 0, 6, 10, { 0 }}, + { 120, 0, 6, 7, { 0 }}, + { 121, 0, 6, 7, { 0 }}, + { 122, 0, 6, 7, { 0 }}, + { 123, 0, 3, 5, { 0 }}, + { 124, 0, 3, 2, { 0 }}, + { 125, 0, 3, 5, { 0 }}, + { 126, 0, 6, 8, { 0 }}, +}; + +// Style loading function: cyber +static void GuiLoadStyleCyber(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < CYBER_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(cyberStyleProps[i].controlId, cyberStyleProps[i].propertyId, cyberStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int cyberFontDataSize = 0; + unsigned char *data = DecompressData(cyberFontData, CYBER_COMPRESSED_DATA_SIZE, &cyberFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 14; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, cyberFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, cyberFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + Rectangle whiteChar = { 89, 9, 2, 2 }; + SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/cyber/cyber.rgs b/styles/cyber/cyber.rgs index 7d4d346..577a195 100644 Binary files a/styles/cyber/cyber.rgs and b/styles/cyber/cyber.rgs differ diff --git a/styles/cyber/cyber.txt.rgs b/styles/cyber/cyber.txt.rgs new file mode 100644 index 0000000..7d4d346 --- /dev/null +++ b/styles/cyber/cyber.txt.rgs @@ -0,0 +1,24 @@ +# +# rgs style text file (v3.1) - raygui style file generated using rGuiStyler +# +# Style properties: +# f +# p +# +f 14 0 Kyrou 7 Wide.ttf +p 00 00 0x2f7486ff DEFAULT_BORDER_COLOR_NORMAL +p 00 01 0x024658ff DEFAULT_BASE_COLOR_NORMAL +p 00 02 0x51bfd3ff DEFAULT_TEXT_COLOR_NORMAL +p 00 03 0x82cde0ff DEFAULT_BORDER_COLOR_FOCUSED +p 00 04 0x3299b4ff DEFAULT_BASE_COLOR_FOCUSED +p 00 05 0xb6e1eaff DEFAULT_TEXT_COLOR_FOCUSED +p 00 06 0xeb7630ff DEFAULT_BORDER_COLOR_PRESSED +p 00 07 0xffbc51ff DEFAULT_BASE_COLOR_PRESSED +p 00 08 0xd86f36ff DEFAULT_TEXT_COLOR_PRESSED +p 00 09 0x134b5aff DEFAULT_BORDER_COLOR_DISABLED +p 00 10 0x02313dff DEFAULT_BASE_COLOR_DISABLED +p 00 11 0x17505fff DEFAULT_TEXT_COLOR_DISABLED +p 00 16 0x0000000e DEFAULT_TEXT_SIZE +p 00 17 0x00000000 DEFAULT_TEXT_SPACING +p 00 18 0x81c0d0ff DEFAULT_LINE_COLOR +p 00 19 0x00222bff DEFAULT_BACKGROUND_COLOR diff --git a/styles/default/default.rgs b/styles/default/default.txt.rgs similarity index 100% rename from styles/default/default.rgs rename to styles/default/default.txt.rgs diff --git a/styles/jungle/jungle.h b/styles/jungle/jungle.h new file mode 100644 index 0000000..08db6df --- /dev/null +++ b/styles/jungle/jungle.h @@ -0,0 +1,341 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleJungle(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define JUNGLE_STYLE_PROPS_COUNT 16 + +// Custom style name: jungle +static const GuiStyleProp jungleStyleProps[JUNGLE_STYLE_PROPS_COUNT] = { + { 0, 0, 0x60827dff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0x2c3334ff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0x82a29fff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0x5f9aa8ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0x334e57ff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0x6aa9b8ff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0xa9cb8dff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0x3b6357ff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0x97af81ff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x5b6462ff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0x2c3334ff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x666b69ff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x0000000c }, // DEFAULT_TEXT_SIZE + { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING + { 0, 18, 0x638465ff }, // DEFAULT_LINE_COLOR + { 0, 19, 0x2b3a3aff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: (size: 12, spacing: 0) + +#define JUNGLE_COMPRESSED_DATA_SIZE 1059 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char jungleFontData[JUNGLE_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0xe1, 0x6e, 0xdb, 0x20, 0x14, 0x06, 0x50, 0x84, 0xfa, 0xfe, 0xaf, 0xcc, 0xd4, 0x6d, 0xdd, 0xb4, 0x35, 0xc6, 0xdc, + 0x0b, 0xd8, 0x69, 0x7a, 0x7a, 0xd4, 0x3f, 0x71, 0xeb, 0xd8, 0x5c, 0x83, 0x53, 0xf1, 0x15, 0xb7, 0x02, 0x00, 0xf0, 0xc9, + 0xfb, 0xd7, 0xe3, 0xd7, 0x1e, 0x6d, 0x29, 0xbf, 0xb7, 0x8c, 0xef, 0xeb, 0xe3, 0xf5, 0x5f, 0x5b, 0xea, 0xe1, 0x4f, 0x3c, + 0xde, 0x63, 0x3d, 0x38, 0x86, 0xa3, 0xa3, 0x3e, 0x3e, 0xb2, 0x12, 0xda, 0x72, 0xbc, 0xff, 0xe3, 0xf6, 0x2a, 0x81, 0x73, + 0xf8, 0xf7, 0xab, 0x04, 0xce, 0xa5, 0xff, 0x7b, 0xbb, 0xeb, 0xdf, 0x6f, 0x83, 0xe3, 0x6d, 0xbf, 0xbe, 0xdf, 0x5b, 0xa2, + 0x06, 0xf6, 0x79, 0xfc, 0xf3, 0x25, 0x74, 0x05, 0xc6, 0xaf, 0x8c, 0x58, 0xeb, 0xf6, 0x7e, 0xfa, 0xec, 0x1c, 0x5a, 0xf0, + 0x08, 0x3e, 0x5e, 0xdf, 0x59, 0xff, 0xf2, 0xe7, 0x3d, 0xc6, 0xfb, 0xff, 0x59, 0x55, 0x5a, 0x7b, 0x7b, 0xd8, 0x12, 0xa5, + 0x5b, 0x9b, 0x9a, 0x78, 0xa7, 0x15, 0x57, 0x73, 0x59, 0xd4, 0xba, 0xb5, 0x7b, 0x0e, 0x2d, 0x51, 0xff, 0xdc, 0x15, 0xba, + 0x6a, 0x3f, 0xb9, 0xfe, 0xff, 0xee, 0xed, 0xe7, 0x15, 0xd0, 0xdf, 0xeb, 0xfc, 0x11, 0xaf, 0xea, 0xff, 0x65, 0x6b, 0xf5, + 0x67, 0xea, 0x7f, 0xc5, 0xf8, 0xdf, 0xff, 0xf9, 0x7e, 0x9b, 0x3d, 0xde, 0x5f, 0xfd, 0xdd, 0xff, 0xe3, 0x77, 0xcf, 0x15, + 0xf5, 0x8f, 0xdf, 0xff, 0xf7, 0x56, 0x7f, 0xc5, 0xf8, 0xff, 0x8c, 0x9f, 0x23, 0xcf, 0xee, 0xe3, 0x8f, 0xaf, 0x9d, 0xb6, + 0xbd, 0xff, 0xdf, 0xa1, 0x57, 0xfd, 0xb3, 0xcf, 0x7f, 0x6d, 0x62, 0x9c, 0xdd, 0xdd, 0xff, 0x33, 0xfb, 0xfa, 0x68, 0x89, + 0x96, 0xe8, 0x9f, 0x5f, 0xb5, 0xfe, 0xbd, 0xea, 0xb3, 0x62, 0xac, 0x89, 0xdc, 0xe5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5e, 0x73, 0xc6, 0xa4, 0x3f, 0xff, 0xbe, 0x72, 0x26, 0x72, 0xd7, 0xb6, 0xf1, 0xb4, 0x41, 0x24, 0xb9, 0x52, 0x13, 0x2d, + 0x76, 0x57, 0xbb, 0xec, 0x4a, 0xfb, 0x95, 0x70, 0x36, 0x63, 0xe4, 0x68, 0xb2, 0xef, 0x37, 0x53, 0xff, 0x1a, 0x9c, 0x7b, + 0xed, 0x27, 0xf4, 0x8e, 0xf2, 0x8c, 0xc7, 0x33, 0xd7, 0xb3, 0xe7, 0x17, 0xdd, 0x16, 0x1b, 0x01, 0xca, 0x25, 0xfd, 0x7f, + 0x2c, 0xc3, 0xb4, 0x27, 0xdd, 0xf8, 0x38, 0x67, 0xd6, 0x3b, 0xd6, 0xb7, 0x70, 0xa2, 0xf0, 0xef, 0x6c, 0xf3, 0xde, 0xeb, + 0x7b, 0x75, 0xea, 0x33, 0x9b, 0x28, 0xc9, 0x5c, 0x93, 0x99, 0x04, 0xeb, 0x8a, 0xf1, 0x7f, 0x4d, 0xff, 0xef, 0x5d, 0xa7, + 0xed, 0xbf, 0xef, 0x35, 0xe3, 0xf8, 0x5d, 0xf5, 0xdf, 0x31, 0x56, 0x97, 0x81, 0x51, 0x21, 0x7b, 0x2c, 0xb9, 0xfb, 0x7f, + 0x26, 0xa9, 0xd3, 0x4b, 0x2b, 0xe5, 0x3f, 0x4f, 0xdd, 0xd1, 0xff, 0x67, 0xfa, 0x78, 0x6e, 0xfc, 0xef, 0xd7, 0x7f, 0x5d, + 0xba, 0xad, 0xdd, 0xf2, 0x69, 0x7a, 0xa4, 0x8f, 0x3d, 0xd7, 0xfd, 0x9f, 0x95, 0x79, 0xc6, 0xfb, 0xfe, 0x9e, 0x52, 0x15, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xe6, 0xf1, 0xae, 0xca, 0x94, 0xb4, 0xc1, 0x55, 0x7c, 0x8e, 0xf3, 0x5a, 0x57, + 0xa5, 0xf5, 0xae, 0x6f, 0xef, 0xd5, 0xb9, 0x8f, 0x15, 0x73, 0xd2, 0x99, 0x15, 0xcc, 0xe6, 0xb3, 0x88, 0xed, 0x29, 0x12, + 0x79, 0x3b, 0xda, 0xed, 0xce, 0xfa, 0x67, 0x8e, 0x27, 0x5f, 0xff, 0x96, 0x5c, 0x61, 0xf0, 0x6c, 0x65, 0x98, 0xe7, 0xaa, + 0x7f, 0x26, 0x75, 0x30, 0x53, 0xff, 0xf3, 0xb1, 0xaa, 0x74, 0xea, 0x11, 0x1f, 0xe3, 0xb3, 0xf5, 0x6f, 0xc9, 0x75, 0x1f, + 0xf7, 0xdc, 0xc5, 0xf6, 0xd4, 0x3f, 0xd3, 0x6e, 0xaf, 0x32, 0xfe, 0x9f, 0xef, 0xb3, 0x26, 0xc7, 0xff, 0x76, 0x3a, 0xaa, + 0xb4, 0xe5, 0x69, 0xd4, 0x78, 0x9f, 0x1a, 0x6d, 0x9f, 0xef, 0x5b, 0xff, 0xb2, 0xa5, 0xfe, 0x7b, 0xde, 0xf1, 0xeb, 0xdc, + 0xff, 0x33, 0xab, 0x57, 0xdf, 0x91, 0x73, 0x9b, 0xcb, 0x86, 0x9f, 0x6d, 0xbd, 0xa2, 0x65, 0xf6, 0x8d, 0xff, 0x52, 0x80, + 0x5f, 0x27, 0x25, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xc5, 0x1c, 0x45, 0x7e, 0xee, 0x6c, 0xc7, 0x0c, 0xe0, 0xe7, + 0xd7, 0xeb, 0xc0, 0x1c, 0xe6, 0xff, 0xaf, 0xd7, 0x83, 0xc4, 0x48, 0x0b, 0xae, 0xf9, 0x97, 0x7b, 0x1e, 0xef, 0xe8, 0x3a, + 0x68, 0xf9, 0x04, 0xe1, 0x8a, 0x79, 0xc0, 0xeb, 0xeb, 0x5f, 0x86, 0xe6, 0x63, 0x3f, 0x57, 0xb2, 0x26, 0x32, 0x43, 0x35, + 0xb8, 0xe2, 0x53, 0x6f, 0x85, 0xa8, 0x78, 0x9a, 0xe9, 0xbc, 0x15, 0x32, 0x6b, 0xdd, 0x9d, 0xed, 0x2d, 0xf7, 0x84, 0xe2, + 0x5e, 0x3a, 0xe6, 0x2c, 0xcb, 0x12, 0x3f, 0xf3, 0x1a, 0x3e, 0xb7, 0x3a, 0x30, 0x06, 0xec, 0xcf, 0x48, 0x97, 0x70, 0x7f, + 0x9c, 0xcb, 0xdd, 0xed, 0xaf, 0x7f, 0x19, 0xc8, 0xf8, 0xad, 0x4e, 0xa4, 0xb4, 0x93, 0xa7, 0xdf, 0x66, 0xae, 0x80, 0xdd, + 0xf5, 0x3f, 0x3b, 0xd7, 0x7c, 0x4a, 0xa8, 0x2c, 0xbd, 0x6e, 0x56, 0xd7, 0x7f, 0xe4, 0x3a, 0x5d, 0x7d, 0x05, 0x67, 0xae, + 0x80, 0x6b, 0xfa, 0x7f, 0x0b, 0xd7, 0xbf, 0x3f, 0x36, 0xac, 0x6f, 0xbd, 0x4c, 0x0a, 0x28, 0x37, 0xa2, 0xcc, 0xa6, 0xd5, + 0x32, 0x55, 0xac, 0xa9, 0x91, 0xe3, 0x8a, 0x4f, 0xd0, 0xb9, 0x67, 0x55, 0xaf, 0x4e, 0x6c, 0xe6, 0x5a, 0xe2, 0xfa, 0xfa, + 0xb7, 0xf4, 0x13, 0xbf, 0xeb, 0xd3, 0x3d, 0xfd, 0x3a, 0xd7, 0xeb, 0xf2, 0x89, 0xbd, 0xf5, 0xfd, 0xff, 0xf9, 0xfe, 0x1b, + 0xed, 0x8a, 0xdf, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x9e, 0x6b, 0x14, 0xc4, 0x57, 0xaa, 0x39, 0xff, 0x8d, 0xec, + 0xb3, 0xb3, 0xae, 0x7c, 0x76, 0xee, 0xae, 0xe7, 0xdb, 0xe5, 0xd7, 0x05, 0x6b, 0x5b, 0x9e, 0x00, 0xb7, 0x7e, 0xde, 0x6c, + 0x6e, 0x15, 0xb3, 0xb3, 0x16, 0xca, 0xae, 0xb8, 0x15, 0xcd, 0x60, 0xcc, 0xe4, 0x7a, 0xb2, 0x99, 0x8f, 0xf5, 0x39, 0xbc, + 0x35, 0xd9, 0xb6, 0x5c, 0xff, 0xcf, 0xe5, 0x42, 0x9e, 0xad, 0xfe, 0xe5, 0xa2, 0x7c, 0xde, 0x4c, 0xfd, 0x67, 0x9f, 0xfe, + 0x9c, 0x4f, 0x64, 0xc5, 0x5b, 0xf5, 0x15, 0xea, 0x3f, 0x96, 0xde, 0xcd, 0xe4, 0x08, 0x57, 0xe7, 0xf0, 0xee, 0xaa, 0x7f, + 0x4b, 0x3d, 0x3b, 0x77, 0xa6, 0xfe, 0x73, 0x79, 0xf9, 0xeb, 0xfa, 0x7f, 0xfe, 0x1d, 0xcb, 0x96, 0x27, 0xa3, 0xcf, 0xf6, + 0xd6, 0xd8, 0x4a, 0x8d, 0x77, 0x24, 0xb5, 0xd6, 0xe7, 0xe5, 0x76, 0x25, 0xbb, 0xee, 0x4d, 0x2f, 0xae, 0xca, 0xaf, 0xce, + 0xae, 0xfe, 0x7d, 0x47, 0xfd, 0x65, 0xc7, 0x5e, 0xfb, 0x2a, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x6e, 0xf3, 0x38, + 0xeb, 0x9e, 0x47, 0x15, 0x5d, 0xd5, 0xad, 0x85, 0x57, 0x68, 0x63, 0xd7, 0x0c, 0x70, 0xe9, 0x54, 0x69, 0x2e, 0xfd, 0x72, + 0xf4, 0x6a, 0xed, 0x26, 0x45, 0xb8, 0xbb, 0xfe, 0x35, 0xbc, 0x56, 0x5b, 0x7c, 0x45, 0x33, 0x9e, 0xb5, 0xfe, 0xf9, 0x14, + 0x97, 0x2b, 0xe0, 0x15, 0x92, 0x1c, 0x99, 0x9c, 0x9b, 0xfe, 0xff, 0x9a, 0xff, 0x07, 0xa2, 0xfe, 0x92, 0x5c, 0xea, 0xcf, + 0xca, 0xbf, 0xff, 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, 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, 0x00, 0x80, 0x29, 0x3f, 0x00 }; + +// Font characters rectangles data +static const Rectangle jungleFontRecs[95] = { + { 4, 4, 5 , 12 }, + { 17, 4, 2 , 7 }, + { 27, 4, 5 , 3 }, + { 40, 4, 5 , 5 }, + { 53, 4, 6 , 7 }, + { 67, 4, 7 , 7 }, + { 82, 4, 5 , 7 }, + { 95, 4, 3 , 3 }, + { 106, 4, 4 , 8 }, + { 118, 4, 4 , 8 }, + { 130, 4, 5 , 5 }, + { 143, 4, 5 , 5 }, + { 156, 4, 2 , 3 }, + { 166, 4, 5 , 1 }, + { 179, 4, 2 , 2 }, + { 189, 4, 7 , 7 }, + { 204, 4, 7 , 6 }, + { 219, 4, 6 , 6 }, + { 233, 4, 6 , 6 }, + { 4, 24, 6 , 6 }, + { 18, 24, 6 , 6 }, + { 32, 24, 6 , 6 }, + { 46, 24, 6 , 6 }, + { 60, 24, 6 , 6 }, + { 74, 24, 6 , 6 }, + { 88, 24, 6 , 6 }, + { 102, 24, 2 , 5 }, + { 112, 24, 2 , 6 }, + { 122, 24, 3 , 5 }, + { 133, 24, 5 , 3 }, + { 146, 24, 3 , 5 }, + { 157, 24, 6 , 7 }, + { 171, 24, 7 , 7 }, + { 186, 24, 6 , 7 }, + { 200, 24, 6 , 7 }, + { 214, 24, 6 , 7 }, + { 228, 24, 6 , 7 }, + { 4, 44, 6 , 7 }, + { 18, 44, 6 , 7 }, + { 32, 44, 6 , 7 }, + { 46, 44, 6 , 7 }, + { 60, 44, 6 , 7 }, + { 74, 44, 6 , 7 }, + { 88, 44, 6 , 7 }, + { 102, 44, 6 , 7 }, + { 116, 44, 7 , 7 }, + { 131, 44, 6 , 7 }, + { 145, 44, 6 , 7 }, + { 159, 44, 6 , 7 }, + { 173, 44, 7 , 8 }, + { 188, 44, 6 , 7 }, + { 202, 44, 6 , 7 }, + { 216, 44, 6 , 7 }, + { 230, 44, 6 , 7 }, + { 4, 64, 6 , 7 }, + { 18, 64, 7 , 7 }, + { 33, 64, 6 , 7 }, + { 47, 64, 6 , 7 }, + { 61, 64, 6 , 7 }, + { 75, 64, 4 , 8 }, + { 87, 64, 7 , 7 }, + { 102, 64, 4 , 8 }, + { 114, 64, 4 , 2 }, + { 126, 64, 6 , 1 }, + { 140, 64, 2 , 2 }, + { 150, 64, 6 , 5 }, + { 164, 64, 6 , 7 }, + { 178, 64, 6 , 5 }, + { 192, 64, 6 , 7 }, + { 206, 64, 6 , 5 }, + { 220, 64, 6 , 7 }, + { 234, 64, 6 , 7 }, + { 4, 84, 6 , 7 }, + { 18, 84, 6 , 7 }, + { 32, 84, 5 , 8 }, + { 45, 84, 6 , 7 }, + { 59, 84, 6 , 7 }, + { 73, 84, 7 , 5 }, + { 88, 84, 6 , 5 }, + { 102, 84, 6 , 5 }, + { 116, 84, 6 , 7 }, + { 130, 84, 6 , 7 }, + { 144, 84, 6 , 5 }, + { 158, 84, 6 , 5 }, + { 172, 84, 6 , 6 }, + { 186, 84, 6 , 5 }, + { 200, 84, 6 , 5 }, + { 214, 84, 7 , 5 }, + { 229, 84, 6 , 5 }, + { 4, 104, 6 , 7 }, + { 18, 104, 6 , 5 }, + { 32, 104, 4 , 8 }, + { 44, 104, 2 , 8 }, + { 54, 104, 4 , 8 }, + { 66, 104, 5 , 2 }, +}; + +// Font characters info data +// NOTE: No chars.image data provided +static const GlyphInfo jungleFontChars[95] = { + { 32, 0, 9, 5, { 0 }}, + { 33, 0, 2, 3, { 0 }}, + { 34, 0, 2, 6, { 0 }}, + { 35, 0, 3, 6, { 0 }}, + { 36, 0, 2, 7, { 0 }}, + { 37, 0, 2, 8, { 0 }}, + { 38, 0, 2, 6, { 0 }}, + { 39, 0, 2, 4, { 0 }}, + { 40, 0, 2, 5, { 0 }}, + { 41, 0, 2, 5, { 0 }}, + { 42, 0, 2, 6, { 0 }}, + { 43, 0, 3, 6, { 0 }}, + { 44, 0, 7, 3, { 0 }}, + { 45, 0, 5, 6, { 0 }}, + { 46, 0, 7, 3, { 0 }}, + { 47, 0, 2, 8, { 0 }}, + { 48, 0, 3, 8, { 0 }}, + { 49, 0, 3, 7, { 0 }}, + { 50, 0, 3, 7, { 0 }}, + { 51, 0, 3, 7, { 0 }}, + { 52, 0, 3, 7, { 0 }}, + { 53, 0, 3, 7, { 0 }}, + { 54, 0, 3, 7, { 0 }}, + { 55, 0, 3, 7, { 0 }}, + { 56, 0, 3, 7, { 0 }}, + { 57, 0, 3, 7, { 0 }}, + { 58, 0, 4, 3, { 0 }}, + { 59, 0, 4, 3, { 0 }}, + { 60, 0, 3, 4, { 0 }}, + { 61, 0, 4, 6, { 0 }}, + { 62, 0, 3, 4, { 0 }}, + { 63, 0, 2, 7, { 0 }}, + { 64, 0, 2, 8, { 0 }}, + { 65, 0, 2, 7, { 0 }}, + { 66, 0, 2, 7, { 0 }}, + { 67, 0, 2, 7, { 0 }}, + { 68, 0, 2, 7, { 0 }}, + { 69, 0, 2, 7, { 0 }}, + { 70, 0, 2, 7, { 0 }}, + { 71, 0, 2, 7, { 0 }}, + { 72, 0, 2, 7, { 0 }}, + { 73, 0, 2, 7, { 0 }}, + { 74, 0, 2, 7, { 0 }}, + { 75, 0, 2, 7, { 0 }}, + { 76, 0, 2, 7, { 0 }}, + { 77, 0, 2, 8, { 0 }}, + { 78, 0, 2, 7, { 0 }}, + { 79, 0, 2, 7, { 0 }}, + { 80, 0, 2, 7, { 0 }}, + { 81, 0, 2, 7, { 0 }}, + { 82, 0, 2, 7, { 0 }}, + { 83, 0, 2, 7, { 0 }}, + { 84, 0, 2, 7, { 0 }}, + { 85, 0, 2, 7, { 0 }}, + { 86, 0, 2, 7, { 0 }}, + { 87, 0, 2, 8, { 0 }}, + { 88, 0, 2, 7, { 0 }}, + { 89, 0, 2, 7, { 0 }}, + { 90, 0, 2, 7, { 0 }}, + { 91, 0, 2, 5, { 0 }}, + { 92, 0, 2, 8, { 0 }}, + { 93, 0, 2, 5, { 0 }}, + { 94, 0, -1, 5, { 0 }}, + { 95, 0, 10, 7, { 0 }}, + { 96, 0, -1, 3, { 0 }}, + { 97, 0, 4, 7, { 0 }}, + { 98, 0, 2, 7, { 0 }}, + { 99, 0, 4, 7, { 0 }}, + { 100, 0, 2, 7, { 0 }}, + { 101, 0, 4, 7, { 0 }}, + { 102, 0, 2, 7, { 0 }}, + { 103, 0, 4, 7, { 0 }}, + { 104, 0, 2, 7, { 0 }}, + { 105, 0, 2, 7, { 0 }}, + { 106, 0, 2, 6, { 0 }}, + { 107, 0, 2, 7, { 0 }}, + { 108, 0, 2, 7, { 0 }}, + { 109, 0, 4, 8, { 0 }}, + { 110, 0, 4, 7, { 0 }}, + { 111, 0, 4, 7, { 0 }}, + { 112, 0, 4, 7, { 0 }}, + { 113, 0, 4, 7, { 0 }}, + { 114, 0, 4, 7, { 0 }}, + { 115, 0, 4, 7, { 0 }}, + { 116, 0, 3, 7, { 0 }}, + { 117, 0, 4, 7, { 0 }}, + { 118, 0, 4, 7, { 0 }}, + { 119, 0, 4, 8, { 0 }}, + { 120, 0, 4, 7, { 0 }}, + { 121, 0, 4, 7, { 0 }}, + { 122, 0, 4, 7, { 0 }}, + { 123, 0, 2, 5, { 0 }}, + { 124, 0, 2, 3, { 0 }}, + { 125, 0, 2, 5, { 0 }}, + { 126, 0, -1, 6, { 0 }}, +}; + +// Style loading function: jungle +static void GuiLoadStyleJungle(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < JUNGLE_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(jungleStyleProps[i].controlId, jungleStyleProps[i].propertyId, jungleStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int jungleFontDataSize = 0; + unsigned char *data = DecompressData(jungleFontData, JUNGLE_COMPRESSED_DATA_SIZE, &jungleFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 12; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, jungleFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, jungleFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + Rectangle whiteChar = { 27, 4, 2, 2 }; + SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/jungle/jungle.rgs b/styles/jungle/jungle.rgs index 1852268..b767af3 100644 Binary files a/styles/jungle/jungle.rgs and b/styles/jungle/jungle.rgs differ diff --git a/styles/jungle/jungle.txt.rgs b/styles/jungle/jungle.txt.rgs new file mode 100644 index 0000000..1852268 --- /dev/null +++ b/styles/jungle/jungle.txt.rgs @@ -0,0 +1,24 @@ +# +# rgs style text file (v3.1) - raygui style file generated using rGuiStyler +# +# Style properties: +# f +# p +# +f 12 0 Pixel Intv.otf +p 00 00 0x60827dff DEFAULT_BORDER_COLOR_NORMAL +p 00 01 0x2c3334ff DEFAULT_BASE_COLOR_NORMAL +p 00 02 0x82a29fff DEFAULT_TEXT_COLOR_NORMAL +p 00 03 0x5f9aa8ff DEFAULT_BORDER_COLOR_FOCUSED +p 00 04 0x334e57ff DEFAULT_BASE_COLOR_FOCUSED +p 00 05 0x6aa9b8ff DEFAULT_TEXT_COLOR_FOCUSED +p 00 06 0xa9cb8dff DEFAULT_BORDER_COLOR_PRESSED +p 00 07 0x3b6357ff DEFAULT_BASE_COLOR_PRESSED +p 00 08 0x97af81ff DEFAULT_TEXT_COLOR_PRESSED +p 00 09 0x5b6462ff DEFAULT_BORDER_COLOR_DISABLED +p 00 10 0x2c3334ff DEFAULT_BASE_COLOR_DISABLED +p 00 11 0x666b69ff DEFAULT_TEXT_COLOR_DISABLED +p 00 16 0x0000000c TEXT_SIZE +p 00 17 0x00000000 TEXT_SPACING +p 00 18 0x638465ff DEFAULT_LINE_COLOR +p 00 19 0x2b3a3aff DEFAULT_BACKGROUND_COLOR diff --git a/styles/lavanda/lavanda.h b/styles/lavanda/lavanda.h new file mode 100644 index 0000000..8952cbd --- /dev/null +++ b/styles/lavanda/lavanda.h @@ -0,0 +1,353 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleLavanda(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define LAVANDA_STYLE_PROPS_COUNT 15 + +// Custom style name: lavanda +static const GuiStyleProp lavandaStyleProps[LAVANDA_STYLE_PROPS_COUNT] = { + { 0, 0, 0xab9bd3ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0x3e4350ff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0xdadaf4ff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0xee84a0ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0xf4b7c7ff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0xb7657bff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0xd5c8dbff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0x966ec0ff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0xd7ccf7ff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x8fa2bdff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0x6b798dff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x8292a9ff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE + { 0, 18, 0x84adb7ff }, // DEFAULT_LINE_COLOR + { 0, 19, 0x5b5b81ff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: (size: 16, spacing: 1) + +#define LAVANDA_COMPRESSED_DATA_SIZE 1317 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char lavandaFontData[LAVANDA_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0x4b, 0x96, 0xa3, 0x48, 0x0c, 0x05, 0x50, 0xf6, 0xbf, 0xe9, 0xd7, 0xa3, 0x3a, 0xdd, 0x7d, 0xaa, 0x0c, 0x21, 0x85, + 0xc0, 0x76, 0xd6, 0xcd, 0x3b, 0x4b, 0xff, 0x00, 0x11, 0x80, 0xcd, 0x13, 0xe4, 0x00, 0x00, 0xf8, 0x4d, 0xfe, 0xf8, 0x9f, + 0x9c, 0x3c, 0x37, 0xcb, 0xef, 0xf4, 0xeb, 0xff, 0xb9, 0x78, 0xc6, 0xff, 0x9f, 0xb5, 0xf6, 0xbe, 0x59, 0xfe, 0xfc, 0xce, + 0x23, 0xf9, 0xe3, 0xf4, 0x65, 0xe3, 0xf5, 0xaf, 0xde, 0xa1, 0xfe, 0xfc, 0x7f, 0xff, 0xbe, 0xa1, 0xfe, 0x59, 0x78, 0xe5, + 0xf9, 0xe3, 0xd9, 0x58, 0x27, 0xae, 0x96, 0x56, 0xca, 0x6b, 0xcc, 0xce, 0x52, 0x3d, 0x9b, 0xc6, 0xca, 0xf3, 0x27, 0xa6, + 0xb0, 0x5e, 0xff, 0x9c, 0x2e, 0xcb, 0xd7, 0xff, 0x3f, 0x5f, 0xa7, 0xee, 0xae, 0x7f, 0x67, 0x1c, 0xe5, 0xa6, 0xa5, 0x5a, + 0x1d, 0x6f, 0xd5, 0x39, 0x9d, 0x99, 0xd2, 0x4e, 0x95, 0x56, 0xd6, 0xee, 0x5c, 0xbc, 0x77, 0x06, 0xa6, 0xf9, 0xd5, 0xb4, + 0xdd, 0x3d, 0x8a, 0xd6, 0xd7, 0xd8, 0x8c, 0xcc, 0x51, 0x6e, 0x1c, 0xff, 0x53, 0x63, 0xf4, 0xcf, 0xaf, 0xbe, 0xda, 0x4b, + 0x64, 0xbc, 0xfe, 0x53, 0x6b, 0xff, 0x3b, 0xea, 0x9f, 0xdb, 0xa7, 0x3d, 0xcb, 0xcf, 0xbb, 0xda, 0x93, 0xe6, 0x72, 0x6a, + 0x73, 0x79, 0xe4, 0x96, 0x1b, 0xc6, 0xff, 0x27, 0x1c, 0x53, 0x7f, 0x7f, 0xfd, 0x8f, 0xc5, 0xad, 0xf8, 0xd1, 0x38, 0x0a, + 0xfc, 0x59, 0xf5, 0x3f, 0xaf, 0x70, 0xc6, 0xf6, 0xf2, 0x79, 0xcb, 0x7c, 0x75, 0xe6, 0xee, 0xbf, 0x8f, 0xa7, 0xf1, 0xea, + 0xbf, 0xb3, 0xfe, 0xd9, 0x18, 0x87, 0xcf, 0xef, 0x01, 0xf7, 0x8e, 0x49, 0x7e, 0xbd, 0x3a, 0x0f, 0xef, 0xff, 0x9f, 0xab, + 0x7f, 0xf5, 0xfb, 0xff, 0xd5, 0x77, 0xad, 0x6f, 0xf8, 0x25, 0xe9, 0x5d, 0x63, 0xec, 0x6f, 0x59, 0x0a, 0xea, 0xaf, 0xfe, + 0xd6, 0xb6, 0xcf, 0x3f, 0xf6, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xeb, 0xcc, 0x44, 0x4e, 0x93, 0x5d, 0xd5, 0x44, + 0x6d, 0x8a, 0xd9, 0xc4, 0x5c, 0xa4, 0x3f, 0x76, 0x72, 0xf9, 0xb5, 0x6e, 0x80, 0xb4, 0xce, 0xd1, 0x1f, 0x5b, 0xe9, 0xb7, + 0xb4, 0xa6, 0x64, 0x32, 0xff, 0x9f, 0x91, 0xec, 0x69, 0x37, 0xe5, 0x96, 0xed, 0xf3, 0x63, 0xd5, 0x39, 0x4e, 0x23, 0xa9, + 0x7c, 0xbd, 0xf6, 0xf5, 0x3b, 0x23, 0x32, 0x94, 0xa8, 0x4d, 0xfb, 0xbc, 0x64, 0x46, 0x13, 0x86, 0x69, 0x7d, 0x4e, 0x6e, + 0x49, 0xd5, 0x64, 0x28, 0x87, 0xdf, 0x9b, 0xb7, 0xee, 0x5a, 0x95, 0xc6, 0x16, 0x70, 0xbe, 0xfe, 0x95, 0xed, 0x72, 0x7f, + 0xfa, 0x52, 0x3a, 0x6f, 0x9f, 0xdb, 0xc6, 0xff, 0xf5, 0x68, 0x4c, 0xb3, 0xc7, 0x21, 0xe5, 0x6d, 0x43, 0xca, 0xfd, 0x66, + 0xdd, 0xa4, 0x5d, 0x1a, 0x63, 0x3d, 0xe5, 0x8e, 0xb5, 0xab, 0x31, 0xb2, 0x3e, 0xe5, 0x19, 0x4a, 0x2b, 0x77, 0xfa, 0x44, + 0xd2, 0xe8, 0x24, 0xdb, 0x1d, 0xc9, 0xb9, 0x79, 0xfc, 0x5f, 0x1f, 0x33, 0xcc, 0x6c, 0x9d, 0x32, 0x32, 0xf5, 0x79, 0x5b, + 0x7a, 0x2c, 0xcd, 0x3d, 0xd8, 0x6e, 0x25, 0xf3, 0x48, 0xc6, 0x35, 0x83, 0x1d, 0x8b, 0xc7, 0x56, 0x0e, 0xfc, 0x73, 0x13, + 0xda, 0xaf, 0xb6, 0xff, 0x59, 0xcc, 0x9e, 0x7d, 0x5b, 0xfd, 0xbb, 0x3d, 0x7d, 0xdf, 0x5c, 0xff, 0x7a, 0x35, 0x56, 0xeb, + 0x5f, 0x3f, 0xe2, 0xc8, 0xc9, 0xde, 0x77, 0x3a, 0xe7, 0x98, 0x72, 0xe7, 0x7d, 0xe7, 0x3b, 0x63, 0x3e, 0xbe, 0xfa, 0xbb, + 0xdd, 0x56, 0x29, 0x1f, 0xdb, 0x9c, 0xf7, 0x46, 0xbf, 0x3e, 0x1a, 0x89, 0x84, 0xe9, 0x47, 0xfc, 0x46, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3d, 0xe7, 0x36, 0x53, 0xce, 0xdc, 0x4e, 0xa6, 0x99, 0xd3, 0xce, 0x22, 0x9f, 0xe7, 0x24, + 0x8f, 0x66, 0x96, 0xbf, 0xfe, 0xba, 0x9c, 0x5e, 0x21, 0x37, 0x23, 0xb9, 0x9e, 0x6c, 0x67, 0x1e, 0xb2, 0x9d, 0xcc, 0xbd, + 0xca, 0xc0, 0x74, 0xea, 0x9f, 0xa5, 0xb4, 0x43, 0x27, 0xa3, 0xd4, 0xc9, 0x29, 0x65, 0xe3, 0xda, 0x9b, 0x69, 0x27, 0xbd, + 0xd6, 0x52, 0x67, 0xb9, 0x31, 0xf9, 0x37, 0x51, 0xff, 0x34, 0xd2, 0xe2, 0x59, 0x4a, 0x5d, 0x77, 0x33, 0x79, 0xdd, 0x2c, + 0x57, 0xef, 0x0a, 0x83, 0xd9, 0x4a, 0xfa, 0x5d, 0x57, 0x20, 0x9b, 0xa3, 0x3f, 0xed, 0x8e, 0x88, 0xb5, 0xbc, 0x78, 0xb7, + 0x5b, 0x20, 0x0b, 0xa9, 0xff, 0x8c, 0x65, 0xf2, 0xf6, 0xb2, 0x7c, 0x79, 0x43, 0xfd, 0xe7, 0xba, 0x67, 0x2a, 0x57, 0x9a, + 0xad, 0xef, 0x2d, 0xf2, 0xe3, 0xeb, 0x7f, 0xd7, 0xf6, 0x7f, 0x25, 0x9f, 0x9b, 0x5b, 0xb2, 0xad, 0x95, 0xf1, 0x9f, 0xa5, + 0x34, 0xeb, 0x6c, 0xfd, 0x8f, 0xa5, 0x24, 0x6c, 0x4e, 0xf3, 0xfc, 0xf5, 0xd7, 0x65, 0x34, 0xdf, 0x9c, 0x66, 0x06, 0xfb, + 0xba, 0x2b, 0xe1, 0xf9, 0xfa, 0x1f, 0x37, 0x74, 0x33, 0x66, 0xe4, 0xe8, 0x68, 0x6e, 0xff, 0x9f, 0x46, 0x15, 0x3f, 0xb9, + 0xfe, 0x53, 0xc7, 0xff, 0x69, 0xcf, 0xc5, 0x5a, 0x0f, 0xec, 0xd9, 0x27, 0xce, 0xf5, 0x5d, 0x75, 0xe7, 0x23, 0x1b, 0x09, + 0xf2, 0x34, 0xfa, 0x03, 0xa6, 0x3a, 0xa7, 0xd7, 0xfa, 0xbf, 0xb3, 0xdc, 0x85, 0x79, 0xf5, 0x3e, 0x29, 0xa7, 0xd9, 0xbb, + 0xf5, 0xef, 0xf5, 0x28, 0xac, 0xce, 0xc7, 0xd1, 0xc8, 0xf9, 0xf7, 0x7e, 0x7f, 0x59, 0x79, 0xcf, 0xdc, 0xdc, 0x0d, 0xf1, + 0x99, 0x57, 0x4f, 0xcf, 0x6d, 0x7d, 0x0f, 0x9f, 0x94, 0xf4, 0x7f, 0x67, 0xfd, 0x3f, 0xb1, 0x03, 0x4b, 0xb7, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xe7, 0x7f, 0x5e, 0x27, 0x03, 0x2b, 0xd7, 0xdc, 0xef, 0xdf, 0x5f, 0xa0, 0xf6, 0x19, + 0xd3, 0xe7, 0xe4, 0x6b, 0x29, 0x8a, 0x34, 0xce, 0x69, 0xaf, 0x7e, 0xe6, 0xfe, 0xd9, 0xd2, 0xfd, 0xfc, 0xc9, 0xde, 0x14, + 0x55, 0x93, 0xf6, 0xc7, 0x58, 0xfa, 0xb2, 0x97, 0xc9, 0xa9, 0x65, 0xca, 0x52, 0xba, 0x66, 0x79, 0xde, 0x70, 0xb6, 0xfc, + 0xe7, 0xd4, 0xbf, 0x9a, 0xbe, 0x4a, 0x2b, 0xb1, 0x56, 0xad, 0x73, 0xe5, 0x93, 0x33, 0xb2, 0x5c, 0xab, 0x99, 0xe0, 0x5e, + 0xa6, 0x35, 0x03, 0x15, 0x38, 0x6e, 0xba, 0x23, 0xc8, 0xfa, 0x3e, 0x26, 0xad, 0xed, 0x70, 0x4a, 0x5b, 0xff, 0xea, 0xd6, + 0x62, 0xa2, 0xfe, 0xb9, 0x35, 0xff, 0x77, 0x6f, 0xfd, 0x9f, 0xca, 0xb0, 0xd5, 0xfb, 0x5b, 0xfa, 0x6b, 0xcc, 0xea, 0xf6, + 0x3f, 0x23, 0xe3, 0x3f, 0x83, 0xf9, 0xdf, 0x6c, 0xde, 0x87, 0xe9, 0x1b, 0xeb, 0xbf, 0x73, 0x37, 0x97, 0x7b, 0xb6, 0xdc, + 0xb5, 0x7d, 0x70, 0xc6, 0xf6, 0xff, 0x19, 0x99, 0xdb, 0xe3, 0x8d, 0x57, 0x7e, 0x4f, 0xeb, 0x2e, 0x4b, 0x47, 0xb1, 0x23, + 0xae, 0x36, 0x52, 0xea, 0x77, 0x0b, 0xc9, 0x4d, 0x47, 0x4f, 0xd9, 0xda, 0x43, 0x7f, 0x43, 0xfd, 0x3b, 0x47, 0x06, 0x47, + 0xfb, 0x9b, 0x41, 0xe5, 0x28, 0x79, 0xa6, 0xe3, 0x32, 0x37, 0xd6, 0x3f, 0x23, 0x9d, 0x81, 0x9f, 0x5b, 0xff, 0x27, 0xd6, + 0x9a, 0x99, 0x23, 0xdf, 0xce, 0x77, 0xd1, 0x89, 0x3b, 0xea, 0xa4, 0xf5, 0x6d, 0xf2, 0xb8, 0xed, 0xd7, 0x8a, 0xef, 0xcb, + 0xa3, 0x67, 0xf4, 0x91, 0xf9, 0xe5, 0x97, 0xc7, 0x96, 0xcc, 0xcf, 0xa9, 0xff, 0x33, 0x7d, 0x1d, 0xd3, 0x7b, 0xa2, 0x77, + 0xef, 0x53, 0x33, 0xb2, 0x07, 0x46, 0x97, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x3b, 0x5f, 0x97, 0xad, 0x6c, 0x6c, + 0x2f, 0x8f, 0x34, 0x91, 0xcd, 0xe9, 0xa4, 0xbc, 0x8e, 0xf6, 0xd5, 0xf5, 0xbb, 0xb9, 0xc2, 0xf3, 0xf3, 0x63, 0x59, 0x3c, + 0x67, 0x56, 0xcf, 0x3a, 0x55, 0xd3, 0x23, 0xe7, 0x49, 0xd4, 0x94, 0x92, 0xa7, 0xb9, 0xbc, 0xce, 0x7b, 0xe5, 0x1a, 0xbd, + 0x6b, 0xd7, 0x61, 0xad, 0x64, 0xf3, 0x7b, 0x57, 0xd7, 0x4f, 0x2b, 0x25, 0x38, 0x99, 0x13, 0xdc, 0xc9, 0x7d, 0x5c, 0xad, + 0x5f, 0xb9, 0xe8, 0x5c, 0xc8, 0x48, 0xaa, 0xfd, 0x3a, 0x4f, 0x5d, 0xef, 0x0e, 0x9a, 0x4c, 0x5b, 0xed, 0xdc, 0x0d, 0x22, + 0x83, 0x3d, 0x0a, 0xf7, 0x65, 0x26, 0x26, 0xb7, 0xff, 0xfb, 0xcb, 0xb9, 0x92, 0x4b, 0xda, 0xdf, 0x52, 0xef, 0xd5, 0xff, + 0xfa, 0xde, 0x25, 0xf7, 0xf5, 0x28, 0x3d, 0x55, 0xff, 0xce, 0x52, 0xbb, 0xbf, 0xfe, 0xb5, 0x94, 0x74, 0x6f, 0x0c, 0x5f, + 0x5f, 0x5d, 0x3b, 0xc3, 0x69, 0xc7, 0x9f, 0x5d, 0xff, 0x6c, 0xec, 0x81, 0xf7, 0x32, 0xf8, 0x57, 0x5d, 0x0c, 0x4f, 0xd6, + 0x7f, 0xae, 0x47, 0x35, 0xb7, 0xf5, 0x0a, 0xf6, 0xeb, 0x7f, 0x14, 0xf7, 0xbf, 0xc7, 0xe2, 0x1d, 0x1c, 0x26, 0xba, 0x86, + 0xfb, 0xdb, 0xe3, 0xd9, 0x63, 0xbc, 0xfa, 0xb4, 0x3f, 0x3d, 0xfe, 0xe7, 0x33, 0xaa, 0x79, 0x2c, 0x83, 0x7a, 0x47, 0xcf, + 0x70, 0xef, 0x1a, 0xf2, 0x53, 0xd3, 0xfe, 0xde, 0xfa, 0x3f, 0x93, 0x50, 0xce, 0x1b, 0xeb, 0x3f, 0xff, 0x59, 0x69, 0xf7, + 0x15, 0xfc, 0xdc, 0xcc, 0x74, 0x3e, 0xa8, 0x6e, 0xdf, 0xb5, 0x8c, 0x64, 0xe6, 0xd5, 0x5f, 0xfd, 0xff, 0xde, 0x3c, 0x7f, + 0xa4, 0xfe, 0x01, 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, 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, 0x78, 0xed, 0x1f }; + +// Font characters rectangles data +static const Rectangle lavandaFontRecs[95] = { + { 4, 4, 5 , 16 }, + { 17, 4, 1 , 9 }, + { 26, 4, 3 , 3 }, + { 37, 4, 7 , 8 }, + { 52, 4, 5 , 11 }, + { 65, 4, 10 , 8 }, + { 83, 4, 7 , 9 }, + { 98, 4, 1 , 3 }, + { 107, 4, 3 , 12 }, + { 118, 4, 3 , 12 }, + { 129, 4, 5 , 4 }, + { 142, 4, 5 , 5 }, + { 155, 4, 2 , 3 }, + { 165, 4, 3 , 1 }, + { 176, 4, 1 , 1 }, + { 185, 4, 4 , 12 }, + { 197, 4, 5 , 9 }, + { 210, 4, 3 , 9 }, + { 221, 4, 5 , 9 }, + { 234, 4, 5 , 9 }, + { 4, 28, 5 , 9 }, + { 17, 28, 5 , 9 }, + { 30, 28, 5 , 9 }, + { 43, 28, 5 , 9 }, + { 56, 28, 5 , 9 }, + { 69, 28, 5 , 9 }, + { 82, 28, 1 , 4 }, + { 91, 28, 2 , 6 }, + { 101, 28, 4 , 5 }, + { 113, 28, 4 , 3 }, + { 125, 28, 4 , 5 }, + { 137, 28, 5 , 9 }, + { 150, 28, 7 , 10 }, + { 165, 28, 7 , 9 }, + { 180, 28, 6 , 9 }, + { 194, 28, 5 , 9 }, + { 207, 28, 6 , 9 }, + { 221, 28, 5 , 9 }, + { 234, 28, 5 , 9 }, + { 4, 52, 6 , 9 }, + { 18, 52, 5 , 10 }, + { 31, 52, 1 , 9 }, + { 40, 52, 6 , 9 }, + { 54, 52, 6 , 9 }, + { 68, 52, 5 , 9 }, + { 81, 52, 8 , 11 }, + { 97, 52, 6 , 10 }, + { 111, 52, 7 , 9 }, + { 126, 52, 5 , 9 }, + { 139, 52, 7 , 11 }, + { 154, 52, 5 , 9 }, + { 167, 52, 6 , 9 }, + { 181, 52, 7 , 9 }, + { 196, 52, 6 , 9 }, + { 210, 52, 6 , 10 }, + { 224, 52, 9 , 10 }, + { 4, 76, 6 , 11 }, + { 18, 76, 5 , 10 }, + { 31, 76, 5 , 9 }, + { 44, 76, 3 , 12 }, + { 55, 76, 4 , 12 }, + { 67, 76, 3 , 12 }, + { 78, 76, 5 , 4 }, + { 91, 76, 6 , 1 }, + { 105, 76, 3 , 3 }, + { 116, 76, 6 , 7 }, + { 130, 76, 5 , 9 }, + { 143, 76, 4 , 7 }, + { 155, 76, 5 , 10 }, + { 168, 76, 4 , 7 }, + { 180, 76, 3 , 10 }, + { 191, 76, 4 , 11 }, + { 203, 76, 5 , 11 }, + { 216, 76, 1 , 9 }, + { 225, 76, 5 , 12 }, + { 238, 76, 5 , 9 }, + { 4, 100, 1 , 9 }, + { 13, 100, 8 , 9 }, + { 29, 100, 5 , 9 }, + { 42, 100, 4 , 7 }, + { 54, 100, 5 , 10 }, + { 67, 100, 5 , 10 }, + { 80, 100, 5 , 7 }, + { 93, 100, 5 , 7 }, + { 106, 100, 3 , 9 }, + { 117, 100, 5 , 7 }, + { 130, 100, 5 , 8 }, + { 143, 100, 9 , 8 }, + { 160, 100, 5 , 9 }, + { 173, 100, 6 , 9 }, + { 187, 100, 4 , 7 }, + { 199, 100, 5 , 12 }, + { 212, 100, 1 , 12 }, + { 221, 100, 5 , 12 }, + { 234, 100, 6 , 2 }, +}; + +// Font characters info data +// NOTE: No chars.image data provided +static const GlyphInfo lavandaFontChars[95] = { + { 32, 0, 12, 5, { 0 }}, + { 33, 0, 3, 2, { 0 }}, + { 34, 0, 3, 4, { 0 }}, + { 35, 0, 3, 8, { 0 }}, + { 36, 0, 2, 6, { 0 }}, + { 37, 0, 4, 11, { 0 }}, + { 38, 0, 3, 8, { 0 }}, + { 39, 0, 3, 2, { 0 }}, + { 40, 0, 2, 4, { 0 }}, + { 41, 0, 2, 4, { 0 }}, + { 42, 0, 3, 6, { 0 }}, + { 43, 0, 5, 6, { 0 }}, + { 44, 0, 10, 3, { 0 }}, + { 45, 0, 7, 4, { 0 }}, + { 46, 0, 11, 2, { 0 }}, + { 47, 0, 2, 5, { 0 }}, + { 48, 0, 3, 6, { 0 }}, + { 49, 0, 3, 4, { 0 }}, + { 50, 0, 3, 6, { 0 }}, + { 51, 0, 3, 6, { 0 }}, + { 52, 0, 3, 6, { 0 }}, + { 53, 0, 3, 6, { 0 }}, + { 54, 0, 3, 6, { 0 }}, + { 55, 0, 3, 6, { 0 }}, + { 56, 0, 3, 6, { 0 }}, + { 57, 0, 3, 6, { 0 }}, + { 58, 0, 7, 2, { 0 }}, + { 59, 0, 7, 3, { 0 }}, + { 60, 0, 5, 5, { 0 }}, + { 61, 0, 6, 5, { 0 }}, + { 62, 0, 5, 5, { 0 }}, + { 63, 0, 3, 6, { 0 }}, + { 64, 0, 4, 8, { 0 }}, + { 65, 0, 3, 8, { 0 }}, + { 66, 0, 3, 7, { 0 }}, + { 67, 0, 3, 6, { 0 }}, + { 68, 0, 3, 7, { 0 }}, + { 69, 0, 3, 6, { 0 }}, + { 70, 0, 3, 6, { 0 }}, + { 71, 0, 3, 7, { 0 }}, + { 72, 0, 2, 6, { 0 }}, + { 73, 0, 3, 2, { 0 }}, + { 74, 0, 3, 7, { 0 }}, + { 75, 0, 3, 7, { 0 }}, + { 76, 0, 3, 6, { 0 }}, + { 77, 0, 3, 9, { 0 }}, + { 78, 0, 2, 7, { 0 }}, + { 79, 0, 3, 8, { 0 }}, + { 80, 0, 3, 6, { 0 }}, + { 81, 0, 3, 8, { 0 }}, + { 82, 0, 3, 6, { 0 }}, + { 83, 0, 3, 7, { 0 }}, + { 84, 0, 3, 8, { 0 }}, + { 85, 0, 3, 7, { 0 }}, + { 86, 0, 2, 7, { 0 }}, + { 87, 0, 2, 10, { 0 }}, + { 88, 0, 3, 7, { 0 }}, + { 89, 0, 3, 6, { 0 }}, + { 90, 0, 3, 6, { 0 }}, + { 91, 0, 2, 4, { 0 }}, + { 92, 0, 2, 5, { 0 }}, + { 93, 0, 2, 4, { 0 }}, + { 94, 0, 3, 6, { 0 }}, + { 95, 0, 13, 7, { 0 }}, + { 96, 0, 3, 4, { 0 }}, + { 97, 0, 5, 7, { 0 }}, + { 98, 0, 3, 6, { 0 }}, + { 99, 0, 5, 5, { 0 }}, + { 100, 0, 2, 6, { 0 }}, + { 101, 0, 5, 5, { 0 }}, + { 102, 0, 2, 4, { 0 }}, + { 103, 0, 4, 5, { 0 }}, + { 104, 0, 3, 6, { 0 }}, + { 105, 0, 3, 2, { 0 }}, + { 106, -1, 3, 5, { 0 }}, + { 107, 0, 3, 6, { 0 }}, + { 108, 0, 3, 2, { 0 }}, + { 109, 0, 5, 9, { 0 }}, + { 110, 0, 5, 6, { 0 }}, + { 111, 0, 5, 5, { 0 }}, + { 112, 0, 5, 6, { 0 }}, + { 113, 0, 5, 6, { 0 }}, + { 114, 0, 5, 6, { 0 }}, + { 115, 0, 5, 6, { 0 }}, + { 116, 0, 3, 4, { 0 }}, + { 117, 0, 5, 6, { 0 }}, + { 118, 0, 4, 6, { 0 }}, + { 119, 0, 4, 10, { 0 }}, + { 120, 0, 5, 6, { 0 }}, + { 121, -1, 5, 6, { 0 }}, + { 122, 0, 5, 5, { 0 }}, + { 123, 0, 2, 6, { 0 }}, + { 124, 0, 2, 2, { 0 }}, + { 125, 0, 2, 6, { 0 }}, + { 126, 0, 7, 7, { 0 }}, +}; + +// Style loading function: lavanda +static void GuiLoadStyleLavanda(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < LAVANDA_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(lavandaStyleProps[i].controlId, lavandaStyleProps[i].propertyId, lavandaStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int lavandaFontDataSize = 0; + unsigned char *data = DecompressData(lavandaFontData, LAVANDA_COMPRESSED_DATA_SIZE, &lavandaFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 16; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, lavandaFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, lavandaFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + Rectangle whiteChar = { 130, 5, 2, 2 }; + SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/lavanda/lavanda.rgs b/styles/lavanda/lavanda.rgs index 23de947..3aa3e6f 100644 Binary files a/styles/lavanda/lavanda.rgs and b/styles/lavanda/lavanda.rgs differ diff --git a/styles/lavanda/lavanda.txt.rgs b/styles/lavanda/lavanda.txt.rgs new file mode 100644 index 0000000..23de947 --- /dev/null +++ b/styles/lavanda/lavanda.txt.rgs @@ -0,0 +1,24 @@ +# +# rgs style text file (v3.1) - raygui style file generated using rGuiStyler +# +# Style properties: +# f +# p +# +f 16 0 Cartridge.ttf +p 00 00 0xab9bd3ff DEFAULT_BORDER_COLOR_NORMAL +p 00 01 0x3e4350ff DEFAULT_BASE_COLOR_NORMAL +p 00 02 0xdadaf4ff DEFAULT_TEXT_COLOR_NORMAL +p 00 03 0xee84a0ff DEFAULT_BORDER_COLOR_FOCUSED +p 00 04 0xf4b7c7ff DEFAULT_BASE_COLOR_FOCUSED +p 00 05 0xb7657bff DEFAULT_TEXT_COLOR_FOCUSED +p 00 06 0xd5c8dbff DEFAULT_BORDER_COLOR_PRESSED +p 00 07 0x966ec0ff DEFAULT_BASE_COLOR_PRESSED +p 00 08 0xd7ccf7ff DEFAULT_TEXT_COLOR_PRESSED +p 00 09 0x8fa2bdff DEFAULT_BORDER_COLOR_DISABLED +p 00 10 0x6b798dff DEFAULT_BASE_COLOR_DISABLED +p 00 11 0x8292a9ff DEFAULT_TEXT_COLOR_DISABLED +p 00 16 0x00000010 TEXT_SIZE +p 00 17 0x00000001 TEXT_SPACING +p 00 18 0x84adb7ff DEFAULT_LINE_COLOR +p 00 19 0x5b5b81ff DEFAULT_BACKGROUND_COLOR diff --git a/styles/terminal/terminal.h b/styles/terminal/terminal.h new file mode 100644 index 0000000..f4ba5bb --- /dev/null +++ b/styles/terminal/terminal.h @@ -0,0 +1,337 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleTerminal(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define TERMINAL_STYLE_PROPS_COUNT 16 + +// Custom style name: terminal +static const GuiStyleProp terminalStyleProps[TERMINAL_STYLE_PROPS_COUNT] = { + { 0, 0, 0x1c8d00ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0x161313ff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0x38f620ff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0xc3fbc6ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0x43bf2eff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0xdcfadcff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0x1f5b19ff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0x43ff28ff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0x1e6f15ff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x223b22ff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0x182c18ff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x244125ff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE + { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING + { 0, 18, 0xe6fce3ff }, // DEFAULT_LINE_COLOR + { 0, 19, 0x0c1505ff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: (size: 16, spacing: 0) + +#define TERMINAL_COMPRESSED_DATA_SIZE 964 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char terminalFontData[TERMINAL_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0x41, 0xb6, 0x9b, 0x30, 0x0c, 0x05, 0x50, 0xf6, 0xbf, 0x69, 0x75, 0xd0, 0xd3, 0x41, 0x7b, 0x9a, 0x0f, 0x92, 0x65, + 0xc7, 0xc0, 0xed, 0x9d, 0xa5, 0x09, 0x9f, 0xf0, 0x02, 0x38, 0xb6, 0xec, 0xc4, 0x01, 0x00, 0xf0, 0x8f, 0xf8, 0xef, 0x23, + 0xf1, 0xf1, 0x99, 0x71, 0x79, 0x3b, 0xbf, 0x1f, 0x8d, 0x8f, 0x7f, 0xe5, 0xcf, 0xbf, 0x2b, 0x5b, 0xba, 0xfe, 0xac, 0x48, + 0xed, 0xdd, 0xd8, 0x5e, 0xd5, 0xb6, 0x93, 0x7d, 0xf6, 0xcf, 0xfb, 0x13, 0x1b, 0xe4, 0x7f, 0xfe, 0x6e, 0x33, 0xc7, 0x33, + 0xca, 0xe9, 0xe5, 0x3f, 0x9d, 0x33, 0xcf, 0xa1, 0xec, 0x3e, 0xd6, 0x8e, 0xc9, 0x1e, 0xf9, 0x67, 0xff, 0x46, 0x6e, 0xbf, + 0x63, 0x68, 0xcf, 0x6b, 0xe7, 0xf4, 0xd8, 0xde, 0xdd, 0x39, 0xff, 0xe3, 0xe3, 0x95, 0xbc, 0x7a, 0x1c, 0x57, 0xe5, 0x3f, + 0xfe, 0x2e, 0xe5, 0x7f, 0xf6, 0xcc, 0x7c, 0x96, 0x3f, 0xa7, 0x17, 0x37, 0xcf, 0x3f, 0xdb, 0xee, 0x79, 0x66, 0xfe, 0x9f, + 0xae, 0x0c, 0x3f, 0xdf, 0x93, 0x3f, 0xbf, 0x66, 0xe5, 0xdd, 0x7b, 0x4e, 0xfe, 0x67, 0xf7, 0xd1, 0xeb, 0xc7, 0x22, 0xdb, + 0x32, 0x5c, 0x9f, 0xff, 0x48, 0x8b, 0xec, 0xde, 0xf9, 0xc7, 0xc9, 0xb1, 0x8a, 0x81, 0xf6, 0xed, 0xe8, 0x35, 0x43, 0xfe, + 0xdf, 0xce, 0xff, 0xb8, 0x41, 0xfe, 0x47, 0x43, 0xfb, 0xaf, 0xf2, 0xce, 0x9e, 0x90, 0x7f, 0xed, 0xdd, 0xdd, 0x33, 0xff, + 0xea, 0xf7, 0xff, 0xcf, 0x7d, 0x1e, 0xf2, 0x7f, 0xd2, 0xf5, 0x3f, 0x4e, 0xae, 0x1d, 0x23, 0xed, 0x97, 0x3d, 0xf3, 0x8f, + 0x4b, 0x57, 0xcb, 0xf1, 0xde, 0xc2, 0xec, 0x35, 0xf7, 0x0d, 0x7d, 0xd4, 0xbb, 0xe7, 0xcf, 0x8a, 0x51, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xd0, 0x83, 0x5e, 0xa9, 0x31, 0xef, 0xfd, 0x9f, 0x5c, 0xed, 0x5c, 0xbd, 0x9e, 0xfe, 0xea, 0x1e, 0xc6, + 0xf2, 0xa3, 0x32, 0x3b, 0x97, 0x39, 0x23, 0xc8, 0x99, 0xd1, 0xfb, 0xd1, 0xba, 0xc4, 0x98, 0x5e, 0x81, 0x1b, 0xd3, 0xde, + 0x61, 0xa5, 0x1e, 0x20, 0x16, 0x8d, 0xf9, 0xdf, 0x23, 0xff, 0x28, 0x8c, 0xa7, 0x77, 0xcc, 0x26, 0x91, 0xff, 0xd3, 0xce, + 0xff, 0xb3, 0x7d, 0xff, 0xfb, 0x13, 0x25, 0xff, 0x5d, 0xf2, 0x3f, 0xd2, 0xf7, 0xb5, 0x18, 0xaa, 0x1c, 0x78, 0x4f, 0xfe, + 0xf9, 0x16, 0xc8, 0x51, 0x9c, 0xf1, 0xd7, 0x51, 0x97, 0x3e, 0x7f, 0x6e, 0xce, 0x59, 0xfe, 0x95, 0xb6, 0x5c, 0x25, 0xff, + 0xb3, 0x5c, 0x72, 0xd5, 0xe5, 0xbd, 0x73, 0x15, 0xeb, 0xb3, 0x77, 0xf6, 0xad, 0xce, 0x7e, 0xce, 0xf5, 0xff, 0x5e, 0xf9, + 0xaf, 0xaf, 0xe1, 0x8a, 0x0b, 0x75, 0xac, 0xf2, 0xff, 0xde, 0xf9, 0x1f, 0x5f, 0xbc, 0x2a, 0xc8, 0x5f, 0xfe, 0x6f, 0xca, + 0xbf, 0xda, 0x62, 0x8b, 0xd6, 0xad, 0xed, 0x78, 0xff, 0xcf, 0xae, 0xaf, 0xb1, 0xae, 0xff, 0xef, 0x28, 0xf6, 0x86, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x86, 0xfa, 0xff, 0x7c, 0x15, 0x7e, 0xd7, 0xd8, 0x67, 0x6c, 0x31, 0xfb, 0x60, 0xc6, + 0x5c, 0x86, 0xea, 0x11, 0xea, 0xda, 0x62, 0x7e, 0x0d, 0xb5, 0x9e, 0x95, 0xf8, 0xf3, 0x5b, 0x99, 0x31, 0xce, 0x3e, 0x7b, + 0xd4, 0xbe, 0x52, 0xff, 0xb0, 0x32, 0xff, 0x4a, 0xad, 0x85, 0xfc, 0xe5, 0x2f, 0x7f, 0xf9, 0xcb, 0x7f, 0xaf, 0xfc, 0xcf, + 0xd7, 0x8b, 0x8f, 0xa1, 0x2a, 0xba, 0x5a, 0x9d, 0x51, 0x67, 0xed, 0xfb, 0x8a, 0x76, 0xcf, 0x48, 0x9d, 0x7d, 0x7c, 0x39, + 0xff, 0xb3, 0xd9, 0x6f, 0x63, 0x35, 0x94, 0xdf, 0x3e, 0xff, 0x77, 0x99, 0x67, 0x17, 0xc5, 0x33, 0xbd, 0x6b, 0xaf, 0x23, + 0x7d, 0xfe, 0x8f, 0x9f, 0xfb, 0xf2, 0xdf, 0x3f, 0xff, 0x91, 0x2a, 0x6c, 0xf9, 0xef, 0x93, 0xff, 0x59, 0xc2, 0xf2, 0x7f, + 0x7a, 0xfe, 0x9f, 0x7f, 0x87, 0xee, 0x2e, 0xf9, 0x77, 0x57, 0xc5, 0x57, 0xf3, 0xef, 0xac, 0x8c, 0xaf, 0xf6, 0xa2, 0x45, + 0x71, 0x3d, 0x82, 0x48, 0xf7, 0x83, 0x56, 0xf2, 0x37, 0x0f, 0x00, 0xf6, 0x9b, 0x79, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xab, 0x7a, 0xc5, 0x73, 0x95, 0x6f, 0x7d, 0xeb, 0x81, 0x1d, 0x93, 0x47, 0xf6, 0x6a, 0xe3, 0x98, 0xe3, 0xbf, 0x5e, 0x70, + 0xa4, 0x46, 0x54, 0x2b, 0x7b, 0xdd, 0xb9, 0xbe, 0x5a, 0xa4, 0x47, 0x4a, 0xb2, 0x35, 0x4a, 0xf9, 0xf1, 0x98, 0x9e, 0xd5, + 0xf0, 0x3a, 0xab, 0x15, 0xaa, 0x55, 0xa2, 0xfd, 0xc7, 0x20, 0xca, 0x75, 0x0c, 0x47, 0x53, 0x05, 0xc1, 0x8c, 0xb5, 0xbd, + 0xe5, 0x2f, 0xff, 0xae, 0x5f, 0x8f, 0x99, 0x51, 0x0d, 0xdc, 0x53, 0x8d, 0x12, 0x83, 0xd5, 0x37, 0xeb, 0xf2, 0xff, 0xce, + 0x0a, 0xde, 0xeb, 0x6a, 0xbe, 0xb2, 0x9f, 0xa6, 0x68, 0x4c, 0x50, 0xfe, 0xdf, 0xcf, 0xbf, 0x7a, 0x34, 0xde, 0x93, 0x7f, + 0x47, 0x6d, 0xf9, 0x93, 0xf2, 0x8f, 0x86, 0x99, 0xcf, 0x63, 0xf3, 0x66, 0xde, 0x90, 0xff, 0x8c, 0xfb, 0x6f, 0x4f, 0x6b, + 0xe2, 0x7d, 0xe7, 0x7f, 0x47, 0x75, 0xf1, 0xfc, 0x2b, 0xc3, 0x9c, 0xd7, 0xec, 0x98, 0xff, 0xfa, 0xaa, 0x48, 0xf9, 0xcf, + 0xbf, 0xfe, 0xef, 0x9c, 0x7f, 0xa5, 0x77, 0x68, 0xf5, 0x9d, 0xa1, 0xfb, 0x35, 0x33, 0xd7, 0x4f, 0x91, 0xbf, 0x0a, 0xf4, + 0x3b, 0xf4, 0xff, 0x77, 0x3e, 0x1f, 0x67, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x8d, 0xac, 0x75, 0xfe, 0x9e, 0x75, + 0xb6, 0xe2, 0x62, 0xe5, 0x3a, 0x8a, 0xb5, 0x15, 0xc0, 0xe2, 0x72, 0x7d, 0xcf, 0xde, 0xe3, 0x01, 0x6b, 0xd6, 0x4c, 0xae, + 0xae, 0xae, 0xf7, 0xdd, 0xfc, 0xb3, 0xa3, 0xa0, 0xd7, 0x1f, 0xdb, 0xef, 0xb7, 0xf0, 0x9f, 0x9e, 0x7f, 0xf7, 0x3a, 0xda, + 0xdd, 0x9f, 0x89, 0xa7, 0xe7, 0xff, 0xf3, 0x9d, 0x61, 0x45, 0xfe, 0xf5, 0x35, 0x3b, 0x8f, 0x87, 0x64, 0xfd, 0xbd, 0xfc, + 0xb3, 0x33, 0x7b, 0x76, 0x39, 0xff, 0xe7, 0xdc, 0x13, 0xe4, 0x7f, 0x97, 0xf6, 0xdf, 0x21, 0xff, 0xcd, 0xf2, 0xef, 0x5f, + 0x47, 0xbb, 0x3a, 0xb7, 0xec, 0x7a, 0x5b, 0xef, 0x4d, 0xdf, 0xff, 0x8e, 0x86, 0x79, 0xe0, 0xe7, 0x6b, 0x2f, 0x77, 0xaf, + 0xa3, 0x5c, 0xf9, 0xfe, 0xf7, 0xf4, 0x6a, 0xc9, 0x58, 0x52, 0xcf, 0xb6, 0xcf, 0xf1, 0x89, 0x29, 0xf3, 0xe6, 0xe5, 0xbf, + 0x7b, 0xfe, 0xb5, 0x6f, 0xe3, 0xcf, 0xcf, 0x7f, 0xe5, 0xd1, 0x7f, 0xc6, 0xd9, 0x21, 0xff, 0x77, 0xd7, 0x72, 0xcb, 0xff, + 0x5d, 0xd7, 0xad, 0xd1, 0xfe, 0x7f, 0xcc, 0xef, 0x40, 0xfe, 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, 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, + 0x0d, 0x7e, 0x01 }; + +// Font characters rectangles data +static const Rectangle terminalFontRecs[95] = { + { 4, 4, 4 , 16 }, + { 16, 4, 1 , 11 }, + { 25, 4, 3 , 3 }, + { 36, 4, 6 , 11 }, + { 50, 4, 5 , 11 }, + { 63, 4, 5 , 11 }, + { 76, 4, 5 , 11 }, + { 89, 4, 1 , 2 }, + { 98, 4, 2 , 13 }, + { 108, 4, 2 , 13 }, + { 118, 4, 3 , 3 }, + { 129, 4, 5 , 5 }, + { 142, 4, 1 , 3 }, + { 151, 4, 5 , 1 }, + { 164, 4, 1 , 1 }, + { 173, 4, 6 , 12 }, + { 187, 4, 5 , 11 }, + { 200, 4, 2 , 11 }, + { 210, 4, 5 , 11 }, + { 223, 4, 5 , 11 }, + { 236, 4, 5 , 11 }, + { 4, 28, 5 , 11 }, + { 17, 28, 5 , 11 }, + { 30, 28, 5 , 11 }, + { 43, 28, 5 , 11 }, + { 56, 28, 5 , 11 }, + { 69, 28, 1 , 8 }, + { 78, 28, 1 , 10 }, + { 87, 28, 4 , 5 }, + { 99, 28, 5 , 3 }, + { 112, 28, 4 , 5 }, + { 124, 28, 5 , 11 }, + { 137, 28, 11 , 11 }, + { 156, 28, 5 , 11 }, + { 169, 28, 5 , 11 }, + { 182, 28, 5 , 11 }, + { 195, 28, 5 , 11 }, + { 208, 28, 5 , 11 }, + { 221, 28, 5 , 11 }, + { 234, 28, 5 , 11 }, + { 4, 52, 5 , 11 }, + { 17, 52, 1 , 11 }, + { 26, 52, 5 , 11 }, + { 39, 52, 5 , 11 }, + { 52, 52, 5 , 11 }, + { 65, 52, 7 , 11 }, + { 80, 52, 5 , 11 }, + { 93, 52, 5 , 11 }, + { 106, 52, 5 , 11 }, + { 119, 52, 5 , 13 }, + { 132, 52, 5 , 11 }, + { 145, 52, 5 , 11 }, + { 158, 52, 5 , 11 }, + { 171, 52, 5 , 11 }, + { 184, 52, 5 , 11 }, + { 197, 52, 7 , 11 }, + { 212, 52, 5 , 11 }, + { 225, 52, 5 , 11 }, + { 238, 52, 5 , 11 }, + { 4, 76, 2 , 13 }, + { 14, 76, 6 , 12 }, + { 28, 76, 2 , 13 }, + { 38, 76, 5 , 4 }, + { 51, 76, 5 , 1 }, + { 64, 76, 2 , 2 }, + { 74, 76, 5 , 8 }, + { 87, 76, 5 , 11 }, + { 100, 76, 5 , 8 }, + { 113, 76, 5 , 11 }, + { 126, 76, 5 , 8 }, + { 139, 76, 4 , 11 }, + { 151, 76, 5 , 10 }, + { 164, 76, 5 , 11 }, + { 177, 76, 1 , 11 }, + { 186, 76, 1 , 13 }, + { 195, 76, 5 , 11 }, + { 208, 76, 1 , 11 }, + { 217, 76, 7 , 8 }, + { 232, 76, 5 , 8 }, + { 4, 100, 5 , 8 }, + { 17, 100, 5 , 10 }, + { 30, 100, 5 , 10 }, + { 43, 100, 4 , 8 }, + { 55, 100, 5 , 8 }, + { 68, 100, 3 , 11 }, + { 79, 100, 5 , 8 }, + { 92, 100, 5 , 8 }, + { 105, 100, 7 , 8 }, + { 120, 100, 5 , 8 }, + { 133, 100, 5 , 10 }, + { 146, 100, 5 , 8 }, + { 159, 100, 3 , 13 }, + { 170, 100, 1 , 15 }, + { 179, 100, 3 , 13 }, + { 190, 100, 5 , 3 }, +}; + +// Font characters info data +// NOTE: No chars.image data provided +static const GlyphInfo terminalFontChars[95] = { + { 32, 0, 14, 4, { 0 }}, + { 33, 1, 3, 3, { 0 }}, + { 34, 1, 3, 5, { 0 }}, + { 35, 1, 3, 8, { 0 }}, + { 36, 1, 3, 7, { 0 }}, + { 37, 1, 3, 7, { 0 }}, + { 38, 1, 3, 7, { 0 }}, + { 39, 1, 3, 3, { 0 }}, + { 40, 1, 2, 4, { 0 }}, + { 41, 1, 2, 4, { 0 }}, + { 42, 1, 3, 5, { 0 }}, + { 43, 1, 7, 7, { 0 }}, + { 44, 1, 13, 3, { 0 }}, + { 45, 1, 9, 7, { 0 }}, + { 46, 1, 13, 3, { 0 }}, + { 47, 1, 2, 8, { 0 }}, + { 48, 1, 3, 7, { 0 }}, + { 49, 1, 3, 4, { 0 }}, + { 50, 1, 3, 7, { 0 }}, + { 51, 1, 3, 7, { 0 }}, + { 52, 1, 3, 7, { 0 }}, + { 53, 1, 3, 7, { 0 }}, + { 54, 1, 3, 7, { 0 }}, + { 55, 1, 3, 7, { 0 }}, + { 56, 1, 3, 7, { 0 }}, + { 57, 1, 3, 7, { 0 }}, + { 58, 1, 6, 3, { 0 }}, + { 59, 1, 6, 3, { 0 }}, + { 60, 1, 7, 6, { 0 }}, + { 61, 1, 8, 7, { 0 }}, + { 62, 1, 7, 6, { 0 }}, + { 63, 1, 3, 7, { 0 }}, + { 64, 2, 3, 15, { 0 }}, + { 65, 1, 3, 7, { 0 }}, + { 66, 1, 3, 7, { 0 }}, + { 67, 1, 3, 7, { 0 }}, + { 68, 1, 3, 7, { 0 }}, + { 69, 1, 3, 7, { 0 }}, + { 70, 1, 3, 7, { 0 }}, + { 71, 1, 3, 7, { 0 }}, + { 72, 1, 3, 7, { 0 }}, + { 73, 1, 3, 3, { 0 }}, + { 74, 1, 3, 7, { 0 }}, + { 75, 1, 3, 7, { 0 }}, + { 76, 1, 3, 7, { 0 }}, + { 77, 1, 3, 9, { 0 }}, + { 78, 1, 3, 7, { 0 }}, + { 79, 1, 3, 7, { 0 }}, + { 80, 1, 3, 7, { 0 }}, + { 81, 1, 3, 7, { 0 }}, + { 82, 1, 3, 7, { 0 }}, + { 83, 1, 3, 7, { 0 }}, + { 84, 1, 3, 7, { 0 }}, + { 85, 1, 3, 7, { 0 }}, + { 86, 1, 3, 7, { 0 }}, + { 87, 1, 3, 9, { 0 }}, + { 88, 1, 3, 7, { 0 }}, + { 89, 1, 3, 7, { 0 }}, + { 90, 1, 3, 7, { 0 }}, + { 91, 1, 2, 4, { 0 }}, + { 92, 1, 2, 8, { 0 }}, + { 93, 1, 2, 4, { 0 }}, + { 94, 1, 3, 7, { 0 }}, + { 95, 1, 15, 7, { 0 }}, + { 96, 1, 0, 4, { 0 }}, + { 97, 1, 6, 7, { 0 }}, + { 98, 1, 3, 7, { 0 }}, + { 99, 1, 6, 7, { 0 }}, + { 100, 1, 3, 7, { 0 }}, + { 101, 1, 6, 7, { 0 }}, + { 102, 1, 3, 6, { 0 }}, + { 103, 1, 6, 7, { 0 }}, + { 104, 1, 3, 7, { 0 }}, + { 105, 1, 3, 3, { 0 }}, + { 106, 1, 3, 3, { 0 }}, + { 107, 1, 3, 7, { 0 }}, + { 108, 1, 3, 3, { 0 }}, + { 109, 1, 6, 9, { 0 }}, + { 110, 1, 6, 7, { 0 }}, + { 111, 1, 6, 7, { 0 }}, + { 112, 1, 6, 7, { 0 }}, + { 113, 1, 6, 7, { 0 }}, + { 114, 1, 6, 6, { 0 }}, + { 115, 1, 6, 7, { 0 }}, + { 116, 1, 3, 5, { 0 }}, + { 117, 1, 6, 7, { 0 }}, + { 118, 1, 6, 7, { 0 }}, + { 119, 1, 6, 9, { 0 }}, + { 120, 1, 6, 7, { 0 }}, + { 121, 1, 6, 7, { 0 }}, + { 122, 1, 6, 7, { 0 }}, + { 123, 1, 2, 5, { 0 }}, + { 124, 1, 1, 3, { 0 }}, + { 125, 1, 2, 5, { 0 }}, + { 126, 1, 8, 7, { 0 }}, +}; + +// Style loading function: terminal +static void GuiLoadStyleTerminal(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < TERMINAL_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(terminalStyleProps[i].controlId, terminalStyleProps[i].propertyId, terminalStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int terminalFontDataSize = 0; + unsigned char *data = DecompressData(terminalFontData, TERMINAL_COMPRESSED_DATA_SIZE, &terminalFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 16; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, terminalFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, terminalFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // TODO: Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + Rectangle whiteChar = { 63, 4, 2, 2 }; + SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/terminal/terminal.rgs b/styles/terminal/terminal.rgs index a75caa3..5ce1b80 100644 Binary files a/styles/terminal/terminal.rgs and b/styles/terminal/terminal.rgs differ diff --git a/styles/terminal/terminal.txt.rgs b/styles/terminal/terminal.txt.rgs new file mode 100644 index 0000000..a75caa3 --- /dev/null +++ b/styles/terminal/terminal.txt.rgs @@ -0,0 +1,24 @@ +# +# rgs style text file (v3.1) - raygui style file generated using rGuiStyler +# +# Style properties: +# f +# p +# +f 16 0 Mecha.ttf +p 00 00 0x1c8d00ff DEFAULT_BORDER_COLOR_NORMAL +p 00 01 0x161313ff DEFAULT_BASE_COLOR_NORMAL +p 00 02 0x38f620ff DEFAULT_TEXT_COLOR_NORMAL +p 00 03 0xc3fbc6ff DEFAULT_BORDER_COLOR_FOCUSED +p 00 04 0x43bf2eff DEFAULT_BASE_COLOR_FOCUSED +p 00 05 0xdcfadcff DEFAULT_TEXT_COLOR_FOCUSED +p 00 06 0x1f5b19ff DEFAULT_BORDER_COLOR_PRESSED +p 00 07 0x43ff28ff DEFAULT_BASE_COLOR_PRESSED +p 00 08 0x1e6f15ff DEFAULT_TEXT_COLOR_PRESSED +p 00 09 0x223b22ff DEFAULT_BORDER_COLOR_DISABLED +p 00 10 0x182c18ff DEFAULT_BASE_COLOR_DISABLED +p 00 11 0x244125ff DEFAULT_TEXT_COLOR_DISABLED +p 00 16 0x00000010 TEXT_SIZE +p 00 17 0x00000000 TEXT_SPACING +p 00 18 0xe6fce3ff DEFAULT_LINE_COLOR +p 00 19 0x0c1505ff DEFAULT_BACKGROUND_COLOR