diff --git a/libraries/raygui.c3l/README.md b/libraries/raygui.c3l/README.md new file mode 100644 index 0000000..6101a9d --- /dev/null +++ b/libraries/raygui.c3l/README.md @@ -0,0 +1,2 @@ +> [!NOTE] +> raygui.c3l requires the `raylib5.c3l` library to function diff --git a/libraries/raygui.c3l/dark.c3 b/libraries/raygui.c3l/dark.c3 new file mode 100644 index 0000000..81a06cf --- /dev/null +++ b/libraries/raygui.c3l/dark.c3 @@ -0,0 +1,595 @@ +module raygui::rg::style::dark; + +import raygui::rg; + +import raylib5::rl; + +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v2.0 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleDark(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2024 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +const DARK_STYLE_PROPS_COUNT = 23; + +// Custom style name: Dark +const GuiStyleProp[DARK_STYLE_PROPS_COUNT] DARK_SIZE_PROPS = { + { DEFAULT, 0, (CInt)0x878787ff }, // DEFAULT_BORDER_COLOR_NORMAL + { DEFAULT, 1, (CInt)0x2c2c2cff }, // DEFAULT_BASE_COLOR_NORMAL + { DEFAULT, 2, (CInt)0xc3c3c3ff }, // DEFAULT_TEXT_COLOR_NORMAL + { DEFAULT, 3, (CInt)0xe1e1e1ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { DEFAULT, 4, (CInt)0x848484ff }, // DEFAULT_BASE_COLOR_FOCUSED + { DEFAULT, 5, (CInt)0x181818ff }, // DEFAULT_TEXT_COLOR_FOCUSED + { DEFAULT, 6, (CInt)0x000000ff }, // DEFAULT_BORDER_COLOR_PRESSED + { DEFAULT, 7, (CInt)0xefefefff }, // DEFAULT_BASE_COLOR_PRESSED + { DEFAULT, 8, (CInt)0x202020ff }, // DEFAULT_TEXT_COLOR_PRESSED + { DEFAULT, 9, (CInt)0x6a6a6aff }, // DEFAULT_BORDER_COLOR_DISABLED + { DEFAULT, 10, (CInt)0x818181ff }, // DEFAULT_BASE_COLOR_DISABLED + { DEFAULT, 11, (CInt)0x606060ff }, // DEFAULT_TEXT_COLOR_DISABLED + { DEFAULT, 16, (CInt)0x00000010 }, // DEFAULT_TEXT_SIZE + { DEFAULT, 17, (CInt)0x00000000 }, // DEFAULT_TEXT_SPACING + { DEFAULT, 18, (CInt)0x9d9d9dff }, // DEFAULT_LINE_COLOR + { DEFAULT, 19, (CInt)0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR + { DEFAULT, 20, (CInt)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING + { LABEL, 5, (CInt)0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED + { LABEL, 8, (CInt)0x898989ff }, // LABEL_TEXT_COLOR_PRESSED + { SLIDER, 5, (CInt)0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED + { PROGRESSBAR, 5, (CInt)0x848484ff }, // PROGRESSBAR_TEXT_COLOR_FOCUSED + { TEXTBOX, 5, (CInt)0xf5f5f5ff }, // TEXTBOX_TEXT_COLOR_FOCUSED + { VALUEBOX, 5, (CInt)0xf6f6f6ff }, // VALUEBOX_TEXT_COLOR_FOCUSED +}; + +// WARNING: This style uses a custom font: "PixelOperator.ttf" (size: 16, spacing: 0) + +const DARK_STYLE_FONT_ATLAS_COMP_SIZE = 2126; + +// Font atlas image pixels data: DEFLATE compressed +const char[DARK_STYLE_FONT_ATLAS_COMP_SIZE] DARK_FONT_DATA = { 0xed, + 0xdd, 0xdb, 0x72, 0xa4, 0x3a, 0x12, 0x05, 0x50, 0xfd, 0xff, 0x4f, 0xe7, 0x3c, 0x4c, 0x4c, 0x4c, 0x74, 0x9c, 0xd3, 0x20, + 0xa5, 0x52, 0x17, 0xec, 0xd5, 0xeb, 0xcd, 0xe5, 0x76, 0x51, 0xa0, 0x94, 0x84, 0x28, 0x36, 0xd1, 0x00, 0x00, 0x00, 0x80, + 0x5f, 0x2f, 0xfe, 0xf5, 0x27, 0xf1, 0xd7, 0xdf, 0x8c, 0xee, 0xbf, 0xf3, 0xfc, 0xf3, 0xff, 0xbd, 0x1a, 0x0f, 0xef, 0xd5, + 0xb7, 0xad, 0xa3, 0xef, 0x1b, 0x03, 0x7b, 0xe2, 0xdf, 0xb7, 0x2f, 0xba, 0xff, 0xee, 0xdf, 0x3e, 0xdf, 0xf8, 0xef, 0x3f, + 0xfd, 0xa5, 0xe7, 0xad, 0x8f, 0xa1, 0xfd, 0x3e, 0xfe, 0x7f, 0xc6, 0x8e, 0x62, 0x2c, 0xd9, 0xf7, 0xef, 0x5b, 0x37, 0xbe, + 0xed, 0x95, 0xff, 0x27, 0x1e, 0x3e, 0x4f, 0xe6, 0x28, 0xf5, 0xd4, 0xd6, 0x0d, 0xf5, 0x1f, 0x5d, 0x95, 0x18, 0xa5, 0x2d, + 0xe7, 0xff, 0xef, 0x1a, 0x85, 0x3d, 0x55, 0x76, 0x4f, 0x3e, 0x55, 0xfa, 0xf8, 0xfe, 0x78, 0x6a, 0xfd, 0xe3, 0x3d, 0x60, + 0x94, 0x7c, 0x96, 0xf9, 0xd6, 0x18, 0xd3, 0xbf, 0xdd, 0xd7, 0x92, 0x6a, 0x3e, 0xd5, 0xcc, 0x2b, 0xad, 0xe4, 0x28, 0x9d, + 0xa8, 0xff, 0x48, 0xf7, 0x54, 0x31, 0x58, 0xd1, 0x15, 0x7b, 0x30, 0xd3, 0x0f, 0xb7, 0x8d, 0xf5, 0x1f, 0xa5, 0x73, 0x97, + 0x28, 0x6b, 0x73, 0x27, 0xea, 0xff, 0x79, 0xd4, 0x6e, 0x25, 0xed, 0x26, 0x5e, 0xf6, 0x51, 0x6d, 0x2d, 0xaf, 0x9d, 0xa7, + 0xae, 0xae, 0xff, 0xe7, 0xdf, 0x1c, 0x1d, 0x6f, 0x63, 0x70, 0xec, 0xae, 0xd8, 0x4f, 0xb9, 0xf1, 0xbf, 0x7e, 0x3f, 0xc6, + 0x5f, 0xc7, 0xe6, 0xec, 0x3c, 0x64, 0x64, 0x0f, 0xc7, 0xe0, 0xd9, 0xd5, 0xec, 0x08, 0x7b, 0x72, 0xfc, 0xef, 0x9b, 0x0b, + 0xaa, 0xff, 0xb5, 0xf5, 0x9f, 0xf9, 0x24, 0xd1, 0xb9, 0x05, 0x99, 0x31, 0xb1, 0x5d, 0x50, 0xff, 0xa3, 0xfd, 0xd0, 0xf3, + 0xbe, 0xaa, 0x9a, 0xcb, 0x8f, 0xae, 0x4b, 0xf4, 0x9d, 0x61, 0xef, 0x6b, 0x85, 0xe3, 0x73, 0xa3, 0xf1, 0xfa, 0x1f, 0xef, + 0x3d, 0xdf, 0xfe, 0xda, 0xe8, 0x5e, 0xfd, 0xfb, 0x99, 0xdd, 0xfc, 0x1e, 0xdf, 0x57, 0xff, 0x91, 0x18, 0x53, 0xce, 0xd7, + 0x73, 0x4d, 0xfd, 0x47, 0x62, 0xe5, 0xa2, 0x95, 0xad, 0xf2, 0xe5, 0xd6, 0x25, 0xea, 0xd6, 0x0c, 0xce, 0x1f, 0x81, 0xf7, + 0xfa, 0x7f, 0x3b, 0x1f, 0x3c, 0x3f, 0xfe, 0xc7, 0x15, 0xe3, 0x7f, 0xa4, 0xd7, 0x86, 0x5b, 0xa2, 0xf7, 0xfd, 0x5a, 0xfd, + 0x47, 0xa2, 0x66, 0xa2, 0xe4, 0xbc, 0xbc, 0x2d, 0x59, 0xcb, 0xab, 0x5d, 0x33, 0xdc, 0x73, 0xb4, 0xde, 0x46, 0xd1, 0xaa, + 0xb3, 0x9a, 0x9f, 0x55, 0xff, 0xad, 0x60, 0xfc, 0xef, 0x9b, 0x03, 0xcc, 0x7e, 0x8e, 0xf8, 0xd8, 0xe8, 0x5f, 0x59, 0xff, + 0xbb, 0x56, 0xec, 0xd7, 0xb7, 0xc6, 0xb8, 0xe2, 0xc8, 0x58, 0xff, 0xaf, 0x9c, 0xff, 0xe7, 0xd7, 0x00, 0xc6, 0xce, 0x63, + 0xe2, 0xd2, 0xea, 0xcf, 0x9c, 0x33, 0x57, 0x5d, 0xb1, 0xaf, 0xfd, 0x36, 0x41, 0x24, 0xbe, 0xab, 0x51, 0xb3, 0x8a, 0xb3, + 0xfa, 0x18, 0x8c, 0x8f, 0xff, 0xbb, 0xae, 0xff, 0xbf, 0xcf, 0xb9, 0xef, 0x18, 0xff, 0xdb, 0xeb, 0xe8, 0x7e, 0xcb, 0xf6, + 0x00, 0x7b, 0x7b, 0x80, 0x50, 0xfd, 0xe0, 0x7b, 0xc4, 0x80, 0xfa, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0a, 0xbf, 0x9f, 0x5f, 0x9f, 0x63, 0x30, 0x9e, 0x84, 0xbd, 0x3e, 0x81, 0x7d, 0x26, 0x13, 0x38, 0xbb, + 0x87, 0xaa, 0xfe, 0xe2, 0x73, 0x76, 0xfc, 0x48, 0xd2, 0x42, 0x7f, 0xcb, 0x88, 0xe1, 0xa7, 0x1f, 0x54, 0x26, 0x0a, 0x64, + 0x32, 0x0d, 0xda, 0x60, 0x9b, 0xa8, 0xcd, 0x52, 0x1a, 0xdb, 0xfa, 0x3d, 0x2d, 0xfe, 0x0b, 0xf5, 0x7f, 0xfe, 0x95, 0x96, + 0xc8, 0xef, 0xd9, 0x59, 0xff, 0xa3, 0x6d, 0x2f, 0x97, 0x8f, 0x3b, 0x37, 0x96, 0xec, 0x4e, 0x14, 0x8b, 0xc2, 0x63, 0xb8, + 0x6f, 0x5c, 0xfd, 0x33, 0x43, 0x67, 0x47, 0xbb, 0x9e, 0xa9, 0xff, 0xd1, 0xec, 0xd3, 0x78, 0xe8, 0x85, 0xef, 0xa9, 0xff, + 0xb6, 0xa5, 0xfe, 0xe3, 0x23, 0xf5, 0x5f, 0x9d, 0x24, 0x53, 0x95, 0x42, 0x9e, 0x49, 0xbe, 0x19, 0x3f, 0x86, 0xf9, 0x84, + 0xdf, 0x6c, 0x8b, 0xfb, 0x4e, 0xfd, 0x67, 0xda, 0xd6, 0x73, 0xce, 0xaa, 0xfa, 0x7f, 0xdf, 0xb7, 0x99, 0xd1, 0x64, 0xfe, + 0xe7, 0x35, 0x95, 0xbf, 0x27, 0x47, 0xf7, 0xed, 0x39, 0x5a, 0x6b, 0xdb, 0xca, 0xec, 0x58, 0xf9, 0x95, 0xfa, 0x8f, 0xe4, + 0x5f, 0x89, 0x97, 0x1e, 0xa5, 0x36, 0x81, 0xbd, 0x26, 0xb5, 0x6d, 0x6f, 0xfd, 0x57, 0x3f, 0xf7, 0xe7, 0x8e, 0xfa, 0x3f, + 0x9f, 0xa3, 0xbb, 0xea, 0x1c, 0xae, 0x76, 0xac, 0xfc, 0xd9, 0xe3, 0xff, 0x7b, 0x2f, 0xb9, 0xa3, 0x7d, 0xcc, 0x8c, 0xf4, + 0x27, 0xc7, 0xff, 0x73, 0x3f, 0x3f, 0x5b, 0xff, 0x55, 0xad, 0x3d, 0x36, 0xce, 0x4c, 0xb2, 0x63, 0xe5, 0xce, 0x55, 0xb2, + 0xdd, 0xe7, 0xff, 0xab, 0x3e, 0x59, 0x1b, 0x9e, 0x4d, 0xc4, 0xb5, 0xf5, 0x3f, 0xb3, 0x0a, 0xb9, 0x6e, 0xbe, 0x70, 0x66, + 0xfe, 0x9f, 0x7b, 0xbe, 0x6d, 0xe6, 0xa9, 0x80, 0xb7, 0x8d, 0xff, 0xbb, 0xae, 0x92, 0xb5, 0xcd, 0x35, 0xb9, 0xf7, 0xbd, + 0x2a, 0x9f, 0x52, 0x37, 0x9e, 0xdf, 0x1f, 0xc5, 0x33, 0xbc, 0xaf, 0xd7, 0x7f, 0x7e, 0x95, 0xbf, 0x15, 0xad, 0x4a, 0x9e, + 0x9b, 0xff, 0xef, 0x7e, 0xd2, 0x49, 0xe6, 0x5d, 0x6a, 0xfa, 0xdf, 0xbe, 0xab, 0xc2, 0xb5, 0xa3, 0xc0, 0xdf, 0xaf, 0x36, + 0x44, 0xd1, 0xc8, 0x51, 0x95, 0xdf, 0xff, 0xe7, 0xb6, 0x8d, 0x3f, 0xf1, 0x6c, 0xfc, 0x4a, 0x7c, 0x0c, 0x3e, 0x4f, 0xff, + 0x44, 0xfd, 0x67, 0xde, 0x39, 0xf3, 0xbf, 0x46, 0x8f, 0x61, 0x65, 0xfd, 0x9f, 0xeb, 0x01, 0xe4, 0x6e, 0xc2, 0x8d, 0xb3, + 0x18, 0xe0, 0xe7, 0xf4, 0x00, 0x9e, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xec, 0xbe, 0x13, 0xfb, 0xef, 0xd9, 0x5c, 0x99, 0xd4, 0xf8, 0xf1, 0xfb, 0xa4, 0x77, 0x26, 0xe6, 0xb7, 0x97, 0x14, 0xb2, + 0xe7, 0xdf, 0xfa, 0xf3, 0x95, 0x8a, 0x3c, 0xde, 0x28, 0xbc, 0x6b, 0xfd, 0x29, 0x93, 0xe4, 0x39, 0x4b, 0x71, 0x34, 0x77, + 0xe0, 0x7d, 0x0f, 0x8f, 0x1f, 0x97, 0x99, 0xd7, 0x5a, 0x61, 0x9a, 0x42, 0x24, 0xd2, 0x5e, 0xde, 0xf6, 0x7a, 0x7f, 0x36, + 0x70, 0x94, 0x6d, 0xf1, 0x58, 0x1d, 0x55, 0x65, 0x27, 0xdf, 0x9e, 0x98, 0x3f, 0x9f, 0xbc, 0x13, 0x2f, 0xad, 0xae, 0xbf, + 0xfe, 0x7b, 0x92, 0x23, 0xd6, 0xe7, 0x18, 0xf5, 0xfc, 0x34, 0x93, 0x7a, 0x31, 0x96, 0xc1, 0x36, 0xd7, 0x06, 0x56, 0x8f, + 0x50, 0x6d, 0xb2, 0x42, 0x62, 0xaa, 0xa5, 0xcc, 0x67, 0xff, 0xbd, 0x6f, 0x69, 0x1b, 0x1c, 0xb9, 0x6e, 0x48, 0xcc, 0x8c, + 0xce, 0xfa, 0xaa, 0xfe, 0x69, 0x1b, 0xec, 0x6f, 0x32, 0x79, 0x75, 0x51, 0x9a, 0x44, 0x91, 0xff, 0x3f, 0x91, 0x48, 0x6d, + 0x6e, 0xc9, 0x2c, 0xbe, 0x7c, 0x46, 0x7c, 0x26, 0xa7, 0x2a, 0x16, 0xef, 0xd9, 0x4c, 0xfd, 0xb7, 0x43, 0xf5, 0x9f, 0x49, + 0x3d, 0x38, 0x9f, 0x98, 0x1d, 0xa9, 0xda, 0xdd, 0x5b, 0xff, 0xd1, 0xd1, 0x7f, 0x65, 0x66, 0xd7, 0x51, 0x78, 0xce, 0xf0, + 0x3e, 0xe3, 0xad, 0x1e, 0xff, 0xdb, 0xe3, 0x7e, 0x1a, 0x4f, 0x75, 0x5b, 0x3f, 0x42, 0x65, 0x7a, 0x93, 0xb1, 0xfa, 0x5f, + 0xdd, 0x63, 0xcd, 0x3c, 0x07, 0x29, 0x3e, 0x37, 0xfe, 0x9f, 0x49, 0xcc, 0x8e, 0xc4, 0xd9, 0x75, 0xe6, 0x7d, 0xeb, 0xd7, + 0x5e, 0xa2, 0xb0, 0xfe, 0x33, 0x3d, 0x40, 0xbe, 0xfe, 0x77, 0xce, 0xa6, 0xb3, 0x79, 0x93, 0x31, 0xdd, 0x86, 0xce, 0xd4, + 0x7f, 0xe5, 0xd3, 0x96, 0x56, 0x24, 0xe6, 0x8e, 0x3f, 0xd9, 0xf1, 0xd4, 0xf8, 0xdf, 0x52, 0xe3, 0x7f, 0x6e, 0x9c, 0xa8, + 0x3b, 0xf6, 0xb5, 0x73, 0xe5, 0xf7, 0xfa, 0x8f, 0x0d, 0xef, 0xb6, 0xaf, 0xfe, 0x33, 0x3d, 0x61, 0x2c, 0x9b, 0xff, 0x67, + 0xab, 0x25, 0x86, 0xe7, 0xd7, 0x3b, 0x13, 0x73, 0x33, 0xeb, 0xcc, 0xf7, 0xd7, 0x7f, 0xe5, 0x33, 0x4c, 0xda, 0x54, 0xfa, + 0x72, 0x94, 0x8e, 0xc8, 0xfb, 0xc6, 0xff, 0x15, 0xb3, 0xe9, 0x4c, 0xfa, 0xfe, 0x3d, 0xeb, 0x7f, 0xad, 0xf8, 0x88, 0xb5, + 0xe3, 0x79, 0x88, 0x2b, 0x66, 0x85, 0x27, 0xce, 0xff, 0xab, 0x12, 0xd8, 0x73, 0xe7, 0xff, 0xd5, 0x2b, 0xf2, 0x73, 0xc7, + 0xf2, 0xde, 0xf1, 0x3f, 0xd7, 0x42, 0x62, 0x68, 0x7c, 0x6e, 0x9f, 0xaa, 0xff, 0x5b, 0xbe, 0xd1, 0x50, 0xd1, 0x6f, 0x45, + 0x49, 0xef, 0x96, 0x79, 0x6e, 0x4b, 0xe5, 0x3c, 0xaa, 0x72, 0xfd, 0x6a, 0xe6, 0xfa, 0xff, 0xcc, 0xb7, 0x53, 0x56, 0xbf, + 0x5b, 0xfe, 0xfa, 0xff, 0xda, 0xfa, 0x8f, 0xe2, 0x2d, 0xe6, 0x9e, 0x5e, 0xea, 0xe6, 0xf7, 0xd3, 0x7e, 0xee, 0x38, 0x82, + 0x6a, 0x59, 0xeb, 0x39, 0x71, 0x3e, 0xc4, 0xef, 0x9a, 0x33, 0xf3, 0xd3, 0xbf, 0xe1, 0x6d, 0x3f, 0x18, 0x9b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xef, 0xde, 0xc3, 0x14, 0xaf, 0x77, 0x38, 0xbc, 0x65, 0x4b, + 0x64, 0x72, 0x29, 0x5b, 0x69, 0xce, 0x5d, 0x4b, 0x24, 0xf3, 0x67, 0xb7, 0xae, 0x77, 0xaf, 0xac, 0xff, 0x64, 0xb3, 0x69, + 0xe6, 0x99, 0xc4, 0xf9, 0xcc, 0x3e, 0x3e, 0x7b, 0x34, 0xdf, 0x32, 0x3c, 0x22, 0x91, 0xc6, 0x5a, 0x79, 0xbc, 0x5a, 0x6a, + 0xdf, 0x65, 0x5b, 0x59, 0x6f, 0x0f, 0xd0, 0x9f, 0x0f, 0x53, 0x7f, 0x8f, 0x69, 0xa4, 0xf6, 0x79, 0x4d, 0x32, 0xff, 0x4c, + 0x5b, 0x6a, 0xe9, 0x04, 0xe2, 0x6c, 0xab, 0xe9, 0xfd, 0x5b, 0x31, 0xfd, 0x97, 0xdf, 0xb3, 0x5a, 0xe3, 0x73, 0x47, 0x33, + 0x9b, 0x17, 0x5f, 0x7d, 0xbc, 0x6a, 0xd3, 0xdb, 0x6a, 0x7a, 0x80, 0x8a, 0xfa, 0xaf, 0xdb, 0xca, 0xfd, 0xf7, 0xc6, 0x46, + 0xf2, 0x7e, 0xfa, 0xf8, 0xfc, 0xfd, 0xa7, 0xf1, 0xd1, 0x24, 0x81, 0x5c, 0xca, 0xe4, 0xae, 0x4f, 0x95, 0xcb, 0xe5, 0xca, + 0xa7, 0xb7, 0xed, 0x1c, 0xff, 0x33, 0x49, 0x52, 0x99, 0xb4, 0xd0, 0xea, 0x57, 0xb2, 0xbd, 0x65, 0xae, 0xfe, 0x33, 0x99, + 0x4d, 0x51, 0x94, 0x67, 0x5c, 0xf7, 0xdc, 0x93, 0x48, 0xce, 0xaf, 0x4f, 0x1e, 0xcd, 0x78, 0x4d, 0x25, 0xaf, 0xca, 0xd8, + 0xdd, 0xfb, 0x4a, 0x4c, 0x26, 0x3e, 0x44, 0xd7, 0xf1, 0x8e, 0xe9, 0xb1, 0x70, 0xd7, 0xd3, 0x02, 0x33, 0xcf, 0xa4, 0x68, + 0xc9, 0xd4, 0xcc, 0x28, 0x9b, 0xe1, 0x57, 0xbf, 0xb2, 0xa2, 0xfe, 0xe3, 0xe1, 0x3c, 0xb9, 0xfa, 0x99, 0x65, 0xd5, 0x47, + 0xb3, 0xa7, 0x67, 0xf8, 0x62, 0xfd, 0xaf, 0x9d, 0xa7, 0xd5, 0x9c, 0xff, 0x47, 0xfa, 0x59, 0x3c, 0x77, 0xb6, 0x98, 0xe8, + 0x4c, 0x77, 0xfe, 0x69, 0xf5, 0xbf, 0x77, 0x1f, 0x57, 0xf7, 0xe6, 0xcf, 0x33, 0xec, 0xf6, 0xd1, 0xfa, 0x9f, 0x49, 0x8b, + 0xaf, 0x39, 0x5f, 0x79, 0x5f, 0xff, 0xaf, 0x5c, 0xd9, 0xb8, 0xa3, 0xfe, 0x6f, 0xa9, 0xf2, 0xb1, 0x7d, 0xbe, 0xb6, 0xfe, + 0xcf, 0xd7, 0xd0, 0x6c, 0xf2, 0xfb, 0xf9, 0x6d, 0x8f, 0xb2, 0xf3, 0xff, 0x9a, 0x75, 0xa1, 0xea, 0x79, 0xc4, 0x6d, 0x3d, + 0xe8, 0xaa, 0xa7, 0xab, 0xbd, 0xcd, 0x1d, 0xaa, 0xcf, 0x77, 0xef, 0x18, 0xff, 0x43, 0xfd, 0x2f, 0x58, 0x0b, 0xaf, 0x1d, + 0x25, 0xf3, 0x2b, 0xcc, 0x33, 0xfd, 0xc9, 0xf8, 0xb3, 0xec, 0x6b, 0x57, 0xc9, 0x32, 0x7d, 0x68, 0xcf, 0x2b, 0xf9, 0x27, + 0x6e, 0x7c, 0x75, 0xfe, 0xdf, 0xf3, 0x54, 0xa0, 0x6f, 0xd5, 0x7f, 0x24, 0xd7, 0xb7, 0xee, 0xa8, 0xff, 0xb5, 0x57, 0x06, + 0xd6, 0x5f, 0xcb, 0xbf, 0x79, 0xfe, 0xbf, 0xa2, 0xcf, 0xfb, 0x76, 0xfd, 0x7f, 0x61, 0x0e, 0xbd, 0xe6, 0x5b, 0x28, 0xe7, + 0xea, 0x7f, 0x6e, 0xdc, 0x56, 0xff, 0x2b, 0x56, 0x8c, 0xf3, 0x9f, 0x7a, 0xc5, 0xf9, 0x7f, 0xef, 0x4c, 0xe3, 0xe7, 0xd7, + 0x7f, 0x7d, 0xd2, 0xf9, 0x9a, 0xf3, 0xcd, 0x76, 0xe9, 0x77, 0x61, 0xee, 0xfa, 0x4e, 0xf2, 0x9e, 0x16, 0xb3, 0x66, 0xed, + 0x23, 0xf3, 0x94, 0xde, 0xda, 0xa7, 0x39, 0xc5, 0xa2, 0x4a, 0xcf, 0x5d, 0xe5, 0xdd, 0x73, 0xfd, 0x7f, 0xef, 0x37, 0x8a, + 0xaa, 0xb7, 0x50, 0xfd, 0x7f, 0xa3, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xdb, + 0xee, 0xd0, 0xdb, 0x9b, 0xa8, 0x5f, 0x9f, 0x82, 0x71, 0x7b, 0xa2, 0xfe, 0xdb, 0x5d, 0x33, 0xed, 0xda, 0x44, 0xfd, 0xd6, + 0x95, 0x4c, 0xf4, 0xbd, 0x44, 0xfd, 0xdf, 0x78, 0xc7, 0xc7, 0x6d, 0x89, 0xfa, 0x75, 0x77, 0x4e, 0xdf, 0x9e, 0xa8, 0xdf, + 0x5e, 0xf2, 0x87, 0x6e, 0x4e, 0xd4, 0xcf, 0xdf, 0x3b, 0x75, 0x6b, 0xa2, 0x3e, 0x6b, 0xef, 0x98, 0xec, 0xed, 0xfb, 0xe3, + 0xe0, 0x31, 0x5b, 0x75, 0x77, 0x69, 0x7c, 0xf4, 0xce, 0xcf, 0xf1, 0x8c, 0xa6, 0x15, 0x3d, 0x4a, 0xe5, 0x5d, 0x9a, 0xeb, + 0x13, 0xf5, 0x7f, 0x4a, 0xbd, 0xee, 0x4a, 0xd4, 0x7f, 0xcf, 0x19, 0x8b, 0x4d, 0xdb, 0x1f, 0x43, 0xf3, 0xc6, 0xb5, 0x89, + 0x5a, 0xcf, 0xfd, 0xe8, 0xbd, 0xcf, 0x47, 0xf8, 0x76, 0xa2, 0xf6, 0x6f, 0xab, 0xff, 0x55, 0xfb, 0x29, 0x8a, 0xaa, 0xae, + 0xf7, 0x95, 0x7d, 0x59, 0x41, 0x75, 0xf5, 0x1f, 0xe5, 0xaf, 0xed, 0x4d, 0xd4, 0xca, 0xae, 0x27, 0xa8, 0xff, 0xef, 0xac, + 0x01, 0xe4, 0xd6, 0xad, 0xe6, 0x12, 0x75, 0x4f, 0xb6, 0x80, 0x9d, 0x89, 0x5a, 0x5f, 0xaf, 0xff, 0xcc, 0xac, 0x5c, 0xfd, + 0xdf, 0x39, 0xff, 0x8f, 0xb2, 0x57, 0x32, 0xbd, 0x46, 0x7e, 0xfd, 0xff, 0xcb, 0x4f, 0xd4, 0xfa, 0x99, 0xf5, 0x7f, 0x47, + 0xa2, 0xae, 0xfa, 0x3f, 0x33, 0xff, 0x5f, 0xf7, 0x54, 0x82, 0x9d, 0x89, 0xba, 0xc6, 0xff, 0x55, 0x15, 0x71, 0x77, 0x95, + 0xdf, 0x95, 0x9b, 0xfb, 0xcd, 0xf3, 0xff, 0xdc, 0x93, 0x40, 0xb3, 0x3d, 0xc0, 0xbe, 0x84, 0xd6, 0x13, 0x89, 0xfa, 0x12, + 0x75, 0x67, 0x8e, 0xd7, 0xf3, 0xec, 0xef, 0x9b, 0xd7, 0x63, 0x6e, 0x9f, 0xff, 0xd7, 0x5e, 0xab, 0xf9, 0xe7, 0x9a, 0xd2, + 0xea, 0x15, 0xef, 0x55, 0xf3, 0xff, 0xda, 0x2b, 0x5b, 0x12, 0x75, 0xab, 0x8f, 0xda, 0x6f, 0x5f, 0xff, 0x3b, 0xdb, 0xd3, + 0xc0, 0xee, 0x79, 0xed, 0xf9, 0x9e, 0x10, 0xf8, 0xda, 0x37, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0xf9, 0xef, 0x3f, 0xfb, 0x01, 0xd4, 0x3f, + 0xf0, 0xeb, 0xea, 0xff, 0x3f }; + +// Font glyphs rectangles data (on atlas) +const Rectangle[*] DARK_FONT_RECS = { + { 4, 4, 4 , 16 }, + { 16, 4, 1 , 9 }, + { 25, 4, 3 , 3 }, + { 36, 4, 6 , 9 }, + { 50, 4, 5 , 13 }, + { 63, 4, 7 , 9 }, + { 78, 4, 5 , 9 }, + { 91, 4, 1 , 3 }, + { 100, 4, 3 , 9 }, + { 111, 4, 3 , 9 }, + { 122, 4, 5 , 5 }, + { 135, 4, 5 , 5 }, + { 148, 4, 2 , 3 }, + { 158, 4, 4 , 1 }, + { 170, 4, 1 , 1 }, + { 179, 4, 3 , 9 }, + { 190, 4, 5 , 9 }, + { 203, 4, 3 , 9 }, + { 214, 4, 5 , 9 }, + { 227, 4, 5 , 9 }, + { 240, 4, 5 , 9 }, + { 253, 4, 5 , 9 }, + { 266, 4, 5 , 9 }, + { 279, 4, 5 , 9 }, + { 292, 4, 5 , 9 }, + { 305, 4, 5 , 9 }, + { 318, 4, 1 , 7 }, + { 327, 4, 2 , 9 }, + { 337, 4, 3 , 5 }, + { 348, 4, 4 , 3 }, + { 360, 4, 3 , 5 }, + { 371, 4, 5 , 9 }, + { 384, 4, 7 , 9 }, + { 399, 4, 5 , 9 }, + { 412, 4, 5 , 9 }, + { 425, 4, 5 , 9 }, + { 438, 4, 5 , 9 }, + { 451, 4, 5 , 9 }, + { 464, 4, 5 , 9 }, + { 477, 4, 5 , 9 }, + { 490, 4, 5 , 9 }, + { 4, 28, 1 , 9 }, + { 13, 28, 5 , 9 }, + { 26, 28, 5 , 9 }, + { 39, 28, 5 , 9 }, + { 52, 28, 7 , 9 }, + { 67, 28, 5 , 9 }, + { 80, 28, 5 , 9 }, + { 93, 28, 5 , 9 }, + { 106, 28, 5 , 9 }, + { 119, 28, 5 , 9 }, + { 132, 28, 5 , 9 }, + { 145, 28, 5 , 9 }, + { 158, 28, 5 , 9 }, + { 171, 28, 5 , 9 }, + { 184, 28, 7 , 9 }, + { 199, 28, 5 , 9 }, + { 212, 28, 5 , 9 }, + { 225, 28, 5 , 9 }, + { 238, 28, 3 , 9 }, + { 249, 28, 3 , 9 }, + { 260, 28, 3 , 9 }, + { 271, 28, 5 , 3 }, + { 284, 28, 5 , 1 }, + { 297, 28, 2 , 2 }, + { 307, 28, 5 , 7 }, + { 320, 28, 5 , 9 }, + { 333, 28, 5 , 7 }, + { 346, 28, 5 , 9 }, + { 359, 28, 5 , 7 }, + { 372, 28, 4 , 9 }, + { 384, 28, 5 , 9 }, + { 397, 28, 5 , 9 }, + { 410, 28, 1 , 9 }, + { 419, 28, 5 , 11 }, + { 432, 28, 5 , 9 }, + { 445, 28, 2 , 9 }, + { 455, 28, 7 , 7 }, + { 470, 28, 5 , 7 }, + { 483, 28, 5 , 7 }, + { 496, 28, 5 , 9 }, + { 4, 52, 5 , 9 }, + { 17, 52, 5 , 7 }, + { 30, 52, 5 , 7 }, + { 43, 52, 4 , 8 }, + { 55, 52, 5 , 7 }, + { 68, 52, 5 , 7 }, + { 81, 52, 7 , 7 }, + { 96, 52, 5 , 7 }, + { 109, 52, 5 , 9 }, + { 122, 52, 5 , 7 }, + { 135, 52, 4 , 9 }, + { 147, 52, 1 , 9 }, + { 156, 52, 4 , 9 }, + { 168, 52, 6 , 2 }, + { 182, 52, 1 , 9 }, + { 191, 52, 5 , 11 }, + { 204, 52, 6 , 9 }, + { 218, 52, 6 , 9 }, + { 232, 52, 5 , 9 }, + { 245, 52, 5 , 12 }, + { 258, 52, 5 , 9 }, + { 271, 52, 5 , 10 }, + { 284, 52, 7 , 9 }, + { 299, 52, 5 , 9 }, + { 312, 52, 6 , 5 }, + { 326, 52, 5 , 3 }, + { 339, 52, 7 , 9 }, + { 354, 52, 5 , 9 }, + { 367, 52, 4 , 4 }, + { 379, 52, 5 , 7 }, + { 392, 52, 5 , 9 }, + { 405, 52, 5 , 9 }, + { 418, 52, 5 , 12 }, + { 431, 52, 5 , 9 }, + { 444, 52, 7 , 9 }, + { 459, 52, 1 , 1 }, + { 468, 52, 5 , 10 }, + { 481, 52, 5 , 9 }, + { 494, 52, 5 , 9 }, + { 4, 76, 6 , 5 }, + { 18, 76, 9 , 9 }, + { 35, 76, 9 , 7 }, + { 52, 76, 5 , 11 }, + { 65, 76, 5 , 9 }, + { 78, 76, 5 , 12 }, + { 91, 76, 5 , 12 }, + { 104, 76, 5 , 12 }, + { 117, 76, 6 , 12 }, + { 131, 76, 5 , 11 }, + { 144, 76, 5 , 13 }, + { 157, 76, 9 , 9 }, + { 174, 76, 5 , 12 }, + { 187, 76, 5 , 12 }, + { 200, 76, 5 , 12 }, + { 213, 76, 5 , 12 }, + { 226, 76, 5 , 11 }, + { 239, 76, 2 , 12 }, + { 249, 76, 2 , 12 }, + { 259, 76, 3 , 12 }, + { 270, 76, 3 , 11 }, + { 281, 76, 6 , 9 }, + { 295, 76, 6 , 12 }, + { 309, 76, 5 , 12 }, + { 322, 76, 5 , 12 }, + { 335, 76, 5 , 12 }, + { 348, 76, 6 , 12 }, + { 362, 76, 5 , 11 }, + { 375, 76, 5 , 5 }, + { 388, 76, 7 , 9 }, + { 403, 76, 5 , 12 }, + { 416, 76, 5 , 12 }, + { 429, 76, 5 , 12 }, + { 442, 76, 5 , 11 }, + { 455, 76, 5 , 12 }, + { 468, 76, 5 , 9 }, + { 481, 76, 5 , 9 }, + { 494, 76, 5 , 10 }, + { 4, 100, 5 , 10 }, + { 17, 100, 5 , 10 }, + { 30, 100, 6 , 10 }, + { 44, 100, 5 , 9 }, + { 57, 100, 5 , 11 }, + { 70, 100, 9 , 7 }, + { 87, 100, 5 , 10 }, + { 100, 100, 5 , 10 }, + { 113, 100, 5 , 10 }, + { 126, 100, 5 , 10 }, + { 139, 100, 5 , 9 }, + { 152, 100, 2 , 10 }, + { 162, 100, 2 , 10 }, + { 172, 100, 3 , 10 }, + { 183, 100, 3 , 9 }, + { 194, 100, 6 , 9 }, + { 208, 100, 6 , 10 }, + { 222, 100, 5 , 10 }, + { 235, 100, 5 , 10 }, + { 248, 100, 5 , 10 }, + { 261, 100, 6 , 10 }, + { 275, 100, 5 , 9 }, + { 288, 100, 5 , 5 }, + { 301, 100, 7 , 7 }, + { 316, 100, 5 , 10 }, + { 329, 100, 5 , 10 }, + { 342, 100, 5 , 10 }, + { 355, 100, 5 , 9 }, + { 368, 100, 5 , 12 }, + { 381, 100, 5 , 11 }, + { 394, 100, 5 , 11 }, +}; + +// Font glyphs info data +// NOTE: No glyphs.image data provided +const GlyphInfo[DARK_FONT_RECS.len] DARK_FONT_GLYPHS = { + { 32, 0, 13, 4, {}}, + { 33, 2, 4, 5, {}}, + { 34, 2, 4, 7, {}}, + { 35, 1, 4, 8, {}}, + { 36, 1, 2, 7, {}}, + { 37, 1, 4, 9, {}}, + { 38, 1, 4, 7, {}}, + { 39, 2, 4, 5, {}}, + { 40, 3, 4, 7, {}}, + { 41, 1, 4, 7, {}}, + { 42, 1, 4, 7, {}}, + { 43, 1, 6, 7, {}}, + { 44, 1, 12, 5, {}}, + { 45, 1, 8, 6, {}}, + { 46, 2, 12, 5, {}}, + { 47, 1, 4, 5, {}}, + { 48, 1, 4, 7, {}}, + { 49, 2, 4, 7, {}}, + { 50, 1, 4, 7, {}}, + { 51, 1, 4, 7, {}}, + { 52, 1, 4, 7, {}}, + { 53, 1, 4, 7, {}}, + { 54, 1, 4, 7, {}}, + { 55, 1, 4, 7, {}}, + { 56, 1, 4, 7, {}}, + { 57, 1, 4, 7, {}}, + { 58, 2, 6, 5, {}}, + { 59, 1, 6, 5, {}}, + { 60, 1, 6, 5, {}}, + { 61, 1, 7, 6, {}}, + { 62, 1, 6, 5, {}}, + { 63, 1, 4, 7, {}}, + { 64, 1, 4, 9, {}}, + { 65, 1, 4, 7, {}}, + { 66, 1, 4, 7, {}}, + { 67, 1, 4, 7, {}}, + { 68, 1, 4, 7, {}}, + { 69, 1, 4, 7, {}}, + { 70, 1, 4, 7, {}}, + { 71, 1, 4, 7, {}}, + { 72, 1, 4, 7, {}}, + { 73, 2, 4, 5, {}}, + { 74, 1, 4, 7, {}}, + { 75, 1, 4, 7, {}}, + { 76, 1, 4, 7, {}}, + { 77, 1, 4, 9, {}}, + { 78, 1, 4, 7, {}}, + { 79, 1, 4, 7, {}}, + { 80, 1, 4, 7, {}}, + { 81, 1, 4, 7, {}}, + { 82, 1, 4, 7, {}}, + { 83, 1, 4, 7, {}}, + { 84, 1, 4, 7, {}}, + { 85, 1, 4, 7, {}}, + { 86, 1, 4, 7, {}}, + { 87, 1, 4, 9, {}}, + { 88, 1, 4, 7, {}}, + { 89, 1, 4, 7, {}}, + { 90, 1, 4, 7, {}}, + { 91, 3, 4, 7, {}}, + { 92, 1, 4, 5, {}}, + { 93, 1, 4, 7, {}}, + { 94, 1, 4, 7, {}}, + { 95, 0, 14, 5, {}}, + { 96, 1, 4, 5, {}}, + { 97, 1, 6, 7, {}}, + { 98, 1, 4, 7, {}}, + { 99, 1, 6, 7, {}}, + { 100, 1, 4, 7, {}}, + { 101, 1, 6, 7, {}}, + { 102, 1, 4, 6, {}}, + { 103, 1, 6, 7, {}}, + { 104, 1, 4, 7, {}}, + { 105, 2, 4, 5, {}}, + { 106, 1, 4, 7, {}}, + { 107, 1, 4, 7, {}}, + { 108, 2, 4, 5, {}}, + { 109, 1, 6, 9, {}}, + { 110, 1, 6, 7, {}}, + { 111, 1, 6, 7, {}}, + { 112, 1, 6, 7, {}}, + { 113, 1, 6, 7, {}}, + { 114, 1, 6, 7, {}}, + { 115, 1, 6, 7, {}}, + { 116, 1, 5, 6, {}}, + { 117, 1, 6, 7, {}}, + { 118, 1, 6, 7, {}}, + { 119, 1, 6, 9, {}}, + { 120, 1, 6, 7, {}}, + { 121, 1, 6, 7, {}}, + { 122, 1, 6, 7, {}}, + { 123, 2, 4, 7, {}}, + { 124, 2, 4, 5, {}}, + { 125, 1, 4, 7, {}}, + { 126, 1, 4, 8, {}}, + { 161, 2, 6, 5, {}}, + { 162, 1, 4, 7, {}}, + { 163, 1, 4, 8, {}}, + { 8364, 1, 4, 8, {}}, + { 165, 1, 4, 7, {}}, + { 352, 1, 1, 7, {}}, + { 167, 2, 4, 9, {}}, + { 353, 1, 3, 7, {}}, + { 169, 1, 4, 9, {}}, + { 170, 2, 4, 9, {}}, + { 171, 1, 6, 8, {}}, + { 172, 1, 8, 7, {}}, + { 174, 1, 4, 9, {}}, + { 175, 2, 4, 9, {}}, + { 176, 1, 4, 6, {}}, + { 177, 1, 6, 7, {}}, + { 178, 2, 4, 9, {}}, + { 179, 2, 4, 9, {}}, + { 381, 1, 1, 7, {}}, + { 181, 1, 6, 7, {}}, + { 182, 1, 4, 9, {}}, + { 183, 2, 8, 5, {}}, + { 382, 1, 3, 7, {}}, + { 185, 2, 4, 9, {}}, + { 186, 2, 4, 9, {}}, + { 187, 1, 6, 8, {}}, + { 338, 1, 4, 11, {}}, + { 339, 1, 6, 11, {}}, + { 376, 1, 2, 7, {}}, + { 191, 1, 6, 7, {}}, + { 192, 1, 1, 7, {}}, + { 193, 1, 1, 7, {}}, + { 194, 1, 1, 7, {}}, + { 195, 1, 1, 7, {}}, + { 196, 1, 2, 7, {}}, + { 197, 1, 0, 7, {}}, + { 198, 1, 4, 11, {}}, + { 199, 1, 4, 7, {}}, + { 200, 1, 1, 7, {}}, + { 201, 1, 1, 7, {}}, + { 202, 1, 1, 7, {}}, + { 203, 1, 2, 7, {}}, + { 204, 1, 1, 5, {}}, + { 205, 2, 1, 5, {}}, + { 206, 1, 1, 5, {}}, + { 207, 1, 2, 5, {}}, + { 208, 0, 4, 7, {}}, + { 209, 1, 1, 7, {}}, + { 210, 1, 1, 7, {}}, + { 211, 1, 1, 7, {}}, + { 212, 1, 1, 7, {}}, + { 213, 1, 1, 7, {}}, + { 214, 1, 2, 7, {}}, + { 215, 1, 6, 7, {}}, + { 216, 0, 4, 7, {}}, + { 217, 1, 1, 7, {}}, + { 218, 1, 1, 7, {}}, + { 219, 1, 1, 7, {}}, + { 220, 1, 2, 7, {}}, + { 221, 1, 1, 7, {}}, + { 222, 1, 4, 7, {}}, + { 223, 1, 4, 7, {}}, + { 224, 1, 3, 7, {}}, + { 225, 1, 3, 7, {}}, + { 226, 1, 3, 7, {}}, + { 227, 1, 3, 7, {}}, + { 228, 1, 4, 7, {}}, + { 229, 1, 2, 7, {}}, + { 230, 1, 6, 11, {}}, + { 231, 1, 6, 7, {}}, + { 232, 1, 3, 7, {}}, + { 233, 1, 3, 7, {}}, + { 234, 1, 3, 7, {}}, + { 235, 1, 4, 7, {}}, + { 236, 1, 3, 5, {}}, + { 237, 2, 3, 5, {}}, + { 238, 1, 3, 5, {}}, + { 239, 1, 4, 5, {}}, + { 240, 1, 4, 7, {}}, + { 241, 1, 3, 7, {}}, + { 242, 1, 3, 7, {}}, + { 243, 1, 3, 7, {}}, + { 244, 1, 3, 7, {}}, + { 245, 1, 3, 7, {}}, + { 246, 1, 4, 7, {}}, + { 247, 1, 6, 7, {}}, + { 248, 0, 6, 7, {}}, + { 249, 1, 3, 7, {}}, + { 250, 1, 3, 7, {}}, + { 251, 1, 3, 7, {}}, + { 252, 1, 4, 7, {}}, + { 253, 1, 3, 7, {}}, + { 254, 1, 4, 7, {}}, + { 255, 1, 4, 7, {}}, +}; + +// Style loading function: Dark +fn void load() +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < DARK_STYLE_PROPS_COUNT; i++) + { + rg::guiSetStyle(DARK_SIZE_PROPS[i].controlId, DARK_SIZE_PROPS[i].propertyId, DARK_SIZE_PROPS[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int darkFontDataSize = 0; + char *data = rl::decompressData(&DARK_FONT_DATA, DARK_STYLE_FONT_ATLAS_COMP_SIZE, &darkFontDataSize); + Image imFont = { data, 512, 256, 1, UNCOMPRESSED_GRAY_ALPHA }; + + Font font = {}; + font.baseSize = 16; + font.glyphCount = DARK_FONT_RECS.len; + + // Load texture from image + font.texture = rl::loadTextureFromImage(imFont); + rl::unloadImage(imFont); // Uncompressed image data can be unloaded from memory + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = mem::new_array(Rectangle, font.glyphCount); + font.recs[0:font.glyphCount] = DARK_FONT_RECS; + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = mem::new_array(GlyphInfo, font.glyphCount); + font.glyphs[0:font.glyphCount] = DARK_FONT_GLYPHS; + + rg::guiSetFont(font); + + // Setup a white rectangle on the font to be used on shapes drawing, + // it makes possible to draw shapes and text (full UI) in a single draw call + Rectangle fontWhiteRec = { 510, 254, 1, 1 }; + rl::setShapesTexture(font.texture, fontWhiteRec); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/libraries/raygui.c3l/linux-x64/.gitkeep b/libraries/raygui.c3l/linux-x64/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/libraries/raygui.c3l/linux-x64/libraygui.a b/libraries/raygui.c3l/linux-x64/libraygui.a new file mode 100755 index 0000000..53de80f Binary files /dev/null and b/libraries/raygui.c3l/linux-x64/libraygui.a differ diff --git a/libraries/raygui.c3l/macos-aarch64/.gitkeep b/libraries/raygui.c3l/macos-aarch64/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/libraries/raygui.c3l/macos-x64/.gitkeep b/libraries/raygui.c3l/macos-x64/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/libraries/raygui.c3l/manifest.json b/libraries/raygui.c3l/manifest.json new file mode 100644 index 0000000..c5235c9 --- /dev/null +++ b/libraries/raygui.c3l/manifest.json @@ -0,0 +1,27 @@ +{ + "provides" : "raygui", + "targets" : { + "macos-x64" : { + "link-args" : [], + "dependencies" : [], + "linked-libraries" : ["raygui", "Cocoa.framework", "OpenGL.framework", "CoreVideo.framework", "GLUT.framework", "IOKit.framework", "c"] + }, + "macos-aarch64" : { + "link-args" : [], + "dependencies" : [], + "linked-libraries" : ["raygui", "Cocoa.framework", "OpenGL.framework", "CoreVideo.framework", "GLUT.framework", "IOKit.framework", "c"] + }, + "linux-x64" : { + "link-args" : [], + "dependencies" : [], + "linked-libraries" : ["raygui", "GLESv2", "glfw", "c"] + }, + "windows-x64" : { + "linked-libraries" : ["raygui", "opengl32", "kernel32", "user32", "gdi32", "winmm", "winspool", "comdlg32", "advapi32", "shell32", "ole32", "oleaut32", "uuid", "odbc32", "odbccp32"], + "wincrt": "none" + }, + "wasm32" : { + "linked-libraries" : ["raygui"] + } + } +} diff --git a/libraries/raygui.c3l/raygui.c3i b/libraries/raygui.c3l/raygui.c3i new file mode 100644 index 0000000..480dfcd --- /dev/null +++ b/libraries/raygui.c3l/raygui.c3i @@ -0,0 +1,529 @@ +module raygui::rg; +import raylib5::rl; + +const RAYGUI_VERSION_MAJOR = 4; +const RAYGUI_VERSION_MINOR = 0; +const RAYGUI_VERSION_PATCH = 0; +const RAYGUI_VERSION = "4.0"; + +const SCROLLBAR_LEFT_SIDE @builtin = 0; +const SCROLLBAR_RIGHT_SIDE @builtin = 1; + +// Style property +// NOTE: Used when exporting style as code for convenience +struct GuiStyleProp { + GuiControl controlId; // Control identifier + GuiControlProperty propertyId; // Property identifier + CInt propertyValue; // Property value +} + + +// Controls text style -NOT USED- +// NOTE: Text style is defined by control +struct GuiTextStyle { + CUInt size; + CInt charSpacing; + CInt lineSpacing; + CInt alignmentH; + CInt alignmentV; + CInt padding; +} + + +// Gui control state +enum GuiState { + STATE_NORMAL, + STATE_FOCUSED, + STATE_PRESSED, + STATE_DISABLED +} + +// Gui control text alignment +enum GuiTextAlignment { + TEXT_ALIGN_LEFT, + TEXT_ALIGN_CENTER, + TEXT_ALIGN_RIGHT +} + +// Gui control text alignment vertical +// NOTE: Text vertical position inside the text bounds +enum GuiTextAlignmentVertical { + TEXT_ALIGN_TOP, + TEXT_ALIGN_MIDDLE, + TEXT_ALIGN_BOTTOM +} + +// Gui control text wrap mode +// NOTE: Useful for multiline text +enum GuiTextWrapMode { + TEXT_WRAP_NONE, + TEXT_WRAP_CHAR, + TEXT_WRAP_WORD +} + +// Gui controls +enum GuiControl : CUShort { + // Default -> populates to all controls when set + DEFAULT, + + // Basic controls + LABEL, // Used also for: LABELBUTTON + BUTTON, + TOGGLE, // Used also for: TOGGLEGROUP + SLIDER, // Used also for: SLIDERBAR, TOGGLESLIDER + PROGRESSBAR, + CHECKBOX, + COMBOBOX, + DROPDOWNBOX, + TEXTBOX, // Used also for: TEXTBOXMULTI + VALUEBOX, + SPINNER, // Uses: BUTTON, VALUEBOX + LISTVIEW, + COLORPICKER, + SCROLLBAR, + STATUSBAR +} + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- + +// Global gui state control functions +extern fn void guiEnable() @extern("GuiEnable"); // Enable gui controls (global state) +extern fn void guiDisable() @extern("GuiDisable"); // Disable gui controls (global state) +extern fn void guiLock() @extern("GuiLock"); // Lock gui controls (global state) +extern fn void guiUnlock() @extern("GuiUnlock"); // Unlock gui controls (global state) +extern fn bool guiIsLocked() @extern("GuiIsLocked"); // Check if gui is locked (global state) +extern fn void guiSetAlpha(float alpha) @extern("GuiSetAlpha"); // Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f +extern fn void guiSetState(GuiState state) @extern("GuiSetState"); // Set gui state (global state) +extern fn GuiState guiGetState() @extern("GuiGetState"); // Get gui state (global state) + +// Font set/get functions +extern fn void guiSetFont(Font font) @extern("GuiSetFont"); // Set gui custom font (global state) +extern fn Font guiGetFont() @extern("GuiGetFont"); // Get gui custom font (global state) + +// Style set/get functions +extern fn void guiSetStyle(GuiControl control, GuiControlProperty property, CInt value) @extern("GuiSetStyle"); // Set one style property +extern fn CInt guiGetStyle(GuiControl control, GuiControlProperty property) @extern("GuiGetStyle"); // Get one style property + +// Styles loading functions +extern fn void guiLoadStyle(char *fileName) @extern("GuiLoadStyle"); // Load style file over global style variable (.rgs) +extern fn void guiLoadStyleDefault() @extern("GuiLoadStyleDefault"); // Load style default over global style + +// Tooltips management functions +extern fn void guiEnableTooltip() @extern("GuiEnableTooltip"); // Enable gui tooltips (global state) +extern fn void guiDisableTooltip() @extern("GuiDisableTooltip"); // Disable gui tooltips (global state) +extern fn void guiSetTooltip(char *tooltip) @extern("GuiSetTooltip"); // Set tooltip string + +// Icons functionality +extern fn char *guiIconText (GuiIconName iconId, char *text) @extern("GuiIconText"); // Get text with icon id prepended (if supported) +extern fn void guiSetIconScale(CInt scale) @extern("GuiSetIconScale"); // Set default icon drawing size +extern fn CUInt *guiGetIcons() @extern("GuiGetIcons"); // Get raygui icons data pointer +extern fn char **guiLoadIcons(char *fileName, bool loadIconsName) @extern("GuiLoadIcons"); // Load raygui icons file (.rgi) into internal icons data +extern fn void guiDrawIcon(GuiIconName iconId, CInt posX, CInt posY, CInt pixelSize, Color color) @extern("GuiDrawIcon"); // Draw icon using pixel size at specified position + + +// Controls +//---------------------------------------------------------------------------------------------------------- +// Container/separator controls, useful for controls organization +extern fn bool guiWindowBox(Rectangle bounds, char *title) @extern("GuiWindowBox"); // Window Box control, shows a window that can be closed +extern fn bool guiGroupBox(Rectangle bounds, char *text) @extern("GuiGroupBox"); // Group Box control with text name +extern fn bool guiLine(Rectangle bounds, char *text) @extern("GuiLine"); // Line separator control, could contain text +extern fn bool guiPanel(Rectangle bounds, char *text) @extern("GuiPanel"); // Panel control, useful to group controls +extern fn bool guiTabBar(Rectangle bounds, char **text, CInt count, CInt *active) @extern("GuiTabBar"); // Tab Bar control, returns TAB to be closed or -1 +extern fn bool guiScrollPanel(Rectangle bounds, char *text, Rectangle content, Vector2 *scroll, Rectangle *view) @extern("GuiScrollPanel"); // Scroll Panel control + +// Basic controls set +extern fn bool guiLabel(Rectangle bounds, char *text) @extern("GuiLabel"); // Label control, shows text +extern fn bool guiButton(Rectangle bounds, char *text) @extern("GuiButton"); // Button control, returns true when clicked +extern fn bool guiLabelButton(Rectangle bounds, char *text) @extern("GuiLabelButton"); // Label button control, show true when clicked +extern fn bool guiToggle(Rectangle bounds, char *text, bool *active) @extern("GuiToggle"); // Toggle Button control, returns true when active +extern fn bool guiToggleGroup(Rectangle bounds, char *text, CInt *active) @extern("GuiToggleGroup"); // Toggle Group control, returns active toggle index +extern fn bool guiToggleSlider(Rectangle bounds, char *text, CInt *active) @extern("GuiToggleSlider"); // Toggle Slider control, returns true when clicked +extern fn bool guiCheckBox(Rectangle bounds, char *text, bool *checked) @extern("GuiCheckBox"); // Check Box control, returns true when active +extern fn bool guiComboBox(Rectangle bounds, char *text, CInt *active) @extern("GuiComboBox"); // Combo Box control, returns selected item index + +extern fn bool guiDropdownBox(Rectangle bounds, char *text, CInt *active, bool editMode) @extern("GuiDropdownBox"); // Dropdown Box control, returns selected item +extern fn bool guiSpinner(Rectangle bounds, char *text, CInt *value, CInt minValue, CInt maxValue, bool editMode) @extern("GuiSpinner"); // Spinner control, returns selected value +extern fn bool guiValueBox(Rectangle bounds, char *text, CInt *value, CInt minValue, CInt maxValue, bool editMode) @extern("GuiValueBox"); // Value Box control, updates input text with numbers +extern fn bool guiTextBox(Rectangle bounds, char *text, CInt textSize, bool editMode) @extern("GuiTextBox"); // Text Box control, updates input text + +extern fn bool guiSlider(Rectangle bounds, char *textLeft, char *textRight, float *value, float minValue, float maxValue) @extern("GuiSlider"); // Slider control, returns selected value +extern fn bool guiSliderBar(Rectangle bounds, char *textLeft, char *textRight, float *value, float minValue, float maxValue) @extern("GuiSliderBar"); // Slider Bar control, returns selected value +extern fn bool guiProgressBar(Rectangle bounds, char *textLeft, char *textRight, float *value, float minValue, float maxValue) @extern("GuiProgressBar"); // Progress Bar control, shows current progress value +extern fn bool guiStatusBar(Rectangle bounds, char *text) @extern("GuiStatusBar"); // Status Bar control, shows info text +extern fn bool guiDummyRec(Rectangle bounds, char *text) @extern("GuiDummyRec"); // Dummy control for placeholders +extern fn bool guiGrid(Rectangle bounds, char *text, float spacing, CInt subdivs, Vector2 *mouseCell) @extern("GuiGrid"); // Grid control, returns mouse cell position + +// Advance controls set +extern fn CInt guiListView(Rectangle bounds, char *text, CInt *scrollIndex, CInt *active) @extern("GuiListView"); // List View control, returns selected list item index +extern fn CInt guiListViewEx(Rectangle bounds, char **text, CInt count, CInt *scrollIndex, CInt *active, CInt *focus) @extern("GuiListViewEx"); // List View with extended parameters +extern fn CInt guiMessageBox(Rectangle bounds, char *title, char *message, char *buttons) @extern("GuiMessageBox"); // Message Box control, displays a message +extern fn CInt guiTextInputBox(Rectangle bounds, char *title, char *message, char *buttons, char *text, CInt textMaxSize, bool *secretViewActive) @extern("GuiTextInputBox"); // Text Input Box control, ask for text, supports secret +extern fn CInt guiColorPicker(Rectangle bounds, char *text, Color *color) @extern("GuiColorPicker"); // Color Picker control (multiple color controls) +extern fn CInt guiColorPanel(Rectangle bounds, char *text, Color *color) @extern("GuiColorPanel"); // Color Panel control +extern fn CInt guiColorBarAlpha(Rectangle bounds, char *text, float *alpha) @extern("GuiColorBarAlpha"); // Color Bar Alpha control +extern fn CInt guiColorBarHue(Rectangle bounds, char *text, float *value) @extern("GuiColorBarHue"); // Color Bar Hue control +extern fn CInt guiColorPickerHSV(Rectangle bounds, char *text, Vector3 *colorHsv) @extern("GuiColorPickerHSV"); // Color Picker control that avoids conversion to RGB on each call (multiple color controls) +extern fn CInt guiColorPanelHSV(Rectangle bounds, char *text, Vector3 *colorHsv) @extern("GuiColorPanelHSV"); // Color Panel control that returns HSV color value, used by GuiColorPickerHSV() +//---------------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------- +// Icons enumeration +//---------------------------------------------------------------------------------- +enum GuiIconName { + ICON_NONE, + FOLDER_FILE_OPEN, + FILE_SAVE_CLASSIC, + FOLDER_OPEN, + FOLDER_SAVE, + FILE_OPEN, + FILE_SAVE, + FILE_EXPORT, + FILE_ADD, + FILE_DELETE, + FILETYPE_TEXT, + FILETYPE_AUDIO, + FILETYPE_IMAGE, + FILETYPE_PLAY, + FILETYPE_VIDEO, + FILETYPE_INFO, + FILE_COPY, + FILE_CUT, + FILE_PASTE, + CURSOR_HAND, + CURSOR_POINTER, + CURSOR_CLASSIC, + PENCIL, + PENCIL_BIG, + BRUSH_CLASSIC, + BRUSH_PAINTER, + WATER_DROP, + COLOR_PICKER, + RUBBER, + COLOR_BUCKET, + TEXT_T, + TEXT_A, + SCALE, + RESIZE, + FILTER_POINT, + FILTER_BILINEAR, + CROP, + CROP_ALPHA, + SQUARE_TOGGLE, + SYMMETRY, + SYMMETRY_HORIZONTAL, + SYMMETRY_VERTICAL, + LENS, + LENS_BIG, + EYE_ON, + EYE_OFF, + FILTER_TOP, + FILTER, + TARGET_POINT, + TARGET_SMALL, + TARGET_BIG, + TARGET_MOVE, + CURSOR_MOVE, + CURSOR_SCALE, + CURSOR_SCALE_RIGHT, + CURSOR_SCALE_LEFT, + UNDO, + REDO, + REREDO, + MUTATE, + ROTATE, + REPEAT, + SHUFFLE, + EMPTYBOX, + TARGET, + TARGET_SMALL_FILL, + TARGET_BIG_FILL, + TARGET_MOVE_FILL, + CURSOR_MOVE_FILL, + CURSOR_SCALE_FILL, + CURSOR_SCALE_RIGHT_FILL, + CURSOR_SCALE_LEFT_FILL, + UNDO_FILL, + REDO_FILL, + REREDO_FILL, + MUTATE_FILL, + ROTATE_FILL, + REPEAT_FILL, + SHUFFLE_FILL, + EMPTYBOX_SMALL, + BOX, + BOX_TOP, + BOX_TOP_RIGHT, + BOX_RIGHT, + BOX_BOTTOM_RIGHT, + BOX_BOTTOM, + BOX_BOTTOM_LEFT, + BOX_LEFT, + BOX_TOP_LEFT, + BOX_CENTER, + BOX_CIRCLE_MASK, + POT, + ALPHA_MULTIPLY, + ALPHA_CLEAR, + DITHERING, + MIPMAPS, + BOX_GRID, + GRID, + BOX_CORNERS_SMALL, + BOX_CORNERS_BIG, + FOUR_BOXES, + GRID_FILL, + BOX_MULTISIZE, + ZOOM_SMALL, + ZOOM_MEDIUM, + ZOOM_BIG, + ZOOM_ALL, + ZOOM_CENTER, + BOX_DOTS_SMALL, + BOX_DOTS_BIG, + BOX_CONCENTRIC, + BOX_GRID_BIG, + OK_TICK, + CROSS, + ARROW_LEFT, + ARROW_RIGHT, + ARROW_DOWN, + ARROW_UP, + ARROW_LEFT_FILL, + ARROW_RIGHT_FILL, + ARROW_DOWN_FILL, + ARROW_UP_FILL, + AUDIO, + FX, + WAVE, + WAVE_SINUS, + WAVE_SQUARE, + WAVE_TRIANGULAR, + CROSS_SMALL, + PLAYER_PREVIOUS, + PLAYER_PLAY_BACK, + PLAYER_PLAY, + PLAYER_PAUSE, + PLAYER_STOP, + PLAYER_NEXT, + PLAYER_RECORD, + MAGNET, + LOCK_CLOSE, + LOCK_OPEN, + CLOCK, + TOOLS, + GEAR, + GEAR_BIG, + BIN, + HAND_POINTER, + LASER, + COIN, + EXPLOSION, + // NOTE: 1UP + ONEUP, + PLAYER, + PLAYER_JUMP, + KEY, + DEMON, + TEXT_POPUP, + GEAR_EX, + CRACK, + CRACK_POINTS, + STAR, + DOOR, + EXIT, + MODE_2D, + MODE_3D, + CUBE, + CUBE_FACE_TOP, + CUBE_FACE_LEFT, + CUBE_FACE_FRONT, + CUBE_FACE_BOTTOM, + CUBE_FACE_RIGHT, + CUBE_FACE_BACK, + CAMERA, + SPECIAL, + LINK_NET, + LINK_BOXES, + LINK_MULTI, + LINK, + LINK_BROKE, + TEXT_NOTES, + NOTEBOOK, + SUITCASE, + SUITCASE_ZIP, + MAILBOX, + MONITOR, + PRINTER, + PHOTO_CAMERA, + PHOTO_CAMERA_FLASH, + HOUSE, + HEART, + CORNER, + VERTICAL_BARS, + VERTICAL_BARS_FILL, + LIFE_BARS, + INFO, + CROSSLINE, + HELP, + FILETYPE_ALPHA, + FILETYPE_HOME, + LAYERS_VISIBLE, + LAYERS, + WINDOW, + HIDPI, + FILETYPE_BINARY, + HEX, + SHIELD, + FILE_NEW, + FOLDER_ADD, + ALARM, + CPU, + ROM, + STEP_OVER, + STEP_INTO, + STEP_OUT, + RESTART, + BREAKPOINT_ON, + BREAKPOINT_OFF, + BURGER_MENU, + CASE_SENSITIVE, + REG_EXP, + FOLDER, + FILE, + SAND_TIMER, + ICON_220, + ICON_221, + ICON_222, + ICON_223, + ICON_224, + ICON_225, + ICON_226, + ICON_227, + ICON_228, + ICON_229, + ICON_230, + ICON_231, + ICON_232, + ICON_233, + ICON_234, + ICON_235, + ICON_236, + ICON_237, + ICON_238, + ICON_239, + ICON_240, + ICON_241, + ICON_242, + ICON_243, + ICON_244, + ICON_245, + ICON_246, + ICON_247, + ICON_248, + ICON_249, + ICON_250, + ICON_251, + ICON_252, + ICON_253, + ICON_254, + ICON_255, +} + +const TEXT_SIZE = 16; // Text size (glyphs max height) +const TEXT_SPACING = 17; // Text spacing between glyphs +const LINE_COLOR = 18; // Line control color +const BACKGROUND_COLOR = 19; // Background color +const TEXT_LINE_SPACING = 20; // Text spacing between lines +const TEXT_ALIGNMENT_VERTICAL = 21; // Text vertical alignment inside text bounds (after border and padding) +const TEXT_WRAP_MODE = 22; // Text wrap-mode inside text bounds +// //TEXT_DECORATION // Text decoration: 0-None, 1-Underline, 2-Line-through, 3-Overline +// //TEXT_DECORATION_THICK // Text decoration line thikness + + +// Other possible text properties: +// TEXT_WEIGHT // Normal, Italic, Bold -> Requires specific font change +// TEXT_INDENT // Text indentation -> Now using TEXT_PADDING... + + +distinct GuiControlProperty = CInt; +module raygui::rg::property_element; + +const GuiControlProperty BORDER = 0; +const GuiControlProperty BASE = 1; +const GuiControlProperty TEXT = 2; +const GuiControlProperty OTHER = 3; + +module raygui::rg::control_property; + +const GuiControlProperty BORDER_COLOR_NORMAL = 0; // Control border color in STATE_NORMAL +const GuiControlProperty BASE_COLOR_NORMAL = 1; // Control base color in STATE_NORMAL +const GuiControlProperty TEXT_COLOR_NORMAL = 2; // Control text color in STATE_NORMAL +const GuiControlProperty BORDER_COLOR_FOCUSED = 3; // Control border color in STATE_FOCUSED +const GuiControlProperty BASE_COLOR_FOCUSED = 4; // Control base color in STATE_FOCUSED +const GuiControlProperty TEXT_COLOR_FOCUSED = 5; // Control text color in STATE_FOCUSED +const GuiControlProperty BORDER_COLOR_PRESSED = 6; // Control border color in STATE_PRESSED +const GuiControlProperty BASE_COLOR_PRESSED = 7; // Control base color in STATE_PRESSED +const GuiControlProperty TEXT_COLOR_PRESSED = 8; // Control text color in STATE_PRESSED +const GuiControlProperty BORDER_COLOR_DISABLED = 9; // Control border color in STATE_DISABLED +const GuiControlProperty BASE_COLOR_DISABLED = 10; // Control base color in STATE_DISABLED +const GuiControlProperty TEXT_COLOR_DISABLED = 11; // Control text color in STATE_DISABLED +const GuiControlProperty BORDER_WIDTH = 12; // Control border size, 0 for no border + +const GuiControlProperty TEXT_PADDING = 13; // Control text padding, not considering border +const GuiControlProperty TEXT_ALIGNMENT = 14; // Control text horizontal alignment inside control text bound (after border and padding) + +const GuiControlProperty GROUP_PADDING = 16; // ToggleGroup separation between toggles + +// Slider/SliderBar +const GuiControlProperty SLIDER_WIDTH = 16; // Slider size of internal bar +const GuiControlProperty SLIDER_PADDING = 17; // Slider/SliderBar internal bar padding + +// ProgressBar +const GuiControlProperty PROGRESS_PADDING = 16; // ProgressBar internal padding + +// ScrollBar +const GuiControlProperty ARROWS_SIZE = 16; // ScrollBar arrows size +const GuiControlProperty ARROWS_VISIBLE = 17; // ScrollBar arrows visible +const GuiControlProperty SCROLL_SLIDER_PADDING = 18; // ScrollBar slider internal padding +const GuiControlProperty SCROLL_SLIDER_SIZE = 19; // ScrollBar slider size +const GuiControlProperty SCROLL_PADDING = 20; // ScrollBar scroll padding from arrows +const GuiControlProperty SCROLL_SPEED = 21; // ScrollBar scrolling speed + +// CheckBox +const GuiControlProperty CHECK_PADDING = 16; // CheckBox internal check padding + + +// ComboBox +const GuiControlProperty COMBO_BUTTON_WIDTH = 16; // ComboBox right button width +const GuiControlProperty COMBO_BUTTON_SPACING = 17; // ComboBox button separation + +// DropdownBox +const GuiControlProperty ARROW_PADDING = 16; // DropdownBox arrow separation from border and items +const GuiControlProperty DROPDOWN_ITEMS_SPACING = 17; // DropdownBox items separation + +// TextBox/TextBoxMulti/ValueBox/Spinner +const GuiControlProperty TEXT_READONLY = 16; // TextBox in read-only mode: 0-text editable, 1-text no-editable + +// Spinner +const GuiControlProperty SPIN_BUTTON_WIDTH = 16; // Spinner left/right buttons width +const GuiControlProperty SPIN_BUTTON_SPACING = 17; // Spinner buttons separation + +// ListView +const GuiControlProperty LIST_ITEMS_HEIGHT = 16; // ListView items height +const GuiControlProperty LIST_ITEMS_SPACING = 17; // ListView items separation +const GuiControlProperty SCROLLBAR_WIDTH = 18; // ListView scrollbar size (usually width) +const GuiControlProperty SCROLLBAR_SIDE = 19; // ListView scrollbar side (0-SCROLLBAR_LEFT_SIDE, 1-SCROLLBAR_RIGHT_SIDE) + +// ColorPicker +const GuiControlProperty COLOR_SELECTOR_SIZE = 16; +const GuiControlProperty HUEBAR_WIDTH = 17; // ColorPicker right hue bar width +const GuiControlProperty HUEBAR_PADDING = 18; // ColorPicker right hue bar separation from panel +const GuiControlProperty HUEBAR_SELECTOR_HEIGHT = 19; // ColorPicker right hue bar selector height +const GuiControlProperty HUEBAR_SELECTOR_OVERFLOW = 20; // ColorPicker right hue bar selector overflow diff --git a/libraries/raygui.c3l/windows-x64/.gitkeep b/libraries/raygui.c3l/windows-x64/.gitkeep new file mode 100644 index 0000000..e69de29