Explorar o código

ADDED: Styles binary/code formats

raysan5 %!s(int64=3) %!d(string=hai) anos
pai
achega
23121c5454

+ 1 - 1
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;

+ 337 - 0
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
+}

BIN=BIN
styles/ashes/ashes.rgs


+ 24 - 0
styles/ashes/ashes.txt.rgs

@@ -0,0 +1,24 @@
+#
+# rgs style text file (v3.1) - raygui style file generated using rGuiStyler
+#
+# Style properties:
+#   f <gen_font_size> <charmap_file> <font_file>
+#   p <control_id> <property_id> <property_value> <property_name>
+#
+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

+ 358 - 0
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
+}

BIN=BIN
styles/bluish/bluish.rgs


+ 24 - 0
styles/bluish/bluish.txt.rgs

@@ -0,0 +1,24 @@
+#
+# rgs style text file (v3.1) - raygui style file generated using rGuiStyler
+#
+# Style properties:
+#   f <gen_font_size> <charmap_file> <font_file>
+#   p <control_id> <property_id> <property_value> <property_name>
+#
+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

+ 345 - 0
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
+}

BIN=BIN
styles/candy/candy.rgs


+ 24 - 0
styles/candy/candy.txt.rgs

@@ -0,0 +1,24 @@
+#
+# rgs style text file (v3.1) - raygui style file generated using rGuiStyler
+#
+# Style properties:
+#   f <gen_font_size> <charmap_file> <font_file>
+#   p <control_id> <property_id> <property_value> <property_name>
+#
+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

+ 359 - 0
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
+}

BIN=BIN
styles/cherry/cherry.rgs


+ 24 - 0
styles/cherry/cherry.txt.rgs

@@ -0,0 +1,24 @@
+#
+# rgs style text file (v3.1) - raygui style file generated using rGuiStyler
+#
+# Style properties:
+#   f <gen_font_size> <charmap_file> <font_file>
+#   p <control_id> <property_id> <property_value> <property_name>
+#
+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

+ 344 - 0
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
+}

BIN=BIN
styles/cyber/cyber.rgs


+ 24 - 0
styles/cyber/cyber.txt.rgs

@@ -0,0 +1,24 @@
+#
+# rgs style text file (v3.1) - raygui style file generated using rGuiStyler
+#
+# Style properties:
+#   f <gen_font_size> <charmap_file> <font_file>
+#   p <control_id> <property_id> <property_value> <property_name>
+#
+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

+ 0 - 0
styles/default/default.rgs → styles/default/default.txt.rgs


+ 341 - 0
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
+}

BIN=BIN
styles/jungle/jungle.rgs


+ 24 - 0
styles/jungle/jungle.txt.rgs

@@ -0,0 +1,24 @@
+#
+# rgs style text file (v3.1) - raygui style file generated using rGuiStyler
+#
+# Style properties:
+#   f <gen_font_size> <charmap_file> <font_file>
+#   p <control_id> <property_id> <property_value> <property_name>
+#
+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

+ 353 - 0
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
+}

BIN=BIN
styles/lavanda/lavanda.rgs


+ 24 - 0
styles/lavanda/lavanda.txt.rgs

@@ -0,0 +1,24 @@
+#
+# rgs style text file (v3.1) - raygui style file generated using rGuiStyler
+#
+# Style properties:
+#   f <gen_font_size> <charmap_file> <font_file>
+#   p <control_id> <property_id> <property_value> <property_name>
+#
+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

+ 337 - 0
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
+}

BIN=BIN
styles/terminal/terminal.rgs


+ 24 - 0
styles/terminal/terminal.txt.rgs

@@ -0,0 +1,24 @@
+#
+# rgs style text file (v3.1) - raygui style file generated using rGuiStyler
+#
+# Style properties:
+#   f <gen_font_size> <charmap_file> <font_file>
+#   p <control_id> <property_id> <property_value> <property_name>
+#
+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