Compare commits
116 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 25c8c65a6e | |||
| 268d8bfedd | |||
| d0e7a05f9a | |||
| db466282f8 | |||
| d5e9323ba9 | |||
| 9907803626 | |||
| d2b4c917a9 | |||
| 3f4c84b731 | |||
| 617dc15209 | |||
| ac342b9ce8 | |||
| aadd9bd3b3 | |||
| 72f61056bf | |||
| ec688eced3 | |||
| 38839e4aa1 | |||
| 405e71f524 | |||
| b1b46932fb | |||
| 854351a42a | |||
| 07a80c6828 | |||
| 5a1be66c8a | |||
| 84f2588a4f | |||
| c37013e10b | |||
| 44d8a6ac55 | |||
| ed545e4d7b | |||
| 7746bf39a0 | |||
| 7b823e0c53 | |||
| b9c28b4a3c | |||
| 7417b308af | |||
| 0fccdc61fb | |||
| d6c317f719 | |||
| 25ffd1fe0b | |||
| 1af7a875fc | |||
| e97226cd04 | |||
| 33f43fee2c | |||
| 6f9a8088f2 | |||
| 7f275f4f8c | |||
| 2955c676ce | |||
| 718b5830d3 | |||
| 8d9a4b537f | |||
| abf35d8895 | |||
| 12fc56e5e1 | |||
| 0938f9219c | |||
| 35df0d3d28 | |||
| bced15ec96 | |||
| 80b4d6ec06 | |||
| e569da6a87 | |||
| 3b8164216b | |||
| 1a786bc9b7 | |||
| d7eb8a7ec5 | |||
| df543bafad | |||
| 1ad1907dc1 | |||
| da377d736d | |||
| e830109d52 | |||
| 9bf3ef57a5 | |||
| 41417db52d | |||
| a589af0a67 | |||
| f09b9a546a | |||
| 3174613820 | |||
| 2b4d558d31 | |||
| 96278a4d08 | |||
| f8966405ac | |||
| 7567816d3e | |||
| 3d20f06bf2 | |||
| eca6b1a7ff | |||
| c8260e22de | |||
| 050249b2e5 | |||
| 36365199b1 | |||
| 1d5e69fc42 | |||
| 3e7defc05a | |||
| f62241d5d1 | |||
| 02cdb87fb2 | |||
| ccc9b55e82 | |||
| 848569ce33 | |||
| 89f9d94c6b | |||
| d54103a1c9 | |||
| b850edc733 | |||
| 670a5deb48 | |||
| df5ee2a420 | |||
| 0309c751b5 | |||
| 8041f9d3d7 | |||
| 9a3ba8ba1f | |||
| 7373f3677d | |||
| 6111ae9ac1 | |||
| 328f46649b | |||
| a234fab333 | |||
| c480013f73 | |||
| e7518232eb | |||
| 9a2605d461 | |||
| d6f3cdc15c | |||
| 8fef0f4fc0 | |||
| fa1c93cdcc | |||
| 1902a2b2e5 | |||
| 32ae0cf716 | |||
| 7f70abc5db | |||
| b6db462f72 | |||
| e6860d2e06 | |||
| c17e0cd5d9 | |||
| df65b05208 | |||
| 812408c828 | |||
| b9991686d5 | |||
| 83e6cae9e4 | |||
| de7d3de282 | |||
| 3c5b5121bc | |||
| 5e77b2ca6f | |||
| 37deba27a8 | |||
| d72e70b410 | |||
| 29a230929d | |||
| 935b8119e9 | |||
| 4f48e5a3c7 | |||
| 6650ad0ffa | |||
| 2648c771e7 | |||
| ce358972ef | |||
| ae38f05811 | |||
| 1af9a3960a | |||
| 6e4530330d | |||
| 135718ee04 | |||
| 78ad65365e |
16
README.md
@ -10,9 +10,11 @@
|
|||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
**WARNING: Latest `raygui` from master branch is always aligned with latest `raylib` from master branch.**
|
**WARNING: Latest `raygui` from master branch is always aligned with latest `raylib` from master branch. Make sure to use the appropiate versions.**
|
||||||
|
|
||||||
**Make sure to use the appropiate versions.**
|
**WARNING: Master branch now contains raygui 4.0-dev, it is an API-BREAKING redesign from previous versions (3.x), now all functions are more consistent and coherent, you can read the details about this breaking change in issue [283](https://github.com/raysan5/raygui/issues/283)**
|
||||||
|
|
||||||
|
*NOTE: raygui is a single-file header-only library (despite its internal dependency on raylib), so, functions definition AND implementation reside in the same file `raygui.h`, when including `raygui.h` in a module, `RAYGUI_IMPLEMENTATION` must be previously defined to include the implementation part of `raygui.h` BUT only in one compilation unit, other modules could also include `raygui.h` but `RAYGUI_IMPLEMENTATION` must not be defined again.*
|
||||||
|
|
||||||
## features
|
## features
|
||||||
|
|
||||||
@ -27,13 +29,13 @@
|
|||||||
|
|
||||||
### basic controls
|
### basic controls
|
||||||
```
|
```
|
||||||
Label | Button | LabelButton | Toggle | ToggleGroup | CheckBox
|
Label | Button | LabelButton | Toggle | ToggleGroup | ToggleSlider
|
||||||
ComboBox | DropdownBox | TextBox | ValueBox | Spinner
|
CheckBox | ComboBox | DropdownBox | TextBox | ValueBox | Spinner
|
||||||
Slider | SliderBar | ProgressBar | StatusBar | DummyRec | Grid
|
Slider | SliderBar | ProgressBar | StatusBar | DummyRec | Grid
|
||||||
```
|
```
|
||||||
### container/separator controls
|
### container/separator controls
|
||||||
```
|
```
|
||||||
WindowBox | GroupBox | Line | Panel | ScrollPanel | TabBar
|
WindowBox | GroupBox | Line | Panel | ScrollPanel | TabBar
|
||||||
```
|
```
|
||||||
### advanced controls
|
### advanced controls
|
||||||
```
|
```
|
||||||
@ -45,7 +47,7 @@ ListView | ColorPicker | MessageBox | TextInputBox
|
|||||||
|
|
||||||
`raygui` comes with a [default](styles/default) style automatically loaded at runtime:
|
`raygui` comes with a [default](styles/default) style automatically loaded at runtime:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Some additional styles are also provided for convenience, just check [styles directory](styles) for details:
|
Some additional styles are also provided for convenience, just check [styles directory](styles) for details:
|
||||||
|
|
||||||
|
|||||||
@ -348,6 +348,7 @@ endif
|
|||||||
EXAMPLES = \
|
EXAMPLES = \
|
||||||
controls_test_suite/controls_test_suite \
|
controls_test_suite/controls_test_suite \
|
||||||
custom_file_dialog/custom_file_dialog \
|
custom_file_dialog/custom_file_dialog \
|
||||||
|
custom_input_box/custom_input_box\
|
||||||
image_exporter/image_exporter \
|
image_exporter/image_exporter \
|
||||||
image_importer_raw/image_importer_raw \
|
image_importer_raw/image_importer_raw \
|
||||||
property_list/property_list \
|
property_list/property_list \
|
||||||
|
|||||||
@ -22,23 +22,22 @@
|
|||||||
#include "../../src/raygui.h"
|
#include "../../src/raygui.h"
|
||||||
|
|
||||||
// raygui embedded styles
|
// raygui embedded styles
|
||||||
#include "../style_selector/styles/style_cyber.h" // raygui style: cyber
|
#include "../../styles/cyber/cyber.h" // raygui style: cyber
|
||||||
#include "../style_selector/styles/style_jungle.h" // raygui style: jungle
|
#include "../../styles/jungle/jungle.h" // raygui style: jungle
|
||||||
#include "../style_selector/styles/style_lavanda.h" // raygui style: lavanda
|
#include "../../styles/lavanda/lavanda.h" // raygui style: lavanda
|
||||||
#include "../style_selector/styles/style_dark.h" // raygui style: dark
|
#include "../../styles/dark/dark.h" // raygui style: dark
|
||||||
#include "../style_selector/styles/style_bluish.h" // raygui style: bluish
|
#include "../../styles/bluish/bluish.h" // raygui style: bluish
|
||||||
#include "../style_selector/styles/style_terminal.h" // raygui style: terminal
|
#include "../../styles/terminal/terminal.h" // raygui style: terminal
|
||||||
|
|
||||||
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
|
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
|
||||||
|
|
||||||
#define GUI_CURVE_EDIT_IMPLEMENTATION
|
#define GUI_CURVE_EDITOR_IMPLEMENTATION
|
||||||
#include "gui_curve_edit.h"
|
#include "gui_curve_editor.h"
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Helper function
|
// Helper function
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
|
void LoadCurveDefaults(GuiCurveEditorState curves[]);
|
||||||
void LoadDefaults(GuiCurveEditState curves[]);
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Program main entry point
|
// Program main entry point
|
||||||
@ -50,7 +49,7 @@ int main()
|
|||||||
const int screenWidth = 800;
|
const int screenWidth = 800;
|
||||||
const int screenHeight = 540;
|
const int screenHeight = 540;
|
||||||
|
|
||||||
InitWindow(screenWidth, screenHeight, "Animation curves");
|
InitWindow(screenWidth, screenHeight, "raygui - animation curves");
|
||||||
SetTargetFPS(60);
|
SetTargetFPS(60);
|
||||||
|
|
||||||
// Gui style
|
// Gui style
|
||||||
@ -62,32 +61,33 @@ int main()
|
|||||||
const float margin = 8;
|
const float margin = 8;
|
||||||
|
|
||||||
// Gui states
|
// Gui states
|
||||||
Vector2 scrollOffset = (Vector2) {0,0};
|
Vector2 scrollOffset = (Vector2){ 0, 0 };
|
||||||
Rectangle contentRect = (Rectangle) {0,0,0,0};
|
Rectangle contentRect = (Rectangle){ 0, 0, 0, 0 };
|
||||||
bool moveSlider = false;
|
bool moveSlider = false;
|
||||||
bool sectionActive[5] = {false};
|
bool sectionActive[5] = { 0 };
|
||||||
sectionActive[0] = true;
|
sectionActive[0] = true;
|
||||||
const char* sectionNames[5] = {"X Position", "Y Position", "Width", "Height", "Rotation"};
|
const char *sectionNames[5] = { "X Position", "Y Position", "Width", "Height", "Rotation" };
|
||||||
bool editValueBox[5][4] = {false};
|
bool editValueBox[5][4] = { 0 };
|
||||||
char* valTextBox[5][4][20];
|
char *valTextBox[5][4][20] = { 0 };
|
||||||
bool playAnimation = true;
|
bool playAnimation = true;
|
||||||
bool showHelp = true;
|
bool showHelp = true;
|
||||||
|
|
||||||
Rectangle settingsRect = (Rectangle) {screenWidth-screenWidth/3, 0, screenWidth/3, screenHeight};
|
Rectangle settingsRect = (Rectangle){ screenWidth - screenWidth/3, 0, screenWidth/3, screenHeight };
|
||||||
|
|
||||||
// Animation curves
|
// Animation curves
|
||||||
// 0 -> Ball X position
|
// 0 -> Ball X position
|
||||||
// 1 -> Ball Y position
|
// 1 -> Ball Y position
|
||||||
// 2 -> Ball Width
|
// 2 -> Ball Width
|
||||||
// 3 -> Ball Height
|
// 3 -> Ball Height
|
||||||
// 4 -> Ball rotation
|
// 4 -> Ball rotation
|
||||||
GuiCurveEditState curves[5];
|
GuiCurveEditorState curves[5] = { 0 };
|
||||||
LoadDefaults(curves);
|
LoadCurveDefaults(curves);
|
||||||
|
|
||||||
// Animation time
|
|
||||||
float time = 0.f;
|
|
||||||
float animationTime = 4.f;
|
|
||||||
|
|
||||||
|
// Animation time
|
||||||
|
float time = 0.0f;
|
||||||
|
float animationTime = 4.0f;
|
||||||
|
|
||||||
|
//SetTargetFPS(60);
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
// Main game loop
|
// Main game loop
|
||||||
@ -95,22 +95,20 @@ int main()
|
|||||||
{
|
{
|
||||||
// Update
|
// Update
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
if (playAnimation) time += GetFrameTime();
|
||||||
if(playAnimation)
|
|
||||||
time += GetFrameTime();
|
|
||||||
|
|
||||||
// Reset timer
|
// Reset timer
|
||||||
if(time > animationTime)
|
if (time > animationTime) time = 0;
|
||||||
time = 0;
|
|
||||||
|
|
||||||
// Ball animation
|
// Ball animation
|
||||||
const float t = time / animationTime;
|
const float t = time/animationTime;
|
||||||
Vector2 ballPos = (Vector2) {EvalGuiCurve(&curves[0], t), EvalGuiCurve(&curves[1], t)};
|
Vector2 ballPos = (Vector2){ GuiCurveEval(&curves[0], t), GuiCurveEval(&curves[1], t) };
|
||||||
Vector2 ballSize = (Vector2) {EvalGuiCurve(&curves[2], t), EvalGuiCurve(&curves[3], t)};
|
Vector2 ballSize = (Vector2){ GuiCurveEval(&curves[2], t), GuiCurveEval(&curves[3], t) };
|
||||||
float ballRotation = EvalGuiCurve(&curves[4], t);
|
float ballRotation = GuiCurveEval(&curves[4], t);
|
||||||
|
|
||||||
// Update style
|
// Update style
|
||||||
if(visualStyleActive != prevVisualStyleActive){
|
if (visualStyleActive != prevVisualStyleActive)
|
||||||
|
{
|
||||||
switch (visualStyleActive)
|
switch (visualStyleActive)
|
||||||
{
|
{
|
||||||
case 0: GuiLoadStyleDefault(); break;
|
case 0: GuiLoadStyleDefault(); break;
|
||||||
@ -122,26 +120,25 @@ int main()
|
|||||||
case 6: GuiLoadStyleTerminal(); break;
|
case 6: GuiLoadStyleTerminal(); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fontSize = GuiGetStyle(DEFAULT, TEXT_SIZE);
|
fontSize = GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||||
prevVisualStyleActive = visualStyleActive;
|
prevVisualStyleActive = visualStyleActive;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update settings panel rect
|
// Update settings panel rect
|
||||||
Rectangle sliderRect = (Rectangle) {settingsRect.x-4, settingsRect.y, 4, settingsRect.height};
|
Rectangle sliderRect = (Rectangle){ settingsRect.x - 4, settingsRect.y, 4, settingsRect.height };
|
||||||
if(CheckCollisionPointRec(GetMousePosition(), sliderRect) && IsMouseButtonPressed(MOUSE_BUTTON_LEFT)){
|
if (CheckCollisionPointRec(GetMousePosition(), sliderRect) && IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) moveSlider = true;
|
||||||
moveSlider = true;
|
if (IsMouseButtonUp(MOUSE_BUTTON_LEFT)) moveSlider = false;
|
||||||
}
|
|
||||||
if(IsMouseButtonUp(MOUSE_BUTTON_LEFT)){
|
if (moveSlider)
|
||||||
moveSlider = false;
|
{
|
||||||
}
|
|
||||||
if(moveSlider){
|
|
||||||
settingsRect.x = GetMouseX();
|
settingsRect.x = GetMouseX();
|
||||||
|
|
||||||
// Minimum-Maximum size
|
// Minimum-Maximum size
|
||||||
if(settingsRect.x > screenWidth-4)
|
if (settingsRect.x > (screenWidth - 4)) settingsRect.x = screenWidth - 4;
|
||||||
settingsRect.x = screenWidth-4;
|
else if (settingsRect.x < 4) settingsRect.x = 4;
|
||||||
else if(settingsRect.x < 4) // width of the slider
|
|
||||||
settingsRect.x = 4;
|
settingsRect.width = screenWidth - settingsRect.x;
|
||||||
settingsRect.width = screenWidth-settingsRect.x;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -154,33 +151,30 @@ int main()
|
|||||||
|
|
||||||
// Scene
|
// Scene
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
DrawRectangle(curves[0].start, curves[1].end, curves[0].end-curves[0].start, curves[1].start-curves[1].end, BLUE); // Sky
|
||||||
|
|
||||||
// sky
|
DrawRectangle(curves[0].start, curves[1].start, curves[0].end-curves[0].start, 32, DARKGREEN); // Ground
|
||||||
DrawRectangle(curves[0].start, curves[1].end, curves[0].end-curves[0].start, curves[1].start-curves[1].end, BLUE);
|
|
||||||
|
|
||||||
// ground
|
|
||||||
DrawRectangle(curves[0].start, curves[1].start, curves[0].end-curves[0].start, 32, DARKGREEN);
|
|
||||||
|
|
||||||
BeginScissorMode(curves[0].start, curves[1].end, curves[0].end-curves[0].start, curves[1].start-curves[1].end+32);
|
BeginScissorMode(curves[0].start, curves[1].end, curves[0].end-curves[0].start, curves[1].start-curves[1].end+32);
|
||||||
// Draw ball
|
|
||||||
DrawRectanglePro((Rectangle){ballPos.x, ballPos.y, ballSize.x, ballSize.y}, (Vector2){ballSize.x/2.f,ballSize.y/2.f}, ballRotation, PINK);
|
DrawRectanglePro((Rectangle){ballPos.x, ballPos.y, ballSize.x, ballSize.y}, (Vector2){ballSize.x/2.f,ballSize.y/2.f}, ballRotation, PINK); // Ball
|
||||||
// Local origin
|
|
||||||
DrawLine(ballPos.x, ballPos.y, ballPos.x + cosf(ballRotation*DEG2RAD)*ballSize.x, ballPos.y +sinf(ballRotation*DEG2RAD)*ballSize.y, RED);
|
DrawLine(ballPos.x, ballPos.y, ballPos.x + cosf(ballRotation*DEG2RAD)*ballSize.x, ballPos.y +sinf(ballRotation*DEG2RAD)*ballSize.y, RED);
|
||||||
DrawLine(ballPos.x, ballPos.y, ballPos.x + cosf((ballRotation+90)*DEG2RAD)*ballSize.x, ballPos.y +sinf((ballRotation+90)*DEG2RAD)*ballSize.y, GREEN);
|
DrawLine(ballPos.x, ballPos.y, ballPos.x + cosf((ballRotation+90)*DEG2RAD)*ballSize.x, ballPos.y +sinf((ballRotation+90)*DEG2RAD)*ballSize.y, GREEN);
|
||||||
|
|
||||||
EndScissorMode();
|
EndScissorMode();
|
||||||
|
|
||||||
// Bounds
|
// Bounds
|
||||||
DrawRectangleLines(curves[0].start, curves[1].end, curves[0].end-curves[0].start, curves[1].start-curves[1].end+32, GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL)));
|
DrawRectangleLines(curves[0].start, curves[1].end, curves[0].end-curves[0].start, curves[1].start-curves[1].end+32, GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL)));
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
// GUI
|
// GUI
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
if (showHelp)
|
||||||
// Help window
|
{
|
||||||
if(showHelp){
|
if (GuiWindowBox((Rectangle) {margin, margin, settingsRect.x-2*margin, curves[1].end-2*margin}, "help")) showHelp = false;
|
||||||
if(GuiWindowBox((Rectangle) {margin, margin, settingsRect.x-2*margin, curves[1].end-2*margin}, "help")){
|
|
||||||
showHelp = false;
|
Rectangle helpTextRect = (Rectangle) { 2*margin, 2*margin+RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, settingsRect.x - 4 - 4*margin, 0 };
|
||||||
}
|
|
||||||
Rectangle helpTextRect = (Rectangle) {2*margin, 2*margin+RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, settingsRect.x-4-4*margin, 0};
|
|
||||||
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "Curve widget controls:");
|
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "Curve widget controls:");
|
||||||
helpTextRect.height += fontSize+margin;
|
helpTextRect.height += fontSize+margin;
|
||||||
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "- Left click to move/add point or move tangents");
|
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "- Left click to move/add point or move tangents");
|
||||||
@ -189,189 +183,194 @@ int main()
|
|||||||
helpTextRect.height += fontSize+margin/2;
|
helpTextRect.height += fontSize+margin/2;
|
||||||
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "- Right click to remove a point");
|
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "- Right click to remove a point");
|
||||||
helpTextRect.height += fontSize+margin/2;
|
helpTextRect.height += fontSize+margin/2;
|
||||||
DrawRectangleGradientV(margin, margin+curves[1].end-2*margin, settingsRect.x-2*margin, 12, (Color){0,0,0,100}, BLANK);
|
DrawRectangleGradientV(margin, margin+curves[1].end - 2*margin, settingsRect.x - 2*margin, 12, (Color){ 0,0,0,100 }, BLANK);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Settings panel
|
// Settings panel
|
||||||
GuiScrollPanel(settingsRect, "Settings", contentRect, &scrollOffset);
|
GuiScrollPanel(settingsRect, "Settings", contentRect, &scrollOffset, NULL);
|
||||||
// Clip rendering
|
|
||||||
BeginScissorMode(settingsRect.x, settingsRect.y+RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, settingsRect.width, settingsRect.height);
|
BeginScissorMode(settingsRect.x, settingsRect.y+RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, settingsRect.width, settingsRect.height);
|
||||||
|
|
||||||
// Rebuild the content Rect
|
// Rebuild the content Rect
|
||||||
contentRect = (Rectangle) {settingsRect.x+margin, RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT+margin, settingsRect.width-2*margin-GuiGetStyle(LISTVIEW, SCROLLBAR_WIDTH), 0};
|
contentRect = (Rectangle){ settingsRect.x + margin, RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT+margin, settingsRect.width - 2*margin - GuiGetStyle(LISTVIEW, SCROLLBAR_WIDTH), 0 };
|
||||||
|
|
||||||
// Help button
|
// Help button
|
||||||
if(GuiButton((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, 1.5*fontSize}, GuiIconText(showHelp ? ICON_EYE_ON : ICON_EYE_OFF, "Curve controls help"))){
|
if (GuiButton((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width, 1.5*fontSize }, GuiIconText(showHelp? ICON_EYE_ON : ICON_EYE_OFF, "Curve controls help"))) showHelp = !showHelp;
|
||||||
showHelp = !showHelp;
|
|
||||||
}
|
|
||||||
contentRect.height += 1.5*fontSize + margin;
|
contentRect.height += 1.5*fontSize + margin;
|
||||||
|
|
||||||
// Animation Time slider
|
// Animation Time slider
|
||||||
animationTime = GuiSlider((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width/2, fontSize}, NULL, TextFormat("Animation Time: %.2fs", animationTime), animationTime, 1, 8);
|
GuiSlider((Rectangle){ contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width/2, fontSize }, NULL, TextFormat("Animation Time: %.2fs", animationTime), &animationTime, 1, 8);
|
||||||
contentRect.height += fontSize + margin;
|
contentRect.height += fontSize + margin;
|
||||||
|
|
||||||
// Load default curves
|
// Load default curves
|
||||||
if(GuiButton((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, 1.5*fontSize}, "Load default")){
|
if (GuiButton((Rectangle){ contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, 1.5*fontSize }, "Load default"))
|
||||||
LoadDefaults(curves);
|
{
|
||||||
animationTime = 4.f;
|
LoadCurveDefaults(curves);
|
||||||
time = 0.f;
|
animationTime = 4.0f;
|
||||||
|
time = 0.0f;
|
||||||
}
|
}
|
||||||
contentRect.height += 1.5*fontSize + margin;
|
contentRect.height += 1.5f*fontSize + margin;
|
||||||
|
|
||||||
// Styles
|
// Styles
|
||||||
GuiLabel((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, fontSize}, "Style:");
|
GuiLabel((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width, fontSize }, "Style:");
|
||||||
contentRect.height += fontSize;
|
contentRect.height += fontSize;
|
||||||
visualStyleActive = GuiComboBox((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, 1.5*fontSize}, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal", visualStyleActive);
|
GuiComboBox((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, 1.5*fontSize }, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal", &visualStyleActive);
|
||||||
contentRect.height += 1.5*fontSize + margin;
|
contentRect.height += 1.5f*fontSize + margin;
|
||||||
|
|
||||||
// Draw curves with their controls
|
// Draw curves with their controls
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
for(int i=0; i < 5; i++){
|
for (int i = 0; i < 5; i++)
|
||||||
|
{
|
||||||
// Collapsing section
|
// Collapsing section
|
||||||
Rectangle headerRect = (Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, 1.5*fontSize};
|
Rectangle headerRect = (Rectangle){ contentRect.x, contentRect.y + contentRect.height+scrollOffset.y, contentRect.width, 1.5f*fontSize };
|
||||||
GuiStatusBar(headerRect, NULL);
|
GuiStatusBar(headerRect, NULL);
|
||||||
if(GuiLabelButton(headerRect, GuiIconText(sectionActive[i] ? ICON_ARROW_DOWN_FILL : ICON_ARROW_RIGHT_FILL, sectionNames[i]))){
|
|
||||||
sectionActive[i] = !sectionActive[i];
|
if (GuiLabelButton(headerRect, GuiIconText(sectionActive[i] ? ICON_ARROW_DOWN_FILL : ICON_ARROW_RIGHT_FILL, sectionNames[i]))) sectionActive[i] = !sectionActive[i];
|
||||||
}
|
|
||||||
contentRect.height += 1.5*fontSize + margin;
|
contentRect.height += 1.5f*fontSize + margin;
|
||||||
|
|
||||||
// Skip this section
|
// Skip this section
|
||||||
if(!sectionActive[i])
|
if (!sectionActive[i]) continue;
|
||||||
continue;
|
|
||||||
|
|
||||||
// Draw curve control
|
// Draw curve control
|
||||||
Rectangle curveRect = (Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, fontSize*12};
|
Rectangle curveRect = (Rectangle){ contentRect.x, contentRect.y+contentRect.height + scrollOffset.y, contentRect.width, fontSize*12 };
|
||||||
EndScissorMode(); // Stop clipping from setting rect
|
EndScissorMode(); // Stop clipping from setting rect
|
||||||
|
|
||||||
// Curves can leaks from control boundary... scissor it !
|
// Curves can leaks from control boundary... scissor it !
|
||||||
BeginScissorMode(curveRect.x, curveRect.y, curveRect.width, curveRect.height);
|
BeginScissorMode(curveRect.x, curveRect.y, curveRect.width, curveRect.height);
|
||||||
GuiCurveEdit(&curves[i],curveRect);
|
GuiCurveEditor(&curves[i], curveRect);
|
||||||
EndScissorMode();
|
EndScissorMode();
|
||||||
|
|
||||||
// Resume clipping from setting rect
|
// Resume clipping from setting rect
|
||||||
BeginScissorMode(settingsRect.x, settingsRect.y+RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, settingsRect.width, settingsRect.height);
|
BeginScissorMode(settingsRect.x, settingsRect.y + RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, settingsRect.width, settingsRect.height);
|
||||||
contentRect.height += fontSize*12 + margin;
|
contentRect.height += fontSize*12 + margin;
|
||||||
|
|
||||||
// Draw selected point controls
|
// Draw selected point controls
|
||||||
GuiCurveEditPoint* p = &(curves[i].points[curves[i].selectedIndex]);
|
GuiCurveEditorPoint *p = &(curves[i].points[curves[i].selectedIndex]);
|
||||||
p->leftLinear = GuiCheckBox((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, 1.5*fontSize, 1.5*fontSize}, "Left Linear", p->leftLinear);
|
GuiCheckBox((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, 1.5f*fontSize, 1.5f*fontSize }, "Left Linear", &p->leftLinear);
|
||||||
p->rightLinear = GuiCheckBox((Rectangle){contentRect.x+contentRect.width/2, contentRect.y+contentRect.height+scrollOffset.y, 1.5*fontSize, 1.5*fontSize}, "Right Linear", p->rightLinear);
|
GuiCheckBox((Rectangle){ contentRect.x+contentRect.width/2, contentRect.y + contentRect.height + scrollOffset.y, 1.5f*fontSize, 1.5f*fontSize }, "Right Linear", &p->rightLinear);
|
||||||
contentRect.height += 1.5*fontSize + margin;
|
contentRect.height += 1.5f*fontSize + margin;
|
||||||
|
|
||||||
// Positions
|
// Positions
|
||||||
GuiLabel((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, fontSize}, "Position");
|
GuiLabel((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width, fontSize }, "Position");
|
||||||
contentRect.height += fontSize;
|
contentRect.height += fontSize;
|
||||||
|
|
||||||
if(!editValueBox[i][0]){
|
if (!editValueBox[i][0]) gcvt(p->position.x, 6, valTextBox[i][0]); // Transform x position to string
|
||||||
// transform x position to string
|
|
||||||
gcvt(p->position.x, 6, valTextBox[i][0]);
|
if (!editValueBox[i][1]) gcvt(curves[i].start + (curves[i].end-curves[i].start)*p->position.y, 6, valTextBox[i][1]); // Transform y position to string
|
||||||
}
|
|
||||||
if(!editValueBox[i][1]){
|
|
||||||
// transform y position to string
|
|
||||||
gcvt(curves[i].start + (curves[i].end-curves[i].start) * p->position.y, 6, valTextBox[i][1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// X pos
|
// X pos
|
||||||
if(GuiTextBox((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width/2-margin, 1.5*fontSize}, valTextBox[i][0], 20, editValueBox[i][0])){
|
if (GuiTextBox((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2-margin, 1.5f*fontSize }, valTextBox[i][0], 20, editValueBox[i][0]))
|
||||||
|
{
|
||||||
editValueBox[i][0] = !editValueBox[i][0];
|
editValueBox[i][0] = !editValueBox[i][0];
|
||||||
// input ended
|
|
||||||
if(!editValueBox[i][0]){
|
// Input ended
|
||||||
|
if (!editValueBox[i][0])
|
||||||
|
{
|
||||||
// Try to convert text to float and assign it to the point
|
// Try to convert text to float and assign it to the point
|
||||||
char * endPtr;
|
char *endPtr = NULL;
|
||||||
double value = strtod( (char *) valTextBox[i][0], &endPtr);
|
double value = strtod((char *)valTextBox[i][0], &endPtr);
|
||||||
if ( endPtr != (char *) valTextBox[i][0] ) {
|
|
||||||
p->position.x = value < 0 ? 0 : value > 1 ? 1 : value;
|
if (endPtr != (char *)valTextBox[i][0]) p->position.x = (value < 0)? 0 : (value > 1)? 1 : value;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Y pos
|
// Y pos
|
||||||
if(GuiTextBox((Rectangle){contentRect.x+contentRect.width/2, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width/2, 1.5*fontSize}, valTextBox[i][1], 20, editValueBox[i][1])){
|
if (GuiTextBox((Rectangle){ contentRect.x + contentRect.width/2, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2.0f, 1.5f*fontSize }, valTextBox[i][1], 20, editValueBox[i][1]))
|
||||||
|
{
|
||||||
editValueBox[i][1] = !editValueBox[i][1];
|
editValueBox[i][1] = !editValueBox[i][1];
|
||||||
|
|
||||||
// input ended
|
// Input ended
|
||||||
if(!editValueBox[i][1]){
|
if (!editValueBox[i][1])
|
||||||
|
{
|
||||||
// Try to convert text to float and assign it to the point
|
// Try to convert text to float and assign it to the point
|
||||||
char * endPtr;
|
char *endPtr = NULL;
|
||||||
double value = strtod( (char *)valTextBox[i][1], &endPtr);
|
double value = strtod((char *)valTextBox[i][1], &endPtr);
|
||||||
if ( endPtr != (char *) valTextBox[i][1] ) {
|
|
||||||
float normalizedVal = (value-curves[i].start) / (curves[i].end-curves[i].start);
|
if (endPtr != (char *)valTextBox[i][1])
|
||||||
p->position.y = normalizedVal < 0 ? 0 : normalizedVal > 1 ? 1 : normalizedVal;
|
{
|
||||||
}
|
float normalizedVal = (value - curves[i].start)/(curves[i].end - curves[i].start);
|
||||||
|
p->position.y = (normalizedVal < 0)? 0 : (normalizedVal > 1)? 1 : normalizedVal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
contentRect.height += 1.5*fontSize + margin;
|
|
||||||
|
contentRect.height += 1.5f*fontSize + margin;
|
||||||
|
|
||||||
// Tangents
|
// Tangents
|
||||||
GuiLabel((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, fontSize}, "Tangents");
|
GuiLabel((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width, fontSize }, "Tangents");
|
||||||
contentRect.height += fontSize;
|
contentRect.height += fontSize;
|
||||||
|
|
||||||
if(!editValueBox[i][2]){
|
if (!editValueBox[i][2]) gcvt(p->tangents.x, 6, valTextBox[i][2]); // Transform left tangent to string
|
||||||
// transform left tangent to string
|
|
||||||
gcvt(p->tangents.x, 6, valTextBox[i][2]);
|
if (!editValueBox[i][3]) gcvt(p->tangents.y, 6, valTextBox[i][3]); // Transform right tangent to string
|
||||||
}
|
|
||||||
if(!editValueBox[i][3]){
|
|
||||||
// transform right tangent to string
|
|
||||||
gcvt(p->tangents.y, 6, valTextBox[i][3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Left tan
|
// Left tan
|
||||||
if(GuiTextBox((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width/2-margin, 1.5*fontSize}, valTextBox[i][2], 20, editValueBox[i][2])){
|
if (GuiTextBox((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2 - margin, 1.5f*fontSize }, valTextBox[i][2], 20, editValueBox[i][2]))
|
||||||
|
{
|
||||||
editValueBox[i][2] = !editValueBox[i][2];
|
editValueBox[i][2] = !editValueBox[i][2];
|
||||||
// input ended
|
|
||||||
if(!editValueBox[i][2]){
|
|
||||||
// Try to convert text to float and assign it to the point
|
|
||||||
char * endPtr;
|
|
||||||
double value = strtod( (char *) valTextBox[i][2], &endPtr);
|
|
||||||
if ( endPtr != (char *) valTextBox[i][2] ) {
|
|
||||||
p->tangents.x = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Right tan
|
|
||||||
if(GuiTextBox((Rectangle){contentRect.x+contentRect.width/2, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width/2, 1.5*fontSize}, valTextBox[i][3], 20, editValueBox[i][3])){
|
|
||||||
editValueBox[i][3] = !editValueBox[i][3];
|
|
||||||
// input ended
|
|
||||||
if(!editValueBox[i][3]){
|
|
||||||
// Try to convert text to float and assign it to the point
|
|
||||||
char * endPtr;
|
|
||||||
double value = strtod( (char *) valTextBox[i][3], &endPtr);
|
|
||||||
if ( endPtr != (char *) valTextBox[i][3] ) {
|
|
||||||
p->tangents.y = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
contentRect.height += 1.5*fontSize + margin;
|
|
||||||
|
|
||||||
|
// Input ended
|
||||||
|
if (!editValueBox[i][2])
|
||||||
|
{
|
||||||
|
// Try to convert text to float and assign it to the point
|
||||||
|
char *endPtr = NULL;
|
||||||
|
double value = strtod((char *)valTextBox[i][2], &endPtr);
|
||||||
|
if (endPtr != (char *)valTextBox[i][2]) p->tangents.x = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Right tan
|
||||||
|
if (GuiTextBox((Rectangle){ contentRect.x + contentRect.width/2.0f, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2.0f, 1.5f*fontSize }, valTextBox[i][3], 20, editValueBox[i][3]))
|
||||||
|
{
|
||||||
|
editValueBox[i][3] = !editValueBox[i][3];
|
||||||
|
|
||||||
|
// Input ended
|
||||||
|
if (!editValueBox[i][3])
|
||||||
|
{
|
||||||
|
// Try to convert text to float and assign it to the point
|
||||||
|
char *endPtr = NULL;
|
||||||
|
double value = strtod((char *)valTextBox[i][3], &endPtr);
|
||||||
|
if (endPtr != (char *)valTextBox[i][3]) p->tangents.y = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
contentRect.height += 1.5*fontSize + margin;
|
||||||
}
|
}
|
||||||
|
|
||||||
contentRect.height += margin;
|
contentRect.height += margin;
|
||||||
|
|
||||||
EndScissorMode();
|
EndScissorMode();
|
||||||
|
|
||||||
// Settings panel shadow
|
// Settings panel shadow
|
||||||
DrawRectangleGradientH(settingsRect.x-12, 0, 12, settingsRect.height, BLANK, (Color){0,0,0,100});
|
DrawRectangleGradientH(settingsRect.x - 12, 0, 12, settingsRect.height, BLANK, (Color){ 0, 0, 0, 100 });
|
||||||
|
|
||||||
// Slider
|
// Slider
|
||||||
if(moveSlider){
|
if (moveSlider) DrawRectangle(sliderRect.x, sliderRect.y, sliderRect.width, sliderRect.height, GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED)));
|
||||||
DrawRectangle(sliderRect.x, sliderRect.y, sliderRect.width, sliderRect.height, GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED)));
|
else if(CheckCollisionPointRec(GetMousePosition(), sliderRect)) DrawRectangle(sliderRect.x, sliderRect.y, sliderRect.width, sliderRect.height, GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED)));
|
||||||
}else if(CheckCollisionPointRec(GetMousePosition(), sliderRect)){
|
|
||||||
DrawRectangle(sliderRect.x, sliderRect.y, sliderRect.width, sliderRect.height, GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED)));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Draw Time controls
|
// Draw Time controls
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
Rectangle timeLineRect = (Rectangle) {0, screenHeight-4*fontSize, settingsRect.x, 4*fontSize};
|
Rectangle timeLineRect = (Rectangle){ 0, screenHeight-4*fontSize, settingsRect.x, 4*fontSize };
|
||||||
GuiPanel((Rectangle) { timeLineRect.x, timeLineRect.y, timeLineRect.width, 2*fontSize}, NULL);
|
GuiPanel((Rectangle){ timeLineRect.x, timeLineRect.y, timeLineRect.width, 2*fontSize }, NULL);
|
||||||
GuiLabel((Rectangle) { timeLineRect.x, timeLineRect.y, timeLineRect.width, 2*fontSize}, TextFormat("Normalized Time: %.3f", time / animationTime));
|
GuiLabel((Rectangle){ timeLineRect.x, timeLineRect.y, timeLineRect.width, 2*fontSize }, TextFormat("Normalized Time: %.3f", time/animationTime));
|
||||||
if(GuiButton((Rectangle) { timeLineRect.x+timeLineRect.width/2-2*fontSize-margin/4, timeLineRect.y, 2*fontSize, 2*fontSize}, GuiIconText(playAnimation ? ICON_PLAYER_PAUSE : ICON_PLAYER_PLAY, ""))){
|
if (GuiButton((Rectangle){ timeLineRect.x+timeLineRect.width/2 - 2*fontSize - margin/4, timeLineRect.y, 2*fontSize, 2*fontSize }, GuiIconText((playAnimation? ICON_PLAYER_PAUSE : ICON_PLAYER_PLAY), ""))) playAnimation = !playAnimation;
|
||||||
playAnimation = !playAnimation;
|
|
||||||
}
|
if (GuiButton((Rectangle){ timeLineRect.x+timeLineRect.width/2 + margin/4, timeLineRect.y, 2*fontSize, 2*fontSize }, GuiIconText(ICON_PLAYER_STOP, "")))
|
||||||
if(GuiButton((Rectangle) { timeLineRect.x+timeLineRect.width/2+margin/4, timeLineRect.y, 2*fontSize, 2*fontSize}, GuiIconText(ICON_PLAYER_STOP, ""))){
|
{
|
||||||
playAnimation = false;
|
playAnimation = false;
|
||||||
time = 0;
|
time = 0;
|
||||||
}
|
}
|
||||||
time = animationTime * GuiSlider((Rectangle){timeLineRect.x, timeLineRect.y+2*fontSize, timeLineRect.width, timeLineRect.height-2*fontSize}, NULL, NULL, time / animationTime, 0, 1);
|
|
||||||
|
float animTime = time/animationTime;
|
||||||
|
GuiSlider((Rectangle){timeLineRect.x, timeLineRect.y + 2*fontSize, timeLineRect.width, timeLineRect.height - 2*fontSize }, NULL, NULL, &animTime, 0, 1);
|
||||||
|
time = animationTime*animTime;
|
||||||
|
|
||||||
// Time panel shadow
|
// Time panel shadow
|
||||||
DrawRectangleGradientV(timeLineRect.x, timeLineRect.y-12, timeLineRect.width, 12, BLANK, (Color){0,0,0,100});
|
DrawRectangleGradientV(timeLineRect.x, timeLineRect.y - 12, timeLineRect.width, 12, BLANK, (Color){ 0, 0, 0, 100 });
|
||||||
|
|
||||||
|
|
||||||
EndDrawing();
|
EndDrawing();
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
}
|
}
|
||||||
@ -382,7 +381,8 @@ int main()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadDefaults(GuiCurveEditState curves[]){
|
void LoadCurveDefaults(GuiCurveEditorState curves[])
|
||||||
|
{
|
||||||
// X pos
|
// X pos
|
||||||
curves[0].start = 28;
|
curves[0].start = 28;
|
||||||
curves[0].end = 506;
|
curves[0].end = 506;
|
||||||
@ -459,7 +459,6 @@ void LoadDefaults(GuiCurveEditState curves[]){
|
|||||||
curves[3].points[15].position = (Vector2) {0.950000, 0.507937};curves[3].points[15].tangents = (Vector2) {0,0};curves[3].points[15].leftLinear = 0;curves[3].points[15].rightLinear = 0;
|
curves[3].points[15].position = (Vector2) {0.950000, 0.507937};curves[3].points[15].tangents = (Vector2) {0,0};curves[3].points[15].leftLinear = 0;curves[3].points[15].rightLinear = 0;
|
||||||
|
|
||||||
// Rotation
|
// Rotation
|
||||||
|
|
||||||
curves[4].start = -360;
|
curves[4].start = -360;
|
||||||
curves[4].end = 360;
|
curves[4].end = 360;
|
||||||
curves[4].numPoints = 9;
|
curves[4].numPoints = 9;
|
||||||
@ -476,5 +475,3 @@ void LoadDefaults(GuiCurveEditState curves[]){
|
|||||||
curves[4].points[7].position = (Vector2) {0.302752, 0.527778};curves[4].points[7].tangents = (Vector2) {0,0};curves[4].points[7].leftLinear = 0;curves[4].points[7].rightLinear = 0;
|
curves[4].points[7].position = (Vector2) {0.302752, 0.527778};curves[4].points[7].tangents = (Vector2) {0,0};curves[4].points[7].leftLinear = 0;curves[4].points[7].rightLinear = 0;
|
||||||
curves[4].points[8].position = (Vector2) {0.577982, 0.472222};curves[4].points[8].tangents = (Vector2) {0,0};curves[4].points[8].leftLinear = 0;curves[4].points[8].rightLinear = 0;
|
curves[4].points[8].position = (Vector2) {0.577982, 0.472222};curves[4].points[8].tangents = (Vector2) {0,0};curves[4].points[8].leftLinear = 0;curves[4].points[8].rightLinear = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,517 +0,0 @@
|
|||||||
/*******************************************************************************************
|
|
||||||
*
|
|
||||||
* CurveEdit v1.0 - A cubic Hermite editor for making animation curves
|
|
||||||
*
|
|
||||||
* MODULE USAGE:
|
|
||||||
* #define GUI_CURVE_EDIT_IMPLEMENTATION
|
|
||||||
* #include "gui_curve_edit.h"
|
|
||||||
*
|
|
||||||
* INIT: GuiCurveEditState state = InitCurveEdit();
|
|
||||||
* EVALUATE: float y = EvalGuiCurve(&state, t); // 0 <= t <= 1
|
|
||||||
* DRAW: BeginScissorMode(bounds.x,bounds.y,bounds.width,bounds.height);
|
|
||||||
* GuiCurveEdit(&state, bounds, pointSize);
|
|
||||||
* EndScissorMode();
|
|
||||||
*
|
|
||||||
* NOTE: See 'Module Structures Declaration' section for more informations.
|
|
||||||
*
|
|
||||||
* NOTE: This module uses functions of the stdlib:
|
|
||||||
* - qsort
|
|
||||||
*
|
|
||||||
* NOTE: Built-in interactions:
|
|
||||||
* - Left click to move/add point or move tangents
|
|
||||||
* - While moving a tangent, hold (left/right) SHIFT to disable tangent symetry
|
|
||||||
* - Right click to remove a point
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* LICENSE: zlib/libpng
|
|
||||||
*
|
|
||||||
* Copyright (c) 2023 Pierre Jaffuer (@smallcluster)
|
|
||||||
*
|
|
||||||
* This software is provided "as-is", without any express or implied warranty. In no event
|
|
||||||
* will the authors be held liable for any damages arising from the use of this software.
|
|
||||||
*
|
|
||||||
* Permission is granted to anyone to use this software for any purpose, including commercial
|
|
||||||
* applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
|
||||||
*
|
|
||||||
* 1. The origin of this software must not be misrepresented; you must not claim that you
|
|
||||||
* wrote the original software. If you use this software in a product, an acknowledgment
|
|
||||||
* in the product documentation would be appreciated but is not required.
|
|
||||||
*
|
|
||||||
* 2. Altered source versions must be plainly marked as such, and must not be misrepresented
|
|
||||||
* as being the original software.
|
|
||||||
*
|
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
|
||||||
*
|
|
||||||
**********************************************************************************************/
|
|
||||||
|
|
||||||
#include "raylib.h"
|
|
||||||
|
|
||||||
#ifndef GUI_CURVE_EDIT_H
|
|
||||||
#define GUI_CURVE_EDIT_H
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef GUI_CURVE_EDIT_MAX_POINTS
|
|
||||||
#define GUI_CURVE_EDIT_MAX_POINTS 30
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
// Module Structures Declaration
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
Vector2 position = (Vector2) {0,0}; // In normalized space [0.f, 1.f]
|
|
||||||
Vector2 tangents = (Vector2) {0,0}; // The derivatives (left/right) of the 1D curve
|
|
||||||
// Let the curve editor calculate tangents to linearize part of the curve
|
|
||||||
bool leftLinear = false;
|
|
||||||
bool rightLinear = false;
|
|
||||||
} GuiCurveEditPoint;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
float start = 0; // Value at y = 0
|
|
||||||
float end = 1; // Value at y = 1
|
|
||||||
// Always valid (unless you manualy change state's point array)
|
|
||||||
int selectedIndex = -1; // -1 before Init
|
|
||||||
// Unsorted array with at least one point (constant curve)
|
|
||||||
GuiCurveEditPoint points[GUI_CURVE_EDIT_MAX_POINTS];
|
|
||||||
int numPoints = 0;
|
|
||||||
|
|
||||||
// private part
|
|
||||||
bool editLeftTangent = false;
|
|
||||||
bool editRightTangent = false;
|
|
||||||
Vector2 mouseOffset = (Vector2) {0,0};
|
|
||||||
} GuiCurveEditState;
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" { // Prevents name mangling of functions
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
// Module Functions Declaration
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// Initialize state
|
|
||||||
GuiCurveEditState InitGuiCurveEdit();
|
|
||||||
// Draw and update curve control
|
|
||||||
void GuiCurveEdit(GuiCurveEditState *state, Rectangle bounds);
|
|
||||||
|
|
||||||
// 1D Interpolation
|
|
||||||
// Returns the y value (in [start, end]) of the curve at x = t
|
|
||||||
// t must be normalized [0.f, 1.f]
|
|
||||||
float EvalGuiCurve(GuiCurveEditState *state, float t);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // GUI_CURVE_EDIT_H
|
|
||||||
|
|
||||||
/***********************************************************************************
|
|
||||||
*
|
|
||||||
* GUI_CURVE_EDIT IMPLEMENTATION
|
|
||||||
*
|
|
||||||
************************************************************************************/
|
|
||||||
#if defined(GUI_CURVE_EDIT_IMPLEMENTATION)
|
|
||||||
|
|
||||||
#include "../../src/raygui.h" // Change this to fit your project
|
|
||||||
|
|
||||||
#include "stdlib.h" // Required for qsort
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
// Module Functions Definition
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
GuiCurveEditState InitGuiCurveEdit()
|
|
||||||
{
|
|
||||||
GuiCurveEditState state;
|
|
||||||
|
|
||||||
state.start = 0;
|
|
||||||
state.end = 1;
|
|
||||||
state.selectedIndex = 0;
|
|
||||||
state.editLeftTangent = false;
|
|
||||||
state.editRightTangent = false;
|
|
||||||
state.mouseOffset = (Vector2) {0.f,0.f};
|
|
||||||
|
|
||||||
// At least one point (AVG by default)
|
|
||||||
state.numPoints = 1;
|
|
||||||
state.points[0].position = (Vector2) {0.5f,0.5f};
|
|
||||||
state.points[0].tangents = (Vector2) {0.f,0.f};
|
|
||||||
state.points[0].leftLinear = false;
|
|
||||||
state.points[0].rightLinear = false;
|
|
||||||
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
|
|
||||||
int CompareGuiCurveEditPointPtr (const void * a, const void * b)
|
|
||||||
{
|
|
||||||
float fa = (*(GuiCurveEditPoint**)a)->position.x;
|
|
||||||
float fb = (*(GuiCurveEditPoint**)b)->position.x;
|
|
||||||
return (fa > fb) - (fa < fb);
|
|
||||||
}
|
|
||||||
|
|
||||||
float EvalGuiCurve(GuiCurveEditState *state, float t){
|
|
||||||
|
|
||||||
// Sort points
|
|
||||||
GuiCurveEditPoint* sortedPoints[GUI_CURVE_EDIT_MAX_POINTS];
|
|
||||||
for(int i=0; i < state->numPoints; i++){
|
|
||||||
sortedPoints[i] = &state->points[i];
|
|
||||||
}
|
|
||||||
qsort(sortedPoints, state->numPoints, sizeof(GuiCurveEditPoint*), CompareGuiCurveEditPointPtr);
|
|
||||||
|
|
||||||
if(state->numPoints == 0)
|
|
||||||
return state->start;
|
|
||||||
|
|
||||||
// Constants part on edges
|
|
||||||
if(t <= sortedPoints[0]->position.x)
|
|
||||||
return state->start + (state->end-state->start) * sortedPoints[0]->position.y;
|
|
||||||
if(t >= sortedPoints[state->numPoints-1]->position.x)
|
|
||||||
return state->start + (state->end-state->start) * sortedPoints[state->numPoints-1]->position.y;
|
|
||||||
|
|
||||||
// Find curve portion
|
|
||||||
for(int i=0; i < state->numPoints-1; i++){
|
|
||||||
const GuiCurveEditPoint* p1 = sortedPoints[i];
|
|
||||||
const GuiCurveEditPoint* p2 = sortedPoints[i+1];
|
|
||||||
// Skip this range
|
|
||||||
if(!(t >= p1->position.x && t < p2->position.x) || p1->position.x == p2->position.x)
|
|
||||||
continue;
|
|
||||||
float scale = (p2->position.x-p1->position.x);
|
|
||||||
float T = (t-p1->position.x)/scale;
|
|
||||||
float startTangent = scale * p1->tangents.y;
|
|
||||||
float endTangent = scale * p2->tangents.x;
|
|
||||||
float T2 = T*T;
|
|
||||||
float T3 = T*T*T;
|
|
||||||
return state->start + (state->end-state->start) * ((2*T3-3*T2+1)*p1->position.y+(T3-2*T2+T)*startTangent+(3*T2-2*T3)*p2->position.y+(T3-T2)*endTangent);
|
|
||||||
}
|
|
||||||
|
|
||||||
return state->start;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GuiCurveEdit(GuiCurveEditState *state, Rectangle bounds){
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
// CONST
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
const float pointSize = 10;
|
|
||||||
const float fontSize = GuiGetStyle(DEFAULT, TEXT_SIZE);
|
|
||||||
const float handleLength = pointSize*2.5;
|
|
||||||
const float handleSize = pointSize/1.5f;
|
|
||||||
|
|
||||||
const Rectangle innerBounds = (Rectangle){bounds.x+fontSize, bounds.y+fontSize, bounds.width-2*fontSize, bounds.height-2*fontSize};
|
|
||||||
const Vector2 mouse = GetMousePosition();
|
|
||||||
const Vector2 mouseLocal = (Vector2) {(mouse.x-innerBounds.x)/innerBounds.width, (innerBounds.y+innerBounds.height-mouse.y)/innerBounds.height};
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
// UPDATE STATE
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// Find first point under mouse (-1 if not found)
|
|
||||||
int hoveredPointIndex = -1;
|
|
||||||
for(int i=0; i < state->numPoints; i++){
|
|
||||||
const GuiCurveEditPoint* p = &state->points[i];
|
|
||||||
const Vector2 screenPos = (Vector2){p->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p->position.y*innerBounds.height};
|
|
||||||
const Rectangle pointRect = (Rectangle) {screenPos.x-pointSize/2.f, screenPos.y-pointSize/2.f, pointSize, pointSize};
|
|
||||||
if(CheckCollisionPointRec(mouse, pointRect)){
|
|
||||||
hoveredPointIndex = i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unselect tangents
|
|
||||||
if(IsMouseButtonReleased(MOUSE_BUTTON_LEFT)){
|
|
||||||
state->editLeftTangent = false;
|
|
||||||
state->editRightTangent = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Select a tangent if possible
|
|
||||||
if(IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && state->selectedIndex != -1 && CheckCollisionPointRec(mouse, bounds)){
|
|
||||||
const GuiCurveEditPoint* p = &state->points[state->selectedIndex];
|
|
||||||
const Vector2 screenPos = (Vector2){p->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p->position.y*innerBounds.height};
|
|
||||||
|
|
||||||
// Left control
|
|
||||||
Vector2 target = (Vector2) {(p->position.x-1)*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-(p->position.y-p->tangents.x)*innerBounds.height};
|
|
||||||
Vector2 dir = (Vector2) {target.x-screenPos.x, target.y-screenPos.y};
|
|
||||||
float d = sqrt(dir.x*dir.x+dir.y*dir.y);
|
|
||||||
Vector2 control = (Vector2) {screenPos.x+dir.x/d*handleLength, screenPos.y+dir.y/d*handleLength};
|
|
||||||
Rectangle controlRect = (Rectangle) {control.x-handleSize/2.f, control.y-handleSize/2.f, handleSize, handleSize};
|
|
||||||
|
|
||||||
// Edit left tangent
|
|
||||||
if(CheckCollisionPointRec(mouse, controlRect)){
|
|
||||||
state->editLeftTangent = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Right control
|
|
||||||
target = (Vector2) {(p->position.x+1)*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-(p->position.y+p->tangents.y)*innerBounds.height};
|
|
||||||
dir = (Vector2) {target.x-screenPos.x, target.y-screenPos.y};
|
|
||||||
d = sqrt(dir.x*dir.x+dir.y*dir.y);
|
|
||||||
control = (Vector2) {screenPos.x+dir.x/d*handleLength, screenPos.y+dir.y/d*handleLength};
|
|
||||||
controlRect = (Rectangle) {control.x-handleSize/2.f, control.y-handleSize/2.f, handleSize, handleSize};
|
|
||||||
// Edit right tangent
|
|
||||||
if(CheckCollisionPointRec(mouse, controlRect)){
|
|
||||||
state->editRightTangent = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Move tangents
|
|
||||||
if(IsMouseButtonDown(MOUSE_BUTTON_LEFT) && state->editRightTangent){
|
|
||||||
// editRightTangent == true implies selectedIndex != -1
|
|
||||||
GuiCurveEditPoint* p = &state->points[state->selectedIndex];
|
|
||||||
const Vector2 screenPos = (Vector2){p->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p->position.y*innerBounds.height};
|
|
||||||
const Vector2 dir = (Vector2){mouseLocal.x-p->position.x, mouseLocal.y-p->position.y};
|
|
||||||
// Calculate right tangent slope
|
|
||||||
p->tangents.y = dir.x < 0.001f ? dir.y/0.001f : dir.y/dir.x;
|
|
||||||
p->rightLinear = false; // Stop right linearization update
|
|
||||||
|
|
||||||
// Tangents are symetric by default unless SHIFT is pressed
|
|
||||||
if(!(IsKeyDown(KEY_LEFT_SHIFT) || IsKeyDown(KEY_RIGHT_SHIFT))){
|
|
||||||
p->tangents.x = p->tangents.y;
|
|
||||||
p->leftLinear = false; // Stop left linearization update
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if(IsMouseButtonDown(MOUSE_BUTTON_LEFT) && state->editLeftTangent){
|
|
||||||
// editLeftTangent == true implies selectedIndex != -1
|
|
||||||
GuiCurveEditPoint* p = &state->points[state->selectedIndex];
|
|
||||||
const Vector2 screenPos = (Vector2){p->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p->position.y*innerBounds.height};
|
|
||||||
const Vector2 dir = (Vector2){mouseLocal.x-p->position.x, mouseLocal.y-p->position.y};
|
|
||||||
// Calculate left tangent slope
|
|
||||||
p->tangents.x = dir.x > -0.001f ? dir.y/(-0.001f) : dir.y/dir.x;
|
|
||||||
p->leftLinear = false; // Stop left linearization update
|
|
||||||
|
|
||||||
// Tangents are symetric by default unless SHIFT is pressed
|
|
||||||
if(!(IsKeyDown(KEY_LEFT_SHIFT) || IsKeyDown(KEY_RIGHT_SHIFT))){
|
|
||||||
p->tangents.y = p->tangents.x;
|
|
||||||
p->rightLinear = false; // Stop right linearization update
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Select a point
|
|
||||||
else if(IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && hoveredPointIndex != -1 CheckCollisionPointRec(mouse, bounds)){
|
|
||||||
state->selectedIndex = hoveredPointIndex;
|
|
||||||
const GuiCurveEditPoint* p = &state->points[state->selectedIndex];
|
|
||||||
const Vector2 screenPos = (Vector2){p->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p->position.y*innerBounds.height};
|
|
||||||
state->mouseOffset = (Vector2) {p->position.x - mouseLocal.x, p->position.y - mouseLocal.y};
|
|
||||||
}
|
|
||||||
// Remove a point (check against bounds)
|
|
||||||
else if(IsMouseButtonPressed(MOUSE_BUTTON_RIGHT) && hoveredPointIndex != -1 && CheckCollisionPointRec(mouse, bounds) && state->numPoints > 1){
|
|
||||||
// Deselect everything
|
|
||||||
state->selectedIndex = 0; // select first point by default
|
|
||||||
state->editLeftTangent = false;
|
|
||||||
state->editRightTangent = false;
|
|
||||||
|
|
||||||
// Remove point
|
|
||||||
state->numPoints -= 1;
|
|
||||||
for(int i=hoveredPointIndex; i < state->numPoints; i++ ){
|
|
||||||
state->points[i] = state->points[i+1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add a point (check against innerBounds)
|
|
||||||
} else if(IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && CheckCollisionPointRec(mouse, innerBounds) && state->numPoints < GUI_CURVE_EDIT_MAX_POINTS){
|
|
||||||
state->editLeftTangent = false;
|
|
||||||
state->editRightTangent = false;
|
|
||||||
|
|
||||||
// Create new point
|
|
||||||
GuiCurveEditPoint p;
|
|
||||||
p.tangents = (Vector2) {0.f, 0.f};
|
|
||||||
p.position = mouseLocal;
|
|
||||||
p.leftLinear = false;
|
|
||||||
p.rightLinear = false;
|
|
||||||
// Append point
|
|
||||||
state->points[state->numPoints] = p;
|
|
||||||
state->selectedIndex = state->numPoints; // select new point
|
|
||||||
state->numPoints += 1;
|
|
||||||
// Point is add on mouse pos
|
|
||||||
state->mouseOffset = (Vector2) {0,0};
|
|
||||||
|
|
||||||
// Move selected point
|
|
||||||
} else if(state->selectedIndex != -1 && IsMouseButtonDown(MOUSE_BUTTON_LEFT) && CheckCollisionPointRec(mouse, bounds) ){
|
|
||||||
GuiCurveEditPoint* p = &state->points[state->selectedIndex];
|
|
||||||
|
|
||||||
// use mouse offset on click to prevent point teleporting to mouse
|
|
||||||
const Vector2 newLocalPos = (Vector2){mouseLocal.x + state->mouseOffset.x, mouseLocal.y + state->mouseOffset.y};
|
|
||||||
|
|
||||||
// Clamp to innerbounds
|
|
||||||
p->position.x = newLocalPos.x < 0 ? 0 : newLocalPos.x > 1 ? 1 : newLocalPos.x;
|
|
||||||
p->position.y = newLocalPos.y < 0 ? 0 : newLocalPos.y > 1 ? 1 : newLocalPos.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sort points
|
|
||||||
GuiCurveEditPoint* sortedPoints[GUI_CURVE_EDIT_MAX_POINTS];
|
|
||||||
for(int i=0; i < state->numPoints; i++){
|
|
||||||
sortedPoints[i] = &state->points[i];
|
|
||||||
}
|
|
||||||
qsort(sortedPoints, state->numPoints, sizeof(GuiCurveEditPoint*), CompareGuiCurveEditPointPtr);
|
|
||||||
|
|
||||||
|
|
||||||
// Update linear tangents
|
|
||||||
for(int i=0; i < state->numPoints; i++){
|
|
||||||
GuiCurveEditPoint* p = sortedPoints[i];
|
|
||||||
// Left tangent
|
|
||||||
if(i > 0 && p->leftLinear){
|
|
||||||
const GuiCurveEditPoint* p2 = sortedPoints[i-1];
|
|
||||||
Vector2 dir = (Vector2) {p2->position.x-p->position.x, p2->position.y-p->position.y};
|
|
||||||
p->tangents.x = dir.x == 0 ? 0 : dir.y/dir.x;
|
|
||||||
}
|
|
||||||
// Right tangent
|
|
||||||
if(i < state->numPoints-1 && p->rightLinear){
|
|
||||||
const GuiCurveEditPoint* p2 = sortedPoints[i+1];
|
|
||||||
Vector2 dir = (Vector2) {p2->position.x-p->position.x, p2->position.y-p->position.y};
|
|
||||||
p->tangents.y = dir.x == 0 ? 0 : dir.y/dir.x;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
// DRAWING
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// Draw bg
|
|
||||||
DrawRectangle(bounds.x, bounds.y, bounds.width, bounds.height, GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
|
|
||||||
|
|
||||||
// Draw grid
|
|
||||||
// H lines
|
|
||||||
const Color lineColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
|
||||||
DrawLine(bounds.x, innerBounds.y, bounds.x+bounds.width, innerBounds.y, lineColor); // end
|
|
||||||
DrawLine(bounds.x, innerBounds.y+innerBounds.height/2, bounds.x+bounds.width, innerBounds.y+innerBounds.height/2, lineColor); // avg
|
|
||||||
DrawLine(bounds.x, innerBounds.y+innerBounds.height, bounds.x+bounds.width, innerBounds.y+innerBounds.height, lineColor); // start
|
|
||||||
|
|
||||||
// V lines
|
|
||||||
DrawLine(innerBounds.x, bounds.y, innerBounds.x, bounds.y+bounds.height, lineColor); // 0
|
|
||||||
DrawLine(innerBounds.x+innerBounds.width/4, bounds.y, innerBounds.x+innerBounds.width/4, bounds.y+bounds.height, lineColor); // 0.25
|
|
||||||
DrawLine(innerBounds.x+innerBounds.width/2, bounds.y, innerBounds.x+innerBounds.width/2, bounds.y+bounds.height, lineColor); // 0.5
|
|
||||||
DrawLine(innerBounds.x+3*innerBounds.width/4, bounds.y, innerBounds.x+3*innerBounds.width/4, bounds.y+bounds.height, lineColor); // 0.75
|
|
||||||
DrawLine(innerBounds.x+innerBounds.width, bounds.y, innerBounds.x+innerBounds.width, bounds.y+bounds.height, lineColor); // 1
|
|
||||||
|
|
||||||
Font font = GuiGetFont();
|
|
||||||
// V labels
|
|
||||||
DrawTextEx(font, "0", (Vector2) {innerBounds.x, bounds.y+bounds.height-fontSize}, fontSize,GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
|
||||||
DrawTextEx(font, "0.25", (Vector2) {innerBounds.x+innerBounds.width/4.f, bounds.y+bounds.height-fontSize}, fontSize,GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
|
||||||
DrawTextEx(font, "0.5", (Vector2) {innerBounds.x+innerBounds.width/2.f, bounds.y+bounds.height-fontSize}, fontSize,GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
|
||||||
DrawTextEx(font, "0.75", (Vector2) {innerBounds.x+3.f*innerBounds.width/4.f, bounds.y+bounds.height-fontSize}, fontSize,GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
|
||||||
DrawTextEx(font, "1", (Vector2) {innerBounds.x+innerBounds.width, bounds.y+bounds.height-fontSize}, fontSize,GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
|
||||||
|
|
||||||
// H labels
|
|
||||||
DrawTextEx(font, TextFormat("%.2f", state->start), (Vector2) {innerBounds.x, innerBounds.y-fontSize+innerBounds.height}, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
|
||||||
DrawTextEx(font, TextFormat("%.2f", state->start + (state->end-state->start)/2.f), (Vector2) {innerBounds.x, innerBounds.y-fontSize+innerBounds.height/2.f}, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
|
||||||
DrawTextEx(font, TextFormat("%.2f", state->end), (Vector2) {innerBounds.x, innerBounds.y}, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
|
||||||
|
|
||||||
// Draw contours
|
|
||||||
if(CheckCollisionPointRec(mouse, bounds))
|
|
||||||
DrawRectangleLines(bounds.x, bounds.y, bounds.width, bounds.height, GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_FOCUSED)));
|
|
||||||
else
|
|
||||||
DrawRectangleLines(bounds.x, bounds.y, bounds.width, bounds.height, GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL)));
|
|
||||||
|
|
||||||
// Draw points
|
|
||||||
for(int i=0; i < state->numPoints; i++){
|
|
||||||
|
|
||||||
const GuiCurveEditPoint* p = sortedPoints[i];
|
|
||||||
|
|
||||||
const Vector2 screenPos = (Vector2){p->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p->position.y*innerBounds.height};
|
|
||||||
const Rectangle pointRect = (Rectangle) {screenPos.x-pointSize/2.f, screenPos.y-pointSize/2.f, pointSize, pointSize};
|
|
||||||
|
|
||||||
Color pointColor;
|
|
||||||
Color pointBorderColor;
|
|
||||||
|
|
||||||
// Draw point
|
|
||||||
if(&state->points[state->selectedIndex] == p){
|
|
||||||
|
|
||||||
// Draw left handle
|
|
||||||
if(i > 0){
|
|
||||||
const Vector2 target = (Vector2) {(p->position.x-1)*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-(p->position.y-p->tangents.x)*innerBounds.height};
|
|
||||||
const Vector2 dir = (Vector2) {target.x-screenPos.x, target.y-screenPos.y};
|
|
||||||
const float d = sqrt(dir.x*dir.x+dir.y*dir.y);
|
|
||||||
const Vector2 control = (Vector2) {screenPos.x+dir.x/d*handleLength, screenPos.y+dir.y/d*handleLength};
|
|
||||||
const Rectangle controlRect = (Rectangle) {control.x-handleSize/2.f, control.y-handleSize/2.f, handleSize, handleSize};
|
|
||||||
|
|
||||||
Color controlColor;
|
|
||||||
Color controlBorderColor;
|
|
||||||
if(state->editLeftTangent){
|
|
||||||
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED));
|
|
||||||
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
|
||||||
} else if(CheckCollisionPointRec(mouse, controlRect)){
|
|
||||||
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED));
|
|
||||||
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
|
||||||
}else{
|
|
||||||
controlColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL));
|
|
||||||
controlBorderColor = GetColor(GuiGetStyle(BUTTON, BORDER_COLOR_NORMAL));
|
|
||||||
}
|
|
||||||
DrawLine(screenPos.x,screenPos.y, control.x, control.y, controlColor);
|
|
||||||
DrawRectangle(controlRect.x, controlRect.y, controlRect.width, controlRect.height, controlColor);
|
|
||||||
DrawRectangleLines(controlRect.x, controlRect.y, controlRect.width, controlRect.height, controlColor);
|
|
||||||
}
|
|
||||||
// Draw right handle
|
|
||||||
if(i < state->numPoints-1){
|
|
||||||
const Vector2 target = (Vector2) {(p->position.x+1)*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-(p->position.y+p->tangents.y)*innerBounds.height};
|
|
||||||
const Vector2 dir = (Vector2) {target.x-screenPos.x, target.y-screenPos.y};
|
|
||||||
const float d = sqrt(dir.x*dir.x+dir.y*dir.y);
|
|
||||||
const Vector2 control = (Vector2) {screenPos.x+dir.x/d*handleLength, screenPos.y+dir.y/d*handleLength};
|
|
||||||
const Rectangle controlRect = (Rectangle) {control.x-handleSize/2.f, control.y-handleSize/2.f, handleSize, handleSize};
|
|
||||||
|
|
||||||
Color controlColor;
|
|
||||||
Color controlBorderColor;
|
|
||||||
if(state->editRightTangent){
|
|
||||||
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED));
|
|
||||||
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
|
||||||
} else if(CheckCollisionPointRec(mouse, controlRect)){
|
|
||||||
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED));
|
|
||||||
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
|
||||||
}else{
|
|
||||||
controlColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL));
|
|
||||||
controlBorderColor = GetColor(GuiGetStyle(BUTTON, BORDER_COLOR_NORMAL));
|
|
||||||
}
|
|
||||||
DrawLine(screenPos.x,screenPos.y, control.x, control.y, controlColor);
|
|
||||||
DrawRectangle(controlRect.x, controlRect.y, controlRect.width, controlRect.height, controlColor);
|
|
||||||
DrawRectangleLines(controlRect.x, controlRect.y, controlRect.width, controlRect.height, controlColor);
|
|
||||||
}
|
|
||||||
|
|
||||||
pointColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED));
|
|
||||||
pointBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
|
||||||
|
|
||||||
} else if(&state->points[hoveredPointIndex] == p) {
|
|
||||||
pointColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED));
|
|
||||||
pointBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
|
||||||
} else {
|
|
||||||
pointColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL));
|
|
||||||
pointBorderColor = GetColor(GuiGetStyle(BUTTON, BORDER_COLOR_NORMAL));
|
|
||||||
}
|
|
||||||
|
|
||||||
DrawRectangle(pointRect.x, pointRect.y, pointRect.width, pointRect.height, pointColor);
|
|
||||||
DrawRectangleLines(pointRect.x, pointRect.y, pointRect.width, pointRect.height, pointBorderColor);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Draw curve
|
|
||||||
Color curveColor = GetColor(GuiGetStyle(LABEL, TEXT_COLOR_FOCUSED));
|
|
||||||
if(state->numPoints == 1){
|
|
||||||
const GuiCurveEditPoint* p = sortedPoints[0];
|
|
||||||
const Vector2 screenPos = (Vector2){p->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p->position.y*innerBounds.height};
|
|
||||||
DrawLine(innerBounds.x, screenPos.y, innerBounds.x+innerBounds.width, screenPos.y, curveColor);
|
|
||||||
}else {
|
|
||||||
for(int i=0; i < state->numPoints-1; i++){
|
|
||||||
const GuiCurveEditPoint* p1 = sortedPoints[i];
|
|
||||||
const GuiCurveEditPoint* p2 = sortedPoints[i+1];
|
|
||||||
const Vector2 screenPos1 = (Vector2){p1->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p1->position.y*innerBounds.height};
|
|
||||||
const Vector2 screenPos2 = (Vector2){p2->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p2->position.y*innerBounds.height};
|
|
||||||
// Constant on edge
|
|
||||||
if(screenPos1.x > innerBounds.x && i == 0){
|
|
||||||
DrawLine(innerBounds.x, screenPos1.y, screenPos1.x, screenPos1.y, curveColor);
|
|
||||||
}
|
|
||||||
if(screenPos2.x < innerBounds.x+innerBounds.width && i == (state->numPoints-2)){
|
|
||||||
DrawLine(screenPos2.x, screenPos2.y, innerBounds.x+innerBounds.width, screenPos2.y, curveColor);
|
|
||||||
}
|
|
||||||
// Draw cubic Hermite curve
|
|
||||||
const float scale = (p2->position.x-p1->position.x)/3.f;
|
|
||||||
const Vector2 offset1 = (Vector2) {scale, scale*p1->tangents.y};
|
|
||||||
// negative endTangent => top part => need to invert value to calculate offset
|
|
||||||
const Vector2 offset2 = (Vector2) {-scale, -scale*p2->tangents.x};
|
|
||||||
|
|
||||||
const Vector2 c1 = (Vector2) {p1->position.x+offset1.x, p1->position.y+offset1.y};
|
|
||||||
const Vector2 c2 = (Vector2) {p2->position.x+offset2.x, p2->position.y+offset2.y};
|
|
||||||
|
|
||||||
const Vector2 screenC1 = (Vector2) {c1.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-c1.y*innerBounds.height};
|
|
||||||
const Vector2 screenC2 = (Vector2) {c2.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-c2.y*innerBounds.height};
|
|
||||||
|
|
||||||
DrawLineBezierCubic(screenPos1, screenPos2, screenC1, screenC2, 1, curveColor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // GUI_CURVE_EDIT_IMPLEMENTATION
|
|
||||||
|
|
||||||
554
examples/animation_curve/gui_curve_editor.h
Normal file
@ -0,0 +1,554 @@
|
|||||||
|
/*******************************************************************************************
|
||||||
|
*
|
||||||
|
* CurveEdit v1.0 - A cubic Hermite editor for making animation curves
|
||||||
|
*
|
||||||
|
* MODULE USAGE:
|
||||||
|
* #define GUI_CURVE_EDITOR_IMPLEMENTATION
|
||||||
|
* #include "gui_curve_edit.h"
|
||||||
|
*
|
||||||
|
* INIT: GuiCurveEditState state = InitCurveEdit();
|
||||||
|
* EVALUATE: float y = EvalGuiCurve(&state, t); // 0 <= t <= 1
|
||||||
|
* DRAW: BeginScissorMode(bounds.x,bounds.y,bounds.width,bounds.height);
|
||||||
|
* GuiCurveEdit(&state, bounds, pointSize);
|
||||||
|
* EndScissorMode();
|
||||||
|
*
|
||||||
|
* NOTE: See 'Module Structures Declaration' section for more informations.
|
||||||
|
*
|
||||||
|
* NOTE: This module uses functions of the stdlib:
|
||||||
|
* - qsort
|
||||||
|
*
|
||||||
|
* NOTE: Built-in interactions:
|
||||||
|
* - Left click to move/add point or move tangents
|
||||||
|
* - While moving a tangent, hold (left/right) SHIFT to disable tangent symetry
|
||||||
|
* - Right click to remove a point
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 Pierre Jaffuer (@smallcluster)
|
||||||
|
*
|
||||||
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
||||||
|
* will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
*
|
||||||
|
* Permission is granted to anyone to use this software for any purpose, including commercial
|
||||||
|
* applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
||||||
|
*
|
||||||
|
* 1. The origin of this software must not be misrepresented; you must not claim that you
|
||||||
|
* wrote the original software. If you use this software in a product, an acknowledgment
|
||||||
|
* in the product documentation would be appreciated but is not required.
|
||||||
|
*
|
||||||
|
* 2. Altered source versions must be plainly marked as such, and must not be misrepresented
|
||||||
|
* as being the original software.
|
||||||
|
*
|
||||||
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
*
|
||||||
|
**********************************************************************************************/
|
||||||
|
|
||||||
|
#include "raylib.h"
|
||||||
|
|
||||||
|
#ifndef GUI_CURVE_EDITOR_H
|
||||||
|
#define GUI_CURVE_EDITOR_H
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef GUI_CURVE_EDITOR_MAX_POINTS
|
||||||
|
#define GUI_CURVE_EDITOR_MAX_POINTS 30
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
// Module Structures Declaration
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Vector2 position; // In normalized space [0.0f, 1.0f]
|
||||||
|
Vector2 tangents; // The derivatives (left/right) of the 1D curve
|
||||||
|
|
||||||
|
// Let the curve editor calculate tangents to linearize part of the curve
|
||||||
|
bool leftLinear;
|
||||||
|
bool rightLinear;
|
||||||
|
} GuiCurveEditorPoint;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
float start; // Value at y = 0
|
||||||
|
float end; // Value at y = 1
|
||||||
|
|
||||||
|
// Always valid (unless you manualy change state's point array). Make sure to set it to -1 before init
|
||||||
|
int selectedIndex;
|
||||||
|
|
||||||
|
// Unsorted array with at least one point (constant curve)
|
||||||
|
GuiCurveEditorPoint points[GUI_CURVE_EDITOR_MAX_POINTS];
|
||||||
|
int numPoints;
|
||||||
|
|
||||||
|
// Private variables
|
||||||
|
bool editLeftTangent;
|
||||||
|
bool editRightTangent;
|
||||||
|
Vector2 mouseOffset;
|
||||||
|
} GuiCurveEditorState;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" { // Prevents name mangling of functions
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
// Module Functions Declaration
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
GuiCurveEditorState InitGuiCurveEditor(); // Initialize curve editor state
|
||||||
|
void GuiCurveEditor(GuiCurveEditorState *state, Rectangle bounds); // Draw and update curve control
|
||||||
|
|
||||||
|
// 1D Interpolation
|
||||||
|
// Returns the y value (in [start, end]) of the curve at x = t
|
||||||
|
// t must be normalized [0.f, 1.f]
|
||||||
|
float GuiCurveEval(GuiCurveEditorState *state, float t);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // GUI_CURVE_EDITOR_H
|
||||||
|
|
||||||
|
/***********************************************************************************
|
||||||
|
*
|
||||||
|
* GUI_CURVE_EDITOR IMPLEMENTATION
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
#if defined(GUI_CURVE_EDITOR_IMPLEMENTATION)
|
||||||
|
|
||||||
|
#include "../../src/raygui.h" // Change this to fit your project
|
||||||
|
|
||||||
|
#include "stdlib.h" // Required for qsort
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
// Module Functions Definition
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
GuiCurveEditorState InitGuiCurveEditor()
|
||||||
|
{
|
||||||
|
GuiCurveEditorState state = { 0 };
|
||||||
|
|
||||||
|
state.start = 0;
|
||||||
|
state.end = 1;
|
||||||
|
state.selectedIndex = 0;
|
||||||
|
state.editLeftTangent = false;
|
||||||
|
state.editRightTangent = false;
|
||||||
|
state.mouseOffset = (Vector2){ 0.0f, 0.0f };
|
||||||
|
|
||||||
|
// At least one point (AVG by default)
|
||||||
|
state.numPoints = 1;
|
||||||
|
state.points[0].position = (Vector2){ 0.5f, 0.5f };
|
||||||
|
state.points[0].tangents = (Vector2){ 0.0f, 0.0f };
|
||||||
|
state.points[0].leftLinear = false;
|
||||||
|
state.points[0].rightLinear = false;
|
||||||
|
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int CompareGuiCurveEditPointPtr(const void *a, const void *b)
|
||||||
|
{
|
||||||
|
float fa = (*(GuiCurveEditorPoint**)a)->position.x;
|
||||||
|
float fb = (*(GuiCurveEditorPoint**)b)->position.x;
|
||||||
|
|
||||||
|
return ((fa > fb) - (fa < fb));
|
||||||
|
}
|
||||||
|
|
||||||
|
float GuiCurveEval(GuiCurveEditorState *state, float t)
|
||||||
|
{
|
||||||
|
// Sort points
|
||||||
|
GuiCurveEditorPoint* sortedPoints[GUI_CURVE_EDITOR_MAX_POINTS];
|
||||||
|
|
||||||
|
for (int i=0; i < state->numPoints; i++) sortedPoints[i] = &state->points[i];
|
||||||
|
|
||||||
|
qsort(sortedPoints, state->numPoints, sizeof(GuiCurveEditorPoint*), CompareGuiCurveEditPointPtr);
|
||||||
|
|
||||||
|
if (state->numPoints == 0) return state->start;
|
||||||
|
|
||||||
|
// Constants part on edges
|
||||||
|
if (t <= sortedPoints[0]->position.x) return state->start + (state->end-state->start)*sortedPoints[0]->position.y;
|
||||||
|
if (t >= sortedPoints[state->numPoints-1]->position.x) return state->start + (state->end-state->start)*sortedPoints[state->numPoints-1]->position.y;
|
||||||
|
|
||||||
|
// Find curve portion
|
||||||
|
for (int i=0; i < state->numPoints-1; i++)
|
||||||
|
{
|
||||||
|
const GuiCurveEditorPoint *p1 = sortedPoints[i];
|
||||||
|
const GuiCurveEditorPoint *p2 = sortedPoints[i+1];
|
||||||
|
|
||||||
|
// Skip this range
|
||||||
|
if (!((t >= p1->position.x) && (t < p2->position.x)) || (p1->position.x == p2->position.x)) continue;
|
||||||
|
|
||||||
|
float scale = (p2->position.x-p1->position.x);
|
||||||
|
float T = (t-p1->position.x)/scale;
|
||||||
|
float startTangent = scale*p1->tangents.y;
|
||||||
|
float endTangent = scale*p2->tangents.x;
|
||||||
|
float T2 = T*T;
|
||||||
|
float T3 = T*T*T;
|
||||||
|
|
||||||
|
return (state->start + (state->end-state->start)*((2*T3 - 3*T2 + 1)*p1->position.y + (T3 - 2*T2 + T)*startTangent + (3*T2 - 2*T3)*p2->position.y + (T3 - T2)*endTangent));
|
||||||
|
}
|
||||||
|
|
||||||
|
return state->start;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GuiCurveEditor(GuiCurveEditorState *state, Rectangle bounds)
|
||||||
|
{
|
||||||
|
// CONST
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
const float pointSize = 10.0f;
|
||||||
|
const float fontSize = GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||||
|
const float handleLength = pointSize*2.5f;
|
||||||
|
const float handleSize = pointSize/1.5f;
|
||||||
|
|
||||||
|
const Rectangle innerBounds = (Rectangle){ bounds.x + fontSize, bounds.y + fontSize, bounds.width - 2*fontSize, bounds.height - 2*fontSize };
|
||||||
|
const Vector2 mouse = GetMousePosition();
|
||||||
|
const Vector2 mouseLocal = (Vector2){ (mouse.x - innerBounds.x)/innerBounds.width, (innerBounds.y + innerBounds.height-mouse.y)/innerBounds.height};
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// UPDATE STATE
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
// Find first point under mouse (-1 if not found)
|
||||||
|
int hoveredPointIndex = -1;
|
||||||
|
for (int i = 0; i < state->numPoints; i++)
|
||||||
|
{
|
||||||
|
const GuiCurveEditorPoint *p = &state->points[i];
|
||||||
|
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height-p->position.y*innerBounds.height };
|
||||||
|
const Rectangle pointRect = (Rectangle){ screenPos.x - pointSize/2.0f, screenPos.y - pointSize/2.0f, pointSize, pointSize };
|
||||||
|
|
||||||
|
if (CheckCollisionPointRec(mouse, pointRect))
|
||||||
|
{
|
||||||
|
hoveredPointIndex = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unselect tangents
|
||||||
|
if (IsMouseButtonReleased(MOUSE_BUTTON_LEFT))
|
||||||
|
{
|
||||||
|
state->editLeftTangent = false;
|
||||||
|
state->editRightTangent = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Select a tangent if possible
|
||||||
|
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && (state->selectedIndex != -1) && CheckCollisionPointRec(mouse, bounds))
|
||||||
|
{
|
||||||
|
const GuiCurveEditorPoint* p = &state->points[state->selectedIndex];
|
||||||
|
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width+innerBounds.x, innerBounds.y+innerBounds.height-p->position.y*innerBounds.height };
|
||||||
|
|
||||||
|
// Left control
|
||||||
|
Vector2 target = (Vector2){ (p->position.x-1)*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - (p->position.y-p->tangents.x)*innerBounds.height };
|
||||||
|
Vector2 dir = (Vector2){ target.x-screenPos.x, target.y-screenPos.y };
|
||||||
|
float d = sqrt(dir.x*dir.x + dir.y*dir.y);
|
||||||
|
Vector2 control = (Vector2){ screenPos.x + dir.x/d*handleLength, screenPos.y + dir.y/d*handleLength };
|
||||||
|
Rectangle controlRect = (Rectangle){ control.x - handleSize/2.0f, control.y - handleSize/2.0f, handleSize, handleSize };
|
||||||
|
|
||||||
|
// Edit left tangent
|
||||||
|
if (CheckCollisionPointRec(mouse, controlRect)) state->editLeftTangent = true;
|
||||||
|
|
||||||
|
// Right control
|
||||||
|
target = (Vector2){ (p->position.x + 1)*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - (p->position.y + p->tangents.y)*innerBounds.height };
|
||||||
|
dir = (Vector2){ target.x-screenPos.x, target.y-screenPos.y };
|
||||||
|
d = sqrt(dir.x*dir.x + dir.y*dir.y);
|
||||||
|
control = (Vector2){ screenPos.x + dir.x/d*handleLength, screenPos.y + dir.y/d*handleLength };
|
||||||
|
controlRect = (Rectangle){ control.x - handleSize/2.0f, control.y - handleSize/2.0f, handleSize, handleSize };
|
||||||
|
|
||||||
|
// Edit right tangent
|
||||||
|
if (CheckCollisionPointRec(mouse, controlRect)) state->editRightTangent = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move tangents
|
||||||
|
if (IsMouseButtonDown(MOUSE_BUTTON_LEFT) && state->editRightTangent)
|
||||||
|
{
|
||||||
|
// editRightTangent == true implies selectedIndex != -1
|
||||||
|
GuiCurveEditorPoint *p = &state->points[state->selectedIndex];
|
||||||
|
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height-p->position.y*innerBounds.height };
|
||||||
|
const Vector2 dir = (Vector2){ mouseLocal.x - p->position.x, mouseLocal.y - p->position.y};
|
||||||
|
|
||||||
|
// Calculate right tangent slope
|
||||||
|
p->tangents.y = (dir.x < 0.001f)? dir.y/0.001f : dir.y/dir.x;
|
||||||
|
p->rightLinear = false; // Stop right linearization update
|
||||||
|
|
||||||
|
// Tangents are symetric by default unless SHIFT is pressed
|
||||||
|
if (!(IsKeyDown(KEY_LEFT_SHIFT) || IsKeyDown(KEY_RIGHT_SHIFT)))
|
||||||
|
{
|
||||||
|
p->tangents.x = p->tangents.y;
|
||||||
|
p->leftLinear = false; // Stop left linearization update
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (IsMouseButtonDown(MOUSE_BUTTON_LEFT) && state->editLeftTangent)
|
||||||
|
{
|
||||||
|
// editLeftTangent == true implies selectedIndex != -1
|
||||||
|
GuiCurveEditorPoint *p = &state->points[state->selectedIndex];
|
||||||
|
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height-p->position.y*innerBounds.height };
|
||||||
|
const Vector2 dir = (Vector2){ mouseLocal.x - p->position.x, mouseLocal.y - p->position.y };
|
||||||
|
|
||||||
|
// Calculate left tangent slope
|
||||||
|
p->tangents.x = (dir.x > -0.001f)? dir.y/(-0.001f) : dir.y/dir.x;
|
||||||
|
p->leftLinear = false; // Stop left linearization update
|
||||||
|
|
||||||
|
// Tangents are symetric by default unless SHIFT is pressed
|
||||||
|
if (!(IsKeyDown(KEY_LEFT_SHIFT) || IsKeyDown(KEY_RIGHT_SHIFT)))
|
||||||
|
{
|
||||||
|
p->tangents.y = p->tangents.x;
|
||||||
|
p->rightLinear = false; // Stop right linearization update
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Select a point
|
||||||
|
else if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && (hoveredPointIndex != -1) && CheckCollisionPointRec(mouse, bounds))
|
||||||
|
{
|
||||||
|
state->selectedIndex = hoveredPointIndex;
|
||||||
|
const GuiCurveEditorPoint *p = &state->points[state->selectedIndex];
|
||||||
|
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - p->position.y*innerBounds.height };
|
||||||
|
state->mouseOffset = (Vector2){ p->position.x - mouseLocal.x, p->position.y - mouseLocal.y };
|
||||||
|
}
|
||||||
|
// Remove a point (check against bounds)
|
||||||
|
else if (IsMouseButtonPressed(MOUSE_BUTTON_RIGHT) && (hoveredPointIndex != -1) && CheckCollisionPointRec(mouse, bounds) && (state->numPoints > 1))
|
||||||
|
{
|
||||||
|
// Deselect everything
|
||||||
|
state->selectedIndex = 0; // select first point by default
|
||||||
|
state->editLeftTangent = false;
|
||||||
|
state->editRightTangent = false;
|
||||||
|
|
||||||
|
// Remove point
|
||||||
|
state->numPoints -= 1;
|
||||||
|
for (int i = hoveredPointIndex; i < state->numPoints; i++) state->points[i] = state->points[i+1];
|
||||||
|
}
|
||||||
|
// Add a point (check against innerBounds)
|
||||||
|
else if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && CheckCollisionPointRec(mouse, innerBounds) && (state->numPoints < GUI_CURVE_EDITOR_MAX_POINTS))
|
||||||
|
{
|
||||||
|
state->editLeftTangent = false;
|
||||||
|
state->editRightTangent = false;
|
||||||
|
|
||||||
|
// Create new point
|
||||||
|
GuiCurveEditorPoint p;
|
||||||
|
p.tangents = (Vector2){ 0.0f, 0.0f };
|
||||||
|
p.position = mouseLocal;
|
||||||
|
p.leftLinear = false;
|
||||||
|
p.rightLinear = false;
|
||||||
|
|
||||||
|
// Append point
|
||||||
|
state->points[state->numPoints] = p;
|
||||||
|
state->selectedIndex = state->numPoints; // select new point
|
||||||
|
state->numPoints += 1;
|
||||||
|
|
||||||
|
// Point is add on mouse pos
|
||||||
|
state->mouseOffset = (Vector2){ 0, 0 };
|
||||||
|
}
|
||||||
|
// Move selected point
|
||||||
|
else if ((state->selectedIndex != -1) && IsMouseButtonDown(MOUSE_BUTTON_LEFT) && CheckCollisionPointRec(mouse, bounds))
|
||||||
|
{
|
||||||
|
GuiCurveEditorPoint *p = &state->points[state->selectedIndex];
|
||||||
|
|
||||||
|
// use mouse offset on click to prevent point teleporting to mouse
|
||||||
|
const Vector2 newLocalPos = (Vector2){ mouseLocal.x + state->mouseOffset.x, mouseLocal.y + state->mouseOffset.y };
|
||||||
|
|
||||||
|
// Clamp to innerbounds
|
||||||
|
p->position.x = (newLocalPos.x < 0)? 0 : ((newLocalPos.x > 1)? 1 : newLocalPos.x);
|
||||||
|
p->position.y = (newLocalPos.y < 0)? 0 : ((newLocalPos.y > 1)? 1 : newLocalPos.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort points
|
||||||
|
GuiCurveEditorPoint *sortedPoints[GUI_CURVE_EDITOR_MAX_POINTS] = { 0 };
|
||||||
|
for (int i = 0; i < state->numPoints; i++) sortedPoints[i] = &state->points[i];
|
||||||
|
qsort(sortedPoints, state->numPoints, sizeof(GuiCurveEditorPoint*), CompareGuiCurveEditPointPtr);
|
||||||
|
|
||||||
|
// Update linear tangents
|
||||||
|
for (int i = 0; i < state->numPoints; i++)
|
||||||
|
{
|
||||||
|
GuiCurveEditorPoint *p = sortedPoints[i];
|
||||||
|
|
||||||
|
// Left tangent
|
||||||
|
if ((i > 0) && p->leftLinear)
|
||||||
|
{
|
||||||
|
const GuiCurveEditorPoint *p2 = sortedPoints[i - 1];
|
||||||
|
Vector2 dir = (Vector2){ p2->position.x - p->position.x, p2->position.y - p->position.y };
|
||||||
|
p->tangents.x = (dir.x == 0)? 0 : dir.y/dir.x;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Right tangent
|
||||||
|
if ((i < state->numPoints - 1) && p->rightLinear)
|
||||||
|
{
|
||||||
|
const GuiCurveEditorPoint *p2 = sortedPoints[i + 1];
|
||||||
|
Vector2 dir = (Vector2){ p2->position.x - p->position.x, p2->position.y - p->position.y };
|
||||||
|
p->tangents.y = (dir.x == 0)? 0 : dir.y/dir.x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// DRAWING
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
DrawRectangle(bounds.x, bounds.y, bounds.width, bounds.height, GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
|
||||||
|
|
||||||
|
// Draw grid
|
||||||
|
// H lines
|
||||||
|
const Color lineColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
||||||
|
DrawLine(bounds.x, innerBounds.y, bounds.x+bounds.width, innerBounds.y, lineColor); // end
|
||||||
|
DrawLine(bounds.x, innerBounds.y+innerBounds.height/2, bounds.x+bounds.width, innerBounds.y+innerBounds.height/2, lineColor); // avg
|
||||||
|
DrawLine(bounds.x, innerBounds.y+innerBounds.height, bounds.x+bounds.width, innerBounds.y+innerBounds.height, lineColor); // start
|
||||||
|
|
||||||
|
// V lines
|
||||||
|
DrawLine(innerBounds.x, bounds.y, innerBounds.x, bounds.y+bounds.height, lineColor); // 0
|
||||||
|
DrawLine(innerBounds.x + innerBounds.width/4, bounds.y, innerBounds.x + innerBounds.width/4, bounds.y + bounds.height, lineColor); // 0.25
|
||||||
|
DrawLine(innerBounds.x + innerBounds.width/2, bounds.y, innerBounds.x + innerBounds.width/2, bounds.y + bounds.height, lineColor); // 0.5
|
||||||
|
DrawLine(innerBounds.x + 3*innerBounds.width/4, bounds.y, innerBounds.x + 3*innerBounds.width/4, bounds.y + bounds.height, lineColor); // 0.75
|
||||||
|
DrawLine(innerBounds.x + innerBounds.width, bounds.y, innerBounds.x + innerBounds.width, bounds.y + bounds.height, lineColor); // 1
|
||||||
|
|
||||||
|
Font font = GuiGetFont();
|
||||||
|
// V labels
|
||||||
|
DrawTextEx(font, "0", (Vector2){ innerBounds.x, bounds.y + bounds.height-fontSize}, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
||||||
|
DrawTextEx(font, "0.25", (Vector2){ innerBounds.x + innerBounds.width/4.0f, bounds.y + bounds.height - fontSize}, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
||||||
|
DrawTextEx(font, "0.5", (Vector2){ innerBounds.x + innerBounds.width/2.0f, bounds.y + bounds.height - fontSize}, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
||||||
|
DrawTextEx(font, "0.75", (Vector2){ innerBounds.x + 3.0f*innerBounds.width/4.0f, bounds.y + bounds.height-fontSize}, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
||||||
|
DrawTextEx(font, "1", (Vector2){ innerBounds.x + innerBounds.width, bounds.y+bounds.height - fontSize}, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
||||||
|
|
||||||
|
// H labels
|
||||||
|
DrawTextEx(font, TextFormat("%.2f", state->start), (Vector2){ innerBounds.x, innerBounds.y - fontSize+innerBounds.height }, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
||||||
|
DrawTextEx(font, TextFormat("%.2f", state->start + (state->end-state->start)/2.f), (Vector2){ innerBounds.x, innerBounds.y - fontSize + innerBounds.height/2.0f }, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
||||||
|
DrawTextEx(font, TextFormat("%.2f", state->end), (Vector2){ innerBounds.x, innerBounds.y }, fontSize, GuiGetStyle(DEFAULT, TEXT_SPACING), lineColor);
|
||||||
|
|
||||||
|
// Draw contours
|
||||||
|
if (CheckCollisionPointRec(mouse, bounds)) DrawRectangleLines(bounds.x, bounds.y, bounds.width, bounds.height, GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_FOCUSED)));
|
||||||
|
else DrawRectangleLines(bounds.x, bounds.y, bounds.width, bounds.height, GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL)));
|
||||||
|
|
||||||
|
// Draw points
|
||||||
|
for (int i = 0; i < state->numPoints; i++)
|
||||||
|
{
|
||||||
|
const GuiCurveEditorPoint *p = sortedPoints[i];
|
||||||
|
|
||||||
|
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - p->position.y*innerBounds.height };
|
||||||
|
const Rectangle pointRect = (Rectangle){ screenPos.x - pointSize/2.0f, screenPos.y - pointSize/2.0f, pointSize, pointSize };
|
||||||
|
|
||||||
|
Color pointColor = { 0 };
|
||||||
|
Color pointBorderColor = { 0 };
|
||||||
|
|
||||||
|
// Draw point
|
||||||
|
if (&state->points[state->selectedIndex] == p)
|
||||||
|
{
|
||||||
|
// Draw left handle
|
||||||
|
if (i > 0)
|
||||||
|
{
|
||||||
|
const Vector2 target = (Vector2){ (p->position.x - 1)*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - (p->position.y - p->tangents.x)*innerBounds.height };
|
||||||
|
const Vector2 dir = (Vector2){ target.x - screenPos.x, target.y - screenPos.y };
|
||||||
|
const float d = sqrt(dir.x*dir.x + dir.y*dir.y);
|
||||||
|
const Vector2 control = (Vector2){ screenPos.x + dir.x/d*handleLength, screenPos.y + dir.y/d*handleLength };
|
||||||
|
const Rectangle controlRect = (Rectangle){ control.x - handleSize/2.0f, control.y - handleSize/2.0f, handleSize, handleSize };
|
||||||
|
|
||||||
|
Color controlColor = { 0 };
|
||||||
|
Color controlBorderColor = { 0 };
|
||||||
|
|
||||||
|
if (state->editLeftTangent)
|
||||||
|
{
|
||||||
|
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED));
|
||||||
|
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
||||||
|
}
|
||||||
|
else if (CheckCollisionPointRec(mouse, controlRect))
|
||||||
|
{
|
||||||
|
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED));
|
||||||
|
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
controlColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL));
|
||||||
|
controlBorderColor = GetColor(GuiGetStyle(BUTTON, BORDER_COLOR_NORMAL));
|
||||||
|
}
|
||||||
|
|
||||||
|
DrawLine(screenPos.x,screenPos.y, control.x, control.y, controlColor);
|
||||||
|
DrawRectangle(controlRect.x, controlRect.y, controlRect.width, controlRect.height, controlColor);
|
||||||
|
DrawRectangleLines(controlRect.x, controlRect.y, controlRect.width, controlRect.height, controlColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw right handle
|
||||||
|
if (i < state->numPoints - 1)
|
||||||
|
{
|
||||||
|
const Vector2 target = (Vector2){ (p->position.x + 1)*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - (p->position.y + p->tangents.y)*innerBounds.height };
|
||||||
|
const Vector2 dir = (Vector2){ target.x - screenPos.x, target.y - screenPos.y };
|
||||||
|
const float d = sqrt(dir.x*dir.x + dir.y*dir.y);
|
||||||
|
const Vector2 control = (Vector2){ screenPos.x + dir.x/d*handleLength, screenPos.y + dir.y/d*handleLength };
|
||||||
|
const Rectangle controlRect = (Rectangle){ control.x - handleSize/2.0f, control.y - handleSize/2.0f, handleSize, handleSize };
|
||||||
|
|
||||||
|
Color controlColor = { 0 };
|
||||||
|
Color controlBorderColor = { 0 };
|
||||||
|
|
||||||
|
if (state->editRightTangent)
|
||||||
|
{
|
||||||
|
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED));
|
||||||
|
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
||||||
|
}
|
||||||
|
else if (CheckCollisionPointRec(mouse, controlRect))
|
||||||
|
{
|
||||||
|
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED));
|
||||||
|
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
controlColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL));
|
||||||
|
controlBorderColor = GetColor(GuiGetStyle(BUTTON, BORDER_COLOR_NORMAL));
|
||||||
|
}
|
||||||
|
|
||||||
|
DrawLine(screenPos.x,screenPos.y, control.x, control.y, controlColor);
|
||||||
|
DrawRectangle(controlRect.x, controlRect.y, controlRect.width, controlRect.height, controlColor);
|
||||||
|
DrawRectangleLines(controlRect.x, controlRect.y, controlRect.width, controlRect.height, controlColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
pointColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED));
|
||||||
|
pointBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (&state->points[hoveredPointIndex] == p)
|
||||||
|
{
|
||||||
|
pointColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED));
|
||||||
|
pointBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pointColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL));
|
||||||
|
pointBorderColor = GetColor(GuiGetStyle(BUTTON, BORDER_COLOR_NORMAL));
|
||||||
|
}
|
||||||
|
|
||||||
|
DrawRectangle(pointRect.x, pointRect.y, pointRect.width, pointRect.height, pointColor);
|
||||||
|
DrawRectangleLines(pointRect.x, pointRect.y, pointRect.width, pointRect.height, pointBorderColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw curve
|
||||||
|
Color curveColor = GetColor(GuiGetStyle(LABEL, TEXT_COLOR_FOCUSED));
|
||||||
|
|
||||||
|
if (state->numPoints == 1)
|
||||||
|
{
|
||||||
|
const GuiCurveEditorPoint *p = sortedPoints[0];
|
||||||
|
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - p->position.y*innerBounds.height };
|
||||||
|
DrawLine(innerBounds.x, screenPos.y, innerBounds.x+innerBounds.width, screenPos.y, curveColor);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = 0; i < state->numPoints - 1; i++)
|
||||||
|
{
|
||||||
|
const GuiCurveEditorPoint *p1 = sortedPoints[i];
|
||||||
|
const GuiCurveEditorPoint *p2 = sortedPoints[i + 1];
|
||||||
|
const Vector2 screenPos1 = (Vector2){ p1->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - p1->position.y*innerBounds.height };
|
||||||
|
const Vector2 screenPos2 = (Vector2){ p2->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - p2->position.y*innerBounds.height };
|
||||||
|
|
||||||
|
// Constant on edge
|
||||||
|
if ((screenPos1.x > innerBounds.x) && (i == 0))
|
||||||
|
{
|
||||||
|
DrawLine(innerBounds.x, screenPos1.y, screenPos1.x, screenPos1.y, curveColor);
|
||||||
|
}
|
||||||
|
if ((screenPos2.x < innerBounds.x + innerBounds.width) && (i == (state->numPoints - 2)))
|
||||||
|
{
|
||||||
|
DrawLine(screenPos2.x, screenPos2.y, innerBounds.x+innerBounds.width, screenPos2.y, curveColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw cubic Hermite curve
|
||||||
|
const float scale = (p2->position.x - p1->position.x)/3.0f;
|
||||||
|
const Vector2 offset1 = (Vector2){ scale, scale*p1->tangents.y };
|
||||||
|
// negative endTangent => top part => need to invert value to calculate offset
|
||||||
|
const Vector2 offset2 = (Vector2){ -scale, -scale*p2->tangents.x };
|
||||||
|
|
||||||
|
const Vector2 c1 = (Vector2){ p1->position.x + offset1.x, p1->position.y + offset1.y };
|
||||||
|
const Vector2 c2 = (Vector2){ p2->position.x + offset2.x, p2->position.y + offset2.y };
|
||||||
|
|
||||||
|
const Vector2 screenC1 = (Vector2){ c1.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - c1.y*innerBounds.height };
|
||||||
|
const Vector2 screenC2 = (Vector2){ c2.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - c2.y*innerBounds.height };
|
||||||
|
|
||||||
|
DrawLineBezierCubic(screenPos1, screenPos2, screenC1, screenC2, 1, curveColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // GUI_CURVE_EDITOR_IMPLEMENTATION
|
||||||
|
|
||||||
@ -35,12 +35,22 @@
|
|||||||
|
|
||||||
#include "raylib.h"
|
#include "raylib.h"
|
||||||
|
|
||||||
|
//#define RAYGUI_DEBUG_RECS_BOUNDS
|
||||||
|
//#define RAYGUI_DEBUG_TEXT_BOUNDS
|
||||||
|
|
||||||
#define RAYGUI_IMPLEMENTATION
|
#define RAYGUI_IMPLEMENTATION
|
||||||
//#define RAYGUI_CUSTOM_ICONS // It requires providing gui_icons.h in the same directory
|
//#define RAYGUI_CUSTOM_ICONS // It requires providing gui_icons.h in the same directory
|
||||||
//#include "gui_icons.h" // External icons data provided, it can be generated with rGuiIcons tool
|
//#include "gui_icons.h" // External icons data provided, it can be generated with rGuiIcons tool
|
||||||
#include "../../src/raygui.h"
|
#include "../../src/raygui.h"
|
||||||
|
|
||||||
#include <string.h> // Required for: strcpy()
|
// raygui embedded styles
|
||||||
|
#include "../styles/style_cyber.h" // raygui style: cyber
|
||||||
|
#include "../styles/style_jungle.h" // raygui style: jungle
|
||||||
|
#include "../styles/style_lavanda.h" // raygui style: lavanda
|
||||||
|
#include "../styles/style_dark.h" // raygui style: dark
|
||||||
|
#include "../styles/style_bluish.h" // raygui style: bluish
|
||||||
|
#include "../styles/style_terminal.h" // raygui style: terminal
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Program main entry point
|
// Program main entry point
|
||||||
@ -49,7 +59,7 @@ int main()
|
|||||||
{
|
{
|
||||||
// Initialization
|
// Initialization
|
||||||
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
||||||
const int screenWidth = 690;
|
const int screenWidth = 960;
|
||||||
const int screenHeight = 560;
|
const int screenHeight = 560;
|
||||||
|
|
||||||
InitWindow(screenWidth, screenHeight, "raygui - controls test suite");
|
InitWindow(screenWidth, screenHeight, "raygui - controls test suite");
|
||||||
@ -72,6 +82,9 @@ int main()
|
|||||||
char textBoxText[64] = "Text box";
|
char textBoxText[64] = "Text box";
|
||||||
bool textBoxEditMode = false;
|
bool textBoxEditMode = false;
|
||||||
|
|
||||||
|
char textBoxMultiText[1024] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
|
||||||
|
bool textBoxMultiEditMode = false;
|
||||||
|
|
||||||
int listViewScrollIndex = 0;
|
int listViewScrollIndex = 0;
|
||||||
int listViewActive = -1;
|
int listViewActive = -1;
|
||||||
|
|
||||||
@ -84,17 +97,20 @@ int main()
|
|||||||
bool multiTextBoxEditMode = false;
|
bool multiTextBoxEditMode = false;
|
||||||
Color colorPickerValue = RED;
|
Color colorPickerValue = RED;
|
||||||
|
|
||||||
int sliderValue = 50;
|
float sliderValue = 50.0f;
|
||||||
int sliderBarValue = 60;
|
float sliderBarValue = 60;
|
||||||
float progressValue = 0.4f;
|
float progressValue = 0.1f;
|
||||||
|
|
||||||
bool forceSquaredChecked = false;
|
bool forceSquaredChecked = false;
|
||||||
|
|
||||||
float alphaValue = 0.5f;
|
float alphaValue = 0.5f;
|
||||||
|
|
||||||
int comboBoxActive = 1;
|
//int comboBoxActive = 1;
|
||||||
|
int visualStyleActive = 0;
|
||||||
|
int prevVisualStyleActive = 0;
|
||||||
|
|
||||||
int toggleGroupActive = 0;
|
int toggleGroupActive = 0;
|
||||||
|
int toggleSliderActive = 0;
|
||||||
|
|
||||||
Vector2 viewScroll = { 0, 0 };
|
Vector2 viewScroll = { 0, 0 };
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
@ -107,9 +123,14 @@ int main()
|
|||||||
bool showMessageBox = false;
|
bool showMessageBox = false;
|
||||||
|
|
||||||
char textInput[256] = { 0 };
|
char textInput[256] = { 0 };
|
||||||
|
char textInputFileName[256] = { 0 };
|
||||||
bool showTextInputBox = false;
|
bool showTextInputBox = false;
|
||||||
|
|
||||||
char textInputFileName[256] = { 0 };
|
float alpha = 1.0f;
|
||||||
|
|
||||||
|
// DEBUG: Testing how those two properties affect all controls!
|
||||||
|
//GuiSetStyle(DEFAULT, TEXT_PADDING, 0);
|
||||||
|
//GuiSetStyle(DEFAULT, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||||
|
|
||||||
SetTargetFPS(60);
|
SetTargetFPS(60);
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
@ -133,6 +154,39 @@ int main()
|
|||||||
|
|
||||||
UnloadDroppedFiles(droppedFiles); // Clear internal buffers
|
UnloadDroppedFiles(droppedFiles); // Clear internal buffers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//alpha -= 0.002f;
|
||||||
|
if (alpha < 0.0f) alpha = 0.0f;
|
||||||
|
if (IsKeyPressed(KEY_SPACE)) alpha = 1.0f;
|
||||||
|
|
||||||
|
GuiSetAlpha(alpha);
|
||||||
|
|
||||||
|
//progressValue += 0.002f;
|
||||||
|
if (IsKeyPressed(KEY_LEFT)) progressValue -= 0.1f;
|
||||||
|
else if (IsKeyPressed(KEY_RIGHT)) progressValue += 0.1f;
|
||||||
|
if (progressValue > 1.0f) progressValue = 1.0f;
|
||||||
|
else if (progressValue < 0.0f) progressValue = 0.0f;
|
||||||
|
|
||||||
|
if (visualStyleActive != prevVisualStyleActive)
|
||||||
|
{
|
||||||
|
GuiLoadStyleDefault();
|
||||||
|
|
||||||
|
switch (visualStyleActive)
|
||||||
|
{
|
||||||
|
case 0: break; // Default style
|
||||||
|
case 1: GuiLoadStyleJungle(); break;
|
||||||
|
case 2: GuiLoadStyleLavanda(); break;
|
||||||
|
case 3: GuiLoadStyleDark(); break;
|
||||||
|
case 4: GuiLoadStyleBluish(); break;
|
||||||
|
case 5: GuiLoadStyleCyber(); break;
|
||||||
|
case 6: GuiLoadStyleTerminal(); break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
|
||||||
|
GuiSetStyle(LABEL, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||||
|
|
||||||
|
prevVisualStyleActive = visualStyleActive;
|
||||||
|
}
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
// Draw
|
// Draw
|
||||||
@ -144,12 +198,11 @@ int main()
|
|||||||
// raygui: controls drawing
|
// raygui: controls drawing
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Check all possible events that require GuiLock
|
// Check all possible events that require GuiLock
|
||||||
if (dropDown000EditMode ||
|
if (dropDown000EditMode || dropDown001EditMode) GuiLock();
|
||||||
dropDown001EditMode) GuiLock();
|
|
||||||
|
|
||||||
// First GUI column
|
// First GUI column
|
||||||
//GuiSetStyle(CHECKBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
//GuiSetStyle(CHECKBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||||
forceSquaredChecked = GuiCheckBox((Rectangle){ 25, 108, 15, 15 }, "FORCE CHECK!", forceSquaredChecked);
|
GuiCheckBox((Rectangle){ 25, 108, 15, 15 }, "FORCE CHECK!", &forceSquaredChecked);
|
||||||
|
|
||||||
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||||
//GuiSetStyle(VALUEBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
//GuiSetStyle(VALUEBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||||
@ -171,38 +224,59 @@ int main()
|
|||||||
GuiSetState(STATE_NORMAL);
|
GuiSetState(STATE_NORMAL);
|
||||||
//GuiUnlock();
|
//GuiUnlock();
|
||||||
|
|
||||||
comboBoxActive = GuiComboBox((Rectangle){ 25, 470, 125, 30 }, "ONE;TWO;THREE;FOUR", comboBoxActive);
|
GuiComboBox((Rectangle){ 25, 480, 125, 30 }, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal", &visualStyleActive);
|
||||||
|
|
||||||
// NOTE: GuiDropdownBox must draw after any other control that can be covered on unfolding
|
// NOTE: GuiDropdownBox must draw after any other control that can be covered on unfolding
|
||||||
GuiUnlock();
|
GuiUnlock();
|
||||||
|
GuiSetStyle(DROPDOWNBOX, TEXT_PADDING, 4);
|
||||||
GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||||
if (GuiDropdownBox((Rectangle){ 25, 65, 125, 30 }, "#01#ONE;#02#TWO;#03#THREE;#04#FOUR", &dropdownBox001Active, dropDown001EditMode)) dropDown001EditMode = !dropDown001EditMode;
|
if (GuiDropdownBox((Rectangle){ 25, 65, 125, 30 }, "#01#ONE;#02#TWO;#03#THREE;#04#FOUR", &dropdownBox001Active, dropDown001EditMode)) dropDown001EditMode = !dropDown001EditMode;
|
||||||
|
|
||||||
GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||||
|
GuiSetStyle(DROPDOWNBOX, TEXT_PADDING, 0);
|
||||||
|
|
||||||
if (GuiDropdownBox((Rectangle){ 25, 25, 125, 30 }, "ONE;TWO;THREE", &dropdownBox000Active, dropDown000EditMode)) dropDown000EditMode = !dropDown000EditMode;
|
if (GuiDropdownBox((Rectangle){ 25, 25, 125, 30 }, "ONE;TWO;THREE", &dropdownBox000Active, dropDown000EditMode)) dropDown000EditMode = !dropDown000EditMode;
|
||||||
|
|
||||||
// Second GUI column
|
// Second GUI column
|
||||||
listViewActive = GuiListView((Rectangle){ 165, 25, 140, 140 }, "Charmander;Bulbasaur;#18#Squirtel;Pikachu;Eevee;Pidgey", &listViewScrollIndex, listViewActive);
|
GuiListView((Rectangle){ 165, 25, 140, 124 }, "Charmander;Bulbasaur;#18#Squirtel;Pikachu;Eevee;Pidgey", &listViewScrollIndex, &listViewActive);
|
||||||
listViewExActive = GuiListViewEx((Rectangle){ 165, 180, 140, 200 }, listViewExList, 8, &listViewExFocus, &listViewExScrollIndex, listViewExActive);
|
GuiListViewEx((Rectangle){ 165, 162, 140, 184 }, listViewExList, 8, &listViewExScrollIndex, &listViewExActive, &listViewExFocus);
|
||||||
|
|
||||||
toggleGroupActive = GuiToggleGroup((Rectangle){ 165, 400, 140, 25 }, "#1#ONE\n#3#TWO\n#8#THREE\n#23#", toggleGroupActive);
|
//GuiToggle((Rectangle){ 165, 400, 140, 25 }, "#1#ONE", &toggleGroupActive);
|
||||||
|
GuiToggleGroup((Rectangle){ 165, 360, 140, 24 }, "#1#ONE\n#3#TWO\n#8#THREE\n#23#", &toggleGroupActive);
|
||||||
|
//GuiDisable();
|
||||||
|
GuiSetStyle(SLIDER, SLIDER_PADDING, 2);
|
||||||
|
GuiToggleSlider((Rectangle){ 165, 480, 140, 30 }, "ON;OFF", &toggleSliderActive);
|
||||||
|
GuiSetStyle(SLIDER, SLIDER_PADDING, 0);
|
||||||
|
|
||||||
// Third GUI column
|
// Third GUI column
|
||||||
GuiPanel((Rectangle){ 320, 25, 225, 140 }, "Panel Info");
|
GuiPanel((Rectangle){ 320, 25, 225, 140 }, "Panel Info");
|
||||||
colorPickerValue = GuiColorPicker((Rectangle){ 320, 185, 196, 192 }, NULL, colorPickerValue);
|
GuiColorPicker((Rectangle){ 320, 185, 196, 192 }, NULL, &colorPickerValue);
|
||||||
|
|
||||||
sliderValue = GuiSlider((Rectangle){ 355, 400, 165, 20 }, "TEST", TextFormat("%2.2f", (float)sliderValue), sliderValue, -50, 100);
|
//GuiDisable();
|
||||||
sliderBarValue = GuiSliderBar((Rectangle){ 320, 430, 200, 20 }, NULL, TextFormat("%i", (int)sliderBarValue), sliderBarValue, 0, 100);
|
GuiSlider((Rectangle){ 355, 400, 165, 20 }, "TEST", TextFormat("%2.2f", sliderValue), &sliderValue, -50, 100);
|
||||||
progressValue = GuiProgressBar((Rectangle){ 320, 460, 200, 20 }, NULL, NULL, progressValue, 0, 1);
|
GuiSliderBar((Rectangle){ 320, 430, 200, 20 }, NULL, TextFormat("%i", (int)sliderBarValue), &sliderBarValue, 0, 100);
|
||||||
|
|
||||||
|
GuiProgressBar((Rectangle){ 320, 460, 200, 20 }, NULL, TextFormat("%i%%", (int)(progressValue*100)), &progressValue, 0.0f, 1.0f);
|
||||||
|
GuiEnable();
|
||||||
|
|
||||||
// NOTE: View rectangle could be used to perform some scissor test
|
// NOTE: View rectangle could be used to perform some scissor test
|
||||||
Rectangle view = GuiScrollPanel((Rectangle){ 560, 25, 102, 354 }, NULL, (Rectangle){ 560, 25, 300, 1200 }, &viewScroll);
|
Rectangle view = { 0 };
|
||||||
|
GuiScrollPanel((Rectangle){ 560, 25, 102, 354 }, NULL, (Rectangle){ 560, 25, 300, 1200 }, &viewScroll, &view);
|
||||||
|
|
||||||
GuiGrid((Rectangle) { 560, 25 + 180 + 195, 100, 120 }, NULL, 20, 2);
|
Vector2 mouseCell = { 0 };
|
||||||
|
GuiGrid((Rectangle) { 560, 25 + 180 + 195, 100, 120 }, NULL, 20, 3, &mouseCell);
|
||||||
|
|
||||||
|
GuiColorBarAlpha((Rectangle){ 320, 490, 200, 30 }, NULL, &alphaValue);
|
||||||
|
|
||||||
|
GuiSetStyle(DEFAULT, TEXT_ALIGNMENT_VERTICAL, TEXT_ALIGN_TOP); // WARNING: Word-wrap does not work as expected in case of no-top alignment
|
||||||
|
GuiSetStyle(DEFAULT, TEXT_WRAP_MODE, TEXT_WRAP_WORD); // WARNING: If wrap mode enabled, text editing is not supported
|
||||||
|
if (GuiTextBox((Rectangle){ 678, 25, 258, 492 }, textBoxMultiText, 1024, textBoxMultiEditMode)) textBoxMultiEditMode = !textBoxMultiEditMode;
|
||||||
|
GuiSetStyle(DEFAULT, TEXT_WRAP_MODE, TEXT_WRAP_NONE);
|
||||||
|
GuiSetStyle(DEFAULT, TEXT_ALIGNMENT_VERTICAL, TEXT_ALIGN_MIDDLE);
|
||||||
|
|
||||||
|
GuiSetStyle(DEFAULT, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||||
GuiStatusBar((Rectangle){ 0, (float)GetScreenHeight() - 20, (float)GetScreenWidth(), 20 }, "This is a status bar");
|
GuiStatusBar((Rectangle){ 0, (float)GetScreenHeight() - 20, (float)GetScreenWidth(), 20 }, "This is a status bar");
|
||||||
|
GuiSetStyle(DEFAULT, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||||
alphaValue = GuiColorBarAlpha((Rectangle){ 320, 490, 200, 30 }, NULL, alphaValue);
|
//GuiSetStyle(STATUSBAR, TEXT_INDENTATION, 20);
|
||||||
|
|
||||||
if (showMessageBox)
|
if (showMessageBox)
|
||||||
{
|
{
|
||||||
@ -216,19 +290,19 @@ int main()
|
|||||||
if (showTextInputBox)
|
if (showTextInputBox)
|
||||||
{
|
{
|
||||||
DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, 0.8f));
|
DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, 0.8f));
|
||||||
int result = GuiTextInputBox((Rectangle){ (float)GetScreenWidth()/2 - 120, (float)GetScreenHeight()/2 - 60, 240, 140 }, "Save", GuiIconText(ICON_FILE_SAVE, "Save file as..."), "Ok;Cancel", textInput, 255, NULL);
|
int result = GuiTextInputBox((Rectangle){ (float)GetScreenWidth()/2 - 120, (float)GetScreenHeight()/2 - 60, 240, 140 }, GuiIconText(ICON_FILE_SAVE, "Save file as..."), "Introduce output file name:", "Ok;Cancel", textInput, 255, NULL);
|
||||||
|
|
||||||
if (result == 1)
|
if (result == 1)
|
||||||
{
|
{
|
||||||
// TODO: Validate textInput value and save
|
// TODO: Validate textInput value and save
|
||||||
|
|
||||||
strcpy(textInputFileName, textInput);
|
TextCopy(textInputFileName, textInput);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((result == 0) || (result == 1) || (result == 2))
|
if ((result == 0) || (result == 1) || (result == 2))
|
||||||
{
|
{
|
||||||
showTextInputBox = false;
|
showTextInputBox = false;
|
||||||
strcpy(textInput, "\0");
|
TextCopy(textInput, "\0");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -21,8 +21,8 @@
|
|||||||
#include "../../src/raygui.h"
|
#include "../../src/raygui.h"
|
||||||
|
|
||||||
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
|
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
|
||||||
#define GUI_FILE_DIALOG_IMPLEMENTATION
|
#define GUI_WINDOW_FILE_DIALOG_IMPLEMENTATION
|
||||||
#include "gui_file_dialog.h"
|
#include "gui_window_file_dialog.h"
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Program main entry point
|
// Program main entry point
|
||||||
@ -38,7 +38,7 @@ int main()
|
|||||||
SetExitKey(0);
|
SetExitKey(0);
|
||||||
|
|
||||||
// Custom file dialog
|
// Custom file dialog
|
||||||
GuiFileDialogState fileDialogState = InitGuiFileDialog(GetWorkingDirectory());
|
GuiWindowFileDialogState fileDialogState = InitGuiWindowFileDialog(GetWorkingDirectory());
|
||||||
|
|
||||||
bool exitWindow = false;
|
bool exitWindow = false;
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ int main()
|
|||||||
// Load image file (if supported extension)
|
// Load image file (if supported extension)
|
||||||
if (IsFileExtension(fileDialogState.fileNameText, ".png"))
|
if (IsFileExtension(fileDialogState.fileNameText, ".png"))
|
||||||
{
|
{
|
||||||
strcpy(fileNameToLoad, TextFormat("%s/%s", fileDialogState.dirPathText, fileDialogState.fileNameText));
|
strcpy(fileNameToLoad, TextFormat("%s" PATH_SEPERATOR "%s", fileDialogState.dirPathText, fileDialogState.fileNameText));
|
||||||
UnloadTexture(texture);
|
UnloadTexture(texture);
|
||||||
texture = LoadTexture(fileNameToLoad);
|
texture = LoadTexture(fileNameToLoad);
|
||||||
}
|
}
|
||||||
@ -91,7 +91,7 @@ int main()
|
|||||||
|
|
||||||
// GUI: Dialog Window
|
// GUI: Dialog Window
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
GuiFileDialog(&fileDialogState);
|
GuiWindowFileDialog(&fileDialogState);
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
/*******************************************************************************************
|
/*******************************************************************************************
|
||||||
*
|
*
|
||||||
* FileDialog v1.2 - Modal file dialog to open/save files
|
* Window File Dialog v1.2 - Modal file dialog to open/save files
|
||||||
*
|
*
|
||||||
* MODULE USAGE:
|
* MODULE USAGE:
|
||||||
* #define GUI_FILE_DIALOG_IMPLEMENTATION
|
* #define GUI_WINDOW_FILE_DIALOG_IMPLEMENTATION
|
||||||
* #include "gui_file_dialog.h"
|
* #include "gui_window_file_dialog.h"
|
||||||
*
|
*
|
||||||
* INIT: GuiFileDialogState state = InitGuiFileDialog();
|
* INIT: GuiWindowFileDialogState state = GuiInitWindowFileDialog();
|
||||||
* DRAW: GuiFileDialog(&state);
|
* DRAW: GuiWindowFileDialog(&state);
|
||||||
*
|
*
|
||||||
* NOTE: This module depends on some raylib file system functions:
|
* NOTE: This module depends on some raylib file system functions:
|
||||||
* - LoadDirectoryFiles()
|
* - LoadDirectoryFiles()
|
||||||
@ -18,7 +18,7 @@
|
|||||||
*
|
*
|
||||||
* LICENSE: zlib/libpng
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* Copyright (c) 2019-2022 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2019-2023 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
* This software is provided "as-is", without any express or implied warranty. In no event
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
||||||
* will the authors be held liable for any damages arising from the use of this software.
|
* will the authors be held liable for any damages arising from the use of this software.
|
||||||
@ -39,8 +39,8 @@
|
|||||||
|
|
||||||
#include "raylib.h"
|
#include "raylib.h"
|
||||||
|
|
||||||
#ifndef GUI_FILE_DIALOG_H
|
#ifndef GUI_WINDOW_FILE_DIALOG_H
|
||||||
#define GUI_FILE_DIALOG_H
|
#define GUI_WINDOW_FILE_DIALOG_H
|
||||||
|
|
||||||
// Gui file dialog context data
|
// Gui file dialog context data
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -77,7 +77,7 @@ typedef struct {
|
|||||||
|
|
||||||
bool saveFileMode;
|
bool saveFileMode;
|
||||||
|
|
||||||
} GuiFileDialogState;
|
} GuiWindowFileDialogState;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" { // Prevents name mangling of functions
|
extern "C" { // Prevents name mangling of functions
|
||||||
@ -101,21 +101,21 @@ extern "C" { // Prevents name mangling of functions
|
|||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Module Functions Declaration
|
// Module Functions Declaration
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
GuiFileDialogState InitGuiFileDialog(const char *initPath);
|
GuiWindowFileDialogState InitGuiWindowFileDialog(const char *initPath);
|
||||||
void GuiFileDialog(GuiFileDialogState *state);
|
void GuiWindowFileDialog(GuiWindowFileDialogState *state);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // GUI_FILE_DIALOG_H
|
#endif // GUI_WINDOW_FILE_DIALOG_H
|
||||||
|
|
||||||
/***********************************************************************************
|
/***********************************************************************************
|
||||||
*
|
*
|
||||||
* GUI_FILE_DIALOG IMPLEMENTATION
|
* GUI_WINDOW_FILE_DIALOG IMPLEMENTATION
|
||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
#if defined(GUI_FILE_DIALOG_IMPLEMENTATION)
|
#if defined(GUI_WINDOW_FILE_DIALOG_IMPLEMENTATION)
|
||||||
|
|
||||||
#include "../../src/raygui.h"
|
#include "../../src/raygui.h"
|
||||||
|
|
||||||
@ -126,6 +126,11 @@ void GuiFileDialog(GuiFileDialogState *state);
|
|||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
#define MAX_DIRECTORY_FILES 2048
|
#define MAX_DIRECTORY_FILES 2048
|
||||||
#define MAX_ICON_PATH_LENGTH 512
|
#define MAX_ICON_PATH_LENGTH 512
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define PATH_SEPERATOR "\\"
|
||||||
|
#else
|
||||||
|
#define PATH_SEPERATOR "/"
|
||||||
|
#endif
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Types and Structures Definition
|
// Types and Structures Definition
|
||||||
@ -153,7 +158,7 @@ FileInfo *dirFilesIcon = NULL; // Path string + icon (for fancy drawing)
|
|||||||
// Internal Module Functions Definition
|
// Internal Module Functions Definition
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Read files in new path
|
// Read files in new path
|
||||||
static void ReloadDirectoryFiles(GuiFileDialogState *state);
|
static void ReloadDirectoryFiles(GuiWindowFileDialogState *state);
|
||||||
|
|
||||||
#if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
#if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
||||||
// List View control for files info with extended parameters
|
// List View control for files info with extended parameters
|
||||||
@ -163,9 +168,9 @@ static int GuiListViewFiles(Rectangle bounds, FileInfo *files, int count, int *f
|
|||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Module Functions Definition
|
// Module Functions Definition
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
GuiFileDialogState InitGuiFileDialog(const char *initPath)
|
GuiWindowFileDialogState InitGuiWindowFileDialog(const char *initPath)
|
||||||
{
|
{
|
||||||
GuiFileDialogState state = { 0 };
|
GuiWindowFileDialogState state = { 0 };
|
||||||
|
|
||||||
// Init window data
|
// Init window data
|
||||||
state.windowBounds = (Rectangle){ GetScreenWidth()/2 - 440/2, GetScreenHeight()/2 - 310/2, 440, 310 };
|
state.windowBounds = (Rectangle){ GetScreenWidth()/2 - 440/2, GetScreenHeight()/2 - 310/2, 440, 310 };
|
||||||
@ -214,7 +219,7 @@ GuiFileDialogState InitGuiFileDialog(const char *initPath)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Update and draw file dialog
|
// Update and draw file dialog
|
||||||
void GuiFileDialog(GuiFileDialogState *state)
|
void GuiWindowFileDialog(GuiWindowFileDialogState *state)
|
||||||
{
|
{
|
||||||
if (state->windowActive)
|
if (state->windowActive)
|
||||||
{
|
{
|
||||||
@ -310,7 +315,8 @@ void GuiFileDialog(GuiFileDialogState *state)
|
|||||||
# if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
# if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
||||||
state->filesListActive = GuiListViewFiles((Rectangle){ state->position.x + 8, state->position.y + 48 + 20, state->windowBounds.width - 16, state->windowBounds.height - 60 - 16 - 68 }, fileInfo, state->dirFiles.count, &state->itemFocused, &state->filesListScrollIndex, state->filesListActive);
|
state->filesListActive = GuiListViewFiles((Rectangle){ state->position.x + 8, state->position.y + 48 + 20, state->windowBounds.width - 16, state->windowBounds.height - 60 - 16 - 68 }, fileInfo, state->dirFiles.count, &state->itemFocused, &state->filesListScrollIndex, state->filesListActive);
|
||||||
# else
|
# else
|
||||||
state->filesListActive = GuiListViewEx((Rectangle){ state->windowBounds.x + 8, state->windowBounds.y + 48 + 20, state->windowBounds.width - 16, state->windowBounds.height - 60 - 16 - 68 }, (const char**)dirFilesIcon, state->dirFiles.count, &state->itemFocused, &state->filesListScrollIndex, state->filesListActive);
|
GuiListViewEx((Rectangle){ state->windowBounds.x + 8, state->windowBounds.y + 48 + 20, state->windowBounds.width - 16, state->windowBounds.height - 60 - 16 - 68 },
|
||||||
|
(const char**)dirFilesIcon, state->dirFiles.count, &state->filesListScrollIndex, &state->filesListActive, &state->itemFocused);
|
||||||
# endif
|
# endif
|
||||||
GuiSetStyle(LISTVIEW, TEXT_ALIGNMENT, prevTextAlignment);
|
GuiSetStyle(LISTVIEW, TEXT_ALIGNMENT, prevTextAlignment);
|
||||||
GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, prevElementsHeight);
|
GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, prevElementsHeight);
|
||||||
@ -372,7 +378,7 @@ void GuiFileDialog(GuiFileDialogState *state)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GuiLabel((Rectangle){ state->windowBounds.x + 8, state->windowBounds.y + state->windowBounds.height - 24 - 12, 68, 24 }, "File filter:");
|
GuiLabel((Rectangle){ state->windowBounds.x + 8, state->windowBounds.y + state->windowBounds.height - 24 - 12, 68, 24 }, "File filter:");
|
||||||
state->fileTypeActive = GuiComboBox((Rectangle){ state->windowBounds.x + 72, state->windowBounds.y + state->windowBounds.height - 24 - 12, state->windowBounds.width - 184, 24 }, "All files", state->fileTypeActive);
|
GuiComboBox((Rectangle){ state->windowBounds.x + 72, state->windowBounds.y + state->windowBounds.height - 24 - 12, state->windowBounds.width - 184, 24 }, "All files", &state->fileTypeActive);
|
||||||
|
|
||||||
state->SelectFilePressed = GuiButton((Rectangle){ state->windowBounds.x + state->windowBounds.width - 96 - 8, state->windowBounds.y + state->windowBounds.height - 68, 96, 24 }, "Select");
|
state->SelectFilePressed = GuiButton((Rectangle){ state->windowBounds.x + state->windowBounds.width - 96 - 8, state->windowBounds.y + state->windowBounds.height - 68, 96, 24 }, "Select");
|
||||||
|
|
||||||
@ -418,7 +424,7 @@ static inline int FileCompare(const char *d1, const char *d2, const char *dir)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Read files in new path
|
// Read files in new path
|
||||||
static void ReloadDirectoryFiles(GuiFileDialogState *state)
|
static void ReloadDirectoryFiles(GuiWindowFileDialogState *state)
|
||||||
{
|
{
|
||||||
UnloadDirectoryFiles(state->dirFiles);
|
UnloadDirectoryFiles(state->dirFiles);
|
||||||
|
|
||||||
@ -462,11 +468,12 @@ static void ReloadDirectoryFiles(GuiFileDialogState *state)
|
|||||||
|
|
||||||
#if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
#if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
||||||
// List View control for files info with extended parameters
|
// List View control for files info with extended parameters
|
||||||
static int GuiListViewFiles(Rectangle bounds, FileInfo *files, int count, int *focus, int *scrollIndex, int active)
|
static int GuiListViewFiles(Rectangle bounds, FileInfo *files, int count, int *focus, int *scrollIndex, int *active)
|
||||||
{
|
{
|
||||||
|
int result = 0;
|
||||||
GuiState state = guiState;
|
GuiState state = guiState;
|
||||||
int itemFocused = (focus == NULL)? -1 : *focus;
|
int itemFocused = (focus == NULL)? -1 : *focus;
|
||||||
int itemSelected = active;
|
int itemSelected = *active;
|
||||||
|
|
||||||
// Check if we need a scroll bar
|
// Check if we need a scroll bar
|
||||||
bool useScrollBar = false;
|
bool useScrollBar = false;
|
||||||
@ -610,7 +617,8 @@ static int GuiListViewFiles(Rectangle bounds, FileInfo *files, int count, int *f
|
|||||||
if (focus != NULL) *focus = itemFocused;
|
if (focus != NULL) *focus = itemFocused;
|
||||||
if (scrollIndex != NULL) *scrollIndex = startIndex;
|
if (scrollIndex != NULL) *scrollIndex = startIndex;
|
||||||
|
|
||||||
return itemSelected;
|
*active = itemSelected;
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
#endif // USE_CUSTOM_LISTVIEW_FILEINFO
|
#endif // USE_CUSTOM_LISTVIEW_FILEINFO
|
||||||
|
|
||||||
260
examples/custom_input_box/custom_input_box.c
Normal file
@ -0,0 +1,260 @@
|
|||||||
|
/*******************************************************************************************
|
||||||
|
*
|
||||||
|
* raygui - basic calculator app with custom input box for float values
|
||||||
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
|
* raylib 4.5 - Windowing/input management and drawing.
|
||||||
|
* raygui 3.5 - Immediate-mode GUI controls.
|
||||||
|
*
|
||||||
|
* COMPILATION (Windows - MinGW):
|
||||||
|
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
|
||||||
|
*
|
||||||
|
**********************************************************************************************/
|
||||||
|
|
||||||
|
#include <raylib.h>
|
||||||
|
|
||||||
|
#define RAYGUI_IMPLEMENTATION
|
||||||
|
#include <raygui.h>
|
||||||
|
|
||||||
|
int guiFloatingPointIndex = 0; // Global variable shared by all GuiFLoatBox()
|
||||||
|
|
||||||
|
float TextToFloat(const char* text); // Helper function that converts text to float
|
||||||
|
int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue, int maxValue, bool editMode); // Custom input box that works with float values. Basicly GuiValueBox(), but with some changes
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
InitWindow(250, 100, "Basic calculator");
|
||||||
|
|
||||||
|
// General variables
|
||||||
|
SetTargetFPS(60);
|
||||||
|
|
||||||
|
float variableA = 0.0f;
|
||||||
|
float variableB = 0.0f;
|
||||||
|
float result = 0.0f;
|
||||||
|
char operation[2];
|
||||||
|
operation[0] = '+';
|
||||||
|
operation[1] = '\0';
|
||||||
|
|
||||||
|
bool variableAMode = false;
|
||||||
|
bool variableBMode = false;
|
||||||
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Main game loop
|
||||||
|
while (!WindowShouldClose())
|
||||||
|
{
|
||||||
|
// Draw
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
BeginDrawing();
|
||||||
|
|
||||||
|
ClearBackground(RAYWHITE);
|
||||||
|
|
||||||
|
if (GuiFloatBox((Rectangle){ 10, 10, 100, 20 }, NULL, &variableA, -1000000.0, 1000000.0, variableAMode)) variableAMode = !variableAMode;
|
||||||
|
if (GuiFloatBox((Rectangle){ 140, 10, 100, 20 }, NULL, &variableB, -1000000.0, 1000000.0, variableBMode)) variableBMode = !variableBMode;
|
||||||
|
|
||||||
|
if (GuiButton((Rectangle){ 10, 70, 50, 20 }, "+"))
|
||||||
|
{
|
||||||
|
result = variableA + variableB;
|
||||||
|
operation[0] = '+';
|
||||||
|
}
|
||||||
|
if (GuiButton((Rectangle){ 70, 70, 50, 20 }, "-"))
|
||||||
|
{
|
||||||
|
result = variableA - variableB;
|
||||||
|
operation[0] = '-';
|
||||||
|
}
|
||||||
|
if (GuiButton((Rectangle){ 130, 70, 50, 20 }, "*"))
|
||||||
|
{
|
||||||
|
result = variableA * variableB;
|
||||||
|
operation[0] = '*';
|
||||||
|
}
|
||||||
|
if (GuiButton((Rectangle){ 190, 70, 50, 20 }, "/"))
|
||||||
|
{
|
||||||
|
result = variableA / variableB;
|
||||||
|
operation[0] = '/';
|
||||||
|
}
|
||||||
|
|
||||||
|
DrawText(operation, 123, 15, 10, DARKGRAY);
|
||||||
|
|
||||||
|
GuiFloatBox((Rectangle){ 55, 40, 135, 20 }, "= ", &result, -2000000.0, 2000000.0, false);
|
||||||
|
|
||||||
|
EndDrawing();
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get float value from text
|
||||||
|
float TextToFloat(const char* text)
|
||||||
|
{
|
||||||
|
float value = 0.0f;
|
||||||
|
float floatingPoint = 0.0f;
|
||||||
|
int sign = 1;
|
||||||
|
|
||||||
|
// deal with the sign
|
||||||
|
if ((text[0] == '+') || (text[0] == '-'))
|
||||||
|
{
|
||||||
|
if (text[0] == '-') sign = -1;
|
||||||
|
text++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// convert text to float
|
||||||
|
for (int i = 0; (((text[i] >= '0') && (text[i] <= '9')) || text[i] == '.'); i++)
|
||||||
|
{
|
||||||
|
if (text[i] == '.')
|
||||||
|
{
|
||||||
|
if (floatingPoint > 0.0f) break;
|
||||||
|
|
||||||
|
floatingPoint = 10.0f;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (floatingPoint > 0.0f) // after encountering decimal separator
|
||||||
|
{
|
||||||
|
value += (float)(text[i] - '0') / floatingPoint;
|
||||||
|
floatingPoint *= 10.0f;
|
||||||
|
}
|
||||||
|
else // before decimal separator
|
||||||
|
value = value * 10.0f + (float)(text[i] - '0');
|
||||||
|
}
|
||||||
|
|
||||||
|
return value * sign;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Float Box control, updates input text with numbers
|
||||||
|
int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue, int maxValue, bool editMode)
|
||||||
|
{
|
||||||
|
#if !defined(RAYGUI_VALUEBOX_MAX_CHARS)
|
||||||
|
#define RAYGUI_VALUEBOX_MAX_CHARS 32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int result = 0;
|
||||||
|
GuiState state = guiState;
|
||||||
|
|
||||||
|
char textValue[RAYGUI_VALUEBOX_MAX_CHARS + 1] = "\0";
|
||||||
|
|
||||||
|
Rectangle textBounds = { 0 };
|
||||||
|
if (text != NULL)
|
||||||
|
{
|
||||||
|
textBounds.width = (float)GetTextWidth(text) + 2;
|
||||||
|
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||||
|
textBounds.x = bounds.x + bounds.width + GuiGetStyle(VALUEBOX, TEXT_PADDING);
|
||||||
|
textBounds.y = bounds.y + bounds.height / 2 - GuiGetStyle(DEFAULT, TEXT_SIZE) / 2;
|
||||||
|
if (GuiGetStyle(VALUEBOX, TEXT_ALIGNMENT) == TEXT_ALIGN_LEFT) textBounds.x = bounds.x - textBounds.width - GuiGetStyle(VALUEBOX, TEXT_PADDING);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update control
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
if ((state != STATE_DISABLED) && !guiLocked && !guiSliderDragging)
|
||||||
|
{
|
||||||
|
Vector2 mousePoint = GetMousePosition();
|
||||||
|
|
||||||
|
if (*value >= 0) sprintf(textValue, "+%.3f", *value);
|
||||||
|
else sprintf(textValue, "%.3f", *value);
|
||||||
|
|
||||||
|
bool valueHasChanged = false;
|
||||||
|
|
||||||
|
int keyCount = (int)strlen(textValue) - guiFloatingPointIndex;
|
||||||
|
|
||||||
|
if (editMode)
|
||||||
|
{
|
||||||
|
state = STATE_PRESSED;
|
||||||
|
|
||||||
|
// Only allow keys in range [48..57]
|
||||||
|
if (keyCount < RAYGUI_VALUEBOX_MAX_CHARS)
|
||||||
|
{
|
||||||
|
if (GetTextWidth(textValue) < bounds.width)
|
||||||
|
{
|
||||||
|
int key = GetCharPressed();
|
||||||
|
if ((key >= 48) && (key <= 57) && guiFloatingPointIndex)
|
||||||
|
{
|
||||||
|
if (guiFloatingPointIndex && guiFloatingPointIndex != 4) guiFloatingPointIndex--;
|
||||||
|
|
||||||
|
textValue[keyCount] = (char)key;
|
||||||
|
textValue[++keyCount] = '\0';
|
||||||
|
valueHasChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete text
|
||||||
|
if (keyCount > 0)
|
||||||
|
{
|
||||||
|
if (IsKeyPressed(KEY_BACKSPACE))
|
||||||
|
{
|
||||||
|
if (guiFloatingPointIndex < 4) guiFloatingPointIndex++;
|
||||||
|
|
||||||
|
keyCount--;
|
||||||
|
textValue[keyCount] = '\0';
|
||||||
|
valueHasChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Change sign
|
||||||
|
if (IsKeyPressed(KEY_MINUS))
|
||||||
|
{
|
||||||
|
if (textValue[0] == '+') textValue[0] = '-';
|
||||||
|
else if (textValue[0] == '-') textValue[0] = '+';
|
||||||
|
valueHasChanged = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add decimal separator
|
||||||
|
if ((IsKeyPressed(KEY_COMMA) || IsKeyPressed(KEY_PERIOD)) && guiFloatingPointIndex == 4)
|
||||||
|
{
|
||||||
|
guiFloatingPointIndex--;
|
||||||
|
valueHasChanged = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (valueHasChanged)
|
||||||
|
{
|
||||||
|
*value = TextToFloat(textValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsKeyPressed(KEY_ENTER) || (!CheckCollisionPointRec(mousePoint, bounds) && IsMouseButtonPressed(MOUSE_LEFT_BUTTON)))
|
||||||
|
{
|
||||||
|
guiFloatingPointIndex = 0;
|
||||||
|
result = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (*value > maxValue) *value = maxValue;
|
||||||
|
else if (*value < minValue) *value = minValue;
|
||||||
|
|
||||||
|
if (CheckCollisionPointRec(mousePoint, bounds))
|
||||||
|
{
|
||||||
|
state = STATE_FOCUSED;
|
||||||
|
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) result = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Draw control
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
Color baseColor = BLANK;
|
||||||
|
sprintf(textValue, "%.3f", *value);
|
||||||
|
|
||||||
|
if (state == STATE_PRESSED)
|
||||||
|
{
|
||||||
|
baseColor = GetColor(GuiGetStyle(VALUEBOX, BASE_COLOR_PRESSED));
|
||||||
|
textValue[(int)strlen(textValue) - guiFloatingPointIndex] = '\0';
|
||||||
|
}
|
||||||
|
else if (state == STATE_DISABLED) baseColor = GetColor(GuiGetStyle(VALUEBOX, BASE_COLOR_DISABLED));
|
||||||
|
|
||||||
|
// WARNING: BLANK color does not work properly with Fade()
|
||||||
|
GuiDrawRectangle(bounds, GuiGetStyle(VALUEBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(VALUEBOX, BORDER + (state * 3))), guiAlpha), baseColor);
|
||||||
|
GuiDrawText(textValue, GetTextBounds(VALUEBOX, bounds), TEXT_ALIGN_CENTER, Fade(GetColor(GuiGetStyle(VALUEBOX, TEXT + (state * 3))), guiAlpha));
|
||||||
|
|
||||||
|
// Draw cursor
|
||||||
|
if (editMode)
|
||||||
|
{
|
||||||
|
// NOTE: ValueBox internal text is always centered
|
||||||
|
Rectangle cursor = { bounds.x + GetTextWidth(textValue) / 2 + bounds.width / 2 + 1, bounds.y + 2 * GuiGetStyle(VALUEBOX, BORDER_WIDTH), 4, bounds.height - 4 * GuiGetStyle(VALUEBOX, BORDER_WIDTH) };
|
||||||
|
GuiDrawRectangle(cursor, 0, BLANK, Fade(GetColor(GuiGetStyle(VALUEBOX, BORDER_COLOR_PRESSED)), guiAlpha));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw text label if provided
|
||||||
|
GuiDrawText(text, textBounds, (GuiGetStyle(VALUEBOX, TEXT_ALIGNMENT) == TEXT_ALIGN_RIGHT) ? TEXT_ALIGN_LEFT : TEXT_ALIGN_RIGHT, Fade(GetColor(GuiGetStyle(LABEL, TEXT + (state * 3))), guiAlpha));
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
@ -75,7 +75,7 @@ int main()
|
|||||||
// raygui: controls drawing
|
// raygui: controls drawing
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
GuiGroupBox((Rectangle){ 66, 24, 276, 312 }, "STANDARD");
|
GuiGroupBox((Rectangle){ 66, 24, 276, 312 }, "STANDARD");
|
||||||
value = GuiSlider((Rectangle){ 96, 48, 216, 16 }, TextFormat("%0.2f", value), NULL, value, 0.0f, 1.0f);
|
GuiSlider((Rectangle){ 96, 48, 216, 16 }, TextFormat("%0.2f", value), NULL, &value, 0.0f, 1.0f);
|
||||||
value = GuiVerticalSlider((Rectangle){ 120, 120, 24, 192 }, TextFormat("%0.2f", value), NULL, value, 0.0f, 1.0f);
|
value = GuiVerticalSlider((Rectangle){ 120, 120, 24, 192 }, TextFormat("%0.2f", value), NULL, value, 0.0f, 1.0f);
|
||||||
value = GuiVerticalSliderBar((Rectangle){ 264, 120, 24, 192 }, TextFormat("%0.2f", value), NULL, value, 0.0f, 1.0f);
|
value = GuiVerticalSliderBar((Rectangle){ 264, 120, 24, 192 }, TextFormat("%0.2f", value), NULL, value, 0.0f, 1.0f);
|
||||||
|
|
||||||
@ -467,4 +467,4 @@ bool GuiVerticalSliderOwning(Rectangle bounds, const char *textTop, const char *
|
|||||||
bool GuiVerticalSliderBarOwning(Rectangle bounds, const char *textTop, const char *textBottom, float *value, float minValue, float maxValue, bool editMode)
|
bool GuiVerticalSliderBarOwning(Rectangle bounds, const char *textTop, const char *textBottom, float *value, float minValue, float maxValue, bool editMode)
|
||||||
{
|
{
|
||||||
return GuiVerticalSliderProOwning(bounds, textTop, textBottom, value, minValue, maxValue, 0, editMode);
|
return GuiVerticalSliderProOwning(bounds, textTop, textBottom, value, minValue, maxValue, 0, editMode);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,7 +44,7 @@ int main(int argc, char *argv[])
|
|||||||
const char *pixelFormatTextList[7] = { "GRAYSCALE", "GRAY ALPHA", "R5G6B5", "R8G8B8", "R5G5B5A1", "R4G4B4A4", "R8G8B8A8" };
|
const char *pixelFormatTextList[7] = { "GRAYSCALE", "GRAY ALPHA", "R5G6B5", "R8G8B8", "R5G5B5A1", "R4G4B4A4", "R8G8B8A8" };
|
||||||
|
|
||||||
bool textBoxEditMode = false;
|
bool textBoxEditMode = false;
|
||||||
char fileName[32] = "untitled";
|
char fileName[64] = "untitled";
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
Image image = { 0 };
|
Image image = { 0 };
|
||||||
@ -54,7 +54,7 @@ int main(int argc, char *argv[])
|
|||||||
float imageScale = 1.0f;
|
float imageScale = 1.0f;
|
||||||
Rectangle imageRec = { 0 };
|
Rectangle imageRec = { 0 };
|
||||||
|
|
||||||
bool btnExport = false;
|
bool btnExportPressed = false;
|
||||||
|
|
||||||
SetTargetFPS(60);
|
SetTargetFPS(60);
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
@ -91,7 +91,7 @@ int main(int argc, char *argv[])
|
|||||||
UnloadDroppedFiles(droppedFiles);
|
UnloadDroppedFiles(droppedFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (btnExport)
|
if (btnExportPressed)
|
||||||
{
|
{
|
||||||
if (imageLoaded)
|
if (imageLoaded)
|
||||||
{
|
{
|
||||||
@ -163,17 +163,17 @@ int main(int argc, char *argv[])
|
|||||||
windowBoxActive = !GuiWindowBox((Rectangle){ windowBoxRec.x, windowBoxRec.y, 220, 190 }, "Image Export Options");
|
windowBoxActive = !GuiWindowBox((Rectangle){ windowBoxRec.x, windowBoxRec.y, 220, 190 }, "Image Export Options");
|
||||||
|
|
||||||
GuiLabel((Rectangle){ windowBoxRec.x + 10, windowBoxRec.y + 35, 60, 25 }, "File format:");
|
GuiLabel((Rectangle){ windowBoxRec.x + 10, windowBoxRec.y + 35, 60, 25 }, "File format:");
|
||||||
fileFormatActive = GuiComboBox((Rectangle){ windowBoxRec.x + 80, windowBoxRec.y + 35, 130, 25 }, TextJoin(fileFormatTextList, 3, ";"), fileFormatActive);
|
GuiComboBox((Rectangle){ windowBoxRec.x + 80, windowBoxRec.y + 35, 130, 25 }, TextJoin(fileFormatTextList, 3, ";"), &fileFormatActive);
|
||||||
GuiLabel((Rectangle){ windowBoxRec.x + 10, windowBoxRec.y + 70, 63, 25 }, "Pixel format:");
|
GuiLabel((Rectangle){ windowBoxRec.x + 10, windowBoxRec.y + 70, 63, 25 }, "Pixel format:");
|
||||||
pixelFormatActive = GuiComboBox((Rectangle){ windowBoxRec.x + 80, windowBoxRec.y + 70, 130, 25 }, TextJoin(pixelFormatTextList, 7, ";"), pixelFormatActive);
|
GuiComboBox((Rectangle){ windowBoxRec.x + 80, windowBoxRec.y + 70, 130, 25 }, TextJoin(pixelFormatTextList, 7, ";"), &pixelFormatActive);
|
||||||
GuiLabel((Rectangle){ windowBoxRec.x + 10, windowBoxRec.y + 105, 50, 25 }, "File name:");
|
GuiLabel((Rectangle){ windowBoxRec.x + 10, windowBoxRec.y + 105, 50, 25 }, "File name:");
|
||||||
if (GuiTextBox((Rectangle){ windowBoxRec.x + 80, windowBoxRec.y + 105, 130, 25 }, fileName, 64, textBoxEditMode)) textBoxEditMode = !textBoxEditMode;
|
if (GuiTextBox((Rectangle){ windowBoxRec.x + 80, windowBoxRec.y + 105, 130, 25 }, fileName, 64, textBoxEditMode)) textBoxEditMode = !textBoxEditMode;
|
||||||
|
|
||||||
btnExport = GuiButton((Rectangle){ windowBoxRec.x + 10, windowBoxRec.y + 145, 200, 30 }, "Export Image");
|
btnExportPressed = GuiButton((Rectangle){ windowBoxRec.x + 10, windowBoxRec.y + 145, 200, 30 }, "Export Image");
|
||||||
}
|
}
|
||||||
else btnExport = false;
|
else btnExportPressed = false;
|
||||||
|
|
||||||
if (btnExport) DrawText("Image exported!", 20, screenHeight - 20, 20, RED);
|
if (btnExportPressed) DrawText("Image exported!", 20, screenHeight - 20, 20, RED);
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
EndDrawing();
|
EndDrawing();
|
||||||
|
|||||||
@ -194,14 +194,14 @@ int main()
|
|||||||
if (GuiValueBox((Rectangle){ windowOffset.x + 60, windowOffset.y + 130, 80, 25 }, NULL, &heightValue, 0, 8192, heightEditMode)) heightEditMode = !heightEditMode;
|
if (GuiValueBox((Rectangle){ windowOffset.x + 60, windowOffset.y + 130, 80, 25 }, NULL, &heightValue, 0, 8192, heightEditMode)) heightEditMode = !heightEditMode;
|
||||||
GuiLabel((Rectangle){ windowOffset.x + 145, windowOffset.y + 130, 30, 25 }, "pixels");
|
GuiLabel((Rectangle){ windowOffset.x + 145, windowOffset.y + 130, 30, 25 }, "pixels");
|
||||||
GuiGroupBox((Rectangle){ windowOffset.x + 10, windowOffset.y + 180, 180, 160 }, "Pixel Format");
|
GuiGroupBox((Rectangle){ windowOffset.x + 10, windowOffset.y + 180, 180, 160 }, "Pixel Format");
|
||||||
pixelFormatActive = GuiComboBox((Rectangle){ windowOffset.x + 20, windowOffset.y + 195, 160, 25 }, TextJoin(pixelFormatTextList, 8, ";"), pixelFormatActive);
|
GuiComboBox((Rectangle){ windowOffset.x + 20, windowOffset.y + 195, 160, 25 }, TextJoin(pixelFormatTextList, 8, ";"), &pixelFormatActive);
|
||||||
GuiLine((Rectangle){ windowOffset.x + 20, windowOffset.y + 220, 160, 20 }, NULL);
|
GuiLine((Rectangle){ windowOffset.x + 20, windowOffset.y + 220, 160, 20 }, NULL);
|
||||||
|
|
||||||
if (pixelFormatActive != 0) GuiDisable();
|
if (pixelFormatActive != 0) GuiDisable();
|
||||||
GuiLabel((Rectangle){ windowOffset.x + 20, windowOffset.y + 235, 50, 20 }, "Channels:");
|
GuiLabel((Rectangle){ windowOffset.x + 20, windowOffset.y + 235, 50, 20 }, "Channels:");
|
||||||
channelsActive = GuiToggleGroup((Rectangle){ windowOffset.x + 20, windowOffset.y + 255, 156/4, 25 }, TextJoin(channelsTextList, 4, ";"), channelsActive);
|
GuiToggleGroup((Rectangle){ windowOffset.x + 20, windowOffset.y + 255, 156/4, 25 }, TextJoin(channelsTextList, 4, ";"), &channelsActive);
|
||||||
GuiLabel((Rectangle){ windowOffset.x + 20, windowOffset.y + 285, 50, 20 }, "Bit Depth:");
|
GuiLabel((Rectangle){ windowOffset.x + 20, windowOffset.y + 285, 50, 20 }, "Bit Depth:");
|
||||||
bitDepthActive = GuiToggleGroup((Rectangle){ windowOffset.x + 20, windowOffset.y + 305, 160/3, 25 }, TextJoin(bitDepthTextList, 3, ";"), bitDepthActive);
|
GuiToggleGroup((Rectangle){ windowOffset.x + 20, windowOffset.y + 305, 160/3, 25 }, TextJoin(bitDepthTextList, 3, ";"), &bitDepthActive);
|
||||||
GuiEnable();
|
GuiEnable();
|
||||||
|
|
||||||
GuiGroupBox((Rectangle){ windowOffset.x + 10, windowOffset.y + 355, 180, 50 }, "Header");
|
GuiGroupBox((Rectangle){ windowOffset.x + 10, windowOffset.y + 355, 180, 50 }, "Header");
|
||||||
|
|||||||
@ -53,7 +53,7 @@ int main()
|
|||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
mousePosition = GetMousePosition();
|
mousePosition = GetMousePosition();
|
||||||
|
|
||||||
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON))
|
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && !dragWindow)
|
||||||
{
|
{
|
||||||
if (CheckCollisionPointRec(mousePosition, (Rectangle){ 0, 0, screenWidth, 20 }))
|
if (CheckCollisionPointRec(mousePosition, (Rectangle){ 0, 0, screenWidth, 20 }))
|
||||||
{
|
{
|
||||||
@ -66,10 +66,10 @@ int main()
|
|||||||
{
|
{
|
||||||
windowPosition.x += (mousePosition.x - panOffset.x);
|
windowPosition.x += (mousePosition.x - panOffset.x);
|
||||||
windowPosition.y += (mousePosition.y - panOffset.y);
|
windowPosition.y += (mousePosition.y - panOffset.y);
|
||||||
|
|
||||||
|
SetWindowPosition((int)windowPosition.x, (int)windowPosition.y);
|
||||||
|
|
||||||
if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) dragWindow = false;
|
if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) dragWindow = false;
|
||||||
|
|
||||||
SetWindowPosition(windowPosition.x, windowPosition.y);
|
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -82,6 +82,7 @@ int main()
|
|||||||
exitWindow = GuiWindowBox((Rectangle){ 0, 0, screenWidth, screenHeight }, "#198# PORTABLE WINDOW");
|
exitWindow = GuiWindowBox((Rectangle){ 0, 0, screenWidth, screenHeight }, "#198# PORTABLE WINDOW");
|
||||||
|
|
||||||
DrawText(TextFormat("Mouse Position: [ %.0f, %.0f ]", mousePosition.x, mousePosition.y), 10, 40, 10, DARKGRAY);
|
DrawText(TextFormat("Mouse Position: [ %.0f, %.0f ]", mousePosition.x, mousePosition.y), 10, 40, 10, DARKGRAY);
|
||||||
|
DrawText(TextFormat("Window Position: [ %.0f, %.0f ]", windowPosition.x, windowPosition.y), 10, 60, 10, DARKGRAY);
|
||||||
|
|
||||||
EndDrawing();
|
EndDrawing();
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -543,7 +543,7 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
|||||||
// draw property value
|
// draw property value
|
||||||
const bool locked = guiLocked;
|
const bool locked = guiLocked;
|
||||||
GuiLock(); // lock the checkbox since we changed the value manually
|
GuiLock(); // lock the checkbox since we changed the value manually
|
||||||
GuiCheckBox((Rectangle){propBounds.x+propBounds.width/2, propBounds.y + height/4, height/2, height/2}, props[p].value.vbool ? "Yes" : "No", props[p].value.vbool);
|
GuiCheckBox((Rectangle){propBounds.x+propBounds.width/2, propBounds.y + height/4, height/2, height/2}, props[p].value.vbool? "Yes" : "No", &props[p].value.vbool);
|
||||||
if(!locked) GuiUnlock(); // only unlock when needed
|
if(!locked) GuiUnlock(); // only unlock when needed
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
@ -584,8 +584,8 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
|||||||
// draw property name
|
// draw property name
|
||||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x + PROPERTY_PADDING, propBounds.y, propBounds.width/2-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, TEXT_ALIGN_LEFT, textColor);
|
GuiDrawText(props[p].name, (Rectangle){propBounds.x + PROPERTY_PADDING, propBounds.y, propBounds.width/2-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, TEXT_ALIGN_LEFT, textColor);
|
||||||
// draw property value
|
// draw property value
|
||||||
props[p].value.vselect.active = GuiComboBox((Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2},
|
GuiComboBox((Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2},
|
||||||
props[p].value.vselect.val, props[p].value.vselect.active);
|
props[p].value.vselect.val, &props[p].value.vselect.active);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case GUI_PROP_VECTOR2: case GUI_PROP_VECTOR3: case GUI_PROP_VECTOR4: {
|
case GUI_PROP_VECTOR2: case GUI_PROP_VECTOR3: case GUI_PROP_VECTOR4: {
|
||||||
|
|||||||
@ -61,6 +61,8 @@ int main()
|
|||||||
// Tweak the default raygui style a bit
|
// Tweak the default raygui style a bit
|
||||||
GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, 24);
|
GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, 24);
|
||||||
GuiSetStyle(LISTVIEW, SCROLLBAR_WIDTH, 12);
|
GuiSetStyle(LISTVIEW, SCROLLBAR_WIDTH, 12);
|
||||||
|
|
||||||
|
Vector2 gridMouseCell = { 0 };
|
||||||
|
|
||||||
SetTargetFPS(60);
|
SetTargetFPS(60);
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
@ -74,7 +76,7 @@ int main()
|
|||||||
|
|
||||||
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
|
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
|
||||||
|
|
||||||
GuiGrid((Rectangle){0, 0, screenWidth, screenHeight}, "Property List", 20.0f, 2); // Draw a fancy grid
|
GuiGrid((Rectangle){0, 0, screenWidth, screenHeight}, "Property List", 20.0f, 2, &gridMouseCell); // Draw a fancy grid
|
||||||
|
|
||||||
GuiDMPropertyList((Rectangle){(screenWidth - 180)/2, (screenHeight - 280)/2, 180, 280}, prop, SIZEOF(prop), &focus, &scroll);
|
GuiDMPropertyList((Rectangle){(screenWidth - 180)/2, (screenHeight - 280)/2, 180, 280}, prop, SIZEOF(prop), &focus, &scroll);
|
||||||
|
|
||||||
|
|||||||
BIN
examples/raygui.ico
Normal file
|
After Width: | Height: | Size: 139 KiB |
27
examples/raygui.rc
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
GLFW_ICON ICON "raygui.ico"
|
||||||
|
|
||||||
|
1 VERSIONINFO
|
||||||
|
FILEVERSION 4,0,0,0
|
||||||
|
PRODUCTVERSION 4,0,0,0
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
//BLOCK "080904E4" // English UK
|
||||||
|
BLOCK "040904E4" // English US
|
||||||
|
BEGIN
|
||||||
|
//VALUE "CompanyName", "raylib technologies"
|
||||||
|
VALUE "FileDescription", "raygui application (www.raylib.com)"
|
||||||
|
VALUE "FileVersion", "4.0.0"
|
||||||
|
VALUE "InternalName", "raygui app"
|
||||||
|
VALUE "LegalCopyright", "(c) 2023 Ramon Santamaria (@raysan5)"
|
||||||
|
//VALUE "OriginalFilename", "raygui_app.exe"
|
||||||
|
VALUE "ProductName", "raygui app"
|
||||||
|
VALUE "ProductVersion", "4.0.0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
//VALUE "Translation", 0x809, 1252 // English UK
|
||||||
|
VALUE "Translation", 0x409, 1252 // English US
|
||||||
|
END
|
||||||
|
END
|
||||||
@ -43,6 +43,7 @@ int main()
|
|||||||
|
|
||||||
Rectangle panelRec = { 20, 40, 200, 150 };
|
Rectangle panelRec = { 20, 40, 200, 150 };
|
||||||
Rectangle panelContentRec = {0, 0, 340, 340 };
|
Rectangle panelContentRec = {0, 0, 340, 340 };
|
||||||
|
Rectangle panelView = { 0 };
|
||||||
Vector2 panelScroll = { 99, -20 };
|
Vector2 panelScroll = { 99, -20 };
|
||||||
|
|
||||||
bool showContentArea = true;
|
bool showContentArea = true;
|
||||||
@ -66,20 +67,20 @@ int main()
|
|||||||
|
|
||||||
DrawText(TextFormat("[%f, %f]", panelScroll.x, panelScroll.y), 4, 4, 20, RED);
|
DrawText(TextFormat("[%f, %f]", panelScroll.x, panelScroll.y), 4, 4, 20, RED);
|
||||||
|
|
||||||
Rectangle view = GuiScrollPanel(panelRec, NULL, panelContentRec, &panelScroll);
|
GuiScrollPanel(panelRec, NULL, panelContentRec, &panelScroll, &panelView);
|
||||||
|
|
||||||
BeginScissorMode(view.x, view.y, view.width, view.height);
|
BeginScissorMode(panelView.x, panelView.y, panelView.width, panelView.height);
|
||||||
GuiGrid((Rectangle){panelRec.x + panelScroll.x, panelRec.y + panelScroll.y, panelContentRec.width, panelContentRec.height}, NULL, 16, 3);
|
GuiGrid((Rectangle){panelRec.x + panelScroll.x, panelRec.y + panelScroll.y, panelContentRec.width, panelContentRec.height}, NULL, 16, 3, NULL);
|
||||||
EndScissorMode();
|
EndScissorMode();
|
||||||
|
|
||||||
if (showContentArea) DrawRectangle(panelRec.x + panelScroll.x, panelRec.y + panelScroll.y, panelContentRec.width, panelContentRec.height, Fade(RED, 0.1));
|
if (showContentArea) DrawRectangle(panelRec.x + panelScroll.x, panelRec.y + panelScroll.y, panelContentRec.width, panelContentRec.height, Fade(RED, 0.1));
|
||||||
|
|
||||||
DrawStyleEditControls();
|
DrawStyleEditControls();
|
||||||
|
|
||||||
showContentArea = GuiCheckBox((Rectangle){ 565, 80, 20, 20 }, "SHOW CONTENT AREA", showContentArea);
|
GuiCheckBox((Rectangle){ 565, 80, 20, 20 }, "SHOW CONTENT AREA", &showContentArea);
|
||||||
|
|
||||||
panelContentRec.width = GuiSliderBar((Rectangle){ 590, 385, 145, 15}, "WIDTH", TextFormat("%i", (int)panelContentRec.width), panelContentRec.width, 1, 600);
|
GuiSliderBar((Rectangle){ 590, 385, 145, 15}, "WIDTH", TextFormat("%i", (int)panelContentRec.width), &panelContentRec.width, 1, 600);
|
||||||
panelContentRec.height = GuiSliderBar((Rectangle){ 590, 410, 145, 15 }, "HEIGHT", TextFormat("%i", (int)panelContentRec.height), panelContentRec.height, 1, 400);
|
GuiSliderBar((Rectangle){ 590, 410, 145, 15 }, "HEIGHT", TextFormat("%i", (int)panelContentRec.height), &panelContentRec.height, 1, 400);
|
||||||
|
|
||||||
EndDrawing();
|
EndDrawing();
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
@ -115,8 +116,9 @@ static void DrawStyleEditControls(void)
|
|||||||
GuiSpinner((Rectangle){ 670, 240, 90, 20 }, NULL, &style, 0, 14, false);
|
GuiSpinner((Rectangle){ 670, 240, 90, 20 }, NULL, &style, 0, 14, false);
|
||||||
GuiSetStyle(SCROLLBAR, SLIDER_PADDING, style);
|
GuiSetStyle(SCROLLBAR, SLIDER_PADDING, style);
|
||||||
|
|
||||||
style = GuiCheckBox((Rectangle){ 565, 280, 20, 20 }, "ARROWS_VISIBLE", GuiGetStyle(SCROLLBAR, ARROWS_VISIBLE));
|
bool scrollBarArrows = GuiGetStyle(SCROLLBAR, ARROWS_VISIBLE);
|
||||||
GuiSetStyle(SCROLLBAR, ARROWS_VISIBLE, style);
|
GuiCheckBox((Rectangle){ 565, 280, 20, 20 }, "ARROWS_VISIBLE", &scrollBarArrows);
|
||||||
|
GuiSetStyle(SCROLLBAR, ARROWS_VISIBLE, scrollBarArrows);
|
||||||
|
|
||||||
style = GuiGetStyle(SCROLLBAR, SLIDER_PADDING);
|
style = GuiGetStyle(SCROLLBAR, SLIDER_PADDING);
|
||||||
GuiLabel((Rectangle){ 555, 325, 110, 10 }, "SLIDER_PADDING");
|
GuiLabel((Rectangle){ 555, 325, 110, 10 }, "SLIDER_PADDING");
|
||||||
@ -129,8 +131,9 @@ static void DrawStyleEditControls(void)
|
|||||||
GuiSetStyle(SCROLLBAR, SLIDER_WIDTH, style);
|
GuiSetStyle(SCROLLBAR, SLIDER_WIDTH, style);
|
||||||
|
|
||||||
const char *text = GuiGetStyle(LISTVIEW, SCROLLBAR_SIDE) == SCROLLBAR_LEFT_SIDE? "SCROLLBAR: LEFT" : "SCROLLBAR: RIGHT";
|
const char *text = GuiGetStyle(LISTVIEW, SCROLLBAR_SIDE) == SCROLLBAR_LEFT_SIDE? "SCROLLBAR: LEFT" : "SCROLLBAR: RIGHT";
|
||||||
style = GuiToggle((Rectangle){ 560, 110, 200, 35 }, text, GuiGetStyle(LISTVIEW, SCROLLBAR_SIDE));
|
bool toggleScrollBarSide = GuiGetStyle(LISTVIEW, SCROLLBAR_SIDE);
|
||||||
GuiSetStyle(LISTVIEW, SCROLLBAR_SIDE, style);
|
GuiToggle((Rectangle){ 560, 110, 200, 35 }, text, &toggleScrollBarSide);
|
||||||
|
GuiSetStyle(LISTVIEW, SCROLLBAR_SIDE, toggleScrollBarSide);
|
||||||
//----------------------------------------------------------
|
//----------------------------------------------------------
|
||||||
|
|
||||||
// ScrollBar style controls
|
// ScrollBar style controls
|
||||||
|
|||||||
@ -23,12 +23,12 @@
|
|||||||
#include "../../src/raygui.h"
|
#include "../../src/raygui.h"
|
||||||
|
|
||||||
// raygui embedded styles
|
// raygui embedded styles
|
||||||
#include "styles/style_cyber.h" // raygui style: cyber
|
#include "../styles/style_cyber.h" // raygui style: cyber
|
||||||
#include "styles/style_jungle.h" // raygui style: jungle
|
#include "../styles/style_jungle.h" // raygui style: jungle
|
||||||
#include "styles/style_lavanda.h" // raygui style: lavanda
|
#include "../styles/style_lavanda.h" // raygui style: lavanda
|
||||||
#include "styles/style_dark.h" // raygui style: dark
|
#include "../styles/style_dark.h" // raygui style: dark
|
||||||
#include "styles/style_bluish.h" // raygui style: bluish
|
#include "../styles/style_bluish.h" // raygui style: bluish
|
||||||
#include "styles/style_terminal.h" // raygui style: terminal
|
#include "../styles/style_terminal.h" // raygui style: terminal
|
||||||
|
|
||||||
#include <string.h> // Required for: strcpy()
|
#include <string.h> // Required for: strcpy()
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ int main()
|
|||||||
|
|
||||||
// Visuals options
|
// Visuals options
|
||||||
GuiLabel((Rectangle){ 10, 10, 60, 24 }, "Style:");
|
GuiLabel((Rectangle){ 10, 10, 60, 24 }, "Style:");
|
||||||
visualStyleActive = GuiComboBox((Rectangle){ 60,10, 120, 24 }, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal", visualStyleActive);
|
GuiComboBox((Rectangle){ 60,10, 120, 24 }, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal", &visualStyleActive);
|
||||||
|
|
||||||
GuiSetIconScale(2);
|
GuiSetIconScale(2);
|
||||||
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_RIGHT);
|
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_RIGHT);
|
||||||
|
|||||||
@ -1,337 +0,0 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// //
|
|
||||||
// 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-2023 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);
|
|
||||||
UnloadImage(imFont); // Uncompressed 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 = (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);
|
|
||||||
}
|
|
||||||
@ -1,349 +0,0 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// //
|
|
||||||
// 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-2023 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);
|
|
||||||
UnloadImage(imFont); // Uncompressed 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 = (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);
|
|
||||||
}
|
|
||||||
578
examples/styles/style_jungle.h
Normal file
@ -0,0 +1,578 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// StyleAsCode exporter v2.0 - 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-2023 raylib technologies (@raylibtech) //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define JUNGLE_STYLE_PROPS_COUNT 17
|
||||||
|
|
||||||
|
// 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
|
||||||
|
{ 0, 20, 0x00000012 }, // DEFAULT_TEXT_LINE_SPACING
|
||||||
|
};
|
||||||
|
|
||||||
|
// WARNING: This style uses a custom font: "Pixel Intv.otf" (size: 12, spacing: 0)
|
||||||
|
|
||||||
|
#define JUNGLE_STYLE_FONT_ATLAS_COMP_SIZE 2030
|
||||||
|
|
||||||
|
// Font atlas image pixels data: DEFLATE compressed
|
||||||
|
static unsigned char jungleFontData[JUNGLE_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
|
||||||
|
0x9d, 0x3d, 0x8e, 0x25, 0x35, 0x14, 0x85, 0x8d, 0xe9, 0x8c, 0x10, 0x11, 0x80, 0x84, 0x20, 0x41, 0x22, 0x21, 0x61, 0x34,
|
||||||
|
0x12, 0x64, 0xb3, 0x00, 0x62, 0x84, 0x08, 0x10, 0x11, 0x09, 0xb0, 0x07, 0x66, 0x65, 0x93, 0x90, 0xb3, 0x01, 0x76, 0xc1,
|
||||||
|
0x02, 0x2e, 0x9a, 0xbf, 0x9e, 0x9f, 0xae, 0xb2, 0x7d, 0x8f, 0xaf, 0xcb, 0xae, 0x7a, 0x5f, 0x7f, 0x9a, 0xd1, 0xcc, 0xf3,
|
||||||
|
0x73, 0x95, 0xcb, 0xc7, 0xd7, 0x55, 0xaf, 0x7d, 0xde, 0xb5, 0x25, 0x00, 0x00, 0x00, 0x80, 0x07, 0x3c, 0xff, 0xd9, 0x7e,
|
||||||
|
0x6d, 0xab, 0x24, 0xbd, 0x2a, 0x69, 0x3f, 0xd6, 0xeb, 0xd7, 0x5f, 0x96, 0xe4, 0xdd, 0x77, 0x6c, 0x1f, 0x31, 0xef, 0xb4,
|
||||||
|
0x61, 0xaf, 0xd5, 0xfb, 0x2d, 0x4b, 0xae, 0x92, 0xfd, 0xe3, 0xef, 0xf7, 0x57, 0x72, 0x5c, 0xc3, 0xbb, 0x3f, 0xc9, 0x71,
|
||||||
|
0x2d, 0xe5, 0x7a, 0xa3, 0xf5, 0x2f, 0xf7, 0xc1, 0x7e, 0xd9, 0xcb, 0x3f, 0xcf, 0x7b, 0x22, 0x3b, 0x8e, 0xb9, 0xff, 0xfe,
|
||||||
|
0xe4, 0x1a, 0x81, 0xfe, 0x91, 0xe1, 0xeb, 0xdd, 0xd2, 0xbb, 0x6b, 0xd7, 0x60, 0xce, 0x16, 0xbc, 0x7e, 0x7d, 0xa4, 0xfe,
|
||||||
|
0xe9, 0xfe, 0x1c, 0xed, 0xf1, 0x5f, 0x53, 0xc5, 0xec, 0x6e, 0xb3, 0x27, 0x52, 0x51, 0x9b, 0x2c, 0x9c, 0x29, 0x62, 0x34,
|
||||||
|
0xa7, 0xa0, 0xde, 0xcd, 0xc5, 0x6b, 0x30, 0x41, 0x7f, 0x6d, 0x84, 0x46, 0x1d, 0x47, 0x8b, 0xff, 0xe7, 0xdc, 0xbd, 0x18,
|
||||||
|
0x01, 0xe5, 0xa3, 0xf6, 0xb7, 0x38, 0x2a, 0xfe, 0xd3, 0x50, 0xf5, 0x7b, 0xf4, 0x3f, 0x62, 0xfe, 0x2f, 0xbf, 0xbf, 0xdc,
|
||||||
|
0x67, 0xdb, 0xc7, 0xcb, 0xaf, 0xe2, 0xdf, 0x7f, 0xf7, 0x8c, 0xd0, 0xdf, 0x7f, 0xff, 0x1f, 0xab, 0x7e, 0xc4, 0xfc, 0xbf,
|
||||||
|
0xe2, 0x73, 0x64, 0xed, 0x3e, 0xbe, 0x3d, 0x76, 0x6c, 0x78, 0xfc, 0xcf, 0xa0, 0xa4, 0x7e, 0xed, 0xf9, 0xcf, 0x3a, 0xe6,
|
||||||
|
0xd9, 0xd1, 0xf1, 0xaf, 0x1c, 0xeb, 0x75, 0x4f, 0x98, 0x10, 0x9f, 0x67, 0xd5, 0xbf, 0xa4, 0x3e, 0x44, 0xcc, 0x35, 0x9e,
|
||||||
|
0xbb, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x35, 0x57, 0x4c, 0xca, 0xeb, 0xef,
|
||||||
|
0x91, 0x2b, 0x91, 0xa3, 0xca, 0xda, 0xdd, 0x06, 0x1e, 0xe7, 0x4a, 0x16, 0x7a, 0x6c, 0x56, 0xbf, 0x8c, 0x72, 0xfb, 0x25,
|
||||||
|
0xb7, 0x37, 0xa3, 0xa5, 0x35, 0xea, 0xf9, 0x7a, 0xf4, 0xcf, 0xce, 0xb5, 0xd7, 0xb2, 0x43, 0x6f, 0xcf, 0xcf, 0xb8, 0xbf,
|
||||||
|
0x72, 0xdd, 0x7b, 0x7d, 0xde, 0x32, 0xdf, 0x0c, 0x90, 0x0e, 0x89, 0xff, 0x36, 0x0f, 0xd3, 0x18, 0x77, 0xe3, 0xb6, 0xcf,
|
||||||
|
0xac, 0xd4, 0xd6, 0x3b, 0xb7, 0xa3, 0xf0, 0xcd, 0x6a, 0xf3, 0xd8, 0xf1, 0x1d, 0xed, 0xfa, 0x54, 0x1d, 0x25, 0xca, 0x98,
|
||||||
|
0x54, 0x1c, 0xac, 0x11, 0xf3, 0x7f, 0x4c, 0xfc, 0x97, 0xc6, 0xa9, 0xbd, 0xf7, 0x27, 0x66, 0x1e, 0x9f, 0xa5, 0xff, 0x88,
|
||||||
|
0xb9, 0x3a, 0x35, 0xcc, 0x0a, 0x6a, 0x5b, 0xb4, 0xfb, 0xbf, 0xe2, 0xd4, 0x29, 0xb9, 0x95, 0xf4, 0xe7, 0xa9, 0x19, 0xf1,
|
||||||
|
0xdf, 0x13, 0xe3, 0xda, 0xfc, 0x5f, 0xd6, 0x3f, 0xce, 0xdd, 0x66, 0x53, 0x9e, 0xa6, 0x5b, 0x62, 0x6c, 0xad, 0xfb, 0x3f,
|
||||||
|
0x44, 0xfa, 0x19, 0xe7, 0x7d, 0x9e, 0x42, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x18, 0xeb, 0xc7, 0x3b, 0xca, 0x53, 0x62, 0x8d, 0x59, 0x7c, 0xf6, 0xfd, 0x5a, 0x47, 0xb9, 0xf5, 0x8e, 0xef, 0xef, 0x68,
|
||||||
|
0xdf, 0x47, 0xc4, 0x9a, 0xb4, 0x92, 0xc1, 0xac, 0xdf, 0x8b, 0x68, 0x4b, 0x38, 0xf2, 0x46, 0xf4, 0xdb, 0x4c, 0xfd, 0x95,
|
||||||
|
0xf6, 0xe8, 0xfa, 0x9b, 0x98, 0x61, 0xb0, 0x96, 0x19, 0x66, 0x2d, 0xfd, 0x15, 0xd7, 0x41, 0x8f, 0xfe, 0xf5, 0xb9, 0x2a,
|
||||||
|
0x15, 0xf4, 0xf0, 0xcf, 0xf1, 0xaa, 0xfe, 0x26, 0xe6, 0x7d, 0x1c, 0x73, 0x17, 0x1b, 0xa3, 0xbf, 0xd2, 0x6f, 0x57, 0x99,
|
||||||
|
0xff, 0xeb, 0xc7, 0xcc, 0xe2, 0xfc, 0x6f, 0xd5, 0x59, 0xc5, 0xc2, 0xdd, 0xa8, 0xfe, 0x98, 0x6a, 0xed, 0x9f, 0xdb, 0xd5,
|
||||||
|
0x3f, 0x0d, 0xd1, 0x7f, 0xcc, 0x19, 0xcf, 0x73, 0xff, 0x57, 0xb2, 0x57, 0xcf, 0xf0, 0xb9, 0xf5, 0x79, 0xc3, 0x6b, 0xa5,
|
||||||
|
0x47, 0xf4, 0xcc, 0xb8, 0xf9, 0x1f, 0x17, 0xe0, 0x79, 0x5c, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x47, 0xac, 0x51, 0xe8, 0x6b, 0x67, 0x23, 0x56, 0x00, 0x1f, 0xbe, 0x9e, 0x1b, 0xd6, 0x30, 0xdf, 0x7f,
|
||||||
|
0x3d, 0xef, 0x38, 0x46, 0xcc, 0x99, 0xf3, 0x4f, 0xdb, 0x8f, 0xb7, 0x35, 0x0f, 0x9a, 0xee, 0x20, 0x8c, 0x58, 0x07, 0x3c,
|
||||||
|
0x5e, 0xff, 0xd4, 0xb4, 0x1e, 0xfb, 0x50, 0xc9, 0x2c, 0x78, 0x86, 0xb2, 0x33, 0xe3, 0x53, 0x29, 0x43, 0x94, 0xdf, 0xcd,
|
||||||
|
0x54, 0xef, 0x05, 0x25, 0xd7, 0x5d, 0xed, 0x68, 0xda, 0x0e, 0xc5, 0x25, 0x77, 0x4c, 0xcd, 0xcb, 0xe2, 0xbf, 0xf2, 0xec,
|
||||||
|
0xbe, 0xb6, 0xdc, 0x30, 0x07, 0x8c, 0xf7, 0x48, 0x27, 0x77, 0x3c, 0xf6, 0xf9, 0xee, 0xc6, 0xeb, 0x9f, 0x1a, 0x3c, 0x7e,
|
||||||
|
0xd1, 0x8e, 0x14, 0xab, 0xec, 0x7e, 0xab, 0x8c, 0x80, 0xd1, 0xfa, 0xd7, 0xae, 0x55, 0x77, 0x09, 0xa5, 0xd0, 0x71, 0x13,
|
||||||
|
0xad, 0x7f, 0xcb, 0x38, 0x8d, 0x1e, 0xc1, 0xca, 0x08, 0x38, 0x26, 0xfe, 0xcd, 0xad, 0x7f, 0x79, 0x6e, 0x88, 0xef, 0x3d,
|
||||||
|
0xc5, 0x05, 0xa4, 0xcd, 0x28, 0xbd, 0x6e, 0x35, 0x45, 0xc5, 0x2c, 0xcd, 0x1c, 0x47, 0x3c, 0x41, 0x6b, 0x7b, 0x55, 0x47,
|
||||||
|
0x3b, 0x36, 0xb5, 0x9e, 0x38, 0x5e, 0x7f, 0x93, 0x77, 0xfc, 0xce, 0xcb, 0xed, 0x7e, 0xad, 0x45, 0x9d, 0xee, 0xd8, 0x8b,
|
||||||
|
0x8f, 0xff, 0xf5, 0xbe, 0x8d, 0x76, 0x44, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
|
||||||
|
0xdb, 0xcc, 0x51, 0xe0, 0xcf, 0x54, 0x53, 0xaf, 0xa1, 0xee, 0x9d, 0x75, 0xe4, 0xde, 0xb9, 0xa3, 0xf6, 0xb7, 0xd3, 0xf3,
|
||||||
|
0x82, 0xd9, 0x90, 0x1d, 0xe0, 0xe2, 0xd7, 0xcd, 0xfa, 0xb2, 0x98, 0xd5, 0x7a, 0x48, 0xcd, 0xb8, 0xe5, 0xf5, 0x60, 0xf4,
|
||||||
|
0xf8, 0x7a, 0x54, 0xcf, 0x47, 0xbc, 0x0f, 0x2f, 0xc6, 0xdb, 0xa6, 0xc5, 0xbf, 0xe6, 0x0b, 0x59, 0x4d, 0xff, 0x74, 0x90,
|
||||||
|
0x3f, 0xaf, 0x47, 0xff, 0xde, 0xdd, 0x9f, 0x75, 0x47, 0x96, 0xbf, 0x57, 0xaf, 0xa0, 0x7f, 0x9b, 0x7b, 0x57, 0xf1, 0x11,
|
||||||
|
0x46, 0xfb, 0xf0, 0x66, 0xe9, 0x6f, 0xd2, 0xde, 0xb9, 0x3d, 0xfa, 0xf7, 0xf9, 0xe5, 0x8f, 0x8b, 0x7f, 0xfd, 0x8c, 0x69,
|
||||||
|
0xc8, 0xce, 0xe8, 0xbd, 0xd1, 0xea, 0xcb, 0xd4, 0x38, 0xc3, 0xa9, 0x15, 0xef, 0x97, 0x1b, 0xe5, 0xec, 0x9a, 0xeb, 0x5e,
|
||||||
|
0x8c, 0xf2, 0xaf, 0xf6, 0x66, 0xff, 0x9e, 0xa1, 0x3f, 0xde, 0xb1, 0x6b, 0x8f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x5b, 0x5b, 0xc7, 0x89, 0xdb, 0x8f, 0xca, 0x9b, 0xd5, 0xcd, 0x36, 0x33, 0x7a, 0xa8,
|
||||||
|
0xb9, 0x63, 0xbc, 0xde, 0x8a, 0xd2, 0x5a, 0xe5, 0x77, 0xf6, 0xe5, 0x3d, 0x8f, 0xec, 0x13, 0x57, 0xef, 0xd4, 0xea, 0xe6,
|
||||||
|
0xb7, 0xea, 0x66, 0x77, 0xed, 0xd7, 0x59, 0x50, 0xb2, 0x70, 0x66, 0xbf, 0x03, 0xc0, 0x97, 0xab, 0xcd, 0xf7, 0x6a, 0x2e,
|
||||||
|
0x3a, 0x45, 0x62, 0x5c, 0x17, 0x6a, 0x86, 0xbe, 0xc7, 0xef, 0xf4, 0xc1, 0xa3, 0xe0, 0xba, 0xf9, 0x1d, 0x25, 0x7d, 0xb5,
|
||||||
|
0xf3, 0x7d, 0x66, 0xc3, 0xec, 0xae, 0xeb, 0xd3, 0x3f, 0xbb, 0x73, 0xb5, 0xf9, 0xd5, 0x89, 0xf1, 0x15, 0x6a, 0x59, 0x71,
|
||||||
|
0x4a, 0xc7, 0xfc, 0xb2, 0xf0, 0xbf, 0xda, 0x35, 0xd5, 0xeb, 0xbe, 0x3d, 0xf3, 0xfa, 0x6b, 0xdf, 0xdd, 0xff, 0xed, 0xad,
|
||||||
|
0xeb, 0x75, 0xf2, 0x68, 0x2e, 0xae, 0xde, 0x11, 0x10, 0x99, 0x4d, 0x51, 0x75, 0x64, 0xb5, 0xe8, 0xbf, 0x77, 0xce, 0x36,
|
||||||
|
0xfd, 0xdf, 0xfc, 0xdb, 0x57, 0xbb, 0x14, 0xff, 0x9a, 0xfe, 0x71, 0x3e, 0xf7, 0xb1, 0xf1, 0x3f, 0x22, 0x2b, 0xde, 0x5e,
|
||||||
|
0x49, 0x6b, 0xfc, 0x6b, 0x63, 0xa7, 0x27, 0xfe, 0x4b, 0xf7, 0x7f, 0xbf, 0xfe, 0xaa, 0x0b, 0xee, 0x68, 0xfd, 0x93, 0xec,
|
||||||
|
0x53, 0xd5, 0x9e, 0x1a, 0xeb, 0x3d, 0xd9, 0x33, 0x77, 0x94, 0xee, 0xff, 0xaa, 0x86, 0xd1, 0xf1, 0xbf, 0x9e, 0xfe, 0xa9,
|
||||||
|
0xc3, 0x59, 0xeb, 0x1d, 0x53, 0xad, 0x3d, 0x69, 0xe2, 0x0c, 0xbe, 0xff, 0xfc, 0x7f, 0xac, 0xfe, 0xb1, 0xce, 0x4a, 0x2d,
|
||||||
|
0xab, 0xe3, 0x8a, 0xfc, 0xf2, 0xd6, 0x27, 0xa9, 0xc7, 0xf6, 0xbd, 0x6b, 0xfe, 0xaf, 0xd5, 0xed, 0x3b, 0xf3, 0xa8, 0xba,
|
||||||
|
0x10, 0x39, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xa3, 0xd7, 0x89, 0xf6, 0xe9,
|
||||||
|
0xa6, 0x43, 0xa4, 0x56, 0x6f, 0x74, 0x79, 0xcd, 0xd3, 0xf6, 0x95, 0x7d, 0x63, 0x9f, 0x3f, 0x78, 0xf5, 0x99, 0x3d, 0xb3,
|
||||||
|
0x5f, 0x27, 0xb4, 0x35, 0xef, 0xee, 0x70, 0xbc, 0xf5, 0xa3, 0xbc, 0xa7, 0xb4, 0x8a, 0xd1, 0xe3, 0x44, 0xfb, 0xc1, 0x9e,
|
||||||
|
0xd8, 0x1f, 0x1b, 0x47, 0xad, 0xd5, 0x1b, 0x5d, 0x5e, 0xd2, 0xff, 0x33, 0xfb, 0xd7, 0xfe, 0xb1, 0xa7, 0xf6, 0xc5, 0x66,
|
||||||
|
0xad, 0xbf, 0x0e, 0x6f, 0x6b, 0xc9, 0xcd, 0xe3, 0xd9, 0x47, 0x59, 0xcb, 0x03, 0xd5, 0xe7, 0x44, 0xf9, 0xd9, 0x3e, 0xb0,
|
||||||
|
0x1f, 0x37, 0x7c, 0x68, 0xb5, 0x7a, 0xa3, 0xcb, 0x4b, 0xfa, 0xff, 0x69, 0x66, 0x7f, 0xdb, 0x6f, 0xf6, 0xe1, 0x83, 0x92,
|
||||||
|
0x27, 0xf6, 0x64, 0x42, 0x5b, 0x93, 0xdd, 0xbd, 0x68, 0xe7, 0x5d, 0xe7, 0x3e, 0xda, 0x6a, 0xfc, 0xf7, 0x38, 0xd1, 0x3e,
|
||||||
|
0xb6, 0x9f, 0xec, 0x5b, 0xc1, 0x85, 0x30, 0x53, 0xff, 0xaf, 0xed, 0xbf, 0x1d, 0xfd, 0x35, 0x47, 0x45, 0x6f, 0x79, 0x6b,
|
||||||
|
0xfc, 0xdb, 0xa0, 0xfc, 0x6f, 0x3d, 0xfa, 0xcf, 0xea, 0xb3, 0x76, 0x6f, 0xe6, 0x56, 0x9f, 0x7c, 0x64, 0x4f, 0x17, 0xd2,
|
||||||
|
0xbf, 0x76, 0xff, 0x4f, 0x8e, 0x8c, 0xb3, 0xd1, 0xf7, 0xff, 0x33, 0xeb, 0x5f, 0x6a, 0xdf, 0xef, 0x0b, 0xe9, 0xdf, 0xe2,
|
||||||
|
0xb0, 0x1a, 0xe7, 0x31, 0x19, 0xe3, 0x44, 0x43, 0xff, 0x38, 0xfd, 0xf5, 0xd8, 0x1e, 0xef, 0x81, 0x53, 0xeb, 0x8d, 0x2e,
|
||||||
|
0xaf, 0xe1, 0xd1, 0x7f, 0x76, 0x5b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xb4,
|
||||||
|
0xe4, 0x8b, 0x2b, 0xaf, 0x3e, 0xe7, 0xe2, 0xda, 0x62, 0x69, 0xd5, 0x31, 0x17, 0x4a, 0x14, 0xa7, 0x43, 0xdb, 0xce, 0xc2,
|
||||||
|
0x26, 0xe6, 0x3a, 0x8c, 0xbd, 0xce, 0xfa, 0xb5, 0xc4, 0x9e, 0x6f, 0x0f, 0x7f, 0xbe, 0xb8, 0xd6, 0xb6, 0xa4, 0x62, 0xf6,
|
||||||
|
0xb0, 0xbc, 0xab, 0x71, 0x4f, 0x9f, 0x99, 0xbc, 0x8a, 0x5e, 0x7b, 0x4f, 0xfc, 0x75, 0x1e, 0x7b, 0xbe, 0x9e, 0x7c, 0x31,
|
||||||
|
0x67, 0xcf, 0x70, 0xe1, 0xd1, 0xff, 0xd6, 0x68, 0x75, 0x52, 0x79, 0x33, 0xa0, 0xac, 0x5a, 0xa6, 0xe6, 0x0f, 0x3d, 0xdb,
|
||||||
|
0x75, 0x46, 0xea, 0xaf, 0xc4, 0xd5, 0x59, 0xca, 0x3c, 0xd7, 0x79, 0x54, 0xd9, 0xc8, 0xe3, 0xaa, 0xfa, 0x9f, 0x59, 0xe3,
|
||||||
|
0xde, 0xfb, 0xff, 0xad, 0xeb, 0x7f, 0xf6, 0xb9, 0xaf, 0xc5, 0x21, 0x6f, 0xe2, 0x3e, 0xe1, 0x23, 0xca, 0x8e, 0xd4, 0xbf,
|
||||||
|
0xc7, 0x9d, 0x76, 0xb6, 0x18, 0x6f, 0xbd, 0x9e, 0x5b, 0x8a, 0xff, 0x51, 0xcf, 0xd5, 0xe7, 0xd3, 0xdf, 0xd0, 0xff, 0xa6,
|
||||||
|
0xf5, 0x4f, 0x37, 0xf9, 0xfc, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xa5, 0xf6, 0x3b, 0x55,
|
||||||
|
0xab, 0xec, 0x0c, 0x6a, 0x8b, 0xfb, 0x02, 0xdb, 0xae, 0x6f, 0x0d, 0xcf, 0x5f, 0x96, 0xf6, 0xce, 0xec, 0xfb, 0x9d, 0xaf,
|
||||||
|
0xde, 0x77, 0x65, 0xaf, 0xe1, 0x3a, 0xbe, 0x40, 0x3d, 0x73, 0xd6, 0xd1, 0x9e, 0xbf, 0xd2, 0x4e, 0xbb, 0xca, 0x0e, 0xd6,
|
||||||
|
0x31, 0xeb, 0x1e, 0xd7, 0xf1, 0xff, 0x6d, 0xbd, 0x9e, 0x4f, 0xb0, 0x5e, 0x32, 0x72, 0xdd, 0x4b, 0x1d, 0x5b, 0x56, 0xe8,
|
||||||
|
0xdb, 0xb5, 0xd6, 0xbd, 0x6a, 0x25, 0xf9, 0x02, 0xde, 0xa6, 0xbe, 0x11, 0xac, 0xf8, 0xa6, 0x29, 0xbb, 0x1d, 0xdf, 0xcb,
|
||||||
|
0x7e, 0xcc, 0x9d, 0xbb, 0x0f, 0xce, 0xa4, 0xf1, 0xc8, 0xfb, 0x7f, 0xdd, 0xdf, 0x1d, 0x79, 0xdf, 0x58, 0x4b, 0xff, 0x33,
|
||||||
|
0x5c, 0x43, 0xdd, 0xef, 0x63, 0x43, 0xf4, 0xaf, 0xd7, 0x39, 0xb7, 0xfe, 0xab, 0xcd, 0x0d, 0xb3, 0xbc, 0x3b, 0xba, 0xfe,
|
||||||
|
0xd7, 0xf5, 0x7e, 0xcd, 0x68, 0xe7, 0x2c, 0xed, 0x95, 0x71, 0x67, 0x85, 0xac, 0xd1, 0x57, 0xf0, 0xbd, 0xcd, 0x68, 0x27,
|
||||||
|
0xbe, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x46, 0xf3, 0x39, 0xcd, 0xce, 0xe1, 0xb7, 0xba,
|
||||||
|
0x9b, 0xef, 0xd8, 0xf3, 0xf5, 0x79, 0x00, 0x95, 0x96, 0x1e, 0x9b, 0xc3, 0xaf, 0x7f, 0x75, 0xe5, 0xec, 0x19, 0xfc, 0xea,
|
||||||
|
0xab, 0x5c, 0x57, 0x5e, 0x3f, 0x68, 0x8b, 0xff, 0x5b, 0x76, 0x71, 0x6b, 0x33, 0xc0, 0xd1, 0xb9, 0x8d, 0x7a, 0xca, 0xfa,
|
||||||
|
0xb2, 0xa2, 0xcc, 0x70, 0x1d, 0x7a, 0x33, 0xcd, 0xa8, 0x65, 0xbd, 0x2e, 0xc0, 0xf5, 0x33, 0xe3, 0xf5, 0xdd, 0xff, 0x57,
|
||||||
|
0x5b, 0xcd, 0x8f, 0x2e, 0xd3, 0xf5, 0x3f, 0x4b, 0xfc, 0x47, 0x39, 0xd9, 0xd6, 0x58, 0xcd, 0x5f, 0x4b, 0xff, 0x24, 0xcc,
|
||||||
|
0xb9, 0x47, 0x97, 0x79, 0xbe, 0xaf, 0x30, 0x7f, 0x0e, 0x9b, 0xa1, 0xbf, 0x75, 0xc6, 0xff, 0x95, 0xf3, 0x57, 0x5d, 0x25,
|
||||||
|
0x8b, 0x25, 0xd9, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xcd, 0xfb, 0x67, 0x15,
|
||||||
|
0x3f, 0xda, 0x3a, 0xde, 0x40, 0xc5, 0xfb, 0x12, 0x7d, 0x05, 0x3d, 0x59, 0xfc, 0x4c, 0xf0, 0xb5, 0x8d, 0x76, 0x0e, 0x95,
|
||||||
|
0xf3, 0xf8, 0xad, 0xe4, 0x0d, 0xdc, 0xef, 0xbb, 0x1c, 0xee, 0xfb, 0x8c, 0xcf, 0xe2, 0x97, 0x96, 0xd4, 0xff, 0x7c, 0x0e,
|
||||||
|
0xb7, 0xed, 0x92, 0x7c, 0x82, 0xbe, 0x5b, 0x71, 0xfd, 0xf6, 0xfc, 0x2b, 0xdc, 0x6a, 0x76, 0xbc, 0x51, 0x65, 0x4a, 0xcd,
|
||||||
|
0x99, 0x99, 0x36, 0xcf, 0x93, 0xc7, 0x4d, 0xf3, 0x76, 0x1d, 0xeb, 0x52, 0x9a, 0xe5, 0x7d, 0xba, 0x05, 0xfd, 0xd3, 0xf2,
|
||||||
|
0xee, 0x36, 0xf4, 0x47, 0x7f, 0x6b, 0xf0, 0x30, 0x9f, 0x47, 0xff, 0x73, 0x3b, 0xdc, 0xe6, 0x65, 0x1b, 0x36, 0xf9, 0x1b,
|
||||||
|
0x0a, 0x3c, 0xeb, 0x5f, 0xe3, 0xd3, 0x8a, 0xf2, 0xfd, 0x2c, 0xf4, 0xbf, 0xee, 0xe7, 0xd4, 0xf3, 0x7d, 0x36, 0x04, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0xb2,
|
||||||
|
0x0c, 0xa2, 0x3f, 0xfa, 0xdf, 0xb8, 0xfe, 0xff, 0x03 };
|
||||||
|
|
||||||
|
// Font glyphs rectangles data (on atlas)
|
||||||
|
static const Rectangle jungleFontRecs[189] = {
|
||||||
|
{ 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 },
|
||||||
|
{ 79, 104, 2 , 7 },
|
||||||
|
{ 89, 104, 6 , 6 },
|
||||||
|
{ 103, 104, 6 , 7 },
|
||||||
|
{ 117, 104, 6 , 7 },
|
||||||
|
{ 131, 104, 6 , 7 },
|
||||||
|
{ 145, 104, 8 , 8 },
|
||||||
|
{ 161, 104, 6 , 9 },
|
||||||
|
{ 175, 104, 8 , 8 },
|
||||||
|
{ 191, 104, 7 , 7 },
|
||||||
|
{ 206, 104, 8 , 8 },
|
||||||
|
{ 222, 104, 6 , 5 },
|
||||||
|
{ 236, 104, 8 , 8 },
|
||||||
|
{ 4, 124, 7 , 7 },
|
||||||
|
{ 19, 124, 8 , 8 },
|
||||||
|
{ 35, 124, 4 , 4 },
|
||||||
|
{ 47, 124, 8 , 8 },
|
||||||
|
{ 63, 124, 8 , 8 },
|
||||||
|
{ 79, 124, 8 , 8 },
|
||||||
|
{ 95, 124, 8 , 8 },
|
||||||
|
{ 111, 124, 6 , 7 },
|
||||||
|
{ 125, 124, 5 , 8 },
|
||||||
|
{ 138, 124, 3 , 3 },
|
||||||
|
{ 149, 124, 8 , 8 },
|
||||||
|
{ 165, 124, 8 , 8 },
|
||||||
|
{ 181, 124, 8 , 8 },
|
||||||
|
{ 197, 124, 6 , 5 },
|
||||||
|
{ 211, 124, 10 , 7 },
|
||||||
|
{ 229, 124, 10 , 5 },
|
||||||
|
{ 4, 144, 8 , 8 },
|
||||||
|
{ 20, 144, 6 , 7 },
|
||||||
|
{ 34, 144, 6 , 10 },
|
||||||
|
{ 48, 144, 6 , 10 },
|
||||||
|
{ 62, 144, 6 , 10 },
|
||||||
|
{ 76, 144, 6 , 10 },
|
||||||
|
{ 90, 144, 6 , 10 },
|
||||||
|
{ 104, 144, 6 , 10 },
|
||||||
|
{ 118, 144, 10 , 7 },
|
||||||
|
{ 136, 144, 6 , 9 },
|
||||||
|
{ 150, 144, 6 , 10 },
|
||||||
|
{ 164, 144, 6 , 10 },
|
||||||
|
{ 178, 144, 6 , 10 },
|
||||||
|
{ 192, 144, 6 , 10 },
|
||||||
|
{ 206, 144, 6 , 10 },
|
||||||
|
{ 220, 144, 6 , 10 },
|
||||||
|
{ 234, 144, 6 , 10 },
|
||||||
|
{ 4, 164, 6 , 10 },
|
||||||
|
{ 18, 164, 6 , 7 },
|
||||||
|
{ 32, 164, 6 , 10 },
|
||||||
|
{ 46, 164, 6 , 10 },
|
||||||
|
{ 60, 164, 6 , 10 },
|
||||||
|
{ 74, 164, 6 , 10 },
|
||||||
|
{ 88, 164, 6 , 10 },
|
||||||
|
{ 102, 164, 6 , 10 },
|
||||||
|
{ 116, 164, 6 , 5 },
|
||||||
|
{ 130, 164, 6 , 7 },
|
||||||
|
{ 144, 164, 6 , 10 },
|
||||||
|
{ 158, 164, 6 , 10 },
|
||||||
|
{ 172, 164, 6 , 10 },
|
||||||
|
{ 186, 164, 6 , 10 },
|
||||||
|
{ 200, 164, 6 , 10 },
|
||||||
|
{ 214, 164, 6 , 7 },
|
||||||
|
{ 228, 164, 6 , 7 },
|
||||||
|
{ 4, 184, 6 , 8 },
|
||||||
|
{ 18, 184, 6 , 8 },
|
||||||
|
{ 32, 184, 6 , 8 },
|
||||||
|
{ 46, 184, 6 , 8 },
|
||||||
|
{ 60, 184, 6 , 8 },
|
||||||
|
{ 74, 184, 6 , 8 },
|
||||||
|
{ 88, 184, 9 , 5 },
|
||||||
|
{ 105, 184, 6 , 7 },
|
||||||
|
{ 119, 184, 6 , 8 },
|
||||||
|
{ 133, 184, 6 , 8 },
|
||||||
|
{ 147, 184, 6 , 8 },
|
||||||
|
{ 161, 184, 6 , 8 },
|
||||||
|
{ 175, 184, 6 , 8 },
|
||||||
|
{ 189, 184, 6 , 8 },
|
||||||
|
{ 203, 184, 6 , 8 },
|
||||||
|
{ 217, 184, 6 , 8 },
|
||||||
|
{ 231, 184, 6 , 7 },
|
||||||
|
{ 4, 204, 6 , 8 },
|
||||||
|
{ 18, 204, 6 , 8 },
|
||||||
|
{ 32, 204, 6 , 8 },
|
||||||
|
{ 46, 204, 6 , 8 },
|
||||||
|
{ 60, 204, 6 , 8 },
|
||||||
|
{ 74, 204, 6 , 8 },
|
||||||
|
{ 88, 204, 5 , 5 },
|
||||||
|
{ 101, 204, 6 , 5 },
|
||||||
|
{ 115, 204, 6 , 8 },
|
||||||
|
{ 129, 204, 6 , 8 },
|
||||||
|
{ 143, 204, 6 , 8 },
|
||||||
|
{ 157, 204, 6 , 8 },
|
||||||
|
{ 171, 204, 6 , 10 },
|
||||||
|
{ 185, 204, 6 , 9 },
|
||||||
|
{ 199, 204, 6 , 10 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// Font glyphs info data
|
||||||
|
// NOTE: No glyphs.image data provided
|
||||||
|
static const GlyphInfo jungleFontGlyphs[189] = {
|
||||||
|
{ 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 }},
|
||||||
|
{ 161, 0, 2, 3, { 0 }},
|
||||||
|
{ 162, 0, 3, 7, { 0 }},
|
||||||
|
{ 163, 0, 2, 7, { 0 }},
|
||||||
|
{ 8364, 0, 2, 7, { 0 }},
|
||||||
|
{ 165, 0, 2, 7, { 0 }},
|
||||||
|
{ 352, 0, 1, 8, { 0 }},
|
||||||
|
{ 167, 0, 1, 7, { 0 }},
|
||||||
|
{ 353, 0, 1, 8, { 0 }},
|
||||||
|
{ 169, 0, 2, 8, { 0 }},
|
||||||
|
{ 170, 0, 1, 8, { 0 }},
|
||||||
|
{ 171, 0, 3, 7, { 0 }},
|
||||||
|
{ 172, 0, 1, 8, { 0 }},
|
||||||
|
{ 174, 0, 2, 8, { 0 }},
|
||||||
|
{ 175, 0, 1, 8, { 0 }},
|
||||||
|
{ 176, 0, 1, 2, { 0 }},
|
||||||
|
{ 177, 0, 1, 8, { 0 }},
|
||||||
|
{ 178, 0, 1, 8, { 0 }},
|
||||||
|
{ 179, 0, 1, 8, { 0 }},
|
||||||
|
{ 381, 0, 1, 8, { 0 }},
|
||||||
|
{ 181, 0, 4, 7, { 0 }},
|
||||||
|
{ 182, 0, 1, 4, { 0 }},
|
||||||
|
{ 183, 0, 4, 4, { 0 }},
|
||||||
|
{ 382, 0, 1, 8, { 0 }},
|
||||||
|
{ 185, 0, 1, 8, { 0 }},
|
||||||
|
{ 186, 0, 1, 8, { 0 }},
|
||||||
|
{ 187, 0, 3, 7, { 0 }},
|
||||||
|
{ 338, 0, 2, 11, { 0 }},
|
||||||
|
{ 339, 0, 4, 11, { 0 }},
|
||||||
|
{ 376, 0, 1, 8, { 0 }},
|
||||||
|
{ 191, 0, 2, 7, { 0 }},
|
||||||
|
{ 192, 0, -1, 7, { 0 }},
|
||||||
|
{ 193, 0, -1, 7, { 0 }},
|
||||||
|
{ 194, 0, -1, 7, { 0 }},
|
||||||
|
{ 195, 0, -1, 7, { 0 }},
|
||||||
|
{ 196, 0, -1, 7, { 0 }},
|
||||||
|
{ 197, 0, -1, 7, { 0 }},
|
||||||
|
{ 198, 0, 2, 11, { 0 }},
|
||||||
|
{ 199, 0, 2, 7, { 0 }},
|
||||||
|
{ 200, 0, -1, 7, { 0 }},
|
||||||
|
{ 201, 0, -1, 7, { 0 }},
|
||||||
|
{ 202, 0, -1, 7, { 0 }},
|
||||||
|
{ 203, 0, -1, 7, { 0 }},
|
||||||
|
{ 204, 0, -1, 7, { 0 }},
|
||||||
|
{ 205, 0, -1, 7, { 0 }},
|
||||||
|
{ 206, 0, -1, 7, { 0 }},
|
||||||
|
{ 207, 0, -1, 7, { 0 }},
|
||||||
|
{ 208, 0, 2, 7, { 0 }},
|
||||||
|
{ 209, 0, -1, 7, { 0 }},
|
||||||
|
{ 210, 0, -1, 7, { 0 }},
|
||||||
|
{ 211, 0, -1, 7, { 0 }},
|
||||||
|
{ 212, 0, -1, 7, { 0 }},
|
||||||
|
{ 213, 0, -1, 7, { 0 }},
|
||||||
|
{ 214, 0, -1, 7, { 0 }},
|
||||||
|
{ 215, 0, 3, 7, { 0 }},
|
||||||
|
{ 216, 0, 2, 7, { 0 }},
|
||||||
|
{ 217, 0, -1, 7, { 0 }},
|
||||||
|
{ 218, 0, -1, 7, { 0 }},
|
||||||
|
{ 219, 0, -1, 7, { 0 }},
|
||||||
|
{ 220, 0, -1, 7, { 0 }},
|
||||||
|
{ 221, 0, -1, 7, { 0 }},
|
||||||
|
{ 222, 0, 2, 7, { 0 }},
|
||||||
|
{ 223, 0, 2, 7, { 0 }},
|
||||||
|
{ 224, 0, 1, 7, { 0 }},
|
||||||
|
{ 225, 0, 1, 7, { 0 }},
|
||||||
|
{ 226, 0, 1, 7, { 0 }},
|
||||||
|
{ 227, 0, 1, 7, { 0 }},
|
||||||
|
{ 228, 0, 1, 7, { 0 }},
|
||||||
|
{ 229, 0, 1, 7, { 0 }},
|
||||||
|
{ 230, 0, 4, 10, { 0 }},
|
||||||
|
{ 231, 0, 4, 7, { 0 }},
|
||||||
|
{ 232, 0, 1, 7, { 0 }},
|
||||||
|
{ 233, 0, 1, 7, { 0 }},
|
||||||
|
{ 234, 0, 1, 7, { 0 }},
|
||||||
|
{ 235, 0, 1, 7, { 0 }},
|
||||||
|
{ 236, 0, 1, 7, { 0 }},
|
||||||
|
{ 237, 0, 1, 7, { 0 }},
|
||||||
|
{ 238, 0, 1, 7, { 0 }},
|
||||||
|
{ 239, 0, 1, 7, { 0 }},
|
||||||
|
{ 240, 0, 2, 7, { 0 }},
|
||||||
|
{ 241, 0, 1, 7, { 0 }},
|
||||||
|
{ 242, 0, 1, 7, { 0 }},
|
||||||
|
{ 243, 0, 1, 7, { 0 }},
|
||||||
|
{ 244, 0, 1, 7, { 0 }},
|
||||||
|
{ 245, 0, 1, 7, { 0 }},
|
||||||
|
{ 246, 0, 1, 7, { 0 }},
|
||||||
|
{ 247, 0, 3, 6, { 0 }},
|
||||||
|
{ 248, 0, 4, 7, { 0 }},
|
||||||
|
{ 249, 0, 1, 7, { 0 }},
|
||||||
|
{ 250, 0, 1, 7, { 0 }},
|
||||||
|
{ 251, 0, 1, 7, { 0 }},
|
||||||
|
{ 252, 0, 1, 7, { 0 }},
|
||||||
|
{ 253, 0, 1, 7, { 0 }},
|
||||||
|
{ 254, 0, 2, 7, { 0 }},
|
||||||
|
{ 255, 0, 1, 7, { 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_STYLE_FONT_ATLAS_COMP_SIZE, &jungleFontDataSize);
|
||||||
|
Image imFont = { data, 256, 256, 1, 2 };
|
||||||
|
|
||||||
|
Font font = { 0 };
|
||||||
|
font.baseSize = 12;
|
||||||
|
font.glyphCount = 189;
|
||||||
|
|
||||||
|
// Load texture from image
|
||||||
|
font.texture = LoadTextureFromImage(imFont);
|
||||||
|
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 = (Rectangle *)RAYGUI_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 *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
memcpy(font.glyphs, jungleFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
|
||||||
|
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 = { 254, 254, 1, 1 };
|
||||||
|
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
|
||||||
|
}
|
||||||
607
examples/styles/style_lavanda.h
Normal file
@ -0,0 +1,607 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// StyleAsCode exporter v2.0 - 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-2023 raylib technologies (@raylibtech) //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define LAVANDA_STYLE_PROPS_COUNT 16
|
||||||
|
|
||||||
|
// 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
|
||||||
|
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
|
||||||
|
};
|
||||||
|
|
||||||
|
// WARNING: This style uses a custom font: "Cartridge.ttf" (size: 16, spacing: 1)
|
||||||
|
|
||||||
|
#define LAVANDA_STYLE_FONT_ATLAS_COMP_SIZE 2636
|
||||||
|
|
||||||
|
// Font atlas image pixels data: DEFLATE compressed
|
||||||
|
static unsigned char lavandaFontData[LAVANDA_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
|
||||||
|
0xdd, 0xdb, 0xd2, 0xa4, 0xba, 0x0d, 0x06, 0x50, 0xde, 0xff, 0xa5, 0xbf, 0x5c, 0xa4, 0x52, 0x49, 0xaa, 0x66, 0x63, 0x24,
|
||||||
|
0x0b, 0x9a, 0xee, 0x59, 0xb3, 0xee, 0x7e, 0xa6, 0x4f, 0x06, 0xf9, 0x04, 0x96, 0x73, 0x00, 0x00, 0x00, 0x00, 0x24, 0x7f,
|
||||||
|
0xfc, 0x4b, 0x4e, 0xfe, 0x6f, 0x2e, 0xbf, 0xd3, 0x7f, 0xfe, 0x9e, 0xc5, 0xff, 0xf8, 0xff, 0xff, 0x75, 0xed, 0x7d, 0x73,
|
||||||
|
0xf9, 0xf3, 0x3b, 0x47, 0xf2, 0xc7, 0xef, 0x97, 0x8d, 0xd7, 0xff, 0xd3, 0x3b, 0xd4, 0xff, 0xff, 0x7f, 0xff, 0x55, 0xca,
|
||||||
|
0xf1, 0xfc, 0x35, 0x47, 0xf1, 0x73, 0xb2, 0xf8, 0x9c, 0xab, 0xbf, 0xb0, 0x56, 0xfa, 0xb5, 0x73, 0x9e, 0xd3, 0x2b, 0xb2,
|
||||||
|
0xf3, 0xca, 0xf3, 0xd7, 0x1d, 0xe5, 0xb2, 0x3a, 0x96, 0x25, 0x5c, 0x3d, 0xcb, 0xef, 0x8b, 0xff, 0x5c, 0x78, 0xe5, 0xf9,
|
||||||
|
0xf1, 0x6c, 0xd4, 0x09, 0xeb, 0x72, 0xac, 0xd6, 0x18, 0x3b, 0xa5, 0x7a, 0xf6, 0x1d, 0x2b, 0xff, 0xff, 0x5a, 0x6d, 0xbb,
|
||||||
|
0x5f, 0x3b, 0xae, 0x4a, 0xbf, 0xfe, 0xad, 0xaf, 0x94, 0x5c, 0x06, 0xfe, 0x7f, 0x5a, 0xdf, 0x7e, 0xe2, 0xfa, 0xcf, 0xf6,
|
||||||
|
0xb5, 0x7d, 0xa5, 0xad, 0x9c, 0xb8, 0x46, 0xab, 0xf1, 0x9f, 0x56, 0x8b, 0x90, 0x45, 0x99, 0xde, 0x1d, 0xff, 0x9d, 0x76,
|
||||||
|
0x34, 0x37, 0x95, 0x6a, 0xb5, 0xbe, 0xad, 0x5f, 0x37, 0x29, 0xb6, 0xb4, 0xbd, 0xf8, 0x5f, 0x7f, 0x4e, 0xc6, 0xca, 0x6d,
|
||||||
|
0xdd, 0x7b, 0xa9, 0x97, 0x76, 0xef, 0xb7, 0x75, 0x6b, 0x95, 0x34, 0x7a, 0x40, 0xfd, 0xfa, 0x7a, 0xaa, 0xc4, 0x6b, 0x51,
|
||||||
|
0x7a, 0xa5, 0x75, 0xcb, 0x58, 0xbd, 0x9f, 0x72, 0x6b, 0x95, 0x47, 0xca, 0xf2, 0x68, 0xb7, 0x3a, 0xd5, 0x5f, 0x94, 0x72,
|
||||||
|
0x5c, 0x56, 0xfa, 0xe5, 0xfd, 0xab, 0x30, 0xa5, 0xd1, 0x59, 0x6e, 0x6b, 0xff, 0xd7, 0xad, 0x71, 0x9a, 0x57, 0x72, 0xca,
|
||||||
|
0x7d, 0x83, 0x94, 0x47, 0x95, 0xeb, 0x73, 0xbc, 0x1e, 0x8b, 0xcc, 0xc7, 0x7f, 0xaf, 0x1f, 0xf3, 0xa7, 0x72, 0xef, 0xf6,
|
||||||
|
0x12, 0xe6, 0xeb, 0xc6, 0xb7, 0xc7, 0x7f, 0x1a, 0x7d, 0x8c, 0xea, 0x6b, 0x52, 0x9e, 0x7b, 0x39, 0x6f, 0x23, 0xaf, 0x5f,
|
||||||
|
0x99, 0x19, 0xba, 0x26, 0x3b, 0xad, 0x41, 0x1a, 0xe3, 0xc5, 0xdd, 0x96, 0x7c, 0x7a, 0xce, 0xea, 0xc9, 0xf8, 0xcf, 0x85,
|
||||||
|
0x19, 0x89, 0xd5, 0x95, 0x97, 0x65, 0x29, 0xe4, 0x86, 0xf6, 0xff, 0x0d, 0x73, 0xaa, 0x4f, 0xc5, 0x7f, 0x96, 0x73, 0x5b,
|
||||||
|
0x13, 0xd7, 0x74, 0x46, 0xce, 0x43, 0x3e, 0x70, 0x16, 0xae, 0xc4, 0xff, 0xd1, 0x6c, 0xc9, 0x7f, 0x3b, 0xfe, 0x8f, 0x8b,
|
||||||
|
0xbd, 0xf8, 0xa3, 0x31, 0x0b, 0xf8, 0x5b, 0xf1, 0x9f, 0x46, 0xcc, 0x64, 0x6c, 0x64, 0xde, 0xeb, 0x33, 0xcc, 0xc6, 0xff,
|
||||||
|
0x7b, 0x6b, 0xe1, 0x55, 0xff, 0x3f, 0x17, 0xef, 0x30, 0xfd, 0x4e, 0xfc, 0x1f, 0xa3, 0xfd, 0xff, 0xf5, 0x15, 0x33, 0x31,
|
||||||
|
0x6b, 0xf4, 0x77, 0xc4, 0x7f, 0x9a, 0xf5, 0x70, 0x06, 0x67, 0x6e, 0xbe, 0x39, 0xfe, 0x3b, 0xd1, 0x93, 0x76, 0x5d, 0x79,
|
||||||
|
0xde, 0xba, 0xe5, 0xa4, 0xc7, 0x56, 0xad, 0x19, 0xee, 0x9e, 0xff, 0xef, 0xdf, 0xb7, 0xc9, 0xf6, 0xab, 0xf3, 0xf0, 0xf8,
|
||||||
|
0xff, 0xb9, 0xf8, 0x3f, 0xca, 0x33, 0xd8, 0xe7, 0xf7, 0x5a, 0xea, 0xf5, 0x4f, 0x1a, 0xf7, 0xbb, 0x8f, 0x91, 0xdf, 0xf2,
|
||||||
|
0xb6, 0xf3, 0x70, 0xed, 0x35, 0x29, 0xcf, 0x6d, 0x9c, 0xdf, 0x01, 0xfb, 0xe7, 0xd9, 0x88, 0xce, 0xbc, 0xec, 0xfb, 0xea,
|
||||||
|
0xd8, 0xbc, 0xa6, 0x8d, 0xfd, 0x5b, 0x4a, 0x81, 0x67, 0x9e, 0x31, 0x40, 0xfc, 0x8b, 0x7f, 0x78, 0xfb, 0x73, 0xcb, 0xe2,
|
||||||
|
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xdf, 0x5a, 0xa1, 0x57, 0x5b, 0x15, 0xbe,
|
||||||
|
0x93, 0xcb, 0xb8, 0x93, 0x9d, 0x6e, 0xbd, 0x42, 0x3d, 0xad, 0x9c, 0x04, 0xbd, 0xd7, 0xe5, 0x34, 0x0b, 0x5a, 0x46, 0xf2,
|
||||||
|
0x13, 0x74, 0xf3, 0x4e, 0x55, 0x32, 0x08, 0x54, 0xf7, 0x32, 0xe8, 0xee, 0x1b, 0x50, 0xfb, 0x8c, 0xce, 0x6a, 0xfd, 0x0c,
|
||||||
|
0x65, 0x41, 0xe8, 0xe4, 0x16, 0xde, 0x5b, 0x95, 0x5a, 0xcf, 0xd1, 0xb6, 0x93, 0xf5, 0x23, 0xad, 0x55, 0x73, 0x93, 0xf1,
|
||||||
|
0x9f, 0x4b, 0xb9, 0x0e, 0x3a, 0x19, 0x6a, 0x3a, 0x59, 0x6a, 0x32, 0x9c, 0x5f, 0xe7, 0x5a, 0x94, 0x5e, 0xcb, 0x39, 0x95,
|
||||||
|
0xe2, 0x77, 0xaa, 0xef, 0xca, 0x90, 0x46, 0xa4, 0xd5, 0xca, 0xb0, 0xb3, 0x3e, 0x72, 0xa7, 0x55, 0xd9, 0xbb, 0x7a, 0x53,
|
||||||
|
0xca, 0x45, 0x7c, 0x77, 0xde, 0x9d, 0x94, 0xe3, 0xe7, 0xd9, 0xf8, 0x4f, 0xe3, 0x17, 0xe5, 0x52, 0xce, 0xe5, 0x6e, 0x46,
|
||||||
|
0xb6, 0x6e, 0x26, 0xa7, 0x5e, 0x16, 0x81, 0x7e, 0xfc, 0x5f, 0x3b, 0x03, 0xbf, 0x1d, 0xff, 0x3b, 0xfb, 0xc7, 0x4c, 0xc4,
|
||||||
|
0x7f, 0xb6, 0x3f, 0x39, 0x23, 0xe5, 0x5a, 0x79, 0x97, 0x55, 0xfc, 0x3c, 0x19, 0xff, 0xfd, 0x8c, 0x85, 0x67, 0xbf, 0x38,
|
||||||
|
0x5b, 0xf1, 0x3f, 0xf9, 0xba, 0xa3, 0x99, 0x5f, 0x6b, 0x3f, 0xfe, 0xd3, 0xec, 0xb9, 0xce, 0xf5, 0x3d, 0xa7, 0xf2, 0x06,
|
||||||
|
0x77, 0xae, 0xcf, 0x5c, 0xc8, 0xd7, 0xbb, 0xdb, 0x33, 0xa8, 0xe5, 0xae, 0xce, 0xb2, 0x35, 0xde, 0x8d, 0xff, 0x3c, 0xd8,
|
||||||
|
0xff, 0xaf, 0x8c, 0xc8, 0x32, 0xde, 0xfe, 0x7f, 0x57, 0xfc, 0xdf, 0xd5, 0xff, 0xbf, 0xd2, 0x92, 0x75, 0xf7, 0xf5, 0x7a,
|
||||||
|
0x3a, 0xfe, 0xef, 0x98, 0x97, 0xca, 0x48, 0xcb, 0xd5, 0xaf, 0x31, 0xae, 0xf6, 0xff, 0x33, 0xb4, 0x2b, 0x55, 0x6f, 0xdc,
|
||||||
|
0x92, 0x9b, 0xdb, 0xff, 0x34, 0x46, 0x4a, 0xbb, 0xf1, 0x7f, 0x5c, 0xca, 0x83, 0x9a, 0xe6, 0xb9, 0xae, 0xd4, 0xe1, 0x3b,
|
||||||
|
0x3b, 0xef, 0xed, 0xf4, 0xe0, 0xd3, 0xdc, 0x79, 0x2e, 0x8d, 0x91, 0xea, 0x6f, 0xc4, 0xff, 0xce, 0x2e, 0x5d, 0x4f, 0xf5,
|
||||||
|
0xdc, 0x8f, 0x0b, 0x6d, 0xde, 0x1b, 0xe3, 0x7f, 0x7e, 0xfe, 0x6f, 0xfd, 0x1d, 0xf2, 0xf0, 0xf8, 0x3f, 0x8d, 0x28, 0x7e,
|
||||||
|
0x5f, 0xfc, 0xd7, 0xdb, 0xa3, 0x99, 0xfd, 0x90, 0xa7, 0x6b, 0x80, 0xce, 0xee, 0x99, 0x9d, 0x9d, 0x53, 0x53, 0xda, 0x89,
|
||||||
|
0x6c, 0xae, 0x47, 0x32, 0xd5, 0xff, 0x7f, 0x2e, 0xfe, 0xd3, 0xba, 0x0e, 0x3b, 0xdf, 0xbf, 0xbf, 0x3b, 0x40, 0xb6, 0x5a,
|
||||||
|
0x95, 0x8c, 0xc6, 0xff, 0xc4, 0x2c, 0x5d, 0xb7, 0x4e, 0x7a, 0x7e, 0x3f, 0xf4, 0xe7, 0xee, 0x59, 0xa7, 0xb9, 0xab, 0x5b,
|
||||||
|
0x46, 0xee, 0x8c, 0x67, 0x64, 0x2e, 0x2d, 0x5b, 0xf1, 0xbf, 0x7f, 0x2e, 0xaa, 0xfb, 0x32, 0xae, 0xfb, 0xc6, 0xf5, 0x79,
|
||||||
|
0x91, 0x6e, 0xfc, 0xf7, 0x32, 0xd4, 0x5f, 0xfd, 0x1d, 0xff, 0x3c, 0x57, 0x72, 0x8c, 0xdf, 0x91, 0x4e, 0xab, 0xae, 0xea,
|
||||||
|
0xf6, 0x2c, 0xd2, 0xda, 0x35, 0xff, 0x7d, 0xf1, 0xff, 0x44, 0xad, 0x31, 0x33, 0xf3, 0xd9, 0xb9, 0x17, 0x99, 0xf2, 0x35,
|
||||||
|
0x3d, 0x3d, 0xc2, 0xfa, 0xfc, 0x19, 0xbd, 0x6f, 0x47, 0xa3, 0x37, 0x65, 0xe3, 0x9d, 0x88, 0xff, 0xa3, 0x71, 0xbf, 0x62,
|
||||||
|
0xff, 0x4e, 0xdf, 0x77, 0x66, 0x35, 0xce, 0x8d, 0x4f, 0x25, 0xcc, 0xbd, 0xbf, 0x67, 0x10, 0x3f, 0x17, 0x75, 0x7f, 0x6b,
|
||||||
|
0xa9, 0xfd, 0x1d, 0xf1, 0xff, 0x4c, 0x8d, 0x3d, 0x3d, 0x12, 0x81, 0x4f, 0x8e, 0xa9, 0x33, 0x32, 0x02, 0xe7, 0xb7, 0xda,
|
||||||
|
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa9, 0xf5, 0x63, 0x33, 0xf9, 0x89, 0xd6,
|
||||||
|
0x6b, 0x9a, 0x6b, 0x2b, 0x21, 0xd2, 0x58, 0xaf, 0xbc, 0x97, 0x47, 0xbf, 0x9a, 0xd5, 0xe5, 0x7c, 0xbd, 0x4c, 0x2e, 0xae,
|
||||||
|
0xa1, 0x59, 0xad, 0x10, 0xc9, 0xf6, 0x5a, 0xbc, 0xee, 0xae, 0x06, 0xab, 0x4f, 0xeb, 0x64, 0x65, 0x38, 0xdf, 0x4d, 0xa0,
|
||||||
|
0xbb, 0x0f, 0xc0, 0x59, 0x96, 0x83, 0x94, 0x3f, 0xef, 0xec, 0x95, 0x29, 0xe7, 0x0a, 0x4b, 0x61, 0xed, 0x54, 0x5a, 0x57,
|
||||||
|
0x68, 0x27, 0xa3, 0xc3, 0xff, 0x7e, 0x5e, 0xe5, 0x6c, 0x65, 0x79, 0xa5, 0x55, 0xb2, 0xf1, 0xd5, 0xf3, 0x9d, 0xac, 0x32,
|
||||||
|
0x10, 0xf6, 0xf3, 0xe8, 0x67, 0x70, 0x05, 0x7e, 0x86, 0xfe, 0x5a, 0x59, 0x25, 0x96, 0xad, 0x3a, 0x3e, 0x43, 0x75, 0xed,
|
||||||
|
0x6e, 0x79, 0xa5, 0x51, 0x73, 0xa7, 0x5d, 0xe3, 0x1f, 0xad, 0x0c, 0x09, 0x19, 0xc8, 0x08, 0x90, 0x56, 0x09, 0x9d, 0xb5,
|
||||||
|
0x42, 0x69, 0xaf, 0x42, 0xac, 0x67, 0x39, 0x4a, 0xf9, 0x3b, 0x1e, 0x8d, 0x3c, 0xa8, 0xb3, 0xd9, 0x97, 0x76, 0xf6, 0xfd,
|
||||||
|
0x98, 0xc9, 0x98, 0x39, 0xb5, 0x86, 0xbe, 0x97, 0x9b, 0xa9, 0xfe, 0xd9, 0x9d, 0xab, 0x2a, 0x1b, 0xbd, 0xd0, 0x14, 0x7f,
|
||||||
|
0x5d, 0x2e, 0xb7, 0x71, 0x7f, 0x6e, 0xf5, 0xea, 0x71, 0x53, 0xcf, 0xa9, 0x34, 0x95, 0x3b, 0xe9, 0xae, 0xf8, 0x3f, 0xc6,
|
||||||
|
0xb3, 0x9c, 0xf5, 0x7a, 0x21, 0xbb, 0x3d, 0xf5, 0xbd, 0xf8, 0x5f, 0xef, 0x52, 0xb4, 0x5f, 0xe3, 0xdf, 0x19, 0xff, 0xbd,
|
||||||
|
0x5c, 0x88, 0x59, 0xf6, 0xba, 0xbb, 0x7b, 0xaf, 0xd5, 0xfa, 0xf1, 0x69, 0x67, 0x97, 0xed, 0xe5, 0xd1, 0xc8, 0x22, 0xb7,
|
||||||
|
0x6c, 0x6f, 0xdd, 0xfe, 0x7e, 0xff, 0x7f, 0xdd, 0x8f, 0x3f, 0xab, 0x1b, 0xef, 0xc8, 0xff, 0x77, 0x7f, 0xfc, 0xd7, 0xb2,
|
||||||
|
0x26, 0xf7, 0xda, 0xf0, 0x6b, 0x79, 0x74, 0x27, 0xb3, 0xdf, 0x7d, 0x2a, 0xfe, 0xeb, 0xe3, 0xea, 0xe9, 0x31, 0x45, 0xe7,
|
||||||
|
0x0c, 0xe5, 0x42, 0x2e, 0xc3, 0xb4, 0xf2, 0xa7, 0x9e, 0x8f, 0x7a, 0x67, 0xb3, 0xf0, 0xdc, 0xf9, 0x3e, 0x57, 0xc6, 0x62,
|
||||||
|
0xcf, 0xc5, 0x7f, 0x36, 0x46, 0xe0, 0x7b, 0xed, 0x56, 0x2e, 0xb7, 0x22, 0xf7, 0xc7, 0xff, 0xdc, 0x9e, 0x95, 0xfb, 0x79,
|
||||||
|
0xfa, 0x7a, 0x7d, 0xfc, 0x6c, 0xcc, 0x82, 0x75, 0xce, 0xe8, 0xb5, 0xb9, 0x8e, 0x3c, 0x32, 0xeb, 0x9d, 0xad, 0xb8, 0xb9,
|
||||||
|
0x7f, 0x4e, 0xbe, 0x36, 0x1b, 0x34, 0x1f, 0xff, 0x47, 0x71, 0xfc, 0x7d, 0x5c, 0xdc, 0xab, 0x63, 0x77, 0xdc, 0x9a, 0xad,
|
||||||
|
0xfe, 0xf8, 0xec, 0x9c, 0x55, 0xfd, 0xbb, 0x3f, 0xdf, 0xff, 0xdf, 0xcb, 0x1a, 0x9b, 0x56, 0x3f, 0x38, 0x1b, 0x75, 0x69,
|
||||||
|
0x27, 0xf3, 0xf2, 0x4e, 0x8c, 0x4d, 0xee, 0x53, 0x36, 0xf1, 0x1d, 0xcf, 0x47, 0x11, 0xd3, 0xf1, 0x5f, 0x2f, 0x85, 0x7c,
|
||||||
|
0xb4, 0x1f, 0xd4, 0xbf, 0x5a, 0xfb, 0x11, 0x98, 0xc1, 0xb3, 0xf8, 0xfc, 0xfc, 0x5f, 0xda, 0x75, 0x5f, 0x36, 0x33, 0x9e,
|
||||||
|
0x57, 0xdb, 0x8e, 0x67, 0xf3, 0x09, 0xe6, 0xa5, 0xf9, 0x0b, 0xfb, 0xb9, 0xff, 0xf3, 0x48, 0xa4, 0x4d, 0xe7, 0x9c, 0xbe,
|
||||||
|
0xbf, 0x1e, 0xd9, 0xbb, 0x77, 0x96, 0xdb, 0xcf, 0x62, 0x6e, 0x7f, 0xf7, 0x2c, 0x9f, 0x33, 0xe8, 0xde, 0xdf, 0xc8, 0xe0,
|
||||||
|
0xfd, 0x44, 0x8e, 0xad, 0x79, 0x9a, 0x7c, 0xf8, 0x3b, 0x1e, 0xce, 0xef, 0x43, 0xf1, 0xff, 0xe9, 0x72, 0xef, 0xcf, 0xd5,
|
||||||
|
0xc9, 0x7a, 0xfb, 0xfd, 0xf1, 0xcf, 0x3b, 0xe3, 0xff, 0x78, 0x49, 0xfc, 0xf3, 0x7c, 0x0d, 0x2e, 0xfe, 0xdf, 0x77, 0x2e,
|
||||||
|
0x77, 0x9f, 0xff, 0x7d, 0xfb, 0xaf, 0xd3, 0x96, 0xdf, 0x55, 0xaa, 0xca, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x58, 0xaf, 0x1c, 0xca, 0x50, 0x46, 0xa0, 0xe3, 0xff, 0x72, 0x97, 0xac, 0x73, 0x4d, 0x76, 0xf2,
|
||||||
|
0xc6, 0xf7, 0x57, 0x53, 0xa5, 0x7d, 0x6c, 0x27, 0x17, 0x4b, 0x2e, 0xad, 0x00, 0xc9, 0xc8, 0x7e, 0x09, 0xfd, 0x52, 0x4a,
|
||||||
|
0x29, 0x9b, 0x68, 0x25, 0x7f, 0x5b, 0x1a, 0x2b, 0x83, 0x7b, 0x59, 0x9f, 0x3e, 0x75, 0x9e, 0x57, 0x19, 0x57, 0xfa, 0xbf,
|
||||||
|
0x26, 0x37, 0xac, 0x1e, 0xbc, 0xfa, 0x3d, 0x7a, 0x59, 0x58, 0x73, 0x69, 0xa5, 0x5b, 0xda, 0xb9, 0x5c, 0xfb, 0xeb, 0x29,
|
||||||
|
0xd3, 0x5c, 0x4f, 0x99, 0xed, 0xd2, 0x5e, 0x45, 0x63, 0x2f, 0x5f, 0x6a, 0xb7, 0x8e, 0xdc, 0xcf, 0xf0, 0x9d, 0xed, 0x77,
|
||||||
|
0xbe, 0xb2, 0x47, 0x41, 0xbe, 0xe8, 0x3c, 0x77, 0xeb, 0x86, 0xfe, 0xef, 0xcc, 0xed, 0xb1, 0xb3, 0x9b, 0xf9, 0xef, 0xca,
|
||||||
|
0x55, 0xdf, 0xdb, 0x87, 0xe6, 0x8d, 0xab, 0x38, 0x77, 0xea, 0xf0, 0x6e, 0x1e, 0xb3, 0x6f, 0x58, 0xdf, 0x9b, 0x8f, 0xfe,
|
||||||
|
0xae, 0xe7, 0xce, 0xf3, 0x3a, 0xcf, 0xe1, 0x1b, 0x7e, 0x6b, 0x25, 0xc3, 0x6b, 0xa7, 0xfd, 0xcf, 0xa5, 0xf2, 0xba, 0x92,
|
||||||
|
0xdd, 0xb4, 0xb7, 0xeb, 0xd5, 0x67, 0x8e, 0x1e, 0x9b, 0xd9, 0xb6, 0x3a, 0xd9, 0xae, 0xcf, 0x77, 0xac, 0xaa, 0x1f, 0xd9,
|
||||||
|
0x6d, 0xff, 0xbb, 0x7f, 0xed, 0xec, 0x43, 0xf4, 0x89, 0xf3, 0xdc, 0xdb, 0x1d, 0x2d, 0x8b, 0x51, 0xf7, 0x95, 0x32, 0xae,
|
||||||
|
0x1d, 0xdb, 0xed, 0x25, 0xef, 0x8d, 0xff, 0xab, 0xed, 0xff, 0x51, 0xbe, 0xea, 0x77, 0x7a, 0xda, 0x6f, 0x3b, 0xba, 0x93,
|
||||||
|
0x71, 0xf3, 0xa9, 0x23, 0x77, 0xc4, 0x7f, 0x4e, 0xb3, 0xf1, 0xe7, 0xd2, 0x2c, 0xc3, 0x4e, 0x66, 0xe7, 0xfa, 0xd1, 0x5c,
|
||||||
|
0x2a, 0x8f, 0xf3, 0x36, 0xf4, 0xfb, 0xe2, 0x7f, 0xef, 0xbd, 0xd7, 0xf1, 0x5d, 0xcf, 0x50, 0x7b, 0xb4, 0xe7, 0xe1, 0xee,
|
||||||
|
0x8b, 0xe1, 0xa3, 0xfd, 0xad, 0xf2, 0x9a, 0x28, 0xaf, 0xe5, 0x04, 0xbd, 0xbb, 0xfd, 0xbf, 0x96, 0xdd, 0xfc, 0x3d, 0x47,
|
||||||
|
0xaf, 0xb5, 0x49, 0xef, 0x88, 0xff, 0xdc, 0x3a, 0x26, 0x4c, 0x69, 0xa6, 0xf5, 0x28, 0xee, 0x7d, 0x94, 0xd7, 0xb5, 0x0b,
|
||||||
|
0xeb, 0x3d, 0x35, 0xae, 0xb4, 0x29, 0xb3, 0x11, 0xdb, 0x3b, 0xf2, 0xa6, 0xfe, 0xff, 0x2f, 0xc5, 0xff, 0x1d, 0x31, 0xfe,
|
||||||
|
0x4c, 0xfc, 0xef, 0xf5, 0x00, 0xfa, 0xfb, 0x2d, 0x75, 0x6a, 0x86, 0x9d, 0xbd, 0x6d, 0x76, 0x8f, 0x76, 0x6b, 0x87, 0xfc,
|
||||||
|
0xa1, 0x36, 0xec, 0xcd, 0xb4, 0x7e, 0x5b, 0xff, 0xff, 0xfc, 0xfe, 0x4f, 0xda, 0xf3, 0xcb, 0xef, 0x8b, 0xff, 0x7e, 0x0b,
|
||||||
|
0x70, 0x4f, 0xfc, 0xe7, 0xc1, 0x79, 0xd2, 0xb4, 0x67, 0x3d, 0xd3, 0xb8, 0x6f, 0xfc, 0xc6, 0x71, 0x61, 0xe5, 0xec, 0x77,
|
||||||
|
0xf6, 0xd0, 0xfc, 0xee, 0xf8, 0x5f, 0xcf, 0x2f, 0xfd, 0x4a, 0xff, 0x3f, 0x1b, 0xb3, 0xa0, 0xd3, 0xf1, 0xff, 0x3d, 0xf9,
|
||||||
|
0x46, 0x33, 0x36, 0xee, 0xf8, 0xbe, 0x56, 0xa3, 0x1b, 0x57, 0x3b, 0xa3, 0x89, 0xeb, 0x73, 0xae, 0xcf, 0xec, 0x76, 0x92,
|
||||||
|
0x57, 0x9d, 0xab, 0x3b, 0xee, 0x58, 0x7e, 0x66, 0xfe, 0xef, 0x5b, 0x22, 0x5f, 0xfc, 0xaf, 0xe6, 0xd0, 0xcf, 0xc7, 0xcf,
|
||||||
|
0xb5, 0x23, 0x95, 0xe7, 0x0c, 0x3f, 0x17, 0xff, 0x9f, 0x9b, 0xe7, 0xb9, 0x67, 0x37, 0x93, 0xce, 0x33, 0x36, 0xc7, 0x2d,
|
||||||
|
0xcf, 0xce, 0xbd, 0xef, 0x59, 0x8b, 0xe3, 0x0b, 0xe2, 0x7f, 0x66, 0x36, 0xb4, 0x53, 0x12, 0x59, 0xec, 0x8b, 0x9c, 0xe2,
|
||||||
|
0x33, 0xd7, 0x77, 0xf5, 0xff, 0x67, 0x5b, 0xc5, 0x4f, 0x3e, 0xe7, 0xf1, 0xfc, 0x95, 0xde, 0x3d, 0x06, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf6, 0xda, 0xba, 0x7a, 0xd6, 0xbd, 0x34, 0xd7, 0xef, 0xf6, 0xd7,
|
||||||
|
0xa9, 0xd6, 0x77, 0x0d, 0xb8, 0xf2, 0x9e, 0x29, 0xaf, 0xbf, 0xa9, 0x7d, 0x52, 0xe5, 0x5b, 0xdf, 0x93, 0x75, 0xff, 0x58,
|
||||||
|
0xe4, 0x18, 0xc8, 0xc8, 0x35, 0x91, 0x72, 0x4e, 0x87, 0xa3, 0x99, 0x95, 0x28, 0xe5, 0xab, 0x2e, 0x8d, 0xbf, 0xa7, 0xbc,
|
||||||
|
0x32, 0xf3, 0x68, 0x7c, 0xef, 0x37, 0xaf, 0xb9, 0xef, 0x66, 0xf2, 0xec, 0xef, 0x50, 0x31, 0xbd, 0xea, 0x31, 0xcd, 0x3c,
|
||||||
|
0xdc, 0x19, 0x5b, 0xef, 0x9a, 0x8d, 0x15, 0xcd, 0x9d, 0x48, 0xaf, 0xd4, 0xd7, 0x69, 0xc7, 0x46, 0xad, 0x3e, 0xcb, 0xe8,
|
||||||
|
0x75, 0x3a, 0xb7, 0x43, 0x4c, 0x46, 0x33, 0x69, 0xbe, 0x79, 0x5d, 0x5e, 0x9a, 0xd9, 0x35, 0xf2, 0x05, 0xeb, 0x90, 0xb3,
|
||||||
|
0xb1, 0x5b, 0x4a, 0x1a, 0x3b, 0x9d, 0x7c, 0x66, 0xa5, 0xf3, 0xde, 0x95, 0xf9, 0xce, 0x55, 0xa3, 0xd5, 0x7c, 0x6e, 0x4f,
|
||||||
|
0x5d, 0x75, 0xbd, 0x9c, 0x1f, 0x19, 0x7f, 0xc7, 0x67, 0xe2, 0xbf, 0x93, 0x77, 0x37, 0xcb, 0x3e, 0xe5, 0xb3, 0xab, 0x9e,
|
||||||
|
0xbb, 0xd9, 0xc6, 0xd2, 0xda, 0x6d, 0x60, 0xff, 0xef, 0x9f, 0xc8, 0xba, 0x73, 0x6f, 0xfb, 0x3f, 0xdf, 0xc7, 0xae, 0x66,
|
||||||
|
0x38, 0xe8, 0x5d, 0xdd, 0xdd, 0x9d, 0x2e, 0xf2, 0x33, 0xf1, 0xbf, 0xce, 0xba, 0x98, 0x91, 0xd9, 0x84, 0x4f, 0x1c, 0x4b,
|
||||||
|
0x73, 0xd7, 0xa7, 0x0c, 0x8d, 0x17, 0xd6, 0xb9, 0x2e, 0x9f, 0x88, 0xff, 0x9c, 0xf4, 0xce, 0xd3, 0xd8, 0xd9, 0x62, 0xea,
|
||||||
|
0xef, 0x93, 0xb3, 0x15, 0xfd, 0x5d, 0x6b, 0xe6, 0xe2, 0x3f, 0xc3, 0x3b, 0xb0, 0xbd, 0x3d, 0xfe, 0xa7, 0x67, 0x00, 0xfa,
|
||||||
|
0x31, 0x9e, 0xf6, 0x68, 0x6d, 0x62, 0x94, 0xdb, 0xf9, 0xfb, 0x73, 0x59, 0xf7, 0xcf, 0xf2, 0x2a, 0xa7, 0x75, 0x45, 0x64,
|
||||||
|
0x60, 0x1e, 0x25, 0xed, 0x1e, 0xf6, 0xfd, 0xf1, 0xbf, 0xb3, 0xe7, 0x4f, 0xbe, 0x2e, 0xfe, 0x57, 0x35, 0x5a, 0x3d, 0xbf,
|
||||||
|
0x6d, 0x5a, 0xb1, 0xda, 0x3b, 0x96, 0x8d, 0xd9, 0x9f, 0x2c, 0xb3, 0xe6, 0xdf, 0xd3, 0xfb, 0xaf, 0x7d, 0xdb, 0x99, 0xf8,
|
||||||
|
0x9f, 0x89, 0xce, 0x4f, 0xc6, 0x7f, 0x36, 0xf6, 0x8e, 0x99, 0x6c, 0xdd, 0xd2, 0xcc, 0x14, 0x9a, 0x97, 0xce, 0xff, 0x75,
|
||||||
|
0x46, 0x34, 0xf3, 0x7b, 0x75, 0xdc, 0x71, 0x6c, 0x6f, 0xe6, 0x2b, 0x37, 0x8e, 0x7d, 0x8f, 0x0f, 0xb4, 0xff, 0x13, 0x35,
|
||||||
|
0xc3, 0x67, 0xdb, 0xff, 0x63, 0xf4, 0x7a, 0x5c, 0xff, 0xfa, 0x3c, 0xd0, 0xa3, 0x7c, 0x4b, 0xfc, 0xe7, 0x4b, 0xe3, 0xff,
|
||||||
|
0xb8, 0xb0, 0xa3, 0xdc, 0x5b, 0x6b, 0x80, 0x3c, 0x3a, 0xfe, 0x7f, 0x57, 0xfc, 0xcf, 0xde, 0x01, 0xc9, 0xf2, 0x1e, 0x67,
|
||||||
|
0x2d, 0xca, 0xd3, 0xb8, 0xd3, 0x98, 0xe2, 0x6e, 0x6a, 0xef, 0x79, 0xfe, 0x27, 0xcd, 0xd1, 0x49, 0x35, 0x1e, 0xef, 0x39,
|
||||||
|
0x76, 0xcf, 0xac, 0x6b, 0xca, 0x73, 0x8a, 0x19, 0xb9, 0xce, 0x9f, 0xcc, 0xba, 0xbb, 0x1a, 0xc5, 0x3d, 0xff, 0xeb, 0x77,
|
||||||
|
0xef, 0xa7, 0x66, 0xe8, 0xc8, 0xe4, 0xb3, 0x44, 0x6f, 0x79, 0x3a, 0x60, 0xfa, 0x1e, 0xda, 0x37, 0xe4, 0x21, 0xce, 0xcf,
|
||||||
|
0x67, 0x4c, 0xbf, 0xef, 0xa9, 0x01, 0xee, 0xed, 0xe9, 0x7d, 0xcf, 0xb3, 0xc1, 0x88, 0x7e, 0xd6, 0xcf, 0xa8, 0xfc, 0xe6,
|
||||||
|
0xef, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xa6, 0xfd, 0xfb, 0x9f, 0x72, 0x00, 0xf1, 0x0f, 0xfc, 0x75, 0xf1, 0xff, 0x2f };
|
||||||
|
|
||||||
|
// Font glyphs rectangles data (on atlas)
|
||||||
|
static const Rectangle lavandaFontRecs[189] = {
|
||||||
|
{ 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 },
|
||||||
|
{ 247, 4, 5 , 9 },
|
||||||
|
{ 260, 4, 5 , 9 },
|
||||||
|
{ 273, 4, 5 , 9 },
|
||||||
|
{ 286, 4, 5 , 9 },
|
||||||
|
{ 299, 4, 5 , 9 },
|
||||||
|
{ 312, 4, 5 , 9 },
|
||||||
|
{ 325, 4, 1 , 4 },
|
||||||
|
{ 334, 4, 2 , 6 },
|
||||||
|
{ 344, 4, 4 , 5 },
|
||||||
|
{ 356, 4, 4 , 3 },
|
||||||
|
{ 368, 4, 4 , 5 },
|
||||||
|
{ 380, 4, 5 , 9 },
|
||||||
|
{ 393, 4, 7 , 10 },
|
||||||
|
{ 408, 4, 7 , 9 },
|
||||||
|
{ 423, 4, 6 , 9 },
|
||||||
|
{ 437, 4, 5 , 9 },
|
||||||
|
{ 450, 4, 6 , 9 },
|
||||||
|
{ 464, 4, 5 , 9 },
|
||||||
|
{ 477, 4, 5 , 9 },
|
||||||
|
{ 490, 4, 6 , 9 },
|
||||||
|
{ 4, 28, 5 , 10 },
|
||||||
|
{ 17, 28, 1 , 9 },
|
||||||
|
{ 26, 28, 6 , 9 },
|
||||||
|
{ 40, 28, 6 , 9 },
|
||||||
|
{ 54, 28, 5 , 9 },
|
||||||
|
{ 67, 28, 8 , 11 },
|
||||||
|
{ 83, 28, 6 , 10 },
|
||||||
|
{ 97, 28, 7 , 9 },
|
||||||
|
{ 112, 28, 5 , 9 },
|
||||||
|
{ 125, 28, 7 , 11 },
|
||||||
|
{ 140, 28, 5 , 9 },
|
||||||
|
{ 153, 28, 6 , 9 },
|
||||||
|
{ 167, 28, 7 , 9 },
|
||||||
|
{ 182, 28, 6 , 9 },
|
||||||
|
{ 196, 28, 6 , 10 },
|
||||||
|
{ 210, 28, 9 , 10 },
|
||||||
|
{ 227, 28, 6 , 11 },
|
||||||
|
{ 241, 28, 5 , 10 },
|
||||||
|
{ 254, 28, 5 , 9 },
|
||||||
|
{ 267, 28, 3 , 12 },
|
||||||
|
{ 278, 28, 4 , 12 },
|
||||||
|
{ 290, 28, 3 , 12 },
|
||||||
|
{ 301, 28, 5 , 4 },
|
||||||
|
{ 314, 28, 6 , 1 },
|
||||||
|
{ 328, 28, 3 , 3 },
|
||||||
|
{ 339, 28, 6 , 7 },
|
||||||
|
{ 353, 28, 5 , 9 },
|
||||||
|
{ 366, 28, 4 , 7 },
|
||||||
|
{ 378, 28, 5 , 10 },
|
||||||
|
{ 391, 28, 4 , 7 },
|
||||||
|
{ 403, 28, 3 , 10 },
|
||||||
|
{ 414, 28, 4 , 11 },
|
||||||
|
{ 426, 28, 5 , 11 },
|
||||||
|
{ 439, 28, 1 , 9 },
|
||||||
|
{ 448, 28, 5 , 12 },
|
||||||
|
{ 461, 28, 5 , 9 },
|
||||||
|
{ 474, 28, 1 , 9 },
|
||||||
|
{ 483, 28, 8 , 9 },
|
||||||
|
{ 4, 52, 5 , 9 },
|
||||||
|
{ 17, 52, 4 , 7 },
|
||||||
|
{ 29, 52, 5 , 10 },
|
||||||
|
{ 42, 52, 5 , 10 },
|
||||||
|
{ 55, 52, 5 , 7 },
|
||||||
|
{ 68, 52, 5 , 7 },
|
||||||
|
{ 81, 52, 3 , 9 },
|
||||||
|
{ 92, 52, 5 , 7 },
|
||||||
|
{ 105, 52, 5 , 8 },
|
||||||
|
{ 118, 52, 9 , 8 },
|
||||||
|
{ 135, 52, 5 , 9 },
|
||||||
|
{ 148, 52, 6 , 9 },
|
||||||
|
{ 162, 52, 4 , 7 },
|
||||||
|
{ 174, 52, 5 , 12 },
|
||||||
|
{ 187, 52, 1 , 12 },
|
||||||
|
{ 196, 52, 5 , 12 },
|
||||||
|
{ 209, 52, 6 , 2 },
|
||||||
|
{ 223, 52, 1 , 9 },
|
||||||
|
{ 232, 52, 5 , 10 },
|
||||||
|
{ 245, 52, 6 , 9 },
|
||||||
|
{ 259, 52, 7 , 9 },
|
||||||
|
{ 274, 52, 5 , 9 },
|
||||||
|
{ 287, 52, 6 , 12 },
|
||||||
|
{ 301, 52, 5 , 10 },
|
||||||
|
{ 314, 52, 5 , 10 },
|
||||||
|
{ 327, 52, 8 , 8 },
|
||||||
|
{ 343, 52, 4 , 7 },
|
||||||
|
{ 355, 52, 6 , 5 },
|
||||||
|
{ 369, 52, 6 , 3 },
|
||||||
|
{ 383, 52, 8 , 8 },
|
||||||
|
{ 399, 52, 5 , 1 },
|
||||||
|
{ 412, 52, 4 , 4 },
|
||||||
|
{ 424, 52, 5 , 7 },
|
||||||
|
{ 437, 52, 3 , 4 },
|
||||||
|
{ 448, 52, 3 , 4 },
|
||||||
|
{ 459, 52, 5 , 12 },
|
||||||
|
{ 472, 52, 5 , 10 },
|
||||||
|
{ 485, 52, 7 , 11 },
|
||||||
|
{ 500, 52, 1 , 1 },
|
||||||
|
{ 4, 76, 4 , 10 },
|
||||||
|
{ 16, 76, 2 , 4 },
|
||||||
|
{ 26, 76, 4 , 7 },
|
||||||
|
{ 38, 76, 6 , 5 },
|
||||||
|
{ 52, 76, 11 , 9 },
|
||||||
|
{ 71, 76, 7 , 7 },
|
||||||
|
{ 86, 76, 5 , 12 },
|
||||||
|
{ 99, 76, 5 , 9 },
|
||||||
|
{ 112, 76, 7 , 12 },
|
||||||
|
{ 127, 76, 7 , 12 },
|
||||||
|
{ 142, 76, 7 , 12 },
|
||||||
|
{ 157, 76, 7 , 12 },
|
||||||
|
{ 172, 76, 7 , 11 },
|
||||||
|
{ 187, 76, 7 , 12 },
|
||||||
|
{ 202, 76, 10 , 9 },
|
||||||
|
{ 220, 76, 5 , 12 },
|
||||||
|
{ 233, 76, 5 , 12 },
|
||||||
|
{ 246, 76, 5 , 12 },
|
||||||
|
{ 259, 76, 5 , 12 },
|
||||||
|
{ 272, 76, 5 , 11 },
|
||||||
|
{ 285, 76, 2 , 12 },
|
||||||
|
{ 295, 76, 2 , 12 },
|
||||||
|
{ 305, 76, 3 , 12 },
|
||||||
|
{ 316, 76, 3 , 11 },
|
||||||
|
{ 327, 76, 7 , 9 },
|
||||||
|
{ 342, 76, 6 , 12 },
|
||||||
|
{ 356, 76, 7 , 12 },
|
||||||
|
{ 371, 76, 7 , 12 },
|
||||||
|
{ 386, 76, 7 , 12 },
|
||||||
|
{ 401, 76, 7 , 12 },
|
||||||
|
{ 416, 76, 7 , 11 },
|
||||||
|
{ 431, 76, 5 , 5 },
|
||||||
|
{ 444, 76, 7 , 9 },
|
||||||
|
{ 459, 76, 6 , 12 },
|
||||||
|
{ 473, 76, 6 , 12 },
|
||||||
|
{ 487, 76, 6 , 12 },
|
||||||
|
{ 4, 100, 6 , 11 },
|
||||||
|
{ 18, 100, 5 , 13 },
|
||||||
|
{ 31, 100, 5 , 9 },
|
||||||
|
{ 44, 100, 5 , 11 },
|
||||||
|
{ 57, 100, 6 , 10 },
|
||||||
|
{ 71, 100, 6 , 10 },
|
||||||
|
{ 85, 100, 6 , 10 },
|
||||||
|
{ 99, 100, 6 , 10 },
|
||||||
|
{ 113, 100, 6 , 9 },
|
||||||
|
{ 127, 100, 6 , 11 },
|
||||||
|
{ 141, 100, 7 , 7 },
|
||||||
|
{ 156, 100, 4 , 10 },
|
||||||
|
{ 168, 100, 4 , 10 },
|
||||||
|
{ 180, 100, 4 , 10 },
|
||||||
|
{ 192, 100, 4 , 10 },
|
||||||
|
{ 204, 100, 4 , 9 },
|
||||||
|
{ 216, 100, 2 , 10 },
|
||||||
|
{ 226, 100, 2 , 10 },
|
||||||
|
{ 236, 100, 3 , 10 },
|
||||||
|
{ 247, 100, 3 , 9 },
|
||||||
|
{ 258, 100, 5 , 9 },
|
||||||
|
{ 271, 100, 5 , 12 },
|
||||||
|
{ 284, 100, 4 , 10 },
|
||||||
|
{ 296, 100, 4 , 10 },
|
||||||
|
{ 308, 100, 4 , 10 },
|
||||||
|
{ 320, 100, 5 , 10 },
|
||||||
|
{ 333, 100, 4 , 9 },
|
||||||
|
{ 345, 100, 5 , 5 },
|
||||||
|
{ 358, 100, 6 , 7 },
|
||||||
|
{ 372, 100, 5 , 10 },
|
||||||
|
{ 385, 100, 5 , 10 },
|
||||||
|
{ 398, 100, 5 , 10 },
|
||||||
|
{ 411, 100, 5 , 9 },
|
||||||
|
{ 424, 100, 6 , 12 },
|
||||||
|
{ 438, 100, 5 , 12 },
|
||||||
|
{ 451, 100, 6 , 11 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// Font glyphs info data
|
||||||
|
// NOTE: No glyphs.image data provided
|
||||||
|
static const GlyphInfo lavandaFontGlyphs[189] = {
|
||||||
|
{ 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 }},
|
||||||
|
{ 161, 0, 5, 2, { 0 }},
|
||||||
|
{ 162, 0, 4, 6, { 0 }},
|
||||||
|
{ 163, 0, 3, 7, { 0 }},
|
||||||
|
{ 8364, 0, 3, 8, { 0 }},
|
||||||
|
{ 165, 0, 3, 6, { 0 }},
|
||||||
|
{ 352, 0, 0, 7, { 0 }},
|
||||||
|
{ 167, 0, 3, 6, { 0 }},
|
||||||
|
{ 353, 0, 2, 6, { 0 }},
|
||||||
|
{ 169, 0, 4, 9, { 0 }},
|
||||||
|
{ 170, 0, 3, 5, { 0 }},
|
||||||
|
{ 171, 0, 6, 7, { 0 }},
|
||||||
|
{ 172, 0, 6, 7, { 0 }},
|
||||||
|
{ 174, 0, 4, 9, { 0 }},
|
||||||
|
{ 175, 0, 2, 6, { 0 }},
|
||||||
|
{ 176, 0, 3, 5, { 0 }},
|
||||||
|
{ 177, 0, 5, 6, { 0 }},
|
||||||
|
{ 178, 0, 3, 4, { 0 }},
|
||||||
|
{ 179, 0, 3, 4, { 0 }},
|
||||||
|
{ 381, 0, 0, 6, { 0 }},
|
||||||
|
{ 181, 0, 5, 6, { 0 }},
|
||||||
|
{ 182, 0, 3, 8, { 0 }},
|
||||||
|
{ 183, 0, 7, 2, { 0 }},
|
||||||
|
{ 382, 0, 2, 5, { 0 }},
|
||||||
|
{ 185, 0, 3, 3, { 0 }},
|
||||||
|
{ 186, 0, 3, 5, { 0 }},
|
||||||
|
{ 187, 0, 6, 7, { 0 }},
|
||||||
|
{ 338, 0, 3, 12, { 0 }},
|
||||||
|
{ 339, 0, 5, 8, { 0 }},
|
||||||
|
{ 376, 0, 1, 6, { 0 }},
|
||||||
|
{ 191, 0, 5, 6, { 0 }},
|
||||||
|
{ 192, 0, 0, 8, { 0 }},
|
||||||
|
{ 193, 0, 0, 8, { 0 }},
|
||||||
|
{ 194, 0, 0, 8, { 0 }},
|
||||||
|
{ 195, 0, 0, 8, { 0 }},
|
||||||
|
{ 196, 0, 1, 8, { 0 }},
|
||||||
|
{ 197, 0, 0, 8, { 0 }},
|
||||||
|
{ 198, 0, 3, 11, { 0 }},
|
||||||
|
{ 199, 0, 3, 6, { 0 }},
|
||||||
|
{ 200, 0, 0, 6, { 0 }},
|
||||||
|
{ 201, 0, 0, 6, { 0 }},
|
||||||
|
{ 202, 0, 0, 6, { 0 }},
|
||||||
|
{ 203, 0, 1, 6, { 0 }},
|
||||||
|
{ 204, -1, 0, 2, { 0 }},
|
||||||
|
{ 205, 0, 0, 3, { 0 }},
|
||||||
|
{ 206, -1, 0, 3, { 0 }},
|
||||||
|
{ 207, -1, 1, 3, { 0 }},
|
||||||
|
{ 208, -1, 3, 7, { 0 }},
|
||||||
|
{ 209, 0, 0, 7, { 0 }},
|
||||||
|
{ 210, 0, 0, 8, { 0 }},
|
||||||
|
{ 211, 0, 0, 8, { 0 }},
|
||||||
|
{ 212, 0, 0, 8, { 0 }},
|
||||||
|
{ 213, 0, 0, 8, { 0 }},
|
||||||
|
{ 214, 0, 1, 8, { 0 }},
|
||||||
|
{ 215, 0, 5, 6, { 0 }},
|
||||||
|
{ 216, 0, 3, 8, { 0 }},
|
||||||
|
{ 217, 0, 0, 7, { 0 }},
|
||||||
|
{ 218, 0, 0, 7, { 0 }},
|
||||||
|
{ 219, 0, 0, 7, { 0 }},
|
||||||
|
{ 220, 0, 1, 7, { 0 }},
|
||||||
|
{ 221, 0, 0, 6, { 0 }},
|
||||||
|
{ 222, 0, 3, 6, { 0 }},
|
||||||
|
{ 223, 0, 3, 6, { 0 }},
|
||||||
|
{ 224, 0, 2, 7, { 0 }},
|
||||||
|
{ 225, 0, 2, 7, { 0 }},
|
||||||
|
{ 226, 0, 2, 7, { 0 }},
|
||||||
|
{ 227, 0, 2, 7, { 0 }},
|
||||||
|
{ 228, 0, 3, 7, { 0 }},
|
||||||
|
{ 229, 0, 1, 7, { 0 }},
|
||||||
|
{ 230, 0, 5, 8, { 0 }},
|
||||||
|
{ 231, 0, 5, 5, { 0 }},
|
||||||
|
{ 232, 0, 2, 5, { 0 }},
|
||||||
|
{ 233, 0, 2, 5, { 0 }},
|
||||||
|
{ 234, 0, 2, 5, { 0 }},
|
||||||
|
{ 235, 0, 3, 5, { 0 }},
|
||||||
|
{ 236, -1, 2, 2, { 0 }},
|
||||||
|
{ 237, 0, 2, 3, { 0 }},
|
||||||
|
{ 238, -1, 2, 3, { 0 }},
|
||||||
|
{ 239, -1, 3, 3, { 0 }},
|
||||||
|
{ 240, 0, 3, 6, { 0 }},
|
||||||
|
{ 241, 0, 2, 6, { 0 }},
|
||||||
|
{ 242, 0, 2, 5, { 0 }},
|
||||||
|
{ 243, 0, 2, 5, { 0 }},
|
||||||
|
{ 244, 0, 2, 5, { 0 }},
|
||||||
|
{ 245, 0, 2, 6, { 0 }},
|
||||||
|
{ 246, 0, 3, 5, { 0 }},
|
||||||
|
{ 247, 0, 5, 6, { 0 }},
|
||||||
|
{ 248, -1, 5, 6, { 0 }},
|
||||||
|
{ 249, 0, 2, 6, { 0 }},
|
||||||
|
{ 250, 0, 2, 6, { 0 }},
|
||||||
|
{ 251, 0, 2, 6, { 0 }},
|
||||||
|
{ 252, 0, 3, 6, { 0 }},
|
||||||
|
{ 253, -1, 2, 6, { 0 }},
|
||||||
|
{ 254, 0, 3, 6, { 0 }},
|
||||||
|
{ 255, -1, 3, 6, { 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_STYLE_FONT_ATLAS_COMP_SIZE, &lavandaFontDataSize);
|
||||||
|
Image imFont = { data, 512, 256, 1, 2 };
|
||||||
|
|
||||||
|
Font font = { 0 };
|
||||||
|
font.baseSize = 16;
|
||||||
|
font.glyphCount = 189;
|
||||||
|
|
||||||
|
// Load texture from image
|
||||||
|
font.texture = LoadTextureFromImage(imFont);
|
||||||
|
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 = (Rectangle *)RAYGUI_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 *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
memcpy(font.glyphs, lavandaFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
|
||||||
|
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 };
|
||||||
|
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
|
||||||
|
}
|
||||||
BIN
logo/raygui_512x512.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
@ -35,10 +35,10 @@
|
|||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{B740AD57-ABF2-4421-96C0-FE220130A873}</ProjectGuid>
|
<ProjectGuid>{50A98C3D-C898-4830-A00B-3F78DC2E742B}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>textbox_selection</RootNamespace>
|
<RootNamespace>style_selector</RootNamespace>
|
||||||
<ProjectName>textbox_selection</ProjectName>
|
<ProjectName>animation_curve</ProjectName>
|
||||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
@ -349,7 +349,13 @@
|
|||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\textbox_selection\textbox_selection.c" />
|
<ClCompile Include="..\..\..\examples\animation_curve\animation_curve.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\examples\animation_curve\gui_curve_editor.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
@ -351,6 +351,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\controls_test_suite\controls_test_suite.c" />
|
<ClCompile Include="..\..\..\examples\controls_test_suite\controls_test_suite.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@ -351,6 +351,12 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\custom_file_dialog\custom_file_dialog.c" />
|
<ClCompile Include="..\..\..\examples\custom_file_dialog\custom_file_dialog.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\examples\custom_file_dialog\gui_window_file_dialog.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@ -351,6 +351,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\image_exporter\image_exporter.c" />
|
<ClCompile Include="..\..\..\examples\image_exporter\image_exporter.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@ -351,6 +351,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\image_importer_raw\image_importer_raw.c" />
|
<ClCompile Include="..\..\..\examples\image_importer_raw\image_importer_raw.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@ -351,6 +351,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\portable_window\portable_window.c" />
|
<ClCompile Include="..\..\..\examples\portable_window\portable_window.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@ -351,6 +351,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\property_list\property_list.c" />
|
<ClCompile Include="..\..\..\examples\property_list\property_list.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@ -351,6 +351,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\scroll_panel\scroll_panel.c" />
|
<ClCompile Include="..\..\..\examples\scroll_panel\scroll_panel.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@ -351,6 +351,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\examples\style_selector\style_selector.c" />
|
<ClCompile Include="..\..\..\examples\style_selector\style_selector.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="..\..\..\examples\raygui.rc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@ -1,357 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug.DLL|Win32">
|
|
||||||
<Configuration>Debug.DLL</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug.DLL|x64">
|
|
||||||
<Configuration>Debug.DLL</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release.DLL|Win32">
|
|
||||||
<Configuration>Release.DLL</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release.DLL|x64">
|
|
||||||
<Configuration>Release.DLL</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>text_editor</RootNamespace>
|
|
||||||
<ProjectName>text_editor</ProjectName>
|
|
||||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug.DLL|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug.DLL|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release.DLL|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release.DLL|x64'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="Shared">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug.DLL|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug.DLL|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release.DLL|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release.DLL|x64'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<OutDir>$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<OutDir>$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug.DLL|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<OutDir>$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug.DLL|x64'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
<OutDir>$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<OutDir>$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<OutDir>$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release.DLL|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<OutDir>$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release.DLL|x64'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<OutDir>$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(SolutionDir)..\..\src\external;$(SolutionDir)..\..\..\raylib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
|
||||||
<AdditionalDependencies>raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(SolutionDir)..\..\src\external;$(SolutionDir)..\..\..\raylib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<AdditionalOptions>/FS %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
|
||||||
<AdditionalDependencies>raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug.DLL|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(SolutionDir)..\..\src\external;$(SolutionDir)..\..\..\raylib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
|
||||||
<AdditionalDependencies>raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
<PostBuildEvent>
|
|
||||||
<Command>xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"</Command>
|
|
||||||
<Message>Copy Debug DLL to output directory</Message>
|
|
||||||
</PostBuildEvent>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug.DLL|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(SolutionDir)..\..\src\external;$(SolutionDir)..\..\..\raylib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
|
||||||
<AdditionalDependencies>raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
<PostBuildEvent>
|
|
||||||
<Command>xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"</Command>
|
|
||||||
<Message>Copy Debug DLL to output directory</Message>
|
|
||||||
</PostBuildEvent>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(SolutionDir)..\..\src\external;$(SolutionDir)..\..\..\raylib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
|
||||||
<RemoveUnreferencedCodeData>true</RemoveUnreferencedCodeData>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalDependencies>raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(SolutionDir)..\..\src\external;$(SolutionDir)..\..\..\raylib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
|
||||||
<RemoveUnreferencedCodeData>true</RemoveUnreferencedCodeData>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalDependencies>raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release.DLL|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(SolutionDir)..\..\src\external;$(SolutionDir)..\..\..\raylib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
|
||||||
<RemoveUnreferencedCodeData>true</RemoveUnreferencedCodeData>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalDependencies>raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
|
||||||
</Link>
|
|
||||||
<PostBuildEvent>
|
|
||||||
<Command>xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"</Command>
|
|
||||||
</PostBuildEvent>
|
|
||||||
<PostBuildEvent>
|
|
||||||
<Message>Copy Release DLL to output directory</Message>
|
|
||||||
</PostBuildEvent>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release.DLL|x64'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(SolutionDir)..\..\src\external;$(SolutionDir)..\..\..\raylib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<CompileAs>CompileAsC</CompileAs>
|
|
||||||
<RemoveUnreferencedCodeData>true</RemoveUnreferencedCodeData>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<AdditionalDependencies>raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
|
||||||
</Link>
|
|
||||||
<PostBuildEvent>
|
|
||||||
<Command>xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"</Command>
|
|
||||||
</PostBuildEvent>
|
|
||||||
<PostBuildEvent>
|
|
||||||
<Message>Copy Release DLL to output directory</Message>
|
|
||||||
</PostBuildEvent>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\raylib\raylib.vcxproj">
|
|
||||||
<Project>{e89d61ac-55de-4482-afd4-df7242ebc859}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\..\examples\text_editor\text_editor.c" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
||||||
@ -19,14 +19,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "property_list", "examples\p
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scroll_panel", "examples\scroll_panel.vcxproj", "{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scroll_panel", "examples\scroll_panel.vcxproj", "{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_editor", "examples\text_editor.vcxproj", "{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}"
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "textbox_selection", "examples\textbox_selection.vcxproj", "{B740AD57-ABF2-4421-96C0-FE220130A873}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "style_selector", "examples\style_selector.vcxproj", "{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "style_selector", "examples\style_selector.vcxproj", "{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "animation_curve", "examples\animation_curve.vcxproj", "{50A98C3D-C898-4830-A00B-3F78DC2E742B}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug.DLL|x64 = Debug.DLL|x64
|
Debug.DLL|x64 = Debug.DLL|x64
|
||||||
@ -167,38 +165,6 @@ Global
|
|||||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release|x64.Build.0 = Release|x64
|
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release|x64.Build.0 = Release|x64
|
||||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release|x86.ActiveCfg = Release|Win32
|
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release|x86.ActiveCfg = Release|Win32
|
||||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release|x86.Build.0 = Release|Win32
|
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release|x86.Build.0 = Release|Win32
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Debug|x86.ActiveCfg = Debug|Win32
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Debug|x86.Build.0 = Debug|Win32
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Release|x64.Build.0 = Release|x64
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Release|x86.ActiveCfg = Release|Win32
|
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36}.Release|x86.Build.0 = Release|Win32
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Debug|x86.ActiveCfg = Debug|Win32
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Debug|x86.Build.0 = Debug|Win32
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Release|x64.Build.0 = Release|x64
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Release|x86.ActiveCfg = Release|Win32
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873}.Release|x86.Build.0 = Release|Win32
|
|
||||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||||
@ -215,6 +181,22 @@ Global
|
|||||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release|x64.Build.0 = Release|x64
|
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release|x64.Build.0 = Release|x64
|
||||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release|x86.ActiveCfg = Release|Win32
|
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release|x86.ActiveCfg = Release|Win32
|
||||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release|x86.Build.0 = Release|Win32
|
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release|x86.Build.0 = Release|Win32
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Release|x64.Build.0 = Release|x64
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B}.Release|x86.Build.0 = Release|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
@ -227,9 +209,8 @@ Global
|
|||||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
||||||
{D28301C9-C293-4F41-9F58-F2609F33134E} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
{D28301C9-C293-4F41-9F58-F2609F33134E} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
||||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
||||||
{AB6D26C4-F5F4-420D-B15B-CE52619A5D36} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
|
||||||
{B740AD57-ABF2-4421-96C0-FE220130A873} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
|
||||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
||||||
|
{50A98C3D-C898-4830-A00B-3F78DC2E742B} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29}
|
SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29}
|
||||||
|
|||||||
1861
src/raygui.h
@ -11,40 +11,40 @@ Styles can also be embedded in the code if desired, `.h` files are provided with
|
|||||||
Here it is a quick overview of those styles, you can navigate to each directory for additional information.
|
Here it is a quick overview of those styles, you can navigate to each directory for additional information.
|
||||||
|
|
||||||
#### 1. style: [default](default)
|
#### 1. style: [default](default)
|
||||||

|

|
||||||
|
|
||||||
#### 2. style: [dark](dark)
|
#### 2. style: [dark](dark)
|
||||||

|

|
||||||
|
|
||||||
#### 3. style: [bluish](bluish)
|
#### 3. style: [bluish](bluish)
|
||||||

|

|
||||||
|
|
||||||
#### 4. style: [candy](candy)
|
#### 4. style: [candy](candy)
|
||||||

|

|
||||||
|
|
||||||
#### 5. style: [cherry](cherry)
|
#### 5. style: [cherry](cherry)
|
||||||

|

|
||||||
|
|
||||||
#### 6. style: [cyber](cyber)
|
#### 6. style: [cyber](cyber)
|
||||||

|

|
||||||
|
|
||||||
#### 7. style: [jungle](jungle)
|
#### 7. style: [jungle](jungle)
|
||||||

|

|
||||||
|
|
||||||
#### 8. style: [lavanda](lavanda)
|
#### 8. style: [lavanda](lavanda)
|
||||||

|

|
||||||
|
|
||||||
#### 9. style: [terminal](terminal)
|
#### 9. style: [terminal](terminal)
|
||||||

|

|
||||||
|
|
||||||
#### 10. style: [sunny](sunny)
|
#### 10. style: [sunny](sunny)
|
||||||

|

|
||||||
|
|
||||||
#### 11. style: [ashes](ashes)
|
#### 11. style: [ashes](ashes)
|
||||||

|

|
||||||
|
|
||||||
#### 12. enefete: [enefete](enefete)
|
#### 12. enefete: [enefete](enefete)
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
*NOTE: Those styles require raylib 4.0 and raygui 3.1.*
|
*NOTE: Those styles require raylib 4.5+ and raygui 4.0*
|
||||||
|
|||||||
@ -1,16 +1,27 @@
|
|||||||
style: ashes
|
## style: ashes
|
||||||
-------------
|
|
||||||
What once was life now is ashes, just as slight reminiscense covers the ground, a gray sequence of tones that reminds to a distant past.
|
What once was life now is ashes, just as slight reminiscense covers the ground, a gray sequence of tones that reminds to a distant past.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
screenshot
|
## style: provided files
|
||||||
-----------
|
|
||||||
|
Several options are provided to add the style to a `raygui` application, choose the one that better fits the project.
|
||||||
|
|
||||||
|
| file name | description |
|
||||||
|
| :-------- | :---------- |
|
||||||
|
| `style_ashes.rgs` | Binary style file (raygui 4.0), font data compressed (recs, glyphs) |
|
||||||
|
| `style_ashes.txt.rgs` | Text style file, no font data, requires external font provided |
|
||||||
|
| `style_ashes.old.rgs` | Binary style file (raygui 3.x), font data uncompressed (recs, glyphs) |
|
||||||
|
| `style_ashes.h` | Embeddable style as code file, self-contained, includes font data |
|
||||||
|
| `style_ashes.png` | Style table image, contains `rGSf` chunk with binary `rgs` file data |
|
||||||
|
|
||||||
|
## screenshot
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
about font
|
## about font
|
||||||
-----------
|
|
||||||
"V5 Loxica Lixera" font by vFive Digital (Roberto Christen).
|
"V5 Loxica Lixera" font by vFive Digital (Roberto Christen).
|
||||||
|
|
||||||
100% free font, downloaded from dafont.com: [v5loxica-lixera](https://www.dafont.com/v5loxica-lixera.font)
|
100% free font, downloaded from dafont.com: [v5loxica-lixera](https://www.dafont.com/v5loxica-lixera.font)
|
||||||
|
|||||||
@ -1,338 +0,0 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// //
|
|
||||||
// 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-2023 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);
|
|
||||||
UnloadImage(imFont); // Uncompressed 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 = (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
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
#
|
|
||||||
# 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
|
|
||||||
1
styles/ashes/charset.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
|
||||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 45 KiB |
578
styles/ashes/style_ashes.h
Normal file
@ -0,0 +1,578 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// StyleAsCode exporter v2.0 - 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-2023 raylib technologies (@raylibtech) //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define ASHES_STYLE_PROPS_COUNT 16
|
||||||
|
|
||||||
|
// 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
|
||||||
|
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
|
||||||
|
};
|
||||||
|
|
||||||
|
// WARNING: This style uses a custom font: "v5loxical.ttf" (size: 16, spacing: 1)
|
||||||
|
|
||||||
|
#define ASHES_STYLE_FONT_ATLAS_COMP_SIZE 2042
|
||||||
|
|
||||||
|
// Font atlas image pixels data: DEFLATE compressed
|
||||||
|
static unsigned char ashesFontData[ASHES_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
|
||||||
|
0xdd, 0xd1, 0xb2, 0xab, 0x36, 0x0c, 0x05, 0x50, 0xff, 0xff, 0x4f, 0xab, 0x0f, 0x9d, 0x4e, 0xdb, 0x69, 0x13, 0x90, 0x2c,
|
||||||
|
0x83, 0x21, 0xeb, 0xae, 0xb7, 0x9c, 0xdc, 0x40, 0x0c, 0x1b, 0x63, 0x88, 0x45, 0x0c, 0x00, 0x00, 0x00, 0xe0, 0xe7, 0xc5,
|
||||||
|
0xff, 0xbe, 0x12, 0x1f, 0xdf, 0x19, 0xa7, 0x3f, 0xe7, 0xdf, 0xaf, 0xc7, 0x87, 0xbf, 0xe6, 0x3e, 0x2f, 0x4e, 0x2f, 0xb7,
|
||||||
|
0xf2, 0x97, 0xf8, 0xdf, 0xf5, 0x8b, 0xe9, 0xa5, 0xc6, 0xe9, 0x6f, 0xf3, 0xed, 0xbd, 0xdf, 0x96, 0xf9, 0xe9, 0x93, 0x22,
|
||||||
|
0xb1, 0x8c, 0xec, 0xfb, 0x3f, 0x7f, 0xce, 0xd5, 0x2d, 0x1e, 0x5f, 0xfe, 0xf2, 0xfd, 0xaf, 0xd9, 0xd7, 0xe3, 0xe4, 0xab,
|
||||||
|
0xdf, 0xfe, 0x12, 0x07, 0x7f, 0x39, 0x9b, 0xbb, 0x78, 0x40, 0xfe, 0xe3, 0xcb, 0xe7, 0x7d, 0xff, 0xc4, 0x98, 0x38, 0x26,
|
||||||
|
0x9c, 0x5b, 0xee, 0x95, 0xed, 0xf9, 0x69, 0x4f, 0xcf, 0x6d, 0xeb, 0xef, 0x6d, 0x9c, 0xcb, 0x5c, 0x34, 0xac, 0xff, 0x6c,
|
||||||
|
0xab, 0x45, 0xc3, 0xbb, 0xe3, 0xc4, 0xde, 0x92, 0xd9, 0x9b, 0xb3, 0x69, 0xab, 0xbd, 0x7f, 0x34, 0x6c, 0xaf, 0x6b, 0xf3,
|
||||||
|
0xff, 0xcf, 0x7f, 0x23, 0x75, 0x14, 0x1c, 0x4d, 0xf9, 0xcf, 0xf7, 0xb9, 0xdf, 0x8e, 0xbe, 0x71, 0xd1, 0xd9, 0xd4, 0xb9,
|
||||||
|
0x3d, 0xb4, 0xfe, 0x7a, 0xdf, 0xa7, 0x5f, 0x9d, 0xff, 0x68, 0xfc, 0x1f, 0x47, 0x6b, 0x17, 0xf2, 0x3f, 0xbd, 0x15, 0xa2,
|
||||||
|
0xd8, 0xdb, 0x56, 0x7b, 0xa2, 0xd9, 0xad, 0x1f, 0x8b, 0x7b, 0xfa, 0x55, 0x09, 0xad, 0x1d, 0xcd, 0x22, 0xf9, 0x7f, 0x72,
|
||||||
|
0x7d, 0x6c, 0x4c, 0x6f, 0xbd, 0xf3, 0xfb, 0x44, 0x7e, 0xfd, 0x8e, 0xf7, 0x00, 0xf9, 0xbf, 0x22, 0xff, 0x95, 0xe4, 0xc6,
|
||||||
|
0x92, 0xa3, 0x7f, 0xf5, 0xca, 0xc0, 0x8a, 0xb6, 0xcc, 0xe5, 0x3f, 0x1a, 0x5b, 0x20, 0xdb, 0x6f, 0xe7, 0xd7, 0xff, 0xec,
|
||||||
|
0x48, 0x3d, 0x6e, 0xec, 0xff, 0xbf, 0x1d, 0x1d, 0x33, 0x47, 0xcd, 0x6c, 0x3a, 0x73, 0xcb, 0xfd, 0x7b, 0x5d, 0xe7, 0xaf,
|
||||||
|
0x88, 0xac, 0xc8, 0x7f, 0xf5, 0xfc, 0xbf, 0x72, 0x86, 0x3a, 0x36, 0xc9, 0xf3, 0xf5, 0xf9, 0x8f, 0xf6, 0x16, 0x58, 0x99,
|
||||||
|
0xff, 0xb3, 0x6d, 0x1f, 0x0b, 0xc7, 0xff, 0xb9, 0xab, 0xab, 0xfb, 0xf7, 0xff, 0xf7, 0x5f, 0xff, 0x1b, 0xe5, 0xeb, 0x46,
|
||||||
|
0xd9, 0x6b, 0x80, 0x71, 0xea, 0xec, 0xe1, 0x29, 0xf9, 0xef, 0x38, 0xfe, 0x55, 0x47, 0x4a, 0x1d, 0x57, 0xb8, 0xb2, 0xf9,
|
||||||
|
0x8f, 0x86, 0xb6, 0x8f, 0xa5, 0x47, 0xff, 0x4a, 0xaf, 0x24, 0xff, 0xbd, 0xe3, 0xff, 0x38, 0x71, 0x06, 0x18, 0xaf, 0xe8,
|
||||||
|
0xff, 0xf3, 0xa3, 0x9c, 0x68, 0xb8, 0x07, 0x57, 0xb9, 0xbb, 0x9a, 0xed, 0x31, 0x2b, 0xf7, 0x24, 0x77, 0x68, 0x77, 0xfd,
|
||||||
|
0xff, 0x75, 0xdb, 0xa0, 0xb6, 0x2f, 0xfc, 0xf5, 0xff, 0x9e, 0xdf, 0xff, 0xef, 0xb4, 0x35, 0x90, 0xff, 0xab, 0xf7, 0xdb,
|
||||||
|
0xb8, 0xb5, 0x7f, 0x95, 0x7f, 0xbf, 0x60, 0xeb, 0xca, 0xff, 0xda, 0xdf, 0xff, 0xc4, 0x41, 0x6f, 0x38, 0x1e, 0xd9, 0xff,
|
||||||
|
0x5f, 0xb3, 0x36, 0x21, 0x79, 0xe0, 0x58, 0x2f, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0xfc, 0xd0, 0xec, 0x99, 0xcc, 0xec, 0xe5, 0x6a, 0x15, 0xe0, 0x8e, 0xf7, 0x57, 0x97, 0x10, 0x6d, 0xf5, 0x1f, 0xfb,
|
||||||
|
0xaa, 0x49, 0x7e, 0x9e, 0x4d, 0x9a, 0x99, 0xf7, 0x9c, 0xab, 0x6f, 0x9e, 0xab, 0x24, 0x17, 0xc9, 0x9a, 0x6d, 0x91, 0xac,
|
||||||
|
0x5b, 0x9c, 0xdd, 0x8e, 0xf3, 0xb3, 0xec, 0xe7, 0xfe, 0xff, 0xdf, 0xb5, 0x2a, 0xfa, 0xf6, 0xe5, 0xd1, 0xd4, 0x32, 0xd7,
|
||||||
|
0xe5, 0x7f, 0xb4, 0xd7, 0x54, 0xcd, 0x57, 0xa8, 0xca, 0xd7, 0xc7, 0x1f, 0x9b, 0xe5, 0x3f, 0xb3, 0x3f, 0x66, 0xeb, 0xfe,
|
||||||
|
0x44, 0x61, 0x56, 0x64, 0x4c, 0xcf, 0xb7, 0x8c, 0x85, 0xfb, 0x5d, 0x57, 0x05, 0xc9, 0x31, 0x99, 0xff, 0x3b, 0xf7, 0xfd,
|
||||||
|
0x4a, 0x6d, 0x46, 0xf9, 0x7f, 0x43, 0xfe, 0x2b, 0xd5, 0x3d, 0x3b, 0xe6, 0x45, 0x77, 0xd5, 0xc7, 0x8d, 0xf4, 0x79, 0x51,
|
||||||
|
0x66, 0x7f, 0x88, 0xa9, 0xca, 0xea, 0x91, 0x3e, 0x0e, 0xef, 0x98, 0x7f, 0xfd, 0x7f, 0xa5, 0x36, 0xde, 0xdd, 0xf9, 0x9f,
|
||||||
|
0x7b, 0x22, 0xc0, 0xea, 0xea, 0x07, 0x6b, 0xfb, 0xa7, 0xde, 0xfe, 0x3f, 0x26, 0xf2, 0x9f, 0x7d, 0x86, 0xd9, 0x5e, 0xf9,
|
||||||
|
0x9f, 0x3f, 0xff, 0xaf, 0x57, 0x3b, 0xef, 0x1a, 0x05, 0x8f, 0x86, 0xe3, 0x7d, 0xf5, 0x49, 0x82, 0x5d, 0xf9, 0x1f, 0x85,
|
||||||
|
0xa7, 0xc0, 0xcd, 0x9e, 0x8f, 0x3e, 0x3b, 0xff, 0xb9, 0x2b, 0x11, 0xeb, 0xf2, 0xff, 0xec, 0xfe, 0x7f, 0xbc, 0xe0, 0xfc,
|
||||||
|
0xbf, 0x63, 0x7b, 0x8f, 0x4d, 0xcf, 0xff, 0xbb, 0x46, 0xd1, 0xef, 0xcb, 0x7f, 0xf6, 0x7b, 0x76, 0x7c, 0xfe, 0x5b, 0xcf,
|
||||||
|
0xff, 0xe5, 0xff, 0xed, 0xf9, 0xbf, 0xeb, 0x49, 0x66, 0x7b, 0xe4, 0x3f, 0x9a, 0xaa, 0xef, 0xca, 0xff, 0x5b, 0xf3, 0xbf,
|
||||||
|
0xeb, 0xf5, 0xbf, 0xe7, 0xe6, 0x7f, 0x94, 0xc6, 0x66, 0x73, 0xef, 0x7e, 0x42, 0xff, 0x3f, 0x0a, 0xd7, 0xac, 0xf2, 0x23,
|
||||||
|
0xd9, 0xeb, 0xc6, 0xff, 0xf2, 0x7f, 0xee, 0xee, 0xd9, 0xdd, 0xf9, 0x5f, 0x73, 0xff, 0xab, 0xef, 0xbc, 0xa0, 0xe3, 0xdd,
|
||||||
|
0x7b, 0x8f, 0xff, 0x57, 0xff, 0x16, 0x67, 0xed, 0xf2, 0x7b, 0xae, 0xb4, 0x45, 0xf9, 0xba, 0x7d, 0xcf, 0x6f, 0x49, 0xf2,
|
||||||
|
0xd7, 0xdf, 0xb2, 0x47, 0xce, 0x38, 0x78, 0x7f, 0x34, 0xf5, 0x73, 0x95, 0xea, 0xf0, 0x3b, 0xe4, 0x3f, 0xfb, 0xd4, 0x9f,
|
||||||
|
0xec, 0xbb, 0xf7, 0xc8, 0xff, 0xfa, 0x96, 0xbd, 0x3a, 0xff, 0x4f, 0xfc, 0xb5, 0xe2, 0xef, 0xb5, 0x42, 0x2c, 0x7e, 0xff,
|
||||||
|
0x6f, 0xef, 0x0b, 0x7b, 0x3d, 0x31, 0xcb, 0x76, 0xe5, 0xca, 0xbe, 0x15, 0xad, 0x05, 0x8e, 0xac, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x9b, 0xfb, 0x70, 0x34, 0x7f, 0x32, 0x9a, 0xaa, 0x20, 0x64, 0xeb, 0xc0,
|
||||||
|
0x8d, 0xd3, 0xb5, 0xf0, 0xa3, 0x54, 0x79, 0x76, 0xbe, 0xba, 0xc2, 0xf7, 0x19, 0xcd, 0x9f, 0xbf, 0x69, 0x14, 0x66, 0x09,
|
||||||
|
0x67, 0x9f, 0x6d, 0x50, 0xa9, 0xad, 0x50, 0x5f, 0x56, 0x14, 0xab, 0x48, 0xce, 0xb7, 0x41, 0x14, 0x9e, 0xef, 0x70, 0xf4,
|
||||||
|
0x5d, 0xf2, 0x5b, 0x21, 0xf3, 0x5a, 0x65, 0x6e, 0xf9, 0x38, 0xf1, 0xdc, 0x81, 0x38, 0x9c, 0xdf, 0xd0, 0x9b, 0xff, 0xd5,
|
||||||
|
0x75, 0xb0, 0x2b, 0xb5, 0x3c, 0xfe, 0xfb, 0xda, 0x7d, 0x75, 0x27, 0xbe, 0x1d, 0x77, 0x2a, 0x55, 0x28, 0xb2, 0xc7, 0xe1,
|
||||||
|
0xfc, 0x5e, 0x38, 0xb7, 0xac, 0x91, 0xda, 0x02, 0x95, 0x7a, 0xe6, 0x9d, 0x6d, 0x1a, 0x85, 0x9a, 0x17, 0xe7, 0x7b, 0x9f,
|
||||||
|
0x28, 0xb6, 0xfd, 0x4c, 0xcd, 0x9d, 0x33, 0x33, 0x8a, 0xa3, 0xb0, 0xe7, 0x75, 0xd5, 0xc1, 0x8d, 0x96, 0x4c, 0x77, 0x54,
|
||||||
|
0xc1, 0xca, 0xd5, 0xee, 0xcd, 0xce, 0x24, 0x8d, 0xc9, 0xfd, 0x38, 0xbf, 0x7f, 0x47, 0x4b, 0x35, 0xae, 0xe3, 0x65, 0xc5,
|
||||||
|
0x97, 0x65, 0x65, 0xf2, 0x5f, 0xef, 0x4b, 0xd7, 0xe7, 0x3f, 0xbf, 0x06, 0x99, 0x0a, 0x52, 0x73, 0xbd, 0xe3, 0x7c, 0xfe,
|
||||||
|
0x77, 0xed, 0xff, 0xef, 0xce, 0x7f, 0xbe, 0x06, 0xcc, 0xd1, 0x79, 0x77, 0x65, 0x2f, 0x8a, 0x52, 0x26, 0xb3, 0xfb, 0x60,
|
||||||
|
0xbd, 0xff, 0x8f, 0xd2, 0x39, 0x55, 0xe7, 0xb6, 0xbd, 0x22, 0xff, 0x63, 0x61, 0xfe, 0xef, 0xee, 0xff, 0xf7, 0xcc, 0x7f,
|
||||||
|
0x5f, 0x2d, 0xdf, 0xb9, 0xfc, 0xe7, 0x53, 0x3e, 0x8a, 0x6b, 0xde, 0x77, 0xfe, 0x1f, 0xe9, 0xf1, 0xd3, 0xcc, 0xb2, 0xa2,
|
||||||
|
0xe5, 0x5c, 0x6b, 0x1c, 0x3c, 0x9f, 0xf0, 0xf9, 0xf9, 0x1f, 0xc5, 0x33, 0xe0, 0xa3, 0xa7, 0x61, 0xe4, 0xdb, 0x67, 0x76,
|
||||||
|
0x84, 0xbb, 0xbe, 0x0a, 0xf2, 0xf5, 0xcf, 0xc1, 0x88, 0x86, 0xb3, 0xfc, 0xa3, 0xca, 0x85, 0xb1, 0x41, 0xfe, 0xeb, 0xd7,
|
||||||
|
0x87, 0xbb, 0xfa, 0xff, 0xee, 0xeb, 0xd6, 0x3d, 0xf9, 0x1f, 0xa5, 0x71, 0x4c, 0x5f, 0x3b, 0x8f, 0xa9, 0xfe, 0x7f, 0xbc,
|
||||||
|
0x2c, 0xff, 0xd7, 0x3f, 0x07, 0x23, 0x5a, 0x46, 0xf9, 0x51, 0x7c, 0xde, 0x50, 0xef, 0xf9, 0xff, 0xb7, 0xe7, 0xe2, 0x46,
|
||||||
|
0xf9, 0xd9, 0x70, 0x6b, 0xf3, 0x7f, 0xee, 0x6a, 0xf5, 0xca, 0xfc, 0x0f, 0xf9, 0x3f, 0x79, 0x87, 0xeb, 0xe8, 0x5e, 0xc5,
|
||||||
|
0x48, 0xdf, 0x75, 0x99, 0xbd, 0x77, 0x74, 0xe5, 0xf9, 0xff, 0x75, 0xfd, 0xff, 0x58, 0x72, 0xfd, 0x7f, 0x45, 0x3f, 0xfb,
|
||||||
|
0xa4, 0xfe, 0xff, 0xfb, 0x9e, 0xfd, 0x9c, 0xfc, 0x9f, 0x49, 0xdc, 0x78, 0x44, 0x45, 0xd1, 0xae, 0x4a, 0xd0, 0xd7, 0x5e,
|
||||||
|
0xff, 0xeb, 0xbe, 0x9f, 0xd1, 0x73, 0xfe, 0x9f, 0xef, 0x49, 0xe7, 0x46, 0xb9, 0x9d, 0xcb, 0xba, 0xee, 0xfc, 0xff, 0x1d,
|
||||||
|
0xf9, 0xef, 0x59, 0xbb, 0xfb, 0x2b, 0x20, 0xee, 0x99, 0xff, 0x51, 0xfc, 0x7d, 0xcd, 0xbd, 0xe7, 0xff, 0x57, 0xe6, 0x6c,
|
||||||
|
0x8f, 0x7d, 0xe6, 0xbd, 0xf9, 0x3f, 0xfa, 0xfd, 0xcf, 0x13, 0xb7, 0xdb, 0xec, 0xd1, 0x27, 0x16, 0xbd, 0xf7, 0xae, 0xb3,
|
||||||
|
0xa3, 0x98, 0xba, 0x56, 0x21, 0xff, 0x9d, 0xf9, 0x7f, 0x53, 0xc2, 0x9e, 0x92, 0xff, 0x55, 0x47, 0x8c, 0xa7, 0x3c, 0x19,
|
||||||
|
0x42, 0xfe, 0xaf, 0xcd, 0xff, 0xaf, 0x24, 0xec, 0xbd, 0xf9, 0x7f, 0xdf, 0xd1, 0x2c, 0x3b, 0x86, 0x8e, 0x0b, 0xc7, 0xdd,
|
||||||
|
0x71, 0xe3, 0x18, 0xbf, 0xba, 0x5e, 0xd7, 0xac, 0xf3, 0xae, 0x2d, 0xf3, 0x84, 0xb5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x67, 0xb9, 0x44, 0xcb, 0x6c, 0xd9, 0x51, 0xaa, 0xc3, 0x9e, 0x9f, 0x0b, 0x99, 0xad,
|
||||||
|
0x35, 0x3f, 0x5a, 0xea, 0x14, 0x57, 0xaa, 0xc5, 0x1e, 0xcf, 0x37, 0x8d, 0x64, 0x5b, 0xde, 0xb5, 0xad, 0xa2, 0xbc, 0xf4,
|
||||||
|
0x95, 0xdb, 0xe4, 0xf3, 0xac, 0xa0, 0xfc, 0x93, 0x16, 0x2a, 0xd5, 0x33, 0xae, 0xcb, 0xc1, 0xea, 0xd9, 0xfc, 0xf9, 0xba,
|
||||||
|
0xfc, 0xf3, 0x55, 0x4f, 0xfb, 0x9e, 0x14, 0xd0, 0xfd, 0x2d, 0x32, 0x75, 0x5e, 0xcf, 0xb5, 0x42, 0x34, 0xb5, 0xe5, 0x5d,
|
||||||
|
0xdb, 0xea, 0x68, 0x8d, 0x62, 0xf9, 0xda, 0x76, 0xd5, 0xeb, 0x8e, 0x52, 0x3f, 0x78, 0x47, 0x0e, 0x2a, 0xfd, 0xd1, 0xfd,
|
||||||
|
0xb3, 0x5c, 0xe7, 0xe7, 0xf7, 0xd6, 0xf3, 0xff, 0xd4, 0xf3, 0xb1, 0x67, 0x7c, 0xa7, 0xef, 0xb5, 0xb4, 0x76, 0xfa, 0x0e,
|
||||||
|
0xd5, 0xfc, 0x77, 0x54, 0x97, 0xe9, 0x9c, 0xe7, 0x1e, 0x5f, 0x6a, 0x2e, 0x47, 0xeb, 0xf9, 0xff, 0x4e, 0xaf, 0x57, 0xf3,
|
||||||
|
0x9f, 0x1f, 0x2f, 0xcc, 0x8e, 0x2f, 0xe6, 0x9f, 0x50, 0x94, 0xaf, 0xde, 0x79, 0xdf, 0xeb, 0xdd, 0xcf, 0x48, 0x5a, 0xfd,
|
||||||
|
0x7a, 0x25, 0xff, 0xbb, 0xf6, 0x0d, 0x3d, 0xf9, 0x8f, 0x0d, 0xb7, 0x52, 0x7e, 0xf4, 0x36, 0x7f, 0x9e, 0x59, 0x3d, 0xbe,
|
||||||
|
0x74, 0xe7, 0x7f, 0xc7, 0xb6, 0xcf, 0x8f, 0xff, 0x9f, 0x97, 0xff, 0x28, 0xf4, 0xc3, 0xf7, 0xf5, 0x83, 0x99, 0xa7, 0x58,
|
||||||
|
0xd6, 0xc7, 0xf8, 0xfb, 0xef, 0x83, 0xf2, 0x7f, 0x77, 0xdb, 0x8f, 0x1f, 0xe8, 0xff, 0xf7, 0xd9, 0xef, 0xba, 0xc7, 0xc1,
|
||||||
|
0xf2, 0x2f, 0xff, 0xf2, 0x1f, 0x27, 0xc6, 0x63, 0x7b, 0xbc, 0x7e, 0x5d, 0xfe, 0x73, 0x95, 0xf9, 0xd7, 0xbf, 0x5e, 0xcb,
|
||||||
|
0xed, 0xda, 0x6d, 0x24, 0xff, 0xfb, 0xe5, 0x7f, 0xe6, 0x89, 0x61, 0x4f, 0x68, 0xf3, 0xde, 0xfb, 0x7f, 0xcf, 0x1a, 0x6b,
|
||||||
|
0xea, 0xff, 0xe5, 0xbf, 0x7e, 0xff, 0xff, 0x1d, 0xf9, 0xef, 0xbe, 0x97, 0xf7, 0x94, 0xeb, 0x7f, 0xe3, 0xe0, 0xb9, 0x40,
|
||||||
|
0x71, 0xcb, 0x73, 0xc4, 0xd6, 0xe4, 0xff, 0x19, 0xdb, 0xe4, 0x78, 0xaf, 0x7a, 0x52, 0xfe, 0x9f, 0xdf, 0xe6, 0x9d, 0xf7,
|
||||||
|
0x25, 0xdf, 0xf1, 0xbd, 0x9f, 0x99, 0xff, 0x37, 0x6c, 0x93, 0xa3, 0x11, 0xd3, 0x9e, 0xfd, 0xff, 0xf3, 0x73, 0x10, 0x8b,
|
||||||
|
0x7f, 0x83, 0xb2, 0x6f, 0xfe, 0xc7, 0x6b, 0xfa, 0xff, 0xe7, 0x6f, 0x93, 0xb8, 0xf1, 0x5b, 0xf4, 0xe6, 0x7f, 0xb7, 0xfb,
|
||||||
|
0x7f, 0x77, 0xff, 0x06, 0xed, 0x69, 0xe7, 0x3d, 0xcf, 0xfb, 0xfd, 0x4f, 0x6d, 0x4c, 0xfd, 0xa4, 0x7d, 0xf1, 0xae, 0x3b,
|
||||||
|
0xe7, 0x2a, 0xe2, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xd6, 0x55, 0xdf, 0x3c, 0x8a,
|
||||||
|
0x33, 0xab, 0xce, 0xbd, 0x56, 0xa9, 0xe6, 0x1e, 0xcb, 0xbe, 0x6b, 0xa5, 0x36, 0x4b, 0xb4, 0xcd, 0x5d, 0xea, 0xda, 0x32,
|
||||||
|
0x9f, 0x97, 0x1b, 0xc5, 0x2a, 0x2c, 0xbc, 0xeb, 0x08, 0xb0, 0xaa, 0x42, 0xfe, 0x68, 0xa8, 0x92, 0x5f, 0xab, 0xe6, 0x78,
|
||||||
|
0x4f, 0x2d, 0xf7, 0xb9, 0x99, 0xb2, 0xeb, 0xb6, 0x4c, 0x6f, 0x9d, 0x7c, 0xde, 0x75, 0x04, 0x58, 0xf9, 0x1c, 0x91, 0x68,
|
||||||
|
0xfc, 0xcc, 0xd8, 0xea, 0xbb, 0x8e, 0xaf, 0x33, 0xcf, 0x46, 0xa2, 0xf2, 0xc4, 0xfa, 0xb5, 0x8d, 0xd6, 0x96, 0x85, 0x3b,
|
||||||
|
0x8e, 0x59, 0xcf, 0xde, 0x4b, 0xf7, 0xeb, 0x51, 0xe5, 0xff, 0xd7, 0x92, 0xb4, 0x7a, 0x8e, 0xf8, 0x6c, 0x5d, 0x8e, 0xfc,
|
||||||
|
0x59, 0xea, 0x7e, 0x35, 0x1b, 0xa2, 0x30, 0xa7, 0x7f, 0x78, 0x4e, 0x06, 0x37, 0xf5, 0x3f, 0x9d, 0x75, 0x3b, 0xae, 0xcf,
|
||||||
|
0xff, 0x5e, 0xaf, 0xd7, 0xfa, 0x7f, 0xf9, 0x47, 0xfe, 0xe5, 0x5f, 0xfe, 0x91, 0xff, 0xf7, 0xe6, 0x3f, 0xe4, 0x9f, 0x5b,
|
||||||
|
0x47, 0xff, 0x2b, 0x9f, 0xdb, 0x21, 0xff, 0x73, 0x77, 0xff, 0xe4, 0x9f, 0x3b, 0xee, 0xfe, 0xf7, 0x55, 0xc8, 0x95, 0xff,
|
||||||
|
0xda, 0xaf, 0xaf, 0xe4, 0x1f, 0xf9, 0x7f, 0x7b, 0xff, 0x2f, 0xff, 0xb8, 0xff, 0x77, 0x4d, 0xfe, 0xd5, 0xc9, 0xce, 0xfd,
|
||||||
|
0x4a, 0x3a, 0xf7, 0x24, 0x44, 0xb8, 0xfe, 0xba, 0x85, 0xbd, 0xb1, 0xff, 0xb7, 0x99, 0x47, 0x2d, 0xab, 0xc5, 0xe1, 0x17,
|
||||||
|
0xe6, 0x7f, 0xc9, 0x3f, 0xfc, 0xda, 0xc8, 0xaf, 0xfb, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe3, 0xcf, 0x7f, 0xda, 0x01, 0xe4, 0x1f, 0xf8, 0xb9, 0xfc, 0xff,
|
||||||
|
0x01 };
|
||||||
|
|
||||||
|
// Font glyphs rectangles data (on atlas)
|
||||||
|
static const Rectangle ashesFontRecs[189] = {
|
||||||
|
{ 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 },
|
||||||
|
{ 253, 4, 4 , 8 },
|
||||||
|
{ 265, 4, 4 , 8 },
|
||||||
|
{ 277, 4, 4 , 8 },
|
||||||
|
{ 289, 4, 4 , 8 },
|
||||||
|
{ 301, 4, 4 , 8 },
|
||||||
|
{ 313, 4, 1 , 5 },
|
||||||
|
{ 322, 4, 2 , 6 },
|
||||||
|
{ 332, 4, 4 , 7 },
|
||||||
|
{ 344, 4, 4 , 4 },
|
||||||
|
{ 356, 4, 4 , 7 },
|
||||||
|
{ 368, 4, 4 , 10 },
|
||||||
|
{ 380, 4, 8 , 7 },
|
||||||
|
{ 396, 4, 4 , 10 },
|
||||||
|
{ 408, 4, 4 , 10 },
|
||||||
|
{ 420, 4, 4 , 10 },
|
||||||
|
{ 432, 4, 4 , 10 },
|
||||||
|
{ 444, 4, 4 , 10 },
|
||||||
|
{ 456, 4, 5 , 10 },
|
||||||
|
{ 469, 4, 4 , 10 },
|
||||||
|
{ 481, 4, 4 , 10 },
|
||||||
|
{ 493, 4, 1 , 10 },
|
||||||
|
{ 4, 28, 3 , 10 },
|
||||||
|
{ 15, 28, 4 , 10 },
|
||||||
|
{ 27, 28, 4 , 10 },
|
||||||
|
{ 39, 28, 7 , 10 },
|
||||||
|
{ 54, 28, 4 , 10 },
|
||||||
|
{ 66, 28, 4 , 10 },
|
||||||
|
{ 78, 28, 4 , 10 },
|
||||||
|
{ 90, 28, 5 , 11 },
|
||||||
|
{ 103, 28, 4 , 10 },
|
||||||
|
{ 115, 28, 4 , 10 },
|
||||||
|
{ 127, 28, 5 , 10 },
|
||||||
|
{ 140, 28, 4 , 10 },
|
||||||
|
{ 152, 28, 4 , 10 },
|
||||||
|
{ 164, 28, 7 , 10 },
|
||||||
|
{ 179, 28, 4 , 10 },
|
||||||
|
{ 191, 28, 4 , 10 },
|
||||||
|
{ 203, 28, 4 , 10 },
|
||||||
|
{ 215, 28, 2 , 12 },
|
||||||
|
{ 225, 28, 5 , 10 },
|
||||||
|
{ 238, 28, 2 , 12 },
|
||||||
|
{ 248, 28, 5 , 3 },
|
||||||
|
{ 261, 28, 5 , 1 },
|
||||||
|
{ 274, 28, 2 , 2 },
|
||||||
|
{ 284, 28, 4 , 8 },
|
||||||
|
{ 296, 28, 4 , 10 },
|
||||||
|
{ 308, 28, 3 , 8 },
|
||||||
|
{ 319, 28, 4 , 10 },
|
||||||
|
{ 331, 28, 4 , 8 },
|
||||||
|
{ 343, 28, 3 , 10 },
|
||||||
|
{ 354, 28, 5 , 11 },
|
||||||
|
{ 367, 28, 4 , 10 },
|
||||||
|
{ 379, 28, 1 , 10 },
|
||||||
|
{ 388, 28, 3 , 13 },
|
||||||
|
{ 399, 28, 4 , 10 },
|
||||||
|
{ 411, 28, 2 , 10 },
|
||||||
|
{ 421, 28, 7 , 8 },
|
||||||
|
{ 436, 28, 4 , 8 },
|
||||||
|
{ 448, 28, 4 , 8 },
|
||||||
|
{ 460, 28, 4 , 11 },
|
||||||
|
{ 472, 28, 4 , 11 },
|
||||||
|
{ 484, 28, 3 , 8 },
|
||||||
|
{ 495, 28, 4 , 8 },
|
||||||
|
{ 4, 52, 3 , 10 },
|
||||||
|
{ 15, 52, 4 , 8 },
|
||||||
|
{ 27, 52, 5 , 8 },
|
||||||
|
{ 40, 52, 7 , 8 },
|
||||||
|
{ 55, 52, 4 , 8 },
|
||||||
|
{ 67, 52, 4 , 11 },
|
||||||
|
{ 79, 52, 4 , 8 },
|
||||||
|
{ 91, 52, 4 , 12 },
|
||||||
|
{ 103, 52, 1 , 10 },
|
||||||
|
{ 112, 52, 4 , 12 },
|
||||||
|
{ 124, 52, 4 , 2 },
|
||||||
|
{ 136, 52, 1 , 10 },
|
||||||
|
{ 145, 52, 4 , 12 },
|
||||||
|
{ 157, 52, 5 , 10 },
|
||||||
|
{ 170, 52, 5 , 10 },
|
||||||
|
{ 183, 52, 5 , 10 },
|
||||||
|
{ 196, 52, 6 , 13 },
|
||||||
|
{ 210, 52, 4 , 10 },
|
||||||
|
{ 222, 52, 6 , 13 },
|
||||||
|
{ 236, 52, 7 , 9 },
|
||||||
|
{ 251, 52, 3 , 7 },
|
||||||
|
{ 262, 52, 6 , 5 },
|
||||||
|
{ 276, 52, 6 , 13 },
|
||||||
|
{ 290, 52, 7 , 9 },
|
||||||
|
{ 305, 52, 4 , 1 },
|
||||||
|
{ 317, 52, 3 , 5 },
|
||||||
|
{ 328, 52, 5 , 7 },
|
||||||
|
{ 341, 52, 3 , 5 },
|
||||||
|
{ 352, 52, 6 , 13 },
|
||||||
|
{ 366, 52, 6 , 13 },
|
||||||
|
{ 380, 52, 4 , 11 },
|
||||||
|
{ 392, 52, 6 , 10 },
|
||||||
|
{ 406, 52, 3 , 3 },
|
||||||
|
{ 417, 52, 6 , 13 },
|
||||||
|
{ 431, 52, 2 , 5 },
|
||||||
|
{ 441, 52, 3 , 5 },
|
||||||
|
{ 452, 52, 6 , 5 },
|
||||||
|
{ 466, 52, 7 , 10 },
|
||||||
|
{ 481, 52, 7 , 8 },
|
||||||
|
{ 496, 52, 6 , 13 },
|
||||||
|
{ 4, 76, 4 , 10 },
|
||||||
|
{ 16, 76, 4 , 13 },
|
||||||
|
{ 28, 76, 4 , 13 },
|
||||||
|
{ 40, 76, 4 , 13 },
|
||||||
|
{ 52, 76, 4 , 13 },
|
||||||
|
{ 64, 76, 4 , 13 },
|
||||||
|
{ 76, 76, 4 , 13 },
|
||||||
|
{ 88, 76, 7 , 10 },
|
||||||
|
{ 103, 76, 4 , 13 },
|
||||||
|
{ 115, 76, 4 , 13 },
|
||||||
|
{ 127, 76, 4 , 13 },
|
||||||
|
{ 139, 76, 4 , 13 },
|
||||||
|
{ 151, 76, 4 , 13 },
|
||||||
|
{ 163, 76, 2 , 13 },
|
||||||
|
{ 173, 76, 2 , 13 },
|
||||||
|
{ 183, 76, 3 , 13 },
|
||||||
|
{ 194, 76, 3 , 13 },
|
||||||
|
{ 205, 76, 5 , 10 },
|
||||||
|
{ 218, 76, 4 , 13 },
|
||||||
|
{ 230, 76, 4 , 13 },
|
||||||
|
{ 242, 76, 4 , 13 },
|
||||||
|
{ 254, 76, 4 , 13 },
|
||||||
|
{ 266, 76, 4 , 13 },
|
||||||
|
{ 278, 76, 4 , 13 },
|
||||||
|
{ 290, 76, 5 , 5 },
|
||||||
|
{ 303, 76, 6 , 12 },
|
||||||
|
{ 317, 76, 4 , 13 },
|
||||||
|
{ 329, 76, 4 , 13 },
|
||||||
|
{ 341, 76, 4 , 13 },
|
||||||
|
{ 353, 76, 4 , 13 },
|
||||||
|
{ 365, 76, 4 , 13 },
|
||||||
|
{ 377, 76, 6 , 13 },
|
||||||
|
{ 391, 76, 5 , 12 },
|
||||||
|
{ 404, 76, 4 , 12 },
|
||||||
|
{ 416, 76, 4 , 12 },
|
||||||
|
{ 428, 76, 4 , 12 },
|
||||||
|
{ 440, 76, 4 , 12 },
|
||||||
|
{ 452, 76, 4 , 12 },
|
||||||
|
{ 464, 76, 4 , 12 },
|
||||||
|
{ 476, 76, 7 , 8 },
|
||||||
|
{ 491, 76, 3 , 11 },
|
||||||
|
{ 4, 100, 4 , 12 },
|
||||||
|
{ 16, 100, 4 , 12 },
|
||||||
|
{ 28, 100, 4 , 12 },
|
||||||
|
{ 40, 100, 4 , 12 },
|
||||||
|
{ 52, 100, 3 , 12 },
|
||||||
|
{ 63, 100, 3 , 12 },
|
||||||
|
{ 74, 100, 3 , 12 },
|
||||||
|
{ 85, 100, 3 , 12 },
|
||||||
|
{ 96, 100, 6 , 13 },
|
||||||
|
{ 110, 100, 4 , 12 },
|
||||||
|
{ 122, 100, 4 , 12 },
|
||||||
|
{ 134, 100, 4 , 12 },
|
||||||
|
{ 146, 100, 4 , 12 },
|
||||||
|
{ 158, 100, 4 , 12 },
|
||||||
|
{ 170, 100, 4 , 12 },
|
||||||
|
{ 182, 100, 5 , 5 },
|
||||||
|
{ 195, 100, 6 , 10 },
|
||||||
|
{ 209, 100, 4 , 12 },
|
||||||
|
{ 221, 100, 4 , 12 },
|
||||||
|
{ 233, 100, 4 , 12 },
|
||||||
|
{ 245, 100, 4 , 12 },
|
||||||
|
{ 257, 100, 4 , 15 },
|
||||||
|
{ 269, 100, 6 , 13 },
|
||||||
|
{ 283, 100, 4 , 15 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// Font glyphs info data
|
||||||
|
// NOTE: No glyphs.image data provided
|
||||||
|
static const GlyphInfo ashesFontGlyphs[189] = {
|
||||||
|
{ 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 }},
|
||||||
|
{ 161, 0, 4, 4, { 0 }},
|
||||||
|
{ 162, 0, 3, 6, { 0 }},
|
||||||
|
{ 163, 0, 3, 7, { 0 }},
|
||||||
|
{ 8364, 0, 3, 7, { 0 }},
|
||||||
|
{ 165, 0, 3, 7, { 0 }},
|
||||||
|
{ 352, 1, 0, 8, { 0 }},
|
||||||
|
{ 167, 0, 3, 6, { 0 }},
|
||||||
|
{ 353, 1, 0, 8, { 0 }},
|
||||||
|
{ 169, 0, 1, 9, { 0 }},
|
||||||
|
{ 170, 0, 1, 5, { 0 }},
|
||||||
|
{ 171, 0, 6, 8, { 0 }},
|
||||||
|
{ 172, 1, 0, 8, { 0 }},
|
||||||
|
{ 174, 0, 1, 9, { 0 }},
|
||||||
|
{ 175, 0, 0, 6, { 0 }},
|
||||||
|
{ 176, 0, 1, 5, { 0 }},
|
||||||
|
{ 177, 0, 5, 7, { 0 }},
|
||||||
|
{ 178, 0, 1, 5, { 0 }},
|
||||||
|
{ 179, 1, 0, 8, { 0 }},
|
||||||
|
{ 381, 1, 0, 8, { 0 }},
|
||||||
|
{ 181, 0, 5, 6, { 0 }},
|
||||||
|
{ 182, 0, 3, 8, { 0 }},
|
||||||
|
{ 183, 0, 7, 5, { 0 }},
|
||||||
|
{ 382, 1, 0, 8, { 0 }},
|
||||||
|
{ 185, 0, 1, 4, { 0 }},
|
||||||
|
{ 186, 0, 1, 5, { 0 }},
|
||||||
|
{ 187, 0, 6, 8, { 0 }},
|
||||||
|
{ 338, 0, 3, 9, { 0 }},
|
||||||
|
{ 339, 0, 5, 9, { 0 }},
|
||||||
|
{ 376, 1, 0, 8, { 0 }},
|
||||||
|
{ 191, 0, 4, 6, { 0 }},
|
||||||
|
{ 192, 0, 0, 6, { 0 }},
|
||||||
|
{ 193, 0, 0, 6, { 0 }},
|
||||||
|
{ 194, 0, 0, 6, { 0 }},
|
||||||
|
{ 195, 0, 0, 6, { 0 }},
|
||||||
|
{ 196, 0, 0, 6, { 0 }},
|
||||||
|
{ 197, 0, 0, 6, { 0 }},
|
||||||
|
{ 198, 0, 3, 9, { 0 }},
|
||||||
|
{ 199, 0, 3, 6, { 0 }},
|
||||||
|
{ 200, 0, 0, 6, { 0 }},
|
||||||
|
{ 201, 0, 0, 6, { 0 }},
|
||||||
|
{ 202, 0, 0, 6, { 0 }},
|
||||||
|
{ 203, 0, 0, 6, { 0 }},
|
||||||
|
{ 204, 0, 0, 4, { 0 }},
|
||||||
|
{ 205, 0, 0, 4, { 0 }},
|
||||||
|
{ 206, 0, 0, 5, { 0 }},
|
||||||
|
{ 207, 0, 0, 5, { 0 }},
|
||||||
|
{ 208, 0, 3, 7, { 0 }},
|
||||||
|
{ 209, 0, 0, 6, { 0 }},
|
||||||
|
{ 210, 0, 0, 6, { 0 }},
|
||||||
|
{ 211, 0, 0, 6, { 0 }},
|
||||||
|
{ 212, 0, 0, 6, { 0 }},
|
||||||
|
{ 213, 0, 0, 6, { 0 }},
|
||||||
|
{ 214, 0, 0, 6, { 0 }},
|
||||||
|
{ 215, 0, 7, 7, { 0 }},
|
||||||
|
{ 216, 0, 2, 8, { 0 }},
|
||||||
|
{ 217, 0, 0, 6, { 0 }},
|
||||||
|
{ 218, 0, 0, 6, { 0 }},
|
||||||
|
{ 219, 0, 0, 6, { 0 }},
|
||||||
|
{ 220, 0, 0, 6, { 0 }},
|
||||||
|
{ 221, 0, 0, 6, { 0 }},
|
||||||
|
{ 222, 1, 0, 8, { 0 }},
|
||||||
|
{ 223, 0, 3, 7, { 0 }},
|
||||||
|
{ 224, 0, 1, 6, { 0 }},
|
||||||
|
{ 225, 0, 1, 6, { 0 }},
|
||||||
|
{ 226, 0, 1, 6, { 0 }},
|
||||||
|
{ 227, 0, 1, 6, { 0 }},
|
||||||
|
{ 228, 0, 1, 6, { 0 }},
|
||||||
|
{ 229, 0, 1, 6, { 0 }},
|
||||||
|
{ 230, 0, 5, 9, { 0 }},
|
||||||
|
{ 231, 0, 5, 5, { 0 }},
|
||||||
|
{ 232, 0, 1, 6, { 0 }},
|
||||||
|
{ 233, 0, 1, 6, { 0 }},
|
||||||
|
{ 234, 0, 1, 6, { 0 }},
|
||||||
|
{ 235, 0, 1, 6, { 0 }},
|
||||||
|
{ 236, 0, 1, 5, { 0 }},
|
||||||
|
{ 237, 0, 1, 5, { 0 }},
|
||||||
|
{ 238, 0, 1, 5, { 0 }},
|
||||||
|
{ 239, 0, 1, 5, { 0 }},
|
||||||
|
{ 240, 1, 0, 8, { 0 }},
|
||||||
|
{ 241, 0, 1, 6, { 0 }},
|
||||||
|
{ 242, 0, 1, 6, { 0 }},
|
||||||
|
{ 243, 0, 1, 6, { 0 }},
|
||||||
|
{ 244, 0, 1, 6, { 0 }},
|
||||||
|
{ 245, 0, 1, 6, { 0 }},
|
||||||
|
{ 246, 0, 1, 6, { 0 }},
|
||||||
|
{ 247, 0, 7, 7, { 0 }},
|
||||||
|
{ 248, 0, 4, 8, { 0 }},
|
||||||
|
{ 249, 0, 1, 6, { 0 }},
|
||||||
|
{ 250, 0, 1, 6, { 0 }},
|
||||||
|
{ 251, 0, 1, 6, { 0 }},
|
||||||
|
{ 252, 0, 1, 6, { 0 }},
|
||||||
|
{ 253, 0, 1, 6, { 0 }},
|
||||||
|
{ 254, 1, 0, 8, { 0 }},
|
||||||
|
{ 255, 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_STYLE_FONT_ATLAS_COMP_SIZE, &ashesFontDataSize);
|
||||||
|
Image imFont = { data, 512, 256, 1, 2 };
|
||||||
|
|
||||||
|
Font font = { 0 };
|
||||||
|
font.baseSize = 16;
|
||||||
|
font.glyphCount = 189;
|
||||||
|
|
||||||
|
// Load texture from image
|
||||||
|
font.texture = LoadTextureFromImage(imFont);
|
||||||
|
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 = (Rectangle *)RAYGUI_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 *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
memcpy(font.glyphs, ashesFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
|
||||||
|
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 };
|
||||||
|
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
|
||||||
|
}
|
||||||
BIN
styles/ashes/style_ashes.old.rgs
Normal file
BIN
styles/ashes/style_ashes.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
styles/ashes/style_ashes.rgs
Normal file
26
styles/ashes/style_ashes.txt.rgs
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#
|
||||||
|
# rgs style text file (v4.0) - raygui style file generated using rGuiStyler
|
||||||
|
#
|
||||||
|
# Provided info:
|
||||||
|
# f fontGenSize charsetFileName fontFileName
|
||||||
|
# p <controlId> <propertyId> <propertyValue> Property description
|
||||||
|
#
|
||||||
|
# WARNING: This style uses a custom font, must be provided with style file
|
||||||
|
#
|
||||||
|
f 16 charset.txt 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 18 0x9dadb1ff LINE_COLOR
|
||||||
|
p 00 19 0x6b6b6bff BACKGROUND_COLOR
|
||||||
|
p 00 20 0x00000018 TEXT_LINE_SPACING
|
||||||
|
Before Width: | Height: | Size: 23 KiB |
@ -1,16 +1,27 @@
|
|||||||
style: bluish
|
## style: bluish
|
||||||
--------------
|
|
||||||
Like a breeze, a slight touch of color cover the clear sky, a spacious and relaxing feeling.
|
Like a breeze, a slight touch of color cover the clear sky, a spacious and relaxing feeling.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
screenshot
|
## style: provided files
|
||||||
-----------
|
|
||||||
|
Several options are provided to add the style to a `raygui` application, choose the one that better fits the project.
|
||||||
|
|
||||||
|
| file name | description |
|
||||||
|
| :-------- | :---------- |
|
||||||
|
| `style_bluish.rgs` | Binary style file (raygui 4.0), font data compressed (recs, glyphs) |
|
||||||
|
| `style_bluish.txt.rgs` | Text style file, no font data, requires external font provided |
|
||||||
|
| `style_bluish.old.rgs` | Binary style file (raygui 3.x), font data uncompressed (recs, glyphs) |
|
||||||
|
| `style_bluish.h` | Embeddable style as code file, self-contained, includes font data |
|
||||||
|
| `style_bluish.png` | Style table image, contains `rGSf` chunk with binary `rgs` file data |
|
||||||
|
|
||||||
|
## screenshot
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
about font
|
## about font
|
||||||
-----------
|
|
||||||
"Homespun BRK" font by AEnigma (Brian Kent).
|
"Homespun BRK" font by AEnigma (Brian Kent).
|
||||||
|
|
||||||
100% free font, downloaded from dafont.com: [homespun-brk](https://www.dafont.com/homespun-brk.font)
|
100% free font, downloaded from dafont.com: [homespun-brk](https://www.dafont.com/homespun-brk.font)
|
||||||
|
|||||||
@ -1,359 +0,0 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// //
|
|
||||||
// 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-2023 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);
|
|
||||||
UnloadImage(imFont); // Uncompressed 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 = (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
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
#
|
|
||||||
# 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
|
|
||||||
1
styles/bluish/charset.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
|
||||||
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 62 KiB |
619
styles/bluish/style_bluish.h
Normal file
@ -0,0 +1,619 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// StyleAsCode exporter v2.0 - 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-2023 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: "homespun.ttf" (size: 10, spacing: 1)
|
||||||
|
|
||||||
|
#define BLUISH_STYLE_FONT_ATLAS_COMP_SIZE 2914
|
||||||
|
|
||||||
|
// Font atlas image pixels data: DEFLATE compressed
|
||||||
|
static unsigned char bluishFontData[BLUISH_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
|
||||||
|
0x9d, 0xb1, 0x8e, 0x24, 0x49, 0x11, 0x86, 0x2b, 0xf3, 0x00, 0x09, 0x13, 0x01, 0x12, 0xe0, 0x20, 0x81, 0x90, 0xf0, 0x10,
|
||||||
|
0x12, 0x2e, 0x16, 0x3c, 0x02, 0x2f, 0x02, 0x0e, 0xef, 0x81, 0x07, 0x12, 0x06, 0x12, 0xce, 0x99, 0x38, 0x48, 0x20, 0xe1,
|
||||||
|
0x81, 0x83, 0xc0, 0xc3, 0xc5, 0xe5, 0x2c, 0x8c, 0xc3, 0x81, 0x93, 0x26, 0x33, 0xd0, 0x4e, 0xcf, 0x2e, 0xe2, 0xae, 0xfe,
|
||||||
|
0xc8, 0x8a, 0xac, 0xa8, 0xea, 0xea, 0x9b, 0x6f, 0x3f, 0xed, 0x1a, 0x95, 0x5d, 0xd5, 0x99, 0x19, 0x59, 0x35, 0xb3, 0x9d,
|
||||||
|
0x5f, 0x47, 0xd8, 0x02, 0x00, 0x00, 0x00, 0xf0, 0x09, 0xaa, 0x38, 0x56, 0xe5, 0xab, 0x6b, 0xe0, 0x4a, 0xb7, 0xe3, 0xd5,
|
||||||
|
0x69, 0x8f, 0x5d, 0xad, 0x06, 0xae, 0xe0, 0xb5, 0xf8, 0x6d, 0x1f, 0xa7, 0xbc, 0x90, 0x31, 0xb3, 0xf5, 0xdd, 0x7c, 0xac,
|
||||||
|
0xcf, 0x52, 0xe4, 0xf5, 0x35, 0x34, 0x8a, 0x75, 0x4c, 0x1c, 0xeb, 0xab, 0xe3, 0x35, 0x2b, 0xa2, 0xa5, 0x9a, 0x89, 0xfe,
|
||||||
|
0xd8, 0xf3, 0x59, 0xeb, 0x57, 0xf4, 0xce, 0x5a, 0x7b, 0x8f, 0xb6, 0x72, 0x8d, 0x26, 0x57, 0xc5, 0x9b, 0x77, 0x54, 0x33,
|
||||||
|
0xd4, 0x45, 0x3c, 0x6d, 0xf5, 0xb5, 0x37, 0xca, 0xa6, 0x57, 0x7b, 0xef, 0x60, 0xd6, 0xac, 0xbd, 0xcc, 0xc7, 0xc7, 0x47,
|
||||||
|
0x61, 0xa1, 0xd7, 0xeb, 0x96, 0xfd, 0xf1, 0xef, 0xcf, 0xfd, 0x29, 0x2b, 0xf7, 0xc1, 0x9b, 0x68, 0x75, 0x11, 0x2f, 0xd5,
|
||||||
|
0x9f, 0xdb, 0xcc, 0x95, 0xd5, 0x2b, 0x7a, 0x67, 0x2d, 0x9b, 0x67, 0x7b, 0xfd, 0xfc, 0x5b, 0x4f, 0xd7, 0xc7, 0x51, 0x9e,
|
||||||
|
0xdb, 0xd6, 0xe6, 0xae, 0x25, 0x3d, 0x57, 0xd5, 0x78, 0x17, 0xf7, 0xde, 0x5a, 0x9f, 0x85, 0x1e, 0x6a, 0xd9, 0x1f, 0x7f,
|
||||||
|
0xbd, 0xa2, 0xed, 0xe5, 0xaf, 0x1a, 0x59, 0x13, 0xfd, 0x29, 0xa2, 0xc5, 0x3f, 0x6b, 0x4f, 0xfc, 0xcb, 0x4b, 0x4f, 0xab,
|
||||||
|
0xb8, 0x9f, 0x4d, 0xdc, 0xd1, 0x47, 0x46, 0x3f, 0x1e, 0xff, 0xf2, 0xb2, 0x56, 0x8b, 0xf8, 0xa9, 0x74, 0x6e, 0xfc, 0xcb,
|
||||||
|
0xcb, 0xf3, 0xbf, 0x8a, 0xde, 0x17, 0x19, 0x7d, 0xfd, 0xb4, 0x8d, 0xfc, 0x5c, 0x8d, 0xdd, 0xff, 0xb7, 0x79, 0x56, 0x6b,
|
||||||
|
0xeb, 0xb8, 0xd8, 0xfb, 0xe3, 0x8d, 0xc5, 0xdf, 0xe4, 0x4f, 0x9e, 0xb7, 0xab, 0x78, 0xef, 0x28, 0x7a, 0xd2, 0xfd, 0xdf,
|
||||||
|
0x65, 0x7f, 0xca, 0xcb, 0xf3, 0x7f, 0x7d, 0xcc, 0x91, 0xbb, 0x30, 0x12, 0xff, 0x51, 0x8c, 0x8f, 0xbc, 0xf7, 0xf5, 0xb5,
|
||||||
|
0xe3, 0xf1, 0xbf, 0x5d, 0x71, 0xed, 0x5d, 0x8e, 0x5e, 0xc5, 0x4b, 0xe8, 0xf7, 0xbf, 0xe2, 0xfc, 0xce, 0xf3, 0x76, 0xed,
|
||||||
|
0x44, 0xc6, 0x97, 0x15, 0xe7, 0xf3, 0xb1, 0xe1, 0x08, 0x22, 0xf1, 0x2f, 0x72, 0x56, 0xcb, 0xe9, 0x3f, 0xff, 0xbd, 0xf8,
|
||||||
|
0x7b, 0x3d, 0xf5, 0xe2, 0x1f, 0x1b, 0x85, 0x05, 0x7f, 0x07, 0xbf, 0x5e, 0xfc, 0xed, 0xdd, 0xff, 0x87, 0xb6, 0x8d, 0x4d,
|
||||||
|
0xbd, 0xde, 0xbb, 0xd2, 0x7d, 0x46, 0x3d, 0xd3, 0x9f, 0xab, 0x8d, 0x02, 0xf6, 0xf0, 0x34, 0x11, 0xc7, 0x27, 0x62, 0x0f,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x66, 0xf9, 0x64, 0x19, 0x26, 0xd9, 0x2d, 0xfb, 0xac, 0x20, 0x6d, 0xe7,
|
||||||
|
0x78, 0x46, 0x92, 0xdf, 0xcb, 0xb3, 0xe6, 0x63, 0x39, 0xc9, 0xf9, 0xb1, 0x09, 0x23, 0xe5, 0xac, 0x96, 0xb6, 0xd9, 0xc2,
|
||||||
|
0x58, 0xdf, 0xcd, 0xd5, 0x76, 0x4e, 0x17, 0x73, 0x35, 0xea, 0xe5, 0x79, 0xf3, 0x51, 0x27, 0x7a, 0x37, 0xf3, 0x69, 0xb9,
|
||||||
|
0x0d, 0x76, 0xe7, 0x5a, 0xa8, 0xa5, 0x0f, 0xf7, 0xfa, 0x62, 0xe6, 0xcb, 0xbe, 0x7d, 0x55, 0xcf, 0xce, 0x53, 0xfe, 0x87,
|
||||||
|
0xd7, 0x4b, 0xe5, 0x55, 0xd8, 0xf4, 0xa8, 0x5b, 0xea, 0x39, 0x6d, 0x2a, 0xfe, 0x7a, 0x54, 0x7a, 0x6f, 0xde, 0xb7, 0x1e,
|
||||||
|
0xf5, 0xd5, 0x62, 0x2d, 0xdb, 0xed, 0x03, 0x15, 0x63, 0xed, 0x48, 0x44, 0xdd, 0x19, 0x73, 0xbc, 0x8a, 0xd1, 0xd8, 0x5a,
|
||||||
|
0x68, 0x6f, 0xd2, 0x06, 0x73, 0xb8, 0xdf, 0x96, 0xd9, 0x66, 0x67, 0x74, 0x67, 0xbc, 0xbe, 0x61, 0xd2, 0x43, 0xe7, 0xf4,
|
||||||
|
0x04, 0x5f, 0x25, 0xba, 0x7a, 0x3c, 0x0f, 0xa7, 0x3b, 0xf1, 0xaf, 0xc1, 0xb1, 0xdd, 0x5a, 0x6a, 0x68, 0x2f, 0xd8, 0x06,
|
||||||
|
0x73, 0xb8, 0xdf, 0x96, 0xd9, 0x36, 0x7f, 0x65, 0xfa, 0x89, 0x9d, 0x75, 0xce, 0x71, 0x2b, 0xc0, 0xc2, 0xd7, 0xb1, 0x77,
|
||||||
|
0x2b, 0x35, 0xf3, 0xf9, 0x5f, 0x26, 0x7e, 0x22, 0x97, 0xdd, 0xae, 0xc6, 0xf6, 0x27, 0xf6, 0x9c, 0x61, 0x92, 0x75, 0xce,
|
||||||
|
0xb5, 0xdc, 0x8d, 0x32, 0xf9, 0xc4, 0x3e, 0xa7, 0xe5, 0x88, 0xf8, 0xcf, 0x1a, 0x26, 0x3d, 0xed, 0x9c, 0xe5, 0x74, 0xa7,
|
||||||
|
0xc7, 0xe4, 0xfd, 0xef, 0xcd, 0x47, 0xe6, 0x1c, 0x7a, 0x1e, 0x90, 0xdf, 0x83, 0xd7, 0x40, 0xe3, 0x33, 0x1b, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xff, 0xe3, 0xdb, 0x37, 0x31, 0x43, 0xc5, 0xb7, 0x76, 0xa2, 0x39, 0x7a,
|
||||||
|
0xea, 0xe9, 0xd6, 0x4d, 0x76, 0xcb, 0xcc, 0x5c, 0x8c, 0x5a, 0x62, 0x67, 0x8e, 0x3f, 0xef, 0xd6, 0x4e, 0x89, 0xfa, 0x54,
|
||||||
|
0xbb, 0x3d, 0x9f, 0x95, 0xb3, 0xfb, 0x67, 0xc3, 0x9e, 0xdd, 0xfe, 0xad, 0x17, 0xf4, 0x93, 0x3c, 0x73, 0xe9, 0x6d, 0xcf,
|
||||||
|
0x33, 0x77, 0x0b, 0x6f, 0x2d, 0x6d, 0x75, 0x2e, 0x66, 0xf7, 0xd0, 0x66, 0x3c, 0x14, 0x7f, 0x37, 0x2c, 0x2f, 0xfe, 0xb3,
|
||||||
|
0x63, 0x3e, 0xb7, 0x25, 0x9a, 0x47, 0xe4, 0x7a, 0xf1, 0xf7, 0x2c, 0x9f, 0xac, 0xf8, 0xef, 0xf3, 0x60, 0xf2, 0xe2, 0x3f,
|
||||||
|
0xe3, 0x70, 0xe9, 0xbe, 0x7b, 0x1e, 0xd4, 0x99, 0xf1, 0xd7, 0x79, 0xb4, 0xb6, 0xc4, 0x3f, 0x6e, 0xf9, 0xc4, 0xe3, 0xbf,
|
||||||
|
0xcf, 0x83, 0xc9, 0x8b, 0xff, 0x8c, 0xc3, 0xd1, 0x9d, 0x6c, 0x51, 0x3d, 0x9c, 0x7b, 0xc4, 0x06, 0x8e, 0x61, 0x9b, 0x88,
|
||||||
|
0x7f, 0x91, 0x7d, 0xdc, 0xeb, 0x7f, 0x46, 0xee, 0xff, 0x72, 0x98, 0x07, 0x93, 0xfb, 0xfc, 0xcf, 0x9a, 0x87, 0x32, 0xb0,
|
||||||
|
0x0f, 0xcb, 0x84, 0x2d, 0xd2, 0x93, 0xe7, 0x62, 0x9b, 0xef, 0x90, 0x13, 0xff, 0x99, 0x6b, 0x6d, 0x3b, 0x27, 0x1a, 0xff,
|
||||||
|
0x32, 0x11, 0xff, 0xcc, 0xbe, 0xfb, 0xf1, 0x2f, 0x8e, 0x2d, 0x32, 0x3e, 0x27, 0x3b, 0xfe, 0xb3, 0x56, 0x4b, 0x49, 0xbc,
|
||||||
|
0x96, 0x25, 0xc7, 0x3f, 0xee, 0xc9, 0xe4, 0xf6, 0xdd, 0x8f, 0xff, 0x7c, 0xef, 0x6e, 0x7f, 0xea, 0x01, 0x0e, 0x3d, 0x90,
|
||||||
|
0x71, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xff, 0xb3, 0x38, 0x15, 0xa9, 0x7c, 0xcb, 0x68, 0xbb,
|
||||||
|
0x2d, 0xf4, 0xd6, 0xa0, 0x58, 0xf7, 0x27, 0x72, 0x32, 0xfd, 0x8c, 0x6b, 0x77, 0x45, 0xdf, 0x47, 0xcd, 0xd6, 0x4c, 0xdf,
|
||||||
|
0x8e, 0xae, 0x71, 0xb6, 0xcd, 0xf2, 0xf1, 0xbc, 0x97, 0xd8, 0x77, 0x50, 0x55, 0x6e, 0x9a, 0x2a, 0x32, 0xdd, 0x44, 0xbf,
|
||||||
|
0xbb, 0xef, 0xe5, 0xaa, 0xd0, 0xd7, 0xc9, 0xcc, 0x62, 0x61, 0x72, 0xbd, 0xda, 0x44, 0xdf, 0x9a, 0x38, 0xaa, 0xae, 0x51,
|
||||||
|
0xa7, 0xbf, 0x29, 0x3d, 0x9f, 0xcb, 0x61, 0x6b, 0x4e, 0x25, 0xbd, 0x63, 0x78, 0xdb, 0xeb, 0x8e, 0xae, 0x80, 0x2e, 0xef,
|
||||||
|
0xb1, 0xf5, 0xbe, 0x56, 0xe9, 0xb7, 0x2c, 0xb2, 0x9a, 0x59, 0x3c, 0x57, 0x8d, 0x89, 0xaa, 0x61, 0xfe, 0xfe, 0x91, 0xea,
|
||||||
|
0x9b, 0xaa, 0x96, 0xb4, 0x88, 0x6b, 0xb4, 0xe9, 0xef, 0x84, 0xdb, 0xa0, 0x8e, 0x54, 0xe4, 0xca, 0xde, 0x0a, 0xf0, 0x2a,
|
||||||
|
0xb9, 0xb5, 0x84, 0x5a, 0x25, 0xf1, 0x5c, 0x35, 0x9e, 0x79, 0xe0, 0x5f, 0x2d, 0x9a, 0x9b, 0x45, 0xaf, 0x99, 0xd8, 0x93,
|
||||||
|
0x21, 0x2b, 0xc3, 0xcc, 0xb6, 0x27, 0x67, 0x71, 0x46, 0xb4, 0x84, 0x57, 0xc0, 0xb1, 0x95, 0x3c, 0x8e, 0x33, 0x0f, 0xb6,
|
||||||
|
0x8e, 0x22, 0x7b, 0x67, 0x79, 0x7b, 0xfc, 0x97, 0x5d, 0x39, 0x41, 0xca, 0xb4, 0x2b, 0x13, 0x5b, 0x01, 0x47, 0xc7, 0xff,
|
||||||
|
0x28, 0xf3, 0x20, 0x2b, 0x03, 0x47, 0xbf, 0x68, 0xfc, 0x47, 0xd9, 0x66, 0xe2, 0xb1, 0x8c, 0x1b, 0xa3, 0xcb, 0x5d, 0x9e,
|
||||||
|
0x0c, 0xd9, 0xe7, 0x2c, 0xe1, 0xff, 0xc9, 0x5c, 0x23, 0xfe, 0x73, 0x19, 0x6a, 0x4a, 0x38, 0x97, 0xd0, 0xbd, 0xe2, 0x1f,
|
||||||
|
0xaf, 0x23, 0x35, 0x77, 0x4e, 0xbe, 0x7b, 0x79, 0x46, 0xfc, 0xe1, 0x71, 0x32, 0x1f, 0x35, 0xfc, 0x24, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x52, 0xfe, 0x8f, 0x88, 0xbd, 0x72, 0xff, 0x96, 0x3a, 0xd8, 0xd5, 0x2a, 0xd3, 0x2d,
|
||||||
|
0x25, 0xed, 0x9a, 0x9e, 0x63, 0xb4, 0xb7, 0xe6, 0xd9, 0xdb, 0x6b, 0x97, 0x69, 0xfb, 0xe7, 0x7f, 0x7b, 0xd0, 0xb7, 0x7f,
|
||||||
|
0x6b, 0xd2, 0xce, 0x7a, 0x7e, 0xcb, 0xf1, 0xdf, 0xe6, 0x3f, 0x22, 0xdf, 0x80, 0x97, 0x21, 0xa2, 0x6e, 0x76, 0x2b, 0x9a,
|
||||||
|
0xdc, 0x53, 0xed, 0x32, 0x67, 0x40, 0x9b, 0xd8, 0x83, 0xb8, 0x7f, 0x96, 0x9d, 0x16, 0xac, 0x43, 0x55, 0x4f, 0xcc, 0xb1,
|
||||||
|
0xd1, 0x07, 0x3e, 0x4c, 0xcc, 0xa1, 0xd1, 0x39, 0x14, 0x96, 0xd0, 0x6b, 0x55, 0x4d, 0xa2, 0xf2, 0x90, 0xf1, 0x5f, 0x82,
|
||||||
|
0x6e, 0x5f, 0xdf, 0x90, 0x2f, 0x23, 0x2b, 0xc7, 0x46, 0x99, 0x30, 0x7c, 0x8a, 0x53, 0x7f, 0x2c, 0x16, 0x7f, 0x55, 0xad,
|
||||||
|
0x2e, 0xfe, 0x6c, 0x3c, 0x23, 0xcb, 0x46, 0x7e, 0x05, 0x9b, 0xbc, 0x6c, 0x1e, 0xf9, 0x39, 0x36, 0xbc, 0x9d, 0x72, 0xed,
|
||||||
|
0x55, 0xc6, 0xe2, 0x1f, 0xcd, 0xed, 0x70, 0x46, 0xfc, 0x67, 0x6b, 0xdb, 0xe4, 0x66, 0xe6, 0x28, 0x17, 0xc9, 0xb1, 0x11,
|
||||||
|
0xcd, 0x10, 0xb2, 0xff, 0xf9, 0x9f, 0xed, 0x23, 0xe4, 0xed, 0x54, 0x9f, 0x93, 0x67, 0x63, 0xc6, 0xd3, 0x39, 0x6a, 0x67,
|
||||||
|
0x3e, 0xbe, 0x3b, 0x1f, 0x71, 0x2b, 0xfb, 0x43, 0xc5, 0xff, 0xca, 0x6e, 0xcf, 0x95, 0x38, 0xb2, 0xe6, 0x19, 0xf6, 0xcf,
|
||||||
|
0xa3, 0xae, 0x69, 0xe6, 0xe0, 0x75, 0x5b, 0x5e, 0xcc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x93, 0x01,
|
||||||
|
0x68, 0x91, 0x39, 0x6d, 0x3e, 0x79, 0xfc, 0x8b, 0x56, 0xed, 0x5b, 0xf6, 0x35, 0xfb, 0x8e, 0x7d, 0xd7, 0xbe, 0xe2, 0x5c,
|
||||||
|
0xb1, 0xa6, 0xe5, 0x1b, 0x1a, 0x9d, 0x53, 0x83, 0x75, 0xca, 0x4a, 0xd8, 0xd7, 0xd9, 0x57, 0x8b, 0x2c, 0x36, 0xf3, 0xd1,
|
||||||
|
0x6b, 0x8d, 0xe2, 0xe1, 0xfb, 0x5f, 0x9e, 0x45, 0xb1, 0x9e, 0xb7, 0xe7, 0xe7, 0xf6, 0x64, 0x1f, 0xda, 0x3f, 0xed, 0x1f,
|
||||||
|
0xf6, 0x37, 0xfb, 0xd0, 0x3e, 0x2b, 0x3f, 0xc3, 0x5c, 0xf7, 0x52, 0xde, 0x8c, 0xe1, 0x29, 0x58, 0x4d, 0xcb, 0x3f, 0x47,
|
||||||
|
0x55, 0x08, 0x53, 0xd7, 0x2b, 0xcf, 0xd6, 0x44, 0x0b, 0xf9, 0x3a, 0xe3, 0x77, 0x52, 0xdf, 0xf1, 0x6e, 0xe1, 0x0a, 0x01,
|
||||||
|
0x7e, 0x55, 0xb1, 0x78, 0x3c, 0xe6, 0x32, 0xa7, 0xdc, 0xf6, 0xd7, 0xd6, 0xc6, 0xf4, 0x7b, 0xfb, 0x8f, 0xfd, 0xc0, 0xaa,
|
||||||
|
0xfd, 0xd0, 0xbe, 0x6a, 0x7f, 0xb5, 0xcf, 0xc9, 0xbc, 0x36, 0xeb, 0xe3, 0x6b, 0xd2, 0x87, 0xd1, 0xb9, 0x60, 0xbc, 0x73,
|
||||||
|
0xca, 0xcb, 0x2e, 0x60, 0x5d, 0xbd, 0x5f, 0xd6, 0xad, 0xac, 0xe2, 0xe6, 0xaa, 0xd1, 0xde, 0x50, 0x19, 0xe6, 0x39, 0x5a,
|
||||||
|
0x9b, 0x8b, 0x2e, 0x72, 0x0c, 0x75, 0x71, 0xe7, 0xa9, 0x7e, 0xab, 0xe3, 0xa3, 0x78, 0x8c, 0xf7, 0x1b, 0xd6, 0xb3, 0x20,
|
||||||
|
0x99, 0x18, 0xe9, 0xaf, 0xed, 0xcf, 0xf6, 0x0d, 0xfb, 0xb6, 0xfd, 0xcb, 0xfe, 0x6d, 0x1f, 0xd9, 0x67, 0x56, 0xef, 0x22,
|
||||||
|
0xe5, 0xe6, 0xe8, 0x27, 0xa5, 0x97, 0x0d, 0xa9, 0x38, 0x39, 0x9c, 0xba, 0x8c, 0xa7, 0xbe, 0xf7, 0xba, 0x5c, 0x9d, 0xde,
|
||||||
|
0x3c, 0xf5, 0xe1, 0xca, 0x51, 0x7b, 0xc3, 0x25, 0x34, 0x47, 0xaa, 0x72, 0xa0, 0xba, 0xff, 0x47, 0xf1, 0x18, 0xc7, 0xbf,
|
||||||
|
0x08, 0x43, 0x65, 0x7d, 0x8e, 0x7e, 0x61, 0x7f, 0xb7, 0xaf, 0xdb, 0x97, 0xec, 0x0b, 0xf6, 0x79, 0x7b, 0x5f, 0xc4, 0x4b,
|
||||||
|
0xad, 0xed, 0x51, 0x06, 0xa5, 0xb8, 0x01, 0x7a, 0x8b, 0xc7, 0x7a, 0xfc, 0x6b, 0x9a, 0x1d, 0x60, 0xef, 0x9e, 0x0b, 0x73,
|
||||||
|
0x75, 0xb6, 0x22, 0xcf, 0x7f, 0xf5, 0x13, 0x59, 0x3d, 0x53, 0x47, 0xf1, 0x98, 0x75, 0x28, 0x4c, 0xdc, 0x75, 0x7f, 0xb0,
|
||||||
|
0x9f, 0xd9, 0x4f, 0xed, 0x7b, 0xf6, 0x2b, 0xfb, 0xc8, 0x9a, 0x7d, 0x33, 0xb8, 0xb6, 0x4b, 0xb8, 0xde, 0xa0, 0x4d, 0xde,
|
||||||
|
0xff, 0x5d, 0xda, 0x77, 0xd7, 0x8e, 0xbf, 0xea, 0xb7, 0x3a, 0x3e, 0x8a, 0xc7, 0xac, 0x43, 0xa1, 0x5c, 0xc9, 0xf7, 0xed,
|
||||||
|
0xc7, 0xf6, 0x81, 0xfd, 0xd2, 0x7e, 0x64, 0xdf, 0xb7, 0xdf, 0xd8, 0x97, 0x27, 0xc6, 0x66, 0xa1, 0xdf, 0xbd, 0xbc, 0xdf,
|
||||||
|
0xca, 0xca, 0x20, 0xef, 0x54, 0x6e, 0x1e, 0xa1, 0x33, 0xde, 0x29, 0xce, 0x96, 0x78, 0xc4, 0x6d, 0x2c, 0xbd, 0x32, 0x7e,
|
||||||
|
0x62, 0xbf, 0xb5, 0x3f, 0xd9, 0x07, 0xf6, 0x3b, 0xfb, 0xa3, 0xfd, 0xc5, 0xde, 0x73, 0x4c, 0xba, 0x68, 0xcd, 0xbc, 0x59,
|
||||||
|
0xbf, 0xce, 0xe4, 0xef, 0x2a, 0xd9, 0xae, 0x51, 0xd6, 0x3b, 0x59, 0xa2, 0xbd, 0x34, 0x8a, 0xc7, 0xb5, 0xfc, 0x96, 0x99,
|
||||||
|
0xac, 0x7b, 0x8f, 0xed, 0x79, 0xc1, 0x96, 0x58, 0xce, 0x59, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0,
|
||||||
|
0xc5, 0xfe, 0xf1, 0xdd, 0x9a, 0x65, 0x53, 0x76, 0x89, 0xb1, 0x15, 0x14, 0x71, 0x5a, 0x8a, 0xcc, 0x61, 0x51, 0x37, 0xd4,
|
||||||
|
0xda, 0x2a, 0xa1, 0x91, 0xce, 0x1c, 0x1f, 0xf9, 0x3b, 0xfa, 0x78, 0x9e, 0x15, 0x35, 0xe3, 0x23, 0x45, 0x3f, 0x75, 0x6d,
|
||||||
|
0x6e, 0xe5, 0x9e, 0x88, 0x85, 0xa2, 0x6b, 0x89, 0x99, 0x70, 0x34, 0x9a, 0xf0, 0x04, 0x9a, 0x3c, 0xcb, 0x5e, 0x76, 0x1e,
|
||||||
|
0x4d, 0x66, 0xc4, 0x79, 0x92, 0xce, 0x8d, 0x3a, 0xfe, 0x9e, 0x8c, 0xf2, 0x93, 0xcc, 0xeb, 0xb3, 0x7e, 0x96, 0x3d, 0x1f,
|
||||||
|
0xef, 0xa1, 0xbe, 0x99, 0x5b, 0x85, 0xcd, 0x9c, 0xb6, 0xb6, 0xe9, 0x13, 0xf3, 0x51, 0xfc, 0xb7, 0x7b, 0x12, 0x63, 0x0b,
|
||||||
|
0xc5, 0xe4, 0x0e, 0xfe, 0xba, 0xa3, 0xa5, 0xb3, 0xed, 0xf8, 0x6d, 0xca, 0x9e, 0xf1, 0x73, 0x69, 0x69, 0x83, 0x23, 0xba,
|
||||||
|
0x62, 0x54, 0x2c, 0x9b, 0x34, 0x99, 0x7c, 0x2b, 0xa6, 0x3a, 0xee, 0x83, 0x97, 0x91, 0xa8, 0x9d, 0x1a, 0xff, 0xb1, 0x85,
|
||||||
|
0x12, 0x89, 0x7f, 0x77, 0x33, 0x24, 0x68, 0xbb, 0x64, 0x94, 0x11, 0x47, 0xbb, 0x58, 0x65, 0xea, 0xe9, 0x9b, 0xd3, 0xe2,
|
||||||
|
0xdf, 0xe5, 0x4d, 0xee, 0x7d, 0x7b, 0xf3, 0x10, 0xcf, 0xff, 0xb2, 0x66, 0x71, 0x6c, 0x8f, 0xff, 0xd8, 0x42, 0x31, 0x51,
|
||||||
|
0x03, 0x6f, 0xce, 0xc4, 0x8a, 0x65, 0x77, 0xf2, 0x57, 0xba, 0xce, 0xec, 0x74, 0x56, 0x8e, 0xbb, 0x99, 0x8c, 0x59, 0x9e,
|
||||||
|
0x65, 0xb3, 0x6c, 0xcc, 0x01, 0x66, 0x03, 0x5b, 0x63, 0x7b, 0xfc, 0xc7, 0x16, 0x4a, 0xc4, 0x69, 0x19, 0x9b, 0x38, 0x25,
|
||||||
|
0xb8, 0xab, 0xee, 0xf9, 0x45, 0x3a, 0x8f, 0xd0, 0x4c, 0x25, 0xc8, 0xb3, 0x5a, 0xbc, 0x79, 0x28, 0x1b, 0x23, 0xe7, 0xe7,
|
||||||
|
0xd0, 0x89, 0xc4, 0x7f, 0x9f, 0x85, 0x12, 0x33, 0x08, 0xe2, 0xfe, 0xe6, 0xd8, 0x22, 0xea, 0x77, 0xcf, 0x71, 0x19, 0x7f,
|
||||||
|
0x66, 0x74, 0xb9, 0x36, 0xb6, 0x1a, 0x13, 0xfe, 0x2b, 0x23, 0xf3, 0x7c, 0x96, 0x85, 0x32, 0x6b, 0xce, 0x94, 0x09, 0xbf,
|
||||||
|
0xe4, 0xdc, 0xec, 0x87, 0xf1, 0x96, 0x3e, 0x88, 0x1d, 0xf9, 0x46, 0xb6, 0x3e, 0xe9, 0xe2, 0xbf, 0x1d, 0xdf, 0xbb, 0x65,
|
||||||
|
0x64, 0xf5, 0x61, 0xd2, 0xec, 0xb7, 0xc8, 0x1e, 0x37, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x19,
|
||||||
|
0x2e, 0x4b, 0xb0, 0x86, 0x95, 0x6e, 0xd3, 0x47, 0x6b, 0x28, 0x6b, 0x8e, 0xe7, 0xdd, 0xdc, 0xdf, 0xef, 0x29, 0xee, 0x3e,
|
||||||
|
0x5d, 0x5e, 0x9f, 0xbd, 0x4f, 0x80, 0xf3, 0x0c, 0x17, 0xcf, 0x7d, 0xa8, 0xa1, 0x77, 0xa9, 0xce, 0x3b, 0x3c, 0x89, 0x3d,
|
||||||
|
0xaf, 0xb8, 0x77, 0x73, 0x7f, 0xbf, 0x47, 0x19, 0x1c, 0x55, 0x7a, 0x1f, 0x33, 0x7d, 0x1e, 0xad, 0x80, 0x2c, 0xc3, 0xc5,
|
||||||
|
0xf3, 0xce, 0x62, 0xef, 0xd2, 0x44, 0x8b, 0xbe, 0xbe, 0xfe, 0x7c, 0xbf, 0x39, 0x19, 0x84, 0xee, 0xed, 0xf7, 0xe8, 0x6a,
|
||||||
|
0x54, 0xca, 0xfb, 0xa8, 0x72, 0x05, 0xdc, 0x72, 0x5a, 0xd5, 0xe0, 0xd3, 0xff, 0x1c, 0x8f, 0x25, 0x9a, 0xd3, 0x4c, 0x1d,
|
||||||
|
0xbf, 0x39, 0x6f, 0x3a, 0x5b, 0x51, 0x2c, 0xe7, 0xd0, 0xfd, 0xfd, 0x9e, 0xee, 0xe6, 0x9b, 0x3a, 0x7e, 0xaf, 0x60, 0x94,
|
||||||
|
0x8f, 0xa7, 0x4f, 0x54, 0x64, 0x5c, 0xcf, 0x77, 0x64, 0xc2, 0xff, 0x88, 0x1d, 0x5f, 0x64, 0x46, 0x27, 0x73, 0x76, 0xc3,
|
||||||
|
0xaf, 0xb0, 0x57, 0x1f, 0x8b, 0xcc, 0xcd, 0x72, 0xb0, 0x13, 0xe2, 0x5f, 0x9c, 0x7a, 0x68, 0x79, 0x2d, 0xcb, 0xa0, 0xee,
|
||||||
|
0x5a, 0xd6, 0xf1, 0xeb, 0xee, 0xd5, 0x47, 0xe3, 0x6f, 0x27, 0xc5, 0xdf, 0x77, 0xdf, 0xb2, 0x5a, 0x88, 0x7f, 0x34, 0xfe,
|
||||||
|
0xfd, 0xa4, 0xe7, 0xbf, 0x76, 0xdf, 0x32, 0x5b, 0xce, 0x88, 0xbf, 0xb9, 0x35, 0xf5, 0x1e, 0x2d, 0xfe, 0xe5, 0x14, 0x57,
|
||||||
|
0x20, 0xbb, 0x8a, 0xa7, 0x9f, 0x4d, 0xee, 0xc8, 0xf8, 0xcf, 0x59, 0x1c, 0xe5, 0xce, 0x2d, 0x71, 0x5b, 0x25, 0xf3, 0x5d,
|
||||||
|
0xf2, 0xab, 0x78, 0xfa, 0x2d, 0xc7, 0x1d, 0xdf, 0xf3, 0x1d, 0x07, 0xbb, 0x63, 0x4b, 0xdc, 0xcb, 0xcb, 0x7c, 0x17, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x2d, 0xfe, 0x4f, 0xd4, 0xe5, 0x99, 0x31, 0x53, 0xaa, 0xeb, 0xe7, 0x5c, 0x35,
|
||||||
|
0xc7, 0x8e, 0x97, 0x4f, 0x48, 0xb7, 0xdc, 0xdb, 0xa9, 0xaa, 0xa1, 0xe8, 0xc7, 0x5d, 0x1e, 0xed, 0x99, 0xd8, 0xc4, 0x0e,
|
||||||
|
0xb8, 0xef, 0x06, 0xb5, 0x09, 0x07, 0xa7, 0x3a, 0x0e, 0x4e, 0x0b, 0xe5, 0xd8, 0xe8, 0x4e, 0x3e, 0x21, 0x73, 0x72, 0x17,
|
||||||
|
0x64, 0x8e, 0x48, 0xf7, 0xbb, 0x89, 0x55, 0xd1, 0xc2, 0x9f, 0x33, 0x3e, 0x85, 0xf2, 0xe5, 0x68, 0xcf, 0x64, 0x76, 0x07,
|
||||||
|
0x7c, 0xce, 0xc1, 0x69, 0x21, 0x07, 0xc7, 0xab, 0x22, 0x55, 0x07, 0x55, 0xba, 0xf4, 0x6e, 0x4b, 0xae, 0x53, 0x15, 0xeb,
|
||||||
|
0xb7, 0x9e, 0x81, 0x8c, 0xfc, 0x6f, 0xd9, 0x3b, 0x60, 0x45, 0x98, 0x6e, 0x33, 0x4f, 0xd8, 0x99, 0x16, 0x9d, 0xff, 0xc1,
|
||||||
|
0xab, 0xde, 0x37, 0x53, 0xc9, 0x28, 0xb7, 0xdf, 0x5e, 0x85, 0xbe, 0x12, 0xca, 0x64, 0x75, 0xdf, 0x6f, 0x38, 0x77, 0x51,
|
||||||
|
0x39, 0x27, 0xb7, 0x22, 0x90, 0x6e, 0x29, 0x32, 0x27, 0x4a, 0x71, 0x6b, 0x52, 0xf5, 0x70, 0x7d, 0x9c, 0x6c, 0x77, 0xa8,
|
||||||
|
0x38, 0x96, 0x60, 0xd9, 0x91, 0xfb, 0x69, 0xdf, 0xbd, 0xdc, 0x27, 0x72, 0xec, 0xf4, 0x89, 0xb8, 0x64, 0xb5, 0xd8, 0x54,
|
||||||
|
0x7d, 0xa9, 0x71, 0x7e, 0x94, 0xe3, 0xb3, 0x06, 0x75, 0xc7, 0xb7, 0xb9, 0x47, 0xfc, 0xc7, 0xf3, 0x15, 0x7f, 0x32, 0x9c,
|
||||||
|
0x73, 0x1f, 0x45, 0x57, 0xe0, 0x5c, 0x8e, 0x8d, 0x6c, 0xa7, 0xb2, 0x0c, 0xec, 0x8d, 0xb3, 0xe3, 0x5f, 0x06, 0xe7, 0xe8,
|
||||||
|
0xac, 0x5d, 0x76, 0x57, 0x07, 0x23, 0xfe, 0xbc, 0xde, 0x93, 0x69, 0x26, 0xaf, 0xc5, 0xaf, 0xd0, 0xb7, 0x37, 0xfe, 0x67,
|
||||||
|
0xd8, 0x2c, 0x57, 0x30, 0x50, 0x72, 0x33, 0x03, 0x9d, 0x37, 0xa2, 0xe8, 0x4a, 0xb3, 0x8b, 0xf6, 0xf5, 0xd3, 0x95, 0x19,
|
||||||
|
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xd1, 0xf3, 0xff, 0xd4, 0x70, 0xcb, 0x95, 0xb3, 0xec, 0xe4, 0xe5,
|
||||||
|
0x1f, 0xca, 0x76, 0x78, 0xe6, 0x5c, 0xaa, 0xb9, 0x4c, 0x3f, 0xca, 0x47, 0xa9, 0x81, 0xfc, 0x2b, 0x37, 0xeb, 0x44, 0x55,
|
||||||
|
0xaa, 0xaa, 0x27, 0xf8, 0x30, 0x33, 0x86, 0x8f, 0x3a, 0xea, 0xed, 0xfc, 0x9c, 0xe3, 0xf0, 0xe8, 0xab, 0xd9, 0xc0, 0xd9,
|
||||||
|
0xc9, 0xc9, 0xef, 0xde, 0x9c, 0xb9, 0x99, 0x59, 0x31, 0xed, 0x92, 0x86, 0xcf, 0x8c, 0x5b, 0x91, 0xeb, 0xf0, 0xe8, 0x19,
|
||||||
|
0x6d, 0xd2, 0x2f, 0xf0, 0xab, 0x2f, 0x66, 0x7d, 0x5a, 0x1d, 0xdd, 0x91, 0x6a, 0x61, 0x8b, 0xa2, 0xdc, 0xdd, 0x94, 0xe9,
|
||||||
|
0xae, 0xc3, 0xd3, 0x43, 0x11, 0x9b, 0x69, 0x19, 0xed, 0xa5, 0x96, 0x44, 0x97, 0x2e, 0x6b, 0xb7, 0xd2, 0x82, 0x4f, 0xcc,
|
||||||
|
0x6b, 0x67, 0xd9, 0x29, 0x4e, 0xf6, 0x93, 0x47, 0xac, 0xfc, 0x72, 0xaf, 0xf8, 0x3f, 0xe6, 0x8c, 0xf9, 0x39, 0x29, 0x1e,
|
||||||
|
0x2d, 0xca, 0x36, 0xe9, 0xab, 0xe4, 0xc4, 0xff, 0xda, 0xf3, 0x92, 0x97, 0x65, 0xe3, 0x9c, 0x9e, 0xcd, 0x19, 0x61, 0x99,
|
||||||
|
0xfb, 0xd5, 0xd1, 0xf8, 0x97, 0xe4, 0xd1, 0x9f, 0x61, 0xf8, 0xcc, 0x64, 0xd9, 0x38, 0xcb, 0x3d, 0x9a, 0xb5, 0x2c, 0x8e,
|
||||||
|
0xbe, 0xff, 0x33, 0xef, 0x98, 0x7b, 0x1b, 0x3e, 0x57, 0x76, 0x78, 0xe2, 0x2e, 0x9d, 0xf6, 0xd5, 0xe1, 0xd1, 0xd0, 0xb1,
|
||||||
|
0x7c, 0x3d, 0x95, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0xe6, 0xb9, 0xfd, 0x61, 0x1e, 0x88, 0x3f, 0xbc, 0xda, 0xf8, 0xff, 0x17 };
|
||||||
|
|
||||||
|
// Font glyphs rectangles data (on atlas)
|
||||||
|
static const Rectangle bluishFontRecs[189] = {
|
||||||
|
{ 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 },
|
||||||
|
{ 240, 76, 2 , 8 },
|
||||||
|
{ 4, 94, 5 , 8 },
|
||||||
|
{ 17, 94, 5 , 8 },
|
||||||
|
{ 30, 94, 8 , 8 },
|
||||||
|
{ 46, 94, 6 , 8 },
|
||||||
|
{ 60, 94, 5 , 10 },
|
||||||
|
{ 73, 94, 5 , 10 },
|
||||||
|
{ 86, 94, 5 , 9 },
|
||||||
|
{ 99, 94, 7 , 8 },
|
||||||
|
{ 114, 94, 4 , 6 },
|
||||||
|
{ 126, 94, 5 , 4 },
|
||||||
|
{ 139, 94, 5 , 3 },
|
||||||
|
{ 152, 94, 7 , 8 },
|
||||||
|
{ 167, 94, 5 , 2 },
|
||||||
|
{ 180, 94, 4 , 4 },
|
||||||
|
{ 192, 94, 6 , 8 },
|
||||||
|
{ 206, 94, 4 , 6 },
|
||||||
|
{ 218, 94, 4 , 6 },
|
||||||
|
{ 230, 94, 8 , 8 },
|
||||||
|
{ 4, 112, 5 , 9 },
|
||||||
|
{ 17, 112, 6 , 8 },
|
||||||
|
{ 31, 112, 2 , 2 },
|
||||||
|
{ 41, 112, 8 , 8 },
|
||||||
|
{ 57, 112, 3 , 6 },
|
||||||
|
{ 68, 112, 4 , 6 },
|
||||||
|
{ 80, 112, 5 , 4 },
|
||||||
|
{ 93, 112, 6 , 8 },
|
||||||
|
{ 107, 112, 6 , 6 },
|
||||||
|
{ 121, 112, 5 , 10 },
|
||||||
|
{ 134, 112, 5 , 8 },
|
||||||
|
{ 147, 112, 5 , 10 },
|
||||||
|
{ 160, 112, 5 , 10 },
|
||||||
|
{ 173, 112, 5 , 10 },
|
||||||
|
{ 186, 112, 5 , 10 },
|
||||||
|
{ 199, 112, 5 , 10 },
|
||||||
|
{ 212, 112, 5 , 10 },
|
||||||
|
{ 225, 112, 6 , 8 },
|
||||||
|
{ 239, 112, 5 , 9 },
|
||||||
|
{ 4, 130, 5 , 10 },
|
||||||
|
{ 17, 130, 5 , 10 },
|
||||||
|
{ 30, 130, 5 , 10 },
|
||||||
|
{ 43, 130, 5 , 10 },
|
||||||
|
{ 56, 130, 4 , 10 },
|
||||||
|
{ 68, 130, 4 , 10 },
|
||||||
|
{ 80, 130, 4 , 10 },
|
||||||
|
{ 92, 130, 4 , 10 },
|
||||||
|
{ 104, 130, 6 , 8 },
|
||||||
|
{ 118, 130, 5 , 10 },
|
||||||
|
{ 131, 130, 5 , 10 },
|
||||||
|
{ 144, 130, 5 , 10 },
|
||||||
|
{ 157, 130, 5 , 10 },
|
||||||
|
{ 170, 130, 5 , 10 },
|
||||||
|
{ 183, 130, 5 , 10 },
|
||||||
|
{ 196, 130, 4 , 4 },
|
||||||
|
{ 208, 130, 5 , 10 },
|
||||||
|
{ 221, 130, 5 , 10 },
|
||||||
|
{ 234, 130, 5 , 10 },
|
||||||
|
{ 4, 148, 5 , 10 },
|
||||||
|
{ 17, 148, 5 , 10 },
|
||||||
|
{ 30, 148, 5 , 10 },
|
||||||
|
{ 43, 148, 5 , 8 },
|
||||||
|
{ 56, 148, 5 , 8 },
|
||||||
|
{ 69, 148, 5 , 9 },
|
||||||
|
{ 82, 148, 5 , 9 },
|
||||||
|
{ 95, 148, 5 , 9 },
|
||||||
|
{ 108, 148, 5 , 9 },
|
||||||
|
{ 121, 148, 5 , 8 },
|
||||||
|
{ 134, 148, 5 , 10 },
|
||||||
|
{ 147, 148, 6 , 6 },
|
||||||
|
{ 161, 148, 5 , 7 },
|
||||||
|
{ 174, 148, 5 , 9 },
|
||||||
|
{ 187, 148, 5 , 9 },
|
||||||
|
{ 200, 148, 5 , 9 },
|
||||||
|
{ 213, 148, 5 , 8 },
|
||||||
|
{ 226, 148, 3 , 9 },
|
||||||
|
{ 237, 148, 3 , 9 },
|
||||||
|
{ 4, 166, 4 , 9 },
|
||||||
|
{ 16, 166, 4 , 8 },
|
||||||
|
{ 28, 166, 5 , 9 },
|
||||||
|
{ 41, 166, 5 , 9 },
|
||||||
|
{ 54, 166, 5 , 9 },
|
||||||
|
{ 67, 166, 5 , 9 },
|
||||||
|
{ 80, 166, 5 , 9 },
|
||||||
|
{ 93, 166, 5 , 9 },
|
||||||
|
{ 106, 166, 5 , 8 },
|
||||||
|
{ 119, 166, 4 , 6 },
|
||||||
|
{ 131, 166, 5 , 8 },
|
||||||
|
{ 144, 166, 5 , 9 },
|
||||||
|
{ 157, 166, 5 , 9 },
|
||||||
|
{ 170, 166, 5 , 9 },
|
||||||
|
{ 183, 166, 5 , 8 },
|
||||||
|
{ 196, 166, 5 , 10 },
|
||||||
|
{ 209, 166, 5 , 10 },
|
||||||
|
{ 222, 166, 5 , 9 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// Font glyphs info data
|
||||||
|
// NOTE: No glyphs.image data provided
|
||||||
|
static const GlyphInfo bluishFontGlyphs[189] = {
|
||||||
|
{ 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 }},
|
||||||
|
{ 161, 0, 1, 2, { 0 }},
|
||||||
|
{ 162, 0, 2, 5, { 0 }},
|
||||||
|
{ 163, 0, 1, 5, { 0 }},
|
||||||
|
{ 8364, 0, 1, 7, { 0 }},
|
||||||
|
{ 165, 0, 1, 6, { 0 }},
|
||||||
|
{ 352, 0, -1, 5, { 0 }},
|
||||||
|
{ 167, 0, 0, 5, { 0 }},
|
||||||
|
{ 353, 0, 0, 5, { 0 }},
|
||||||
|
{ 169, 0, 1, 7, { 0 }},
|
||||||
|
{ 170, 0, -1, 4, { 0 }},
|
||||||
|
{ 171, 0, 3, 5, { 0 }},
|
||||||
|
{ 172, 0, 4, 5, { 0 }},
|
||||||
|
{ 174, 0, 1, 7, { 0 }},
|
||||||
|
{ 175, 0, -1, 5, { 0 }},
|
||||||
|
{ 176, 0, -1, 4, { 0 }},
|
||||||
|
{ 177, 0, 1, 6, { 0 }},
|
||||||
|
{ 178, 0, -1, 4, { 0 }},
|
||||||
|
{ 179, 0, -1, 4, { 0 }},
|
||||||
|
{ 381, 0, 1, 7, { 0 }},
|
||||||
|
{ 181, 0, 1, 5, { 0 }},
|
||||||
|
{ 182, 0, 1, 6, { 0 }},
|
||||||
|
{ 183, 0, 4, 2, { 0 }},
|
||||||
|
{ 382, 0, 1, 7, { 0 }},
|
||||||
|
{ 185, 0, -1, 3, { 0 }},
|
||||||
|
{ 186, 0, -1, 4, { 0 }},
|
||||||
|
{ 187, 0, 3, 5, { 0 }},
|
||||||
|
{ 338, 0, 1, 6, { 0 }},
|
||||||
|
{ 339, 0, 3, 6, { 0 }},
|
||||||
|
{ 376, 0, -1, 5, { 0 }},
|
||||||
|
{ 191, 0, 1, 5, { 0 }},
|
||||||
|
{ 192, 0, -1, 5, { 0 }},
|
||||||
|
{ 193, 0, -1, 5, { 0 }},
|
||||||
|
{ 194, 0, -1, 5, { 0 }},
|
||||||
|
{ 195, 0, -1, 5, { 0 }},
|
||||||
|
{ 196, 0, -1, 5, { 0 }},
|
||||||
|
{ 197, 0, -1, 5, { 0 }},
|
||||||
|
{ 198, 0, 1, 6, { 0 }},
|
||||||
|
{ 199, 0, 1, 5, { 0 }},
|
||||||
|
{ 200, 0, -1, 5, { 0 }},
|
||||||
|
{ 201, 0, -1, 5, { 0 }},
|
||||||
|
{ 202, 0, -1, 5, { 0 }},
|
||||||
|
{ 203, 0, -1, 5, { 0 }},
|
||||||
|
{ 204, 0, -1, 4, { 0 }},
|
||||||
|
{ 205, 0, -1, 4, { 0 }},
|
||||||
|
{ 206, 0, -1, 4, { 0 }},
|
||||||
|
{ 207, 0, -1, 4, { 0 }},
|
||||||
|
{ 208, 0, 1, 6, { 0 }},
|
||||||
|
{ 209, 0, -1, 5, { 0 }},
|
||||||
|
{ 210, 0, -1, 5, { 0 }},
|
||||||
|
{ 211, 0, -1, 5, { 0 }},
|
||||||
|
{ 212, 0, -1, 5, { 0 }},
|
||||||
|
{ 213, 0, -1, 5, { 0 }},
|
||||||
|
{ 214, 0, -1, 5, { 0 }},
|
||||||
|
{ 215, 0, 3, 4, { 0 }},
|
||||||
|
{ 216, 0, 0, 5, { 0 }},
|
||||||
|
{ 217, 0, -1, 5, { 0 }},
|
||||||
|
{ 218, 0, -1, 5, { 0 }},
|
||||||
|
{ 219, 0, -1, 5, { 0 }},
|
||||||
|
{ 220, 0, -1, 5, { 0 }},
|
||||||
|
{ 221, 0, -1, 5, { 0 }},
|
||||||
|
{ 222, 0, 1, 5, { 0 }},
|
||||||
|
{ 223, 0, 1, 5, { 0 }},
|
||||||
|
{ 224, 0, 0, 5, { 0 }},
|
||||||
|
{ 225, 0, 0, 5, { 0 }},
|
||||||
|
{ 226, 0, 0, 5, { 0 }},
|
||||||
|
{ 227, 0, 0, 5, { 0 }},
|
||||||
|
{ 228, 0, 1, 5, { 0 }},
|
||||||
|
{ 229, 0, -1, 5, { 0 }},
|
||||||
|
{ 230, 0, 3, 6, { 0 }},
|
||||||
|
{ 231, 0, 3, 5, { 0 }},
|
||||||
|
{ 232, 0, 0, 5, { 0 }},
|
||||||
|
{ 233, 0, 0, 5, { 0 }},
|
||||||
|
{ 234, 0, 0, 5, { 0 }},
|
||||||
|
{ 235, 0, 1, 5, { 0 }},
|
||||||
|
{ 236, 0, 0, 3, { 0 }},
|
||||||
|
{ 237, 0, 0, 2, { 0 }},
|
||||||
|
{ 238, 0, 0, 3, { 0 }},
|
||||||
|
{ 239, 0, 1, 3, { 0 }},
|
||||||
|
{ 240, 0, 0, 5, { 0 }},
|
||||||
|
{ 241, 0, 0, 5, { 0 }},
|
||||||
|
{ 242, 0, 0, 5, { 0 }},
|
||||||
|
{ 243, 0, 0, 5, { 0 }},
|
||||||
|
{ 244, 0, 0, 5, { 0 }},
|
||||||
|
{ 245, 0, 0, 5, { 0 }},
|
||||||
|
{ 246, 0, 1, 5, { 0 }},
|
||||||
|
{ 247, 0, 2, 4, { 0 }},
|
||||||
|
{ 248, 0, 2, 5, { 0 }},
|
||||||
|
{ 249, 0, 0, 5, { 0 }},
|
||||||
|
{ 250, 0, 0, 5, { 0 }},
|
||||||
|
{ 251, 0, 0, 5, { 0 }},
|
||||||
|
{ 252, 0, 1, 5, { 0 }},
|
||||||
|
{ 253, 0, 0, 5, { 0 }},
|
||||||
|
{ 254, 0, 0, 5, { 0 }},
|
||||||
|
{ 255, 0, 1, 5, { 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_STYLE_FONT_ATLAS_COMP_SIZE, &bluishFontDataSize);
|
||||||
|
Image imFont = { data, 256, 256, 1, 2 };
|
||||||
|
|
||||||
|
Font font = { 0 };
|
||||||
|
font.baseSize = 10;
|
||||||
|
font.glyphCount = 189;
|
||||||
|
|
||||||
|
// Load texture from image
|
||||||
|
font.texture = LoadTextureFromImage(imFont);
|
||||||
|
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 = (Rectangle *)RAYGUI_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 *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
memcpy(font.glyphs, bluishFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
|
||||||
|
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 = { 254, 254, 1, 1 };
|
||||||
|
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
|
||||||
|
}
|
||||||
BIN
styles/bluish/style_bluish.old.rgs
Normal file
BIN
styles/bluish/style_bluish.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
styles/bluish/style_bluish.rgs
Normal file
24
styles/bluish/style_bluish.txt.rgs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#
|
||||||
|
# rgs style text file (v4.0) - raygui style file generated using rGuiStyler
|
||||||
|
#
|
||||||
|
# Provided info:
|
||||||
|
# f fontGenSize charsetFileName fontFileName
|
||||||
|
# p <controlId> <propertyId> <propertyValue> Property description
|
||||||
|
#
|
||||||
|
# WARNING: This style uses a custom font, must be provided with style file
|
||||||
|
#
|
||||||
|
f 10 charset.txt 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 18 0x84adb7ff LINE_COLOR
|
||||||
|
p 00 19 0xe8eef1ff BACKGROUND_COLOR
|
||||||
|
Before Width: | Height: | Size: 27 KiB |
@ -1,16 +1,27 @@
|
|||||||
style: candy
|
## style: candy
|
||||||
-------------
|
|
||||||
Sweet, colorful, tasty! Enjoy this funfair ride and be careful with the witch of the candy house!
|
Sweet, colorful, tasty! Enjoy this funfair ride and be careful with the witch of the candy house!
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
screenshot
|
## style: provided files
|
||||||
-----------
|
|
||||||
|
Several options are provided to add the style to a `raygui` application, choose the one that better fits the project.
|
||||||
|
|
||||||
|
| file name | description |
|
||||||
|
| :-------- | :---------- |
|
||||||
|
| `style_candy.rgs` | Binary style file (raygui 4.0), font data compressed (recs, glyphs) |
|
||||||
|
| `style_candy.txt.rgs` | Text style file, no font data, requires external font provided |
|
||||||
|
| `style_candy.old.rgs` | Binary style file (raygui 3.x), font data uncompressed (recs, glyphs) |
|
||||||
|
| `style_candy.h` | Embeddable style as code file, self-contained, includes font data |
|
||||||
|
| `style_candy.png` | Style table image, contains `rGSf` chunk with binary `rgs` file data |
|
||||||
|
|
||||||
|
## screenshot
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
about font
|
## about font
|
||||||
-----------
|
|
||||||
"V5 Eastergothic" font by vFive Digital (Roberto Christen).
|
"V5 Eastergothic" font by vFive Digital (Roberto Christen).
|
||||||
|
|
||||||
100% free font, downloaded from dafont.com: [v5eastergothic](https://www.dafont.com/v5eastergothic.font)
|
100% free font, downloaded from dafont.com: [v5eastergothic](https://www.dafont.com/v5eastergothic.font)
|
||||||
|
|||||||
@ -1,346 +0,0 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// //
|
|
||||||
// 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-2023 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);
|
|
||||||
UnloadImage(imFont); // Uncompressed 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 = (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
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
#
|
|
||||||
# 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
|
|
||||||
1
styles/candy/charset.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
|
||||||
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 66 KiB |
589
styles/candy/style_candy.h
Normal file
@ -0,0 +1,589 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// StyleAsCode exporter v2.0 - 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-2023 raylib technologies (@raylibtech) //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define CANDY_STYLE_PROPS_COUNT 17
|
||||||
|
|
||||||
|
// 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
|
||||||
|
{ 0, 20, 0x00000016 }, // DEFAULT_TEXT_LINE_SPACING
|
||||||
|
};
|
||||||
|
|
||||||
|
// WARNING: This style uses a custom font: "v5easter.ttf" (size: 15, spacing: 0)
|
||||||
|
|
||||||
|
#define CANDY_STYLE_FONT_ATLAS_COMP_SIZE 2260
|
||||||
|
|
||||||
|
// Font atlas image pixels data: DEFLATE compressed
|
||||||
|
static unsigned char candyFontData[CANDY_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
|
||||||
|
0xdd, 0x4d, 0x92, 0xd4, 0x38, 0x10, 0x06, 0x50, 0xdd, 0x80, 0xfb, 0xcc, 0x61, 0xe6, 0x4a, 0x73, 0x45, 0x8e, 0xc0, 0x86,
|
||||||
|
0x25, 0xa1, 0x89, 0x61, 0x88, 0x20, 0x80, 0x2e, 0x4b, 0x4a, 0xa5, 0x6c, 0xd9, 0xf5, 0x78, 0x1b, 0xa2, 0xdd, 0x5d, 0x55,
|
||||||
|
0xfe, 0xf9, 0x2c, 0xc9, 0x2e, 0xa5, 0x6b, 0x01, 0x00, 0x00, 0x00, 0xde, 0xdc, 0x7f, 0xff, 0xfe, 0xfc, 0x59, 0xf9, 0xe0,
|
||||||
|
0xa7, 0x3f, 0x7f, 0xb7, 0x7e, 0xb8, 0xf4, 0x68, 0x49, 0xfc, 0x2f, 0x8f, 0x3f, 0x49, 0xdf, 0x2b, 0x94, 0x83, 0x25, 0xed,
|
||||||
|
0xcf, 0xfc, 0xfb, 0xcf, 0x6a, 0xca, 0xbb, 0xbf, 0x7a, 0x9d, 0xd6, 0x27, 0x8a, 0x2c, 0x3b, 0x7a, 0xd5, 0x7a, 0xb0, 0x4e,
|
||||||
|
0xa5, 0x63, 0x49, 0x0d, 0xad, 0x5d, 0x9d, 0xde, 0xab, 0x63, 0x7b, 0xa7, 0xbd, 0xfe, 0x65, 0x78, 0x1d, 0xcb, 0x82, 0x65,
|
||||||
|
0x75, 0x72, 0x1f, 0xaf, 0xcc, 0xff, 0xef, 0xff, 0x32, 0xf3, 0x7f, 0xfc, 0x9a, 0x33, 0xc7, 0xc4, 0xcf, 0xb5, 0xa9, 0x09,
|
||||||
|
0xf9, 0x1f, 0x3f, 0x8b, 0x1c, 0xaf, 0xc1, 0xeb, 0xa3, 0xb8, 0x0c, 0xff, 0x4d, 0xfb, 0xfc, 0x9a, 0xf9, 0xaa, 0x2b, 0x97,
|
||||||
|
0xf5, 0xa5, 0x76, 0xfe, 0x38, 0x6f, 0x7d, 0x9a, 0xb9, 0x7d, 0x78, 0xe6, 0xb2, 0xdc, 0xfc, 0xb7, 0x7e, 0x37, 0x7a, 0x66,
|
||||||
|
0x8f, 0xf7, 0x0e, 0x7a, 0x5b, 0xf3, 0x3a, 0x74, 0xec, 0xb7, 0x5b, 0xb1, 0x9c, 0x2d, 0x3c, 0xba, 0xc6, 0xc7, 0xe7, 0x92,
|
||||||
|
0xd6, 0xd2, 0xf9, 0x36, 0x77, 0xe4, 0xd8, 0xb8, 0xe2, 0x28, 0x6e, 0xef, 0xcd, 0x8c, 0x76, 0xa9, 0xfe, 0xb2, 0xb5, 0xe5,
|
||||||
|
0xbf, 0xf7, 0xa8, 0xad, 0x8b, 0x5b, 0xda, 0x32, 0xdc, 0xd2, 0xc6, 0xfa, 0x2c, 0x79, 0x5b, 0x38, 0x2b, 0xff, 0x75, 0x22,
|
||||||
|
0xfd, 0x25, 0xd0, 0xe3, 0x3c, 0x3e, 0x6b, 0xb7, 0x3e, 0x7f, 0xf4, 0x28, 0xc9, 0x3d, 0x66, 0x67, 0xf3, 0x7f, 0xdc, 0x1f,
|
||||||
|
0x2e, 0x87, 0xe7, 0x9b, 0xf3, 0x7a, 0x5c, 0x3b, 0xe5, 0x3f, 0xda, 0x43, 0xee, 0x1f, 0xdd, 0xe4, 0xb5, 0xff, 0xeb, 0xf3,
|
||||||
|
0xdf, 0x4a, 0x64, 0x1d, 0x1c, 0xa9, 0xe6, 0xb6, 0xc6, 0x3d, 0xe3, 0xe9, 0xe8, 0x19, 0x7d, 0x7c, 0x8c, 0x7b, 0x7e, 0xff,
|
||||||
|
0xbf, 0x3d, 0x6e, 0xac, 0xcb, 0x46, 0x4e, 0xf9, 0x09, 0xdb, 0xb7, 0xff, 0xdf, 0xd7, 0x2f, 0x58, 0xd3, 0xff, 0x6f, 0x8d,
|
||||||
|
0xff, 0xcb, 0xe9, 0xad, 0x7f, 0x2b, 0x59, 0xf1, 0xbd, 0x5f, 0x43, 0x3d, 0xa0, 0xb9, 0xab, 0x0a, 0xb1, 0xfd, 0x39, 0x97,
|
||||||
|
0xff, 0x15, 0x7d, 0x80, 0xd1, 0xd1, 0xdf, 0x33, 0xfa, 0xff, 0x91, 0x2d, 0x18, 0xbd, 0xce, 0x9c, 0xb5, 0x66, 0xe3, 0xd7,
|
||||||
|
0xf9, 0xaf, 0xdb, 0x62, 0x79, 0xe7, 0xf9, 0xd9, 0x2d, 0x98, 0xff, 0xaa, 0xb1, 0x5e, 0xf5, 0xe8, 0x51, 0x5c, 0x2f, 0xbd,
|
||||||
|
0x37, 0x56, 0x6f, 0x71, 0xe5, 0xf4, 0x8c, 0xf6, 0xbf, 0x75, 0xfd, 0x7f, 0xe6, 0xea, 0xc0, 0xd8, 0x9d, 0x8d, 0xba, 0xe1,
|
||||||
|
0xb1, 0x22, 0xff, 0x77, 0x69, 0xc5, 0xb2, 0x7a, 0xd5, 0xae, 0xff, 0x45, 0xee, 0x69, 0x67, 0xf4, 0xe7, 0xee, 0x92, 0xff,
|
||||||
|
0xda, 0x71, 0x36, 0xed, 0x5f, 0x12, 0xbf, 0xe3, 0xbe, 0xea, 0x5b, 0x05, 0xad, 0xbb, 0x8d, 0xe7, 0xdd, 0xc5, 0xde, 0x31,
|
||||||
|
0xff, 0xf7, 0xb8, 0xff, 0xbf, 0xc7, 0xb6, 0x5c, 0x3b, 0x92, 0xdb, 0x31, 0xff, 0xf0, 0x1e, 0xdf, 0x26, 0x3c, 0xef, 0x5b,
|
||||||
|
0x8b, 0xf2, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xdd, 0x67, 0xe7, 0xc4, 0x2b,
|
||||||
|
0x44, 0x8e, 0xcd, 0xb9, 0xa9, 0x4b, 0xea, 0x22, 0xc5, 0xe6, 0x46, 0x9f, 0x5b, 0xc3, 0x39, 0x5a, 0x35, 0x7b, 0x6e, 0x5e,
|
||||||
|
0xf8, 0xeb, 0x7a, 0x42, 0x33, 0xaf, 0x7b, 0x3c, 0x17, 0x79, 0x64, 0x5e, 0x76, 0xb4, 0xd6, 0xf9, 0x68, 0x4d, 0xa0, 0x48,
|
||||||
|
0xed, 0xa4, 0xd9, 0xda, 0xe9, 0xe3, 0x6b, 0x1c, 0x99, 0xc1, 0x3a, 0x3b, 0xe7, 0xed, 0xac, 0x8a, 0xcd, 0xd1, 0x9c, 0xf6,
|
||||||
|
0x55, 0xbd, 0xad, 0xc3, 0x95, 0xea, 0x76, 0xab, 0xd3, 0x90, 0x5d, 0x35, 0x63, 0x65, 0xfe, 0x4b, 0x57, 0x6d, 0xec, 0xbe,
|
||||||
|
0xf9, 0xce, 0x35, 0x71, 0x46, 0xfb, 0x79, 0x35, 0xf7, 0xca, 0xf4, 0x3e, 0x19, 0x6d, 0xa9, 0x9e, 0x9f, 0xff, 0xe8, 0xba,
|
||||||
|
0xb7, 0xb6, 0x6a, 0xdd, 0xb6, 0x8a, 0xfd, 0x95, 0xf9, 0x8f, 0xf6, 0xed, 0x8e, 0x5b, 0xbe, 0xf1, 0x8a, 0x07, 0xe7, 0x54,
|
||||||
|
0xb4, 0xa9, 0x1b, 0xe5, 0x7f, 0xfc, 0xdd, 0x56, 0xce, 0x61, 0x9f, 0x6b, 0x7b, 0x6b, 0x5a, 0xfe, 0xe3, 0x7d, 0x9f, 0xdd,
|
||||||
|
0xda, 0xf8, 0xdc, 0xaa, 0x39, 0xeb, 0xf2, 0x5f, 0xd2, 0xab, 0x32, 0xed, 0x99, 0xff, 0x9e, 0xf6, 0x21, 0x32, 0x36, 0x18,
|
||||||
|
0xff, 0xcb, 0xe8, 0x19, 0x77, 0xf4, 0xdd, 0x22, 0xed, 0xff, 0xf1, 0x5a, 0xde, 0xb9, 0xfd, 0xdf, 0x25, 0xff, 0x65, 0xab,
|
||||||
|
0xfe, 0xff, 0xec, 0xd1, 0x38, 0x96, 0xf3, 0xeb, 0x6a, 0xb3, 0xed, 0xfe, 0x24, 0xa3, 0x91, 0x2d, 0x3e, 0x5b, 0x1d, 0x39,
|
||||||
|
0x7a, 0xdd, 0x21, 0xf3, 0x89, 0x4d, 0xf7, 0xba, 0xc6, 0x55, 0xde, 0x72, 0xfc, 0x1f, 0xbf, 0xee, 0x2b, 0xff, 0xb3, 0xfd,
|
||||||
|
0xe9, 0x72, 0x41, 0xfe, 0x57, 0x6d, 0xbb, 0x3b, 0xe7, 0x7f, 0xa6, 0xe7, 0x77, 0x56, 0xfe, 0xcb, 0xcb, 0xa7, 0x50, 0xcd,
|
||||||
|
0xe6, 0x3f, 0xfe, 0x6c, 0x9c, 0xd1, 0x9c, 0xd7, 0x0b, 0xef, 0x6f, 0xad, 0x38, 0x07, 0xc6, 0xef, 0x37, 0x14, 0xf9, 0xbf,
|
||||||
|
0x55, 0xfe, 0xaf, 0x6f, 0xff, 0x7b, 0x9f, 0xad, 0xf8, 0xde, 0xf9, 0x2f, 0x53, 0xd7, 0xf8, 0x56, 0xfc, 0xdd, 0x6e, 0xfd,
|
||||||
|
0xff, 0xec, 0x73, 0xe7, 0xb9, 0xe7, 0xd3, 0x75, 0x7d, 0xdc, 0xd8, 0xf5, 0xa4, 0xd8, 0xd3, 0x0c, 0x62, 0x55, 0xb3, 0xd7,
|
||||||
|
0x1c, 0x53, 0x25, 0xfc, 0x0c, 0xaf, 0x32, 0x7c, 0x06, 0x90, 0xff, 0x5f, 0x97, 0xac, 0x7b, 0x3a, 0x32, 0xac, 0xce, 0xd3,
|
||||||
|
0xbd, 0xf2, 0x3f, 0xf7, 0x4d, 0x83, 0xfc, 0xa7, 0x0d, 0xd6, 0x0b, 0xda, 0x7f, 0x58, 0x7b, 0x97, 0x3d, 0xef, 0xf7, 0xc9,
|
||||||
|
0xe8, 0xd3, 0x03, 0xef, 0xdb, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x38, 0x57,
|
||||||
|
0xe0, 0xf5, 0x2c, 0xcf, 0xe3, 0x2a, 0x18, 0x25, 0x58, 0x05, 0xbb, 0x74, 0x54, 0x4e, 0xae, 0xc1, 0xf7, 0x1b, 0x99, 0xa5,
|
||||||
|
0xbc, 0x5b, 0x2d, 0x82, 0xd1, 0xfa, 0x88, 0x23, 0xb5, 0xb1, 0xcb, 0x70, 0x9d, 0xaf, 0x68, 0x15, 0x9b, 0x32, 0x59, 0x73,
|
||||||
|
0x34, 0x3e, 0xff, 0x2e, 0x3a, 0x83, 0xfa, 0x68, 0x7f, 0x7e, 0xaa, 0xdf, 0xea, 0x97, 0xef, 0xbe, 0xd6, 0x7f, 0x86, 0xdf,
|
||||||
|
0xb5, 0x76, 0xcd, 0xf7, 0x9b, 0xdd, 0x27, 0x3d, 0x5b, 0x28, 0x92, 0xff, 0x1d, 0xab, 0xee, 0x65, 0x55, 0xf9, 0xb8, 0x53,
|
||||||
|
0xbd, 0xed, 0x91, 0x3a, 0xbc, 0xed, 0x7a, 0x1e, 0xf3, 0xf9, 0xef, 0xad, 0x29, 0x50, 0x27, 0xab, 0x7e, 0x8e, 0x9e, 0x2b,
|
||||||
|
0x8e, 0xb7, 0xcb, 0xd1, 0xdc, 0xe4, 0xd7, 0xad, 0xdc, 0xa7, 0xfa, 0xf9, 0xc7, 0xff, 0xfe, 0xfe, 0x30, 0xff, 0x35, 0x3c,
|
||||||
|
0x1b, 0xa7, 0xfd, 0x89, 0x32, 0xe7, 0x57, 0xbf, 0x47, 0xfe, 0xc7, 0xcf, 0x99, 0x77, 0xa8, 0xb7, 0x5d, 0x12, 0x7e, 0x9a,
|
||||||
|
0x39, 0xf3, 0x3d, 0x5a, 0x53, 0x24, 0x9a, 0xff, 0x91, 0x34, 0xbd, 0x3e, 0xcb, 0x95, 0x8e, 0x0a, 0x6a, 0xa3, 0xf9, 0x6f,
|
||||||
|
0xbd, 0x6b, 0x24, 0xff, 0x75, 0xb8, 0xf6, 0x4a, 0xff, 0xb6, 0x1c, 0x6b, 0x5d, 0xf6, 0xcc, 0x7f, 0xa4, 0xc7, 0x59, 0x4f,
|
||||||
|
0xcc, 0xff, 0x5c, 0x8d, 0xaf, 0x72, 0x7a, 0xfe, 0x73, 0x9f, 0x53, 0xd1, 0x37, 0x92, 0xe9, 0x4d, 0x76, 0xff, 0xef, 0xd6,
|
||||||
|
0x46, 0x5b, 0xbc, 0x2e, 0xff, 0xf5, 0x83, 0xf7, 0x5f, 0xd5, 0xfe, 0xc7, 0xeb, 0xab, 0xd6, 0x83, 0x4f, 0xf8, 0x84, 0xfc,
|
||||||
|
0x97, 0x4d, 0xfa, 0xff, 0xf9, 0xcf, 0x52, 0xdb, 0x33, 0xff, 0xe3, 0x3d, 0xae, 0xf1, 0x76, 0x7d, 0xac, 0xaf, 0xd0, 0x1e,
|
||||||
|
0x01, 0xd4, 0xc0, 0x19, 0xa0, 0x27, 0xff, 0xb1, 0xf6, 0x3f, 0x3a, 0xfe, 0x8f, 0x27, 0xa3, 0x3e, 0xb6, 0xfd, 0xcf, 0x1d,
|
||||||
|
0xff, 0xaf, 0xaa, 0x45, 0x98, 0xfb, 0xbc, 0xad, 0xac, 0x5a, 0x9b, 0xb1, 0xbe, 0x56, 0xb4, 0xfd, 0x6f, 0xf5, 0x0e, 0x66,
|
||||||
|
0xf2, 0x5f, 0x26, 0x93, 0xf8, 0xf1, 0xf5, 0xbf, 0x55, 0xed, 0xff, 0xf9, 0xd7, 0xff, 0x6b, 0x20, 0x21, 0xab, 0xaa, 0x6e,
|
||||||
|
0xd6, 0xe1, 0x6b, 0x31, 0xb3, 0x55, 0xd5, 0xfa, 0xef, 0x34, 0xf4, 0x9c, 0x9b, 0x5f, 0xdf, 0xa5, 0xe8, 0xd9, 0x2a, 0x19,
|
||||||
|
0xa3, 0xbe, 0x5d, 0xfb, 0xff, 0xd7, 0xb4, 0xff, 0x3d, 0xad, 0x7f, 0xa4, 0x0e, 0xd9, 0xba, 0xeb, 0x7f, 0xd1, 0xf1, 0xd3,
|
||||||
|
0xdc, 0xfd, 0xbf, 0xeb, 0xeb, 0x08, 0x66, 0x5f, 0xf9, 0x39, 0xf3, 0xb5, 0xae, 0xfa, 0x44, 0x3b, 0xf6, 0xff, 0xe3, 0x63,
|
||||||
|
0xab, 0x91, 0x51, 0x7d, 0xde, 0xfd, 0xbf, 0x98, 0x56, 0xfe, 0xd7, 0xbc, 0xeb, 0xba, 0x63, 0x4e, 0xfe, 0xf7, 0xdc, 0x07,
|
||||||
|
0x7b, 0xe5, 0xbf, 0xf7, 0x29, 0xe6, 0x35, 0xfd, 0x4e, 0xfc, 0x6e, 0x7b, 0xb0, 0x9d, 0xff, 0x7b, 0x7d, 0xff, 0xe7, 0xfc,
|
||||||
|
0x27, 0x8f, 0x5e, 0x9d, 0xff, 0xdd, 0xce, 0x00, 0x59, 0x4f, 0xbc, 0x2e, 0x49, 0x7b, 0x32, 0x72, 0x17, 0x6f, 0xf7, 0xf3,
|
||||||
|
0xa5, 0xfc, 0xf3, 0xfc, 0xef, 0x6f, 0xd6, 0xc7, 0xf7, 0x9b, 0xae, 0xef, 0x5b, 0xcb, 0x3f, 0xbc, 0xaf, 0xf6, 0xf7, 0x7f,
|
||||||
|
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x9e, 0x0f, 0x58, 0x27, 0xe7, 0x0a, 0xc6, 0x2a,
|
||||||
|
0x0d, 0x95, 0xe6, 0x8c, 0xd3, 0x1a, 0xfe, 0x9d, 0x91, 0x75, 0x89, 0xd7, 0xb0, 0x88, 0xd4, 0xe0, 0x2e, 0x8d, 0xba, 0x35,
|
||||||
|
0x39, 0xdb, 0xe6, 0x9c, 0xf5, 0x6c, 0xd7, 0xda, 0x1b, 0x3b, 0x2e, 0x46, 0xb6, 0x54, 0xbb, 0x86, 0xca, 0x79, 0xdb, 0x21,
|
||||||
|
0xba, 0xbf, 0x6b, 0x63, 0x76, 0x77, 0x6d, 0x54, 0xae, 0xc9, 0xa9, 0x07, 0x50, 0x1b, 0x75, 0x54, 0xe2, 0xf3, 0xd5, 0x46,
|
||||||
|
0xcf, 0x00, 0xf5, 0x8f, 0xda, 0x4e, 0x35, 0xf4, 0x3b, 0xa3, 0x7b, 0x3d, 0xb6, 0xac, 0xa7, 0xaa, 0x63, 0x5e, 0xa5, 0xe8,
|
||||||
|
0xc8, 0xb6, 0x59, 0xbf, 0x9e, 0xe3, 0xc7, 0x45, 0x4d, 0x7a, 0x87, 0xde, 0xba, 0x24, 0xfb, 0xef, 0xef, 0x76, 0x05, 0xd9,
|
||||||
|
0xba, 0xac, 0xfd, 0xcf, 0xc8, 0xff, 0x58, 0x0d, 0xd6, 0x91, 0x3a, 0x63, 0x99, 0xf9, 0xdf, 0xab, 0x3f, 0x16, 0x7f, 0x1e,
|
||||||
|
0x44, 0x56, 0xc5, 0xfd, 0x7b, 0xcc, 0xda, 0x8d, 0x3f, 0x99, 0xe0, 0x3e, 0xfb, 0x7b, 0xf5, 0xfa, 0xf5, 0x9c, 0x29, 0xe7,
|
||||||
|
0xea, 0x42, 0x5c, 0x95, 0xff, 0xbc, 0xfe, 0x7f, 0xb4, 0x3f, 0x1d, 0x79, 0x26, 0xd2, 0x6c, 0x2d, 0xc5, 0x99, 0x27, 0x8b,
|
||||||
|
0x9c, 0xbd, 0x2e, 0x73, 0xa3, 0x82, 0x9e, 0x31, 0xeb, 0x0e, 0xdb, 0x61, 0x66, 0x1b, 0x95, 0xe0, 0x93, 0x17, 0xb2, 0xf2,
|
||||||
|
0x9f, 0x51, 0xcf, 0x74, 0x7c, 0xfc, 0xd7, 0xde, 0x56, 0xb9, 0xe7, 0xc5, 0xd8, 0xeb, 0xed, 0xba, 0xac, 0x4e, 0x8c, 0x63,
|
||||||
|
0xae, 0x7d, 0x92, 0x51, 0x4e, 0xfe, 0xfb, 0x7b, 0xb5, 0xbb, 0xef, 0xd3, 0xd2, 0x31, 0x4e, 0xde, 0x3f, 0xff, 0xa3, 0x9f,
|
||||||
|
0x25, 0xb3, 0x8f, 0x3b, 0x5b, 0x5d, 0xfa, 0x9a, 0x65, 0xf3, 0x4f, 0x2a, 0xd9, 0xfd, 0xd8, 0xbe, 0x3a, 0xff, 0x6b, 0x9e,
|
||||||
|
0x06, 0x93, 0xbd, 0x8d, 0x5a, 0xa3, 0x86, 0xac, 0xf6, 0xbf, 0x35, 0x02, 0xa9, 0x5b, 0x8c, 0x0b, 0xfb, 0xb2, 0x3d, 0x7e,
|
||||||
|
0xfd, 0x7f, 0xee, 0x58, 0x59, 0xb1, 0x6c, 0xfe, 0xb8, 0xdd, 0x37, 0xe3, 0xbb, 0xe4, 0xff, 0x0e, 0xe7, 0xc8, 0x78, 0xab,
|
||||||
|
0x9d, 0xd1, 0xf7, 0x3d, 0xbf, 0xfd, 0xcf, 0xc8, 0x7f, 0xfe, 0x15, 0xd0, 0x3b, 0x2e, 0x5b, 0x9f, 0xd5, 0xd9, 0x6b, 0x70,
|
||||||
|
0xf2, 0x2f, 0xff, 0xf1, 0xbe, 0x4a, 0x4d, 0xaf, 0x70, 0xb9, 0xe2, 0xe9, 0x60, 0x57, 0x8d, 0xff, 0x73, 0xaf, 0x43, 0xdd,
|
||||||
|
0xb5, 0xff, 0x7f, 0xf7, 0x7d, 0x3a, 0xd3, 0x6b, 0xa7, 0xbc, 0x55, 0xdf, 0x60, 0xf6, 0x6c, 0xff, 0xb4, 0xfc, 0x3f, 0x7b,
|
||||||
|
0x9f, 0x4a, 0xbd, 0xfc, 0xe7, 0x9e, 0x01, 0xd6, 0x65, 0x7c, 0x24, 0xbb, 0xef, 0x97, 0xff, 0xbb, 0x3c, 0x35, 0x48, 0xfe,
|
||||||
|
0x9f, 0x31, 0xe6, 0x3b, 0xf7, 0x7b, 0x0e, 0x39, 0xdf, 0xff, 0x2b, 0x27, 0x3e, 0x01, 0xef, 0xec, 0xfb, 0xff, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x33, 0x7e, 0x33, 0x2b, 0x3d, 0x1f, 0xfd, 0xe5, 0xa7, 0xfa,
|
||||||
|
0xad, 0x7e, 0xf9, 0xee, 0x6b, 0xfd, 0xe7, 0xb0, 0xce, 0xc9, 0x19, 0x6b, 0xa1, 0x2e, 0xf7, 0xda, 0xba, 0xdc, 0xc7, 0x7b,
|
||||||
|
0xfb, 0x2e, 0x55, 0xb9, 0x7b, 0x8f, 0xd9, 0x3a, 0xb8, 0x85, 0x57, 0xa6, 0x2f, 0xab, 0x9e, 0x43, 0x74, 0xee, 0xe1, 0xab,
|
||||||
|
0xd7, 0xfc, 0x54, 0x3f, 0xff, 0xf8, 0xdf, 0xdf, 0x1f, 0x6e, 0xcb, 0xbe, 0x7a, 0x60, 0x79, 0x6b, 0xa1, 0x2e, 0xf7, 0xca,
|
||||||
|
0xba, 0xdc, 0x7d, 0x7b, 0x7b, 0xf7, 0xaa, 0xdc, 0xfd, 0x6b, 0x51, 0x37, 0x49, 0xdf, 0xb5, 0xb3, 0xe4, 0xe2, 0xdb, 0x72,
|
||||||
|
0xaf, 0x1a, 0xce, 0x35, 0x5c, 0x5b, 0x73, 0xae, 0x2e, 0xef, 0xf9, 0xeb, 0xb2, 0xaa, 0x87, 0xd9, 0x4a, 0xce, 0x6e, 0x47,
|
||||||
|
0x74, 0x6c, 0x2d, 0xae, 0xd9, 0x9b, 0xfd, 0xef, 0xb8, 0xd3, 0xec, 0xe7, 0x99, 0xfc, 0xef, 0x54, 0xa7, 0xb9, 0xbd, 0xbd,
|
||||||
|
0xe3, 0xcf, 0x51, 0x7a, 0x4e, 0x5d, 0xee, 0xd6, 0xde, 0x2e, 0x27, 0xcf, 0xbc, 0x8d, 0x6d, 0xa1, 0xfe, 0x3e, 0xeb, 0x1e,
|
||||||
|
0x75, 0x96, 0xee, 0x9e, 0xff, 0x9d, 0xb6, 0x63, 0x0d, 0xd6, 0xe5, 0xdf, 0xab, 0xf6, 0xf6, 0xae, 0xf9, 0xbf, 0x47, 0xa5,
|
||||||
|
0x95, 0x9e, 0xfc, 0xef, 0x76, 0xdc, 0x3e, 0xb1, 0xfd, 0x2f, 0x1d, 0xd5, 0xee, 0x33, 0x97, 0xe5, 0xd4, 0x8c, 0x7f, 0xe7,
|
||||||
|
0xba, 0xbc, 0xef, 0x93, 0xff, 0x22, 0xff, 0xa7, 0xf4, 0xff, 0xcf, 0x5b, 0x36, 0xdf, 0x37, 0x58, 0x71, 0xfd, 0xff, 0x5e,
|
||||||
|
0x75, 0x79, 0xdf, 0xa9, 0xfd, 0xdf, 0xa7, 0xce, 0xe2, 0x33, 0xf3, 0xbf, 0x63, 0x7b, 0xaa, 0x2e, 0xa7, 0xfc, 0xd7, 0xcd,
|
||||||
|
0xd2, 0xb7, 0xcb, 0x11, 0x15, 0x3f, 0x22, 0x76, 0xaa, 0x57, 0x9d, 0x7d, 0x6d, 0xb0, 0xff, 0x0e, 0xfb, 0x13, 0xea, 0x72,
|
||||||
|
0xde, 0x27, 0xff, 0x33, 0xd7, 0xff, 0xcf, 0x4f, 0x5f, 0x19, 0x7a, 0x0e, 0xf8, 0x15, 0x67, 0xa0, 0xd8, 0xfd, 0xff, 0xb3,
|
||||||
|
0xaf, 0x8b, 0x67, 0x3d, 0x97, 0x28, 0xf7, 0x3b, 0x59, 0xcf, 0xa9, 0xcb, 0x79, 0x9f, 0xbb, 0x3d, 0x33, 0xf7, 0xff, 0xfb,
|
||||||
|
0xee, 0x2c, 0x96, 0xe1, 0x1c, 0x67, 0x3c, 0xeb, 0xbf, 0x5c, 0x54, 0xc5, 0x38, 0xfa, 0xfd, 0x9f, 0x3b, 0x7d, 0xa3, 0x52,
|
||||||
|
0x7d, 0xd7, 0xd5, 0xc9, 0xb1, 0x16, 0xeb, 0x8f, 0xd6, 0x35, 0x55, 0x8c, 0x5f, 0xe7, 0xbf, 0xf5, 0x5d, 0x4a, 0x9e, 0x94,
|
||||||
|
0xff, 0x27, 0xec, 0x6d, 0xc7, 0x2c, 0xac, 0xf4, 0x97, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xd0, 0x3d, 0x43, 0xf3, 0xf8, 0xbb, 0xcd, 0x3b, 0xd7, 0x20, 0x05, 0x66, 0xe7, 0xe3, 0x3c, 0x63, 0x3e, 0x1e, 0x90, 0x3d,
|
||||||
|
0xb7, 0x71, 0xaf, 0x7a, 0xdc, 0x40, 0xee, 0xfc, 0x7f, 0xf9, 0x07, 0xf9, 0x97, 0x7f, 0x90, 0x7f, 0xf9, 0x07, 0xf9, 0xff,
|
||||||
|
0xf9, 0x97, 0x55, 0xfe, 0xe1, 0xe6, 0xf9, 0xaf, 0x4b, 0x6a, 0x9b, 0x03, 0x77, 0x39, 0x03, 0x44, 0xf2, 0x5f, 0xf4, 0xff,
|
||||||
|
0xe1, 0xb1, 0xdf, 0x01, 0x30, 0xfe, 0x07, 0xe3, 0x7f, 0xf9, 0x87, 0x77, 0xcc, 0x7f, 0xeb, 0xfb, 0xbf, 0x46, 0xff, 0xf0,
|
||||||
|
0x8c, 0xf1, 0xbf, 0x2d, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0xf2, 0xff, 0x3f, 0xdb, 0x01, 0xe4, 0x1f, 0x78, 0xbb, 0xfc, 0xff, 0x0b };
|
||||||
|
|
||||||
|
// Font glyphs rectangles data (on atlas)
|
||||||
|
static const Rectangle candyFontRecs[189] = {
|
||||||
|
{ 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 },
|
||||||
|
{ 242, 4, 6 , 9 },
|
||||||
|
{ 256, 4, 7 , 9 },
|
||||||
|
{ 271, 4, 6 , 9 },
|
||||||
|
{ 285, 4, 6 , 9 },
|
||||||
|
{ 299, 4, 6 , 9 },
|
||||||
|
{ 313, 4, 6 , 9 },
|
||||||
|
{ 327, 4, 6 , 9 },
|
||||||
|
{ 341, 4, 2 , 6 },
|
||||||
|
{ 351, 4, 2 , 7 },
|
||||||
|
{ 361, 4, 4 , 6 },
|
||||||
|
{ 373, 4, 5 , 3 },
|
||||||
|
{ 386, 4, 4 , 6 },
|
||||||
|
{ 398, 4, 6 , 9 },
|
||||||
|
{ 412, 4, 8 , 7 },
|
||||||
|
{ 428, 4, 6 , 9 },
|
||||||
|
{ 442, 4, 6 , 9 },
|
||||||
|
{ 456, 4, 6 , 9 },
|
||||||
|
{ 470, 4, 6 , 9 },
|
||||||
|
{ 484, 4, 6 , 9 },
|
||||||
|
{ 4, 27, 6 , 9 },
|
||||||
|
{ 18, 27, 6 , 9 },
|
||||||
|
{ 32, 27, 6 , 9 },
|
||||||
|
{ 46, 27, 2 , 9 },
|
||||||
|
{ 56, 27, 6 , 9 },
|
||||||
|
{ 70, 27, 6 , 9 },
|
||||||
|
{ 84, 27, 6 , 9 },
|
||||||
|
{ 98, 27, 8 , 9 },
|
||||||
|
{ 114, 27, 6 , 9 },
|
||||||
|
{ 128, 27, 6 , 9 },
|
||||||
|
{ 142, 27, 6 , 9 },
|
||||||
|
{ 156, 27, 6 , 9 },
|
||||||
|
{ 170, 27, 6 , 9 },
|
||||||
|
{ 184, 27, 6 , 9 },
|
||||||
|
{ 198, 27, 6 , 9 },
|
||||||
|
{ 212, 27, 6 , 9 },
|
||||||
|
{ 226, 27, 6 , 9 },
|
||||||
|
{ 240, 27, 8 , 9 },
|
||||||
|
{ 256, 27, 6 , 9 },
|
||||||
|
{ 270, 27, 6 , 9 },
|
||||||
|
{ 284, 27, 6 , 9 },
|
||||||
|
{ 298, 27, 3 , 11 },
|
||||||
|
{ 309, 27, 5 , 10 },
|
||||||
|
{ 322, 27, 3 , 11 },
|
||||||
|
{ 333, 27, 6 , 4 },
|
||||||
|
{ 347, 27, 6 , 1 },
|
||||||
|
{ 361, 27, 3 , 2 },
|
||||||
|
{ 372, 27, 6 , 7 },
|
||||||
|
{ 386, 27, 6 , 10 },
|
||||||
|
{ 400, 27, 6 , 7 },
|
||||||
|
{ 414, 27, 6 , 10 },
|
||||||
|
{ 428, 27, 6 , 7 },
|
||||||
|
{ 442, 27, 5 , 10 },
|
||||||
|
{ 455, 27, 7 , 10 },
|
||||||
|
{ 470, 27, 6 , 10 },
|
||||||
|
{ 484, 27, 2 , 10 },
|
||||||
|
{ 494, 27, 2 , 12 },
|
||||||
|
{ 4, 50, 6 , 10 },
|
||||||
|
{ 18, 50, 3 , 10 },
|
||||||
|
{ 29, 50, 8 , 7 },
|
||||||
|
{ 45, 50, 6 , 7 },
|
||||||
|
{ 59, 50, 6 , 7 },
|
||||||
|
{ 73, 50, 6 , 10 },
|
||||||
|
{ 87, 50, 6 , 10 },
|
||||||
|
{ 101, 50, 6 , 7 },
|
||||||
|
{ 115, 50, 6 , 7 },
|
||||||
|
{ 129, 50, 3 , 10 },
|
||||||
|
{ 140, 50, 6 , 7 },
|
||||||
|
{ 154, 50, 6 , 7 },
|
||||||
|
{ 168, 50, 8 , 7 },
|
||||||
|
{ 184, 50, 6 , 7 },
|
||||||
|
{ 198, 50, 6 , 10 },
|
||||||
|
{ 212, 50, 6 , 7 },
|
||||||
|
{ 226, 50, 4 , 11 },
|
||||||
|
{ 238, 50, 1 , 11 },
|
||||||
|
{ 247, 50, 4 , 11 },
|
||||||
|
{ 259, 50, 6 , 2 },
|
||||||
|
{ 273, 50, 2 , 10 },
|
||||||
|
{ 283, 50, 6 , 11 },
|
||||||
|
{ 297, 50, 8 , 9 },
|
||||||
|
{ 313, 50, 7 , 9 },
|
||||||
|
{ 328, 50, 6 , 9 },
|
||||||
|
{ 342, 50, 0 , 0 },
|
||||||
|
{ 350, 50, 6 , 11 },
|
||||||
|
{ 364, 50, 0 , 0 },
|
||||||
|
{ 372, 50, 8 , 8 },
|
||||||
|
{ 388, 50, 5 , 7 },
|
||||||
|
{ 401, 50, 7 , 6 },
|
||||||
|
{ 416, 50, 7 , 12 },
|
||||||
|
{ 431, 50, 8 , 8 },
|
||||||
|
{ 447, 50, 6 , 1 },
|
||||||
|
{ 461, 50, 4 , 5 },
|
||||||
|
{ 473, 50, 6 , 7 },
|
||||||
|
{ 487, 50, 3 , 5 },
|
||||||
|
{ 498, 50, 3 , 5 },
|
||||||
|
{ 4, 73, 0 , 0 },
|
||||||
|
{ 12, 73, 6 , 9 },
|
||||||
|
{ 26, 73, 6 , 9 },
|
||||||
|
{ 40, 73, 4 , 4 },
|
||||||
|
{ 52, 73, 0 , 0 },
|
||||||
|
{ 60, 73, 2 , 5 },
|
||||||
|
{ 70, 73, 4 , 7 },
|
||||||
|
{ 82, 73, 7 , 6 },
|
||||||
|
{ 97, 73, 10 , 9 },
|
||||||
|
{ 115, 73, 10 , 7 },
|
||||||
|
{ 133, 73, 0 , 0 },
|
||||||
|
{ 141, 73, 6 , 9 },
|
||||||
|
{ 155, 73, 6 , 12 },
|
||||||
|
{ 169, 73, 6 , 12 },
|
||||||
|
{ 183, 73, 6 , 12 },
|
||||||
|
{ 197, 73, 6 , 12 },
|
||||||
|
{ 211, 73, 6 , 11 },
|
||||||
|
{ 225, 73, 6 , 12 },
|
||||||
|
{ 239, 73, 10 , 9 },
|
||||||
|
{ 257, 73, 6 , 12 },
|
||||||
|
{ 271, 73, 6 , 12 },
|
||||||
|
{ 285, 73, 6 , 12 },
|
||||||
|
{ 299, 73, 6 , 12 },
|
||||||
|
{ 313, 73, 6 , 11 },
|
||||||
|
{ 327, 73, 3 , 12 },
|
||||||
|
{ 338, 73, 3 , 12 },
|
||||||
|
{ 349, 73, 4 , 12 },
|
||||||
|
{ 361, 73, 4 , 11 },
|
||||||
|
{ 373, 73, 8 , 9 },
|
||||||
|
{ 389, 73, 6 , 12 },
|
||||||
|
{ 403, 73, 6 , 12 },
|
||||||
|
{ 417, 73, 6 , 12 },
|
||||||
|
{ 431, 73, 6 , 12 },
|
||||||
|
{ 445, 73, 6 , 12 },
|
||||||
|
{ 459, 73, 6 , 11 },
|
||||||
|
{ 473, 73, 5 , 5 },
|
||||||
|
{ 486, 73, 9 , 10 },
|
||||||
|
{ 4, 96, 6 , 12 },
|
||||||
|
{ 18, 96, 6 , 12 },
|
||||||
|
{ 32, 96, 6 , 12 },
|
||||||
|
{ 46, 96, 6 , 11 },
|
||||||
|
{ 60, 96, 6 , 12 },
|
||||||
|
{ 74, 96, 7 , 12 },
|
||||||
|
{ 89, 96, 6 , 10 },
|
||||||
|
{ 103, 96, 6 , 10 },
|
||||||
|
{ 117, 96, 6 , 10 },
|
||||||
|
{ 131, 96, 6 , 10 },
|
||||||
|
{ 145, 96, 6 , 10 },
|
||||||
|
{ 159, 96, 6 , 9 },
|
||||||
|
{ 173, 96, 6 , 11 },
|
||||||
|
{ 187, 96, 10 , 7 },
|
||||||
|
{ 205, 96, 6 , 10 },
|
||||||
|
{ 219, 96, 6 , 10 },
|
||||||
|
{ 233, 96, 6 , 10 },
|
||||||
|
{ 247, 96, 6 , 10 },
|
||||||
|
{ 261, 96, 6 , 9 },
|
||||||
|
{ 275, 96, 3 , 10 },
|
||||||
|
{ 286, 96, 3 , 10 },
|
||||||
|
{ 297, 96, 4 , 10 },
|
||||||
|
{ 309, 96, 4 , 9 },
|
||||||
|
{ 321, 96, 7 , 12 },
|
||||||
|
{ 336, 96, 6 , 13 },
|
||||||
|
{ 350, 96, 6 , 10 },
|
||||||
|
{ 364, 96, 6 , 10 },
|
||||||
|
{ 378, 96, 6 , 10 },
|
||||||
|
{ 392, 96, 6 , 10 },
|
||||||
|
{ 406, 96, 6 , 9 },
|
||||||
|
{ 420, 96, 7 , 12 },
|
||||||
|
{ 435, 96, 8 , 8 },
|
||||||
|
{ 451, 96, 6 , 10 },
|
||||||
|
{ 465, 96, 6 , 10 },
|
||||||
|
{ 479, 96, 6 , 10 },
|
||||||
|
{ 493, 96, 6 , 9 },
|
||||||
|
{ 4, 119, 6 , 13 },
|
||||||
|
{ 18, 119, 7 , 12 },
|
||||||
|
{ 33, 119, 6 , 12 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// Font glyphs info data
|
||||||
|
// NOTE: No glyphs.image data provided
|
||||||
|
static const GlyphInfo candyFontGlyphs[189] = {
|
||||||
|
{ 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 }},
|
||||||
|
{ 161, 0, 3, 3, { 0 }},
|
||||||
|
{ 162, 0, 2, 7, { 0 }},
|
||||||
|
{ 163, 0, 3, 9, { 0 }},
|
||||||
|
{ 8364, 0, 3, 8, { 0 }},
|
||||||
|
{ 165, 0, 3, 7, { 0 }},
|
||||||
|
{ 352, 0, 12, 1, { 0 }},
|
||||||
|
{ 167, 0, 2, 7, { 0 }},
|
||||||
|
{ 353, 0, 12, 1, { 0 }},
|
||||||
|
{ 169, 0, 0, 9, { 0 }},
|
||||||
|
{ 170, 0, 0, 6, { 0 }},
|
||||||
|
{ 171, 1, 5, 9, { 0 }},
|
||||||
|
{ 172, 0, 0, 7, { 0 }},
|
||||||
|
{ 174, 0, 0, 9, { 0 }},
|
||||||
|
{ 175, 0, 0, 7, { 0 }},
|
||||||
|
{ 176, 0, 0, 5, { 0 }},
|
||||||
|
{ 177, 0, 4, 7, { 0 }},
|
||||||
|
{ 178, 0, 0, 4, { 0 }},
|
||||||
|
{ 179, 0, 0, 4, { 0 }},
|
||||||
|
{ 381, 0, 12, 1, { 0 }},
|
||||||
|
{ 181, 0, 5, 7, { 0 }},
|
||||||
|
{ 182, 0, 3, 7, { 0 }},
|
||||||
|
{ 183, 0, 6, 5, { 0 }},
|
||||||
|
{ 382, 0, 12, 1, { 0 }},
|
||||||
|
{ 185, 0, 0, 3, { 0 }},
|
||||||
|
{ 186, 0, 0, 5, { 0 }},
|
||||||
|
{ 187, 1, 5, 9, { 0 }},
|
||||||
|
{ 338, 0, 3, 11, { 0 }},
|
||||||
|
{ 339, 0, 5, 11, { 0 }},
|
||||||
|
{ 376, 0, 12, 1, { 0 }},
|
||||||
|
{ 191, 0, 4, 7, { 0 }},
|
||||||
|
{ 192, 0, 0, 7, { 0 }},
|
||||||
|
{ 193, 0, 0, 7, { 0 }},
|
||||||
|
{ 194, 0, 0, 7, { 0 }},
|
||||||
|
{ 195, 0, 0, 7, { 0 }},
|
||||||
|
{ 196, 0, 1, 7, { 0 }},
|
||||||
|
{ 197, 0, 0, 7, { 0 }},
|
||||||
|
{ 198, 0, 3, 11, { 0 }},
|
||||||
|
{ 199, 0, 3, 7, { 0 }},
|
||||||
|
{ 200, 0, 0, 7, { 0 }},
|
||||||
|
{ 201, 0, 0, 7, { 0 }},
|
||||||
|
{ 202, 0, 0, 7, { 0 }},
|
||||||
|
{ 203, 0, 1, 7, { 0 }},
|
||||||
|
{ 204, -1, 0, 3, { 0 }},
|
||||||
|
{ 205, 0, 0, 3, { 0 }},
|
||||||
|
{ 206, -1, 0, 3, { 0 }},
|
||||||
|
{ 207, -1, 1, 3, { 0 }},
|
||||||
|
{ 208, 0, 3, 9, { 0 }},
|
||||||
|
{ 209, 0, 0, 7, { 0 }},
|
||||||
|
{ 210, 0, 0, 7, { 0 }},
|
||||||
|
{ 211, 0, 0, 7, { 0 }},
|
||||||
|
{ 212, 0, 0, 7, { 0 }},
|
||||||
|
{ 213, 0, 0, 7, { 0 }},
|
||||||
|
{ 214, 0, 1, 7, { 0 }},
|
||||||
|
{ 215, 0, 7, 6, { 0 }},
|
||||||
|
{ 216, 0, 3, 10, { 0 }},
|
||||||
|
{ 217, 0, 0, 7, { 0 }},
|
||||||
|
{ 218, 0, 0, 7, { 0 }},
|
||||||
|
{ 219, 0, 0, 7, { 0 }},
|
||||||
|
{ 220, 0, 1, 7, { 0 }},
|
||||||
|
{ 221, 0, 0, 7, { 0 }},
|
||||||
|
{ 222, 0, 0, 7, { 0 }},
|
||||||
|
{ 223, 0, 3, 7, { 0 }},
|
||||||
|
{ 224, 0, 2, 7, { 0 }},
|
||||||
|
{ 225, 0, 2, 7, { 0 }},
|
||||||
|
{ 226, 0, 2, 7, { 0 }},
|
||||||
|
{ 227, 0, 2, 7, { 0 }},
|
||||||
|
{ 228, 0, 3, 7, { 0 }},
|
||||||
|
{ 229, 0, 1, 7, { 0 }},
|
||||||
|
{ 230, 0, 5, 11, { 0 }},
|
||||||
|
{ 231, 0, 5, 7, { 0 }},
|
||||||
|
{ 232, 0, 2, 7, { 0 }},
|
||||||
|
{ 233, 0, 2, 7, { 0 }},
|
||||||
|
{ 234, 0, 2, 7, { 0 }},
|
||||||
|
{ 235, 0, 3, 7, { 0 }},
|
||||||
|
{ 236, 0, 2, 4, { 0 }},
|
||||||
|
{ 237, 0, 2, 4, { 0 }},
|
||||||
|
{ 238, 0, 2, 4, { 0 }},
|
||||||
|
{ 239, 0, 3, 4, { 0 }},
|
||||||
|
{ 240, 0, 0, 7, { 0 }},
|
||||||
|
{ 241, 0, 2, 7, { 0 }},
|
||||||
|
{ 242, 0, 2, 7, { 0 }},
|
||||||
|
{ 243, 0, 2, 7, { 0 }},
|
||||||
|
{ 244, 0, 2, 7, { 0 }},
|
||||||
|
{ 245, 0, 2, 7, { 0 }},
|
||||||
|
{ 246, 0, 3, 7, { 0 }},
|
||||||
|
{ 247, 0, 0, 7, { 0 }},
|
||||||
|
{ 248, 0, 5, 9, { 0 }},
|
||||||
|
{ 249, 0, 2, 7, { 0 }},
|
||||||
|
{ 250, 0, 2, 7, { 0 }},
|
||||||
|
{ 251, 0, 2, 7, { 0 }},
|
||||||
|
{ 252, 0, 3, 7, { 0 }},
|
||||||
|
{ 253, 0, 2, 7, { 0 }},
|
||||||
|
{ 254, 0, 0, 7, { 0 }},
|
||||||
|
{ 255, 0, 3, 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_STYLE_FONT_ATLAS_COMP_SIZE, &candyFontDataSize);
|
||||||
|
Image imFont = { data, 512, 256, 1, 2 };
|
||||||
|
|
||||||
|
Font font = { 0 };
|
||||||
|
font.baseSize = 15;
|
||||||
|
font.glyphCount = 189;
|
||||||
|
|
||||||
|
// Load texture from image
|
||||||
|
font.texture = LoadTextureFromImage(imFont);
|
||||||
|
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 = (Rectangle *)RAYGUI_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 *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
memcpy(font.glyphs, candyFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
|
||||||
|
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 };
|
||||||
|
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
|
||||||
|
}
|
||||||
BIN
styles/candy/style_candy.old.rgs
Normal file
BIN
styles/candy/style_candy.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
styles/candy/style_candy.rgs
Normal file
27
styles/candy/style_candy.txt.rgs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#
|
||||||
|
# rgs style text file (v4.0) - raygui style file generated using rGuiStyler
|
||||||
|
#
|
||||||
|
# Provided info:
|
||||||
|
# f fontGenSize charsetFileName fontFileName
|
||||||
|
# p <controlId> <propertyId> <propertyValue> Property description
|
||||||
|
#
|
||||||
|
# WARNING: This style uses a custom font, must be provided with style file
|
||||||
|
#
|
||||||
|
f 15 charset.txt 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 LINE_COLOR
|
||||||
|
p 00 19 0xfff5e1ff BACKGROUND_COLOR
|
||||||
|
p 00 20 0x00000016 TEXT_LINE_SPACING
|
||||||
|
Before Width: | Height: | Size: 24 KiB |
@ -1,16 +1,27 @@
|
|||||||
style: cherry
|
## style: cherry
|
||||||
--------------
|
|
||||||
Sweet with a touch of liquour, covered in chocolate, just give it a try! Not suitable for every palate, only the most demanding.
|
Sweet with a touch of liquour, covered in chocolate, just give it a try! Not suitable for every palate, only the most demanding.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
screenshot
|
## style: provided files
|
||||||
-----------
|
|
||||||
|
Several options are provided to add the style to a `raygui` application, choose the one that better fits the project.
|
||||||
|
|
||||||
|
| file name | description |
|
||||||
|
| :-------- | :---------- |
|
||||||
|
| `style_cherry.rgs` | Binary style file (raygui 4.0), font data compressed (recs, glyphs) |
|
||||||
|
| `style_cherry.txt.rgs` | Text style file, no font data, requires external font provided |
|
||||||
|
| `style_cherry.old.rgs` | Binary style file (raygui 3.x), font data uncompressed (recs, glyphs) |
|
||||||
|
| `style_cherry.h` | Embeddable style as code file, self-contained, includes font data |
|
||||||
|
| `style_cherry.png` | Style table image, contains `rGSf` chunk with binary `rgs` file data |
|
||||||
|
|
||||||
|
## screenshot
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
about font
|
## about font
|
||||||
-----------
|
|
||||||
"Westington" font by Hazel Abbiati.
|
"Westington" font by Hazel Abbiati.
|
||||||
|
|
||||||
100% free font, downloaded from dafont.com: [westington](https://www.dafont.com/westington.font)
|
100% free font, downloaded from dafont.com: [westington](https://www.dafont.com/westington.font)
|
||||||
|
|||||||
1
styles/cherry/charset.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
|
||||||
@ -1,360 +0,0 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// //
|
|
||||||
// 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-2023 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);
|
|
||||||
UnloadImage(imFont); // Uncompressed 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 = (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
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
#
|
|
||||||
# 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
|
|
||||||
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 72 KiB |
617
styles/cherry/style_cherry.h
Normal file
@ -0,0 +1,617 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// StyleAsCode exporter v2.0 - 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-2023 raylib technologies (@raylibtech) //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define CHERRY_STYLE_PROPS_COUNT 17
|
||||||
|
|
||||||
|
// 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
|
||||||
|
{ 0, 20, 0x00000016 }, // DEFAULT_TEXT_LINE_SPACING
|
||||||
|
};
|
||||||
|
|
||||||
|
// WARNING: This style uses a custom font: "Westington.ttf" (size: 15, spacing: 0)
|
||||||
|
|
||||||
|
#define CHERRY_STYLE_FONT_ATLAS_COMP_SIZE 2821
|
||||||
|
|
||||||
|
// Font atlas image pixels data: DEFLATE compressed
|
||||||
|
static unsigned char cherryFontData[CHERRY_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
|
||||||
|
0xdd, 0x59, 0x92, 0xdc, 0xba, 0x11, 0x05, 0x50, 0xee, 0x7f, 0xd3, 0xd7, 0xe1, 0x70, 0x84, 0xed, 0x27, 0xa9, 0x09, 0x20,
|
||||||
|
0x91, 0x20, 0xab, 0x5b, 0x47, 0xe7, 0xaf, 0xa1, 0x1a, 0x38, 0x24, 0x26, 0x16, 0x12, 0xb9, 0x00, 0x00, 0x00, 0x00, 0xf2,
|
||||||
|
0xef, 0x7f, 0x5f, 0xfd, 0xf5, 0xcf, 0x65, 0xff, 0xff, 0xaa, 0xdc, 0xbe, 0x73, 0xfd, 0xb3, 0xb3, 0xf8, 0xae, 0x59, 0xf8,
|
||||||
|
0x7f, 0xf9, 0xf2, 0xbb, 0x64, 0xfa, 0x33, 0xd7, 0x8f, 0x7b, 0xfd, 0x58, 0xef, 0xce, 0xfd, 0xfa, 0x31, 0x5c, 0x37, 0x9f,
|
||||||
|
0xbf, 0xf6, 0xdd, 0x2a, 0xaf, 0xb9, 0x2f, 0x59, 0xbf, 0x7b, 0x3a, 0xae, 0xc8, 0xdc, 0x35, 0xb8, 0x3f, 0xa7, 0xd7, 0xf0,
|
||||||
|
0x95, 0xeb, 0xef, 0x9c, 0xe1, 0x59, 0x1c, 0x7f, 0xab, 0xb5, 0x1a, 0xe0, 0xeb, 0xbf, 0x8e, 0xee, 0xa6, 0x14, 0xee, 0xab,
|
||||||
|
0xff, 0xbd, 0x22, 0x8b, 0x65, 0xa3, 0xd7, 0xec, 0xdd, 0x57, 0x59, 0xa8, 0xa5, 0x2a, 0x57, 0x21, 0x8b, 0xe7, 0x61, 0xf5,
|
||||||
|
0xdc, 0xa5, 0x54, 0xff, 0x8c, 0xbe, 0x6d, 0x5a, 0x8e, 0xe7, 0xae, 0x24, 0xd3, 0x7f, 0x1d, 0xbf, 0xa2, 0xf2, 0x6e, 0x33,
|
||||||
|
0xf7, 0xd5, 0xdd, 0xab, 0xfb, 0xdf, 0x39, 0x53, 0xf7, 0xef, 0xd9, 0xf8, 0x1f, 0xd5, 0x97, 0xf7, 0xe7, 0xfb, 0xee, 0x28,
|
||||||
|
0xf2, 0xdf, 0xde, 0x45, 0xed, 0xbe, 0xdb, 0x89, 0xf4, 0xdc, 0xdc, 0x9d, 0x29, 0x9e, 0x8d, 0xfa, 0xff, 0xbb, 0x8f, 0x97,
|
||||||
|
0x14, 0x7b, 0x5e, 0x59, 0xb8, 0x4f, 0xb3, 0x54, 0xeb, 0xcd, 0xf4, 0x26, 0x2a, 0x35, 0xdd, 0x6e, 0x2f, 0x6a, 0xbf, 0xa7,
|
||||||
|
0xfb, 0xf5, 0x35, 0xb8, 0x3b, 0xdf, 0x99, 0x3c, 0x82, 0x94, 0xe2, 0xff, 0x5a, 0xac, 0xb1, 0x9f, 0x8a, 0xff, 0x71, 0xac,
|
||||||
|
0x8c, 0xe2, 0x29, 0xc3, 0x2b, 0x9c, 0x96, 0xef, 0x9f, 0x52, 0x8d, 0x76, 0x6a, 0x9c, 0x55, 0xbf, 0x7f, 0x66, 0xcf, 0x5e,
|
||||||
|
0x06, 0xa3, 0xb9, 0xee, 0x5e, 0xe8, 0x7c, 0xaf, 0x2f, 0xc5, 0xda, 0x75, 0xa5, 0x8f, 0x9f, 0xad, 0xde, 0xfa, 0x28, 0x7e,
|
||||||
|
0xb3, 0x5c, 0x17, 0x67, 0xa2, 0x3f, 0x74, 0xa2, 0x4f, 0xf2, 0x09, 0xf1, 0x9f, 0xc2, 0x08, 0xae, 0x5a, 0xc7, 0xa7, 0xa9,
|
||||||
|
0x6d, 0xce, 0xa1, 0xfa, 0xb5, 0x3b, 0xfe, 0xd7, 0xcb, 0xc6, 0x91, 0x91, 0xd6, 0x71, 0x58, 0x4a, 0x23, 0xe9, 0x7a, 0x1b,
|
||||||
|
0xbe, 0xfb, 0xda, 0xbb, 0xb9, 0xa2, 0x4c, 0xd4, 0x9e, 0x59, 0x9e, 0x01, 0xd8, 0x89, 0xff, 0xfe, 0xf1, 0x7f, 0x4a, 0xaf,
|
||||||
|
0x98, 0xab, 0x8d, 0x6b, 0x35, 0x71, 0x16, 0xbe, 0x59, 0x9a, 0x6a, 0xb6, 0x1c, 0x9d, 0x65, 0xbd, 0x1a, 0xe3, 0xbf, 0x36,
|
||||||
|
0x72, 0x4a, 0xdb, 0xdc, 0x44, 0x7d, 0xec, 0x96, 0xa6, 0xfb, 0x35, 0xad, 0xaf, 0xb8, 0x8f, 0xff, 0xbb, 0xf6, 0x7f, 0xbf,
|
||||||
|
0xff, 0xff, 0x7e, 0xfb, 0xdf, 0x3d, 0xfa, 0x9f, 0x9f, 0xc5, 0x18, 0x9f, 0xd3, 0xe7, 0xe2, 0xff, 0x64, 0xdf, 0xbf, 0x36,
|
||||||
|
0x96, 0x4f, 0x71, 0x9e, 0x32, 0x4d, 0x23, 0xf6, 0x94, 0x47, 0xe7, 0x69, 0x99, 0xd5, 0xe9, 0xab, 0xab, 0x53, 0xfe, 0x8c,
|
||||||
|
0xfa, 0x3c, 0xf6, 0x4f, 0x1d, 0xff, 0x67, 0xe9, 0xd9, 0xc0, 0xb8, 0x6f, 0x75, 0x77, 0x66, 0xd2, 0x3e, 0xff, 0xf7, 0xde,
|
||||||
|
0x53, 0xd6, 0xb5, 0x5a, 0x27, 0x85, 0x31, 0x76, 0x65, 0xd6, 0xbc, 0xfa, 0x34, 0xb1, 0xf3, 0xd9, 0xe4, 0xfb, 0xd7, 0xa9,
|
||||||
|
0x3a, 0xd7, 0x98, 0x72, 0xed, 0x9e, 0x89, 0x67, 0x3f, 0xeb, 0xb3, 0x0a, 0x4f, 0xf5, 0xa6, 0x66, 0xe6, 0x62, 0xae, 0xe2,
|
||||||
|
0xbc, 0x69, 0x0a, 0x3d, 0x9c, 0x4f, 0x8f, 0xff, 0x4f, 0xaa, 0x89, 0x3e, 0xf1, 0xf7, 0x27, 0x69, 0x1e, 0xe9, 0x77, 0x45,
|
||||||
|
0x40, 0x26, 0x46, 0xe2, 0x57, 0xa1, 0x9e, 0xfe, 0x0e, 0xcf, 0xff, 0xc7, 0xf1, 0x5f, 0x1d, 0xff, 0x67, 0xea, 0xf7, 0x18,
|
||||||
|
0x6b, 0xcf, 0x01, 0xf2, 0xe1, 0xad, 0xbf, 0x1a, 0xa0, 0x67, 0x4e, 0xfe, 0xe9, 0xfa, 0x39, 0x87, 0xc7, 0x85, 0x7f, 0xe3,
|
||||||
|
0x75, 0x05, 0xf7, 0x0f, 0x20, 0xfa, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x5e, 0x37,
|
||||||
|
0xb8, 0xbe, 0x16, 0xb1, 0x3b, 0x4b, 0x6b, 0xe5, 0xfd, 0x7e, 0x2f, 0x1d, 0xbd, 0x47, 0xf5, 0x68, 0x2b, 0xb9, 0xa0, 0x33,
|
||||||
|
0xf5, 0xdd, 0xb3, 0xbc, 0xa2, 0x73, 0x74, 0x34, 0xf9, 0xc7, 0x1a, 0xd5, 0x99, 0x73, 0xba, 0x73, 0x5d, 0xc6, 0x99, 0x77,
|
||||||
|
0x57, 0xf2, 0xfb, 0xae, 0xad, 0x06, 0x5e, 0x5d, 0x21, 0xd0, 0x99, 0xed, 0x60, 0xf6, 0xfa, 0x56, 0xee, 0xa8, 0x95, 0x4f,
|
||||||
|
0xdb, 0x59, 0x8b, 0x78, 0x9f, 0x81, 0xf9, 0x1a, 0x66, 0x88, 0xee, 0xca, 0x51, 0x97, 0x8d, 0x35, 0xfb, 0xbf, 0xdf, 0xc9,
|
||||||
|
0x95, 0x55, 0xdb, 0xe3, 0x7b, 0xaa, 0x92, 0x77, 0xa9, 0x9a, 0xb3, 0x39, 0x2d, 0x9f, 0x3b, 0xf3, 0xcd, 0xe6, 0x32, 0xfa,
|
||||||
|
0xd4, 0x33, 0xb6, 0x5f, 0x8b, 0xfb, 0x30, 0xac, 0xad, 0xe5, 0xce, 0xf2, 0x5a, 0xf8, 0xb4, 0xe5, 0x8b, 0x48, 0xf1, 0x3d,
|
||||||
|
0x6b, 0xf7, 0xda, 0x99, 0xec, 0x3f, 0xd5, 0x2c, 0x59, 0x67, 0xe2, 0x3f, 0xe5, 0xef, 0x92, 0xdb, 0x7b, 0xe2, 0x1a, 0x66,
|
||||||
|
0x28, 0xaa, 0x66, 0x5e, 0xca, 0x46, 0xbd, 0x96, 0x8d, 0xb5, 0xee, 0x5d, 0xf1, 0xbf, 0x13, 0xe1, 0xb3, 0xf9, 0x7b, 0xd3,
|
||||||
|
0xb2, 0xba, 0x7f, 0x25, 0x1b, 0x7a, 0xb5, 0x1f, 0xdc, 0x19, 0x21, 0x77, 0xc7, 0x9e, 0x8d, 0x33, 0x73, 0x26, 0xfe, 0xf3,
|
||||||
|
0x01, 0xf1, 0xbf, 0x53, 0x17, 0x7d, 0xcf, 0xf8, 0x4f, 0x43, 0xed, 0x9c, 0xd2, 0x15, 0xfa, 0x3d, 0x76, 0x2b, 0x7b, 0x59,
|
||||||
|
0x5c, 0xe5, 0x8c, 0xce, 0x69, 0x6e, 0x8f, 0x3a, 0xd6, 0x14, 0x3f, 0x19, 0xff, 0xeb, 0xf5, 0xcd, 0xa9, 0xf8, 0xbf, 0xdb,
|
||||||
|
0xad, 0x23, 0xa5, 0xdd, 0x9e, 0xfa, 0xf6, 0xc1, 0x5a, 0xa9, 0x8b, 0x32, 0x9d, 0x5b, 0xb4, 0x12, 0xff, 0x19, 0xee, 0xa0,
|
||||||
|
0x51, 0xd9, 0xb7, 0xa0, 0x9a, 0x0d, 0xb9, 0x23, 0xfe, 0xe7, 0xf3, 0x9b, 0x67, 0xb2, 0xee, 0xed, 0x88, 0xf3, 0x77, 0xe2,
|
||||||
|
0x7f, 0x74, 0x05, 0x53, 0xcc, 0xd6, 0xb7, 0x9e, 0xe5, 0x7b, 0xfc, 0x69, 0xbd, 0x59, 0xd4, 0x67, 0xf6, 0x9a, 0xc9, 0x37,
|
||||||
|
0x68, 0xff, 0xcf, 0xc7, 0x7f, 0xe5, 0x5d, 0x67, 0xe7, 0x66, 0xf2, 0x5a, 0xfc, 0x67, 0xbb, 0x85, 0x4f, 0xf3, 0xe8, 0xf2,
|
||||||
|
0x8d, 0xbc, 0x5f, 0x33, 0xf3, 0x05, 0xb5, 0x18, 0x4f, 0xeb, 0x78, 0xa3, 0xf6, 0x69, 0x27, 0x7a, 0x98, 0xeb, 0xf1, 0x9f,
|
||||||
|
0xa3, 0xe3, 0xff, 0x95, 0x4f, 0xa8, 0xf7, 0xff, 0xef, 0x3e, 0xbb, 0x77, 0xfe, 0xaf, 0x6b, 0xee, 0x69, 0xa6, 0xed, 0x4e,
|
||||||
|
0x43, 0x2f, 0xe2, 0x7c, 0xcd, 0x90, 0xd7, 0x9e, 0x91, 0x55, 0x3e, 0xff, 0x44, 0x44, 0x56, 0x63, 0xab, 0x1a, 0xff, 0xbd,
|
||||||
|
0xf3, 0xff, 0x1d, 0xf3, 0xcc, 0x73, 0x47, 0x9f, 0x42, 0xa4, 0xa6, 0x38, 0xbe, 0xca, 0xd6, 0x0c, 0x79, 0x36, 0xe2, 0x3f,
|
||||||
|
0x0d, 0xf1, 0x7f, 0xf7, 0xfc, 0x6e, 0x37, 0xfe, 0x33, 0x78, 0xbe, 0x91, 0x6f, 0x13, 0xff, 0x29, 0xc5, 0x7f, 0x9a, 0x23,
|
||||||
|
0x32, 0xe5, 0xd8, 0xba, 0x96, 0x9f, 0x4f, 0x9e, 0x79, 0xfe, 0x3f, 0x7e, 0xca, 0xba, 0xf3, 0x24, 0x79, 0xf6, 0x3b, 0xd5,
|
||||||
|
0x7f, 0xed, 0x30, 0x3a, 0x4b, 0x59, 0x8e, 0xb0, 0x94, 0x72, 0xf3, 0xcf, 0x8f, 0xf9, 0xb2, 0xd9, 0x4a, 0x8d, 0x6b, 0x88,
|
||||||
|
0x6a, 0x4e, 0xea, 0xd5, 0x7d, 0xd5, 0xf3, 0xfa, 0xbe, 0x36, 0xcf, 0xbc, 0x72, 0x67, 0xaf, 0x06, 0x39, 0x89, 0xf9, 0x19,
|
||||||
|
0xbf, 0x49, 0x73, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0xd6, 0x60,
|
||||||
|
0xa6, 0x94, 0xd5, 0x6b, 0xf6, 0x7f, 0x55, 0x73, 0x90, 0xe5, 0x36, 0xcb, 0xf4, 0xda, 0x5a, 0xdf, 0x0c, 0x8f, 0xb1, 0x63,
|
||||||
|
0xa5, 0xf4, 0xd9, 0x2c, 0xdc, 0xf3, 0xe7, 0xb6, 0x76, 0xf5, 0xb3, 0x98, 0xcf, 0x32, 0xed, 0x2b, 0xd3, 0xc7, 0xeb, 0xad,
|
||||||
|
0xef, 0xd7, 0xd0, 0xd7, 0x5f, 0x77, 0x15, 0x56, 0x38, 0xaf, 0x5e, 0xad, 0x99, 0x5c, 0xf1, 0x6f, 0xd4, 0x15, 0xd7, 0x44,
|
||||||
|
0x86, 0xbb, 0x9d, 0x1c, 0xfa, 0x77, 0xe7, 0xfe, 0xeb, 0xfb, 0xf5, 0xee, 0x7b, 0xf5, 0xe5, 0x2d, 0xbc, 0xb6, 0x33, 0xe8,
|
||||||
|
0x5e, 0x8f, 0x64, 0xe1, 0xce, 0xe2, 0x7d, 0x38, 0xfb, 0x3f, 0x47, 0x59, 0x04, 0x53, 0xc8, 0xf4, 0x71, 0xee, 0x78, 0x67,
|
||||||
|
0xf2, 0x3f, 0x8d, 0xf2, 0x3c, 0xfe, 0xf9, 0xef, 0x2b, 0xf7, 0x53, 0x2d, 0x67, 0x72, 0x06, 0xb9, 0x24, 0x7b, 0xd7, 0x5a,
|
||||||
|
0xe7, 0xf6, 0x5e, 0x5d, 0xef, 0x47, 0x9c, 0xb9, 0xa2, 0xf5, 0xf8, 0x5f, 0x6f, 0x77, 0x4e, 0xc5, 0xff, 0x7e, 0x16, 0xde,
|
||||||
|
0x9d, 0x1c, 0x3d, 0xfb, 0x7f, 0xbf, 0x6f, 0xfd, 0xaf, 0xe5, 0xde, 0xd9, 0xb5, 0x95, 0xeb, 0x76, 0x9c, 0x09, 0x67, 0x9c,
|
||||||
|
0x61, 0x6a, 0xf5, 0x38, 0xae, 0xc5, 0xfc, 0xce, 0x9f, 0x13, 0xff, 0x57, 0x29, 0xfe, 0xaf, 0x0f, 0x8a, 0xff, 0xbb, 0x76,
|
||||||
|
0xe7, 0x2a, 0xee, 0x27, 0x72, 0xd7, 0x33, 0xbb, 0x1a, 0xdb, 0x9c, 0xdf, 0x6b, 0xd5, 0x94, 0xfa, 0xc3, 0x29, 0x67, 0x4f,
|
||||||
|
0x7c, 0x2b, 0x07, 0xd7, 0x78, 0x77, 0x93, 0x71, 0xdf, 0xbf, 0x56, 0x53, 0xd6, 0x32, 0x31, 0xdd, 0x8f, 0x28, 0xb2, 0xb4,
|
||||||
|
0x3b, 0x41, 0x3d, 0x2f, 0x58, 0x0e, 0x64, 0x47, 0x59, 0xad, 0xe9, 0x53, 0xe8, 0xff, 0x5f, 0x5b, 0xfb, 0x48, 0x54, 0xf3,
|
||||||
|
0x1e, 0xd7, 0x72, 0xac, 0xa7, 0xd0, 0xee, 0xcc, 0xc4, 0xdf, 0x5e, 0x16, 0xde, 0x4c, 0x8e, 0xb2, 0xae, 0xc5, 0x3a, 0xf2,
|
||||||
|
0x6a, 0xab, 0x31, 0xd6, 0x7a, 0x98, 0xd9, 0x1a, 0x6d, 0xcd, 0xd4, 0x0d, 0x59, 0xdc, 0xab, 0xa1, 0xde, 0x5e, 0x54, 0xf2,
|
||||||
|
0xc9, 0xd5, 0x6b, 0x80, 0xbc, 0x36, 0xff, 0x77, 0x15, 0x32, 0xd5, 0xaf, 0xe5, 0xe6, 0xab, 0xcc, 0xbd, 0x55, 0x8e, 0xaf,
|
||||||
|
0x96, 0x73, 0x6f, 0x26, 0x6b, 0x7b, 0x4f, 0xfe, 0xe2, 0xd5, 0xf3, 0x73, 0x4d, 0xcd, 0x6a, 0xe5, 0xa5, 0xf6, 0x7f, 0x3d,
|
||||||
|
0x02, 0xe6, 0x76, 0xa5, 0xdc, 0xe9, 0xd5, 0x54, 0x33, 0x76, 0xf7, 0xf7, 0x7e, 0xde, 0x9f, 0xff, 0x5f, 0xcb, 0xe0, 0xfd,
|
||||||
|
0x59, 0xd9, 0x59, 0xd3, 0xf0, 0x3f, 0xfa, 0x3e, 0xeb, 0xed, 0x67, 0x38, 0x39, 0x5a, 0xfb, 0xf7, 0xc6, 0x7f, 0x8a, 0xe3,
|
||||||
|
0xc9, 0xd9, 0x7a, 0x38, 0x4b, 0x39, 0x87, 0xc7, 0xf3, 0x5b, 0xe7, 0xc6, 0x3f, 0x9f, 0x78, 0x3f, 0xed, 0xe4, 0xb2, 0x7f,
|
||||||
|
0xf6, 0x7b, 0xe6, 0xb1, 0x1e, 0xd3, 0x89, 0xd9, 0x97, 0xe7, 0xce, 0xc4, 0xda, 0x31, 0xa5, 0xf1, 0x8e, 0xad, 0xcd, 0xff,
|
||||||
|
0x65, 0x63, 0x8e, 0x6f, 0x77, 0xbf, 0xde, 0x14, 0x66, 0x15, 0xff, 0x86, 0x5f, 0x0a, 0x7c, 0x3d, 0x03, 0x91, 0xbf, 0x22,
|
||||||
|
0xf7, 0xf0, 0x4f, 0x3c, 0xc6, 0x8e, 0xe7, 0xff, 0xd5, 0x7e, 0x53, 0x6d, 0xe7, 0x80, 0xb9, 0x79, 0x9f, 0xca, 0xfc, 0x6e,
|
||||||
|
0x75, 0xcc, 0x08, 0x54, 0x9e, 0x31, 0x57, 0x76, 0x0e, 0xe8, 0x18, 0xc1, 0x65, 0xf9, 0xf9, 0x3f, 0xf0, 0x53, 0x6a, 0xa2,
|
||||||
|
0xda, 0xbc, 0x22, 0xf0, 0xfd, 0x47, 0x3b, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
|
||||||
|
0x9e, 0xbf, 0x88, 0x5e, 0x5f, 0xeb, 0xba, 0x9e, 0xeb, 0xb0, 0x9e, 0x71, 0x65, 0x76, 0x7d, 0xea, 0x55, 0xca, 0x1a, 0xb9,
|
||||||
|
0x97, 0x9b, 0x66, 0x2e, 0x5b, 0x73, 0x3d, 0x5b, 0x5d, 0x35, 0x43, 0xd6, 0x5e, 0xe9, 0xf8, 0x95, 0xf5, 0x57, 0x5f, 0xd3,
|
||||||
|
0xe7, 0x2d, 0xaf, 0x1c, 0x77, 0x16, 0x73, 0x18, 0xac, 0xdc, 0x53, 0xfd, 0xc7, 0xba, 0x77, 0x2e, 0xae, 0x62, 0x46, 0x9f,
|
||||||
|
0x4a, 0xb6, 0xe3, 0x4a, 0xbc, 0xde, 0xe5, 0x3b, 0xcd, 0xe2, 0x67, 0x65, 0x39, 0xa7, 0xf3, 0xa8, 0x16, 0xc9, 0x60, 0xc5,
|
||||||
|
0x68, 0x26, 0xd6, 0x9c, 0xee, 0xe5, 0x1b, 0xa8, 0x96, 0x8d, 0xaf, 0x7a, 0x3d, 0xcf, 0x49, 0x16, 0xeb, 0x8f, 0xb5, 0x1c,
|
||||||
|
0x7d, 0x27, 0x8f, 0x7b, 0x7d, 0x0d, 0x73, 0x96, 0x73, 0x64, 0x5d, 0x8b, 0xad, 0x4d, 0x26, 0xda, 0x87, 0xea, 0xb9, 0x98,
|
||||||
|
0x6d, 0x01, 0x57, 0xdb, 0xcd, 0xd5, 0x9a, 0xa4, 0x1a, 0xff, 0xd5, 0xcf, 0x3a, 0x13, 0xff, 0x77, 0xc7, 0x96, 0xdb, 0x9c,
|
||||||
|
0x13, 0xd9, 0xcc, 0x6f, 0xf8, 0x6c, 0xaf, 0xb0, 0xa7, 0xfd, 0x4d, 0x71, 0x8d, 0xfe, 0xf9, 0x75, 0x81, 0xa7, 0x56, 0x07,
|
||||||
|
0xd6, 0x73, 0x47, 0xbf, 0x71, 0x0f, 0xa4, 0x2d, 0x6b, 0xe4, 0x5c, 0x3e, 0xd6, 0xf5, 0xf8, 0x5f, 0x1d, 0x2f, 0xac, 0xe6,
|
||||||
|
0x33, 0xcc, 0x44, 0xeb, 0x34, 0xdb, 0xfe, 0x67, 0xeb, 0xea, 0x3f, 0xdf, 0xff, 0xbf, 0x36, 0xda, 0xd0, 0xb9, 0xd1, 0xc1,
|
||||||
|
0x6c, 0x1e, 0x8e, 0xd5, 0xbb, 0xa9, 0x5e, 0x3a, 0xce, 0x0d, 0xbc, 0xf7, 0xd7, 0xf1, 0xfd, 0x77, 0xf7, 0x4e, 0x95, 0x91,
|
||||||
|
0x52, 0xb6, 0x33, 0x36, 0x65, 0xf9, 0x6c, 0xdc, 0x1f, 0xf5, 0x7a, 0xce, 0xe5, 0xd5, 0xf8, 0x1f, 0xd5, 0x26, 0x6b, 0x23,
|
||||||
|
0xb8, 0x71, 0xfb, 0x3f, 0x93, 0x6b, 0x72, 0x6f, 0xb7, 0x8a, 0x1c, 0x89, 0xc3, 0x7a, 0xe9, 0xce, 0x4e, 0x27, 0x7f, 0xaa,
|
||||||
|
0x13, 0x53, 0xae, 0x99, 0x72, 0xac, 0xf4, 0xc4, 0xf8, 0x7f, 0x9c, 0x71, 0x24, 0x85, 0x7c, 0x25, 0x3b, 0xa3, 0xa8, 0xdd,
|
||||||
|
0xf6, 0xa5, 0xe3, 0xdd, 0xb2, 0xb5, 0x97, 0xc3, 0xb9, 0x6f, 0xdd, 0x31, 0xfe, 0x3f, 0x3b, 0xff, 0xb7, 0xbf, 0xe3, 0x58,
|
||||||
|
0xcf, 0x6e, 0x45, 0xab, 0xb5, 0xd9, 0xaf, 0xe7, 0x22, 0x1f, 0xd2, 0xab, 0xa9, 0xd5, 0x0e, 0xfb, 0x7f, 0x1d, 0xcf, 0x59,
|
||||||
|
0xe7, 0xa5, 0xf8, 0xef, 0x1d, 0x09, 0xe5, 0xc0, 0xfc, 0xe4, 0xf3, 0xd1, 0xbf, 0x32, 0xfe, 0xef, 0x98, 0x31, 0xab, 0xee,
|
||||||
|
0x38, 0x72, 0xb6, 0xb4, 0xb2, 0xe3, 0xea, 0xfc, 0x3d, 0xf9, 0x44, 0x0b, 0xdf, 0xb5, 0x4f, 0xc2, 0x4f, 0x8d, 0xff, 0x37,
|
||||||
|
0xf7, 0x18, 0xd9, 0x89, 0xff, 0xf3, 0x59, 0x9a, 0xf3, 0x87, 0x79, 0xbd, 0xdd, 0x4f, 0x1c, 0xed, 0x11, 0x9b, 0xf6, 0x38,
|
||||||
|
0xdc, 0x8f, 0xe1, 0x9d, 0xd2, 0xb9, 0x7d, 0x78, 0x6a, 0x51, 0xba, 0x53, 0xfa, 0x56, 0xfb, 0x3f, 0x33, 0x0b, 0xf5, 0x74,
|
||||||
|
0xfc, 0x77, 0xce, 0x86, 0xe6, 0x50, 0xeb, 0xb8, 0x3e, 0x9a, 0xe8, 0x9f, 0x1b, 0xed, 0xf8, 0xc4, 0x6a, 0xcb, 0xf0, 0x4e,
|
||||||
|
0xff, 0xbf, 0xfe, 0xfb, 0x8b, 0x7f, 0xce, 0x66, 0xa5, 0x38, 0xab, 0xf5, 0x93, 0xc6, 0xff, 0xd7, 0xd4, 0xae, 0x51, 0x79,
|
||||||
|
0x69, 0xfc, 0xff, 0x19, 0xaf, 0xff, 0x7b, 0x7f, 0x81, 0x75, 0x1d, 0x6e, 0x87, 0x9f, 0x2e, 0x3d, 0xdf, 0x63, 0xdc, 0x2b,
|
||||||
|
0xcd, 0x2b, 0xed, 0xff, 0xdc, 0x48, 0xf4, 0xbd, 0xf8, 0xef, 0xea, 0x2f, 0xab, 0x09, 0x3a, 0xe7, 0x59, 0xde, 0x6d, 0xc3,
|
||||||
|
0x6b, 0xbb, 0x38, 0xee, 0xfd, 0xda, 0x66, 0x76, 0x74, 0x50, 0x2b, 0xcd, 0xe1, 0xf1, 0xff, 0xee, 0x55, 0xae, 0x1c, 0xcf,
|
||||||
|
0xa7, 0xc4, 0xbf, 0xbc, 0xea, 0xa7, 0xea, 0x8c, 0x4a, 0x1c, 0x3e, 0x15, 0xc3, 0xcf, 0xdf, 0x4d, 0x7b, 0xcf, 0xff, 0xd7,
|
||||||
|
0xeb, 0xe8, 0xb5, 0xe7, 0xff, 0x3b, 0x2d, 0xc3, 0xd3, 0xcf, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x80, 0xef, 0xb7, 0xfe, 0x6c, 0x9c, 0x99, 0xa6, 0x9e, 0xd5, 0x7b, 0x37, 0x2b, 0xc0, 0xde, 0x11, 0xa5, 0xb4, 0xf6,
|
||||||
|
0x6c, 0x36, 0xb7, 0x75, 0xf7, 0xfa, 0xb4, 0x7a, 0x7e, 0xf0, 0x6c, 0xac, 0x3a, 0xac, 0xff, 0xba, 0xfc, 0xd4, 0x71, 0x9e,
|
||||||
|
0xca, 0xc2, 0x55, 0xb9, 0x1f, 0x9e, 0xbb, 0x96, 0x69, 0xbf, 0xc2, 0xb3, 0xef, 0x51, 0xcd, 0x05, 0x9d, 0xa5, 0x1c, 0x10,
|
||||||
|
0xab, 0x71, 0x96, 0xcd, 0x0c, 0xf5, 0xf5, 0xb5, 0x67, 0xb3, 0xb5, 0x4e, 0x6f, 0xe6, 0xea, 0x6c, 0xe4, 0x87, 0xae, 0x9f,
|
||||||
|
0xa3, 0x9d, 0xd5, 0xa5, 0xdd, 0xc7, 0xb9, 0x7e, 0xc5, 0x3a, 0x72, 0x73, 0x67, 0xe3, 0xcc, 0x67, 0xf9, 0xcc, 0x64, 0x50,
|
||||||
|
0x3b, 0xe5, 0x91, 0x75, 0xa5, 0xbd, 0x99, 0x0b, 0x56, 0x57, 0x34, 0x3e, 0xb7, 0xd6, 0xb6, 0xbe, 0x0a, 0x6c, 0x37, 0xbf,
|
||||||
|
0xd5, 0x73, 0xfd, 0xb7, 0x6a, 0x5f, 0xe4, 0xd7, 0xa3, 0xcc, 0x07, 0xe4, 0x74, 0x38, 0xbb, 0x9a, 0xed, 0xcc, 0x5e, 0x23,
|
||||||
|
0xe7, 0xbf, 0xe1, 0xde, 0xde, 0x21, 0x3b, 0x6b, 0x08, 0x53, 0xec, 0x51, 0x8d, 0x32, 0x1a, 0xdc, 0xc7, 0xe7, 0x6e, 0xf9,
|
||||||
|
0x5c, 0x0e, 0xb8, 0x6b, 0x22, 0x33, 0x6d, 0x0a, 0xd9, 0x2f, 0x32, 0x58, 0xd7, 0xde, 0x5d, 0x56, 0xbb, 0x47, 0x67, 0xf2,
|
||||||
|
0x96, 0xe7, 0xc0, 0x1d, 0x75, 0xbd, 0x98, 0x9b, 0xeb, 0x5a, 0x6e, 0x93, 0x53, 0x6c, 0x7b, 0x3b, 0x4b, 0x3a, 0xea, 0xe7,
|
||||||
|
0x6a, 0x2f, 0x6f, 0xa6, 0x6c, 0x3d, 0xa3, 0xe1, 0x4c, 0xcf, 0xf2, 0x99, 0xf2, 0xf5, 0x5c, 0xe6, 0xb3, 0xd9, 0x6f, 0xf2,
|
||||||
|
0x58, 0x59, 0xca, 0x77, 0xdb, 0x35, 0x91, 0x87, 0xff, 0xd4, 0x5d, 0xf3, 0x7c, 0x36, 0x8b, 0x4a, 0x0d, 0x5a, 0xcb, 0x91,
|
||||||
|
0xf8, 0x5c, 0xc9, 0x6c, 0xae, 0x83, 0x13, 0x57, 0xeb, 0x2a, 0xde, 0x39, 0x9f, 0x11, 0xff, 0xb9, 0xbd, 0xe6, 0xd7, 0x56,
|
||||||
|
0xdd, 0xd6, 0xdd, 0x2e, 0xce, 0xb4, 0x99, 0xf5, 0x7a, 0xa3, 0xfa, 0xb9, 0xb5, 0xac, 0x34, 0x73, 0xd9, 0x79, 0xae, 0xe9,
|
||||||
|
0x91, 0x7e, 0x65, 0x8f, 0xca, 0x95, 0x4f, 0xad, 0xb4, 0x03, 0x4f, 0x95, 0x54, 0x46, 0x30, 0x4f, 0xc5, 0xff, 0x67, 0xb4,
|
||||||
|
0xef, 0xb5, 0xdd, 0x0d, 0xc7, 0xe3, 0xff, 0x94, 0x7b, 0x45, 0xfd, 0x65, 0x29, 0xcf, 0xde, 0x74, 0xcc, 0x0b, 0xa5, 0xb5,
|
||||||
|
0xec, 0x6a, 0x9a, 0x9f, 0xaf, 0xec, 0x66, 0xf7, 0xb9, 0xf1, 0x5f, 0xdd, 0x3b, 0xe6, 0xad, 0xf8, 0xcf, 0xc7, 0xb7, 0xff,
|
||||||
|
0xeb, 0xbb, 0x9b, 0xfe, 0xf9, 0x19, 0x55, 0x4a, 0x3d, 0x8b, 0xce, 0xb2, 0xab, 0xb8, 0xef, 0xda, 0x6e, 0xaf, 0xf9, 0xc4,
|
||||||
|
0xf8, 0x66, 0x36, 0x27, 0xf0, 0x93, 0xf1, 0x5f, 0xb9, 0x2a, 0xbd, 0x25, 0xbb, 0x33, 0x43, 0x6f, 0xb4, 0xff, 0xf3, 0xcf,
|
||||||
|
0x0d, 0xde, 0x8a, 0xff, 0xea, 0xf3, 0xff, 0x99, 0xbd, 0x3c, 0x4f, 0xb4, 0x8c, 0x95, 0x96, 0xfc, 0xec, 0x3e, 0x09, 0x27,
|
||||||
|
0xc6, 0x39, 0xa7, 0xdb, 0xff, 0xca, 0x78, 0xe4, 0x1a, 0xee, 0xfc, 0x7e, 0xba, 0xe4, 0xda, 0x9e, 0xf9, 0xfd, 0xb4, 0x19,
|
||||||
|
0x99, 0xa7, 0xc6, 0xf7, 0x9f, 0xb5, 0xdf, 0xea, 0xf5, 0xda, 0xf3, 0xb4, 0x9f, 0x70, 0xac, 0x1d, 0x33, 0x00, 0xcf, 0x3f,
|
||||||
|
0x73, 0xfc, 0xb4, 0x73, 0x57, 0xdd, 0x89, 0xe5, 0xb9, 0xef, 0xd3, 0x51, 0x3e, 0xf3, 0xbd, 0xe5, 0x4c, 0xe5, 0x6f, 0xfa,
|
||||||
|
0xf5, 0xef, 0x67, 0xe5, 0x10, 0x1e, 0xff, 0x86, 0x76, 0xaf, 0xfc, 0xb9, 0xdf, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xa9, 0xdf, 0xde, 0xd7, 0xd7, 0xbd, 0x57, 0xd7, 0x7c, 0xf7, 0x67, 0xe2, 0x8e, 0x35,
|
||||||
|
0x3c, 0xd0, 0xb6, 0x16, 0x34, 0x93, 0xb9, 0xe0, 0xba, 0x63, 0x31, 0x5b, 0x99, 0x4d, 0x80, 0xf9, 0x36, 0xff, 0x8d, 0x75,
|
||||||
|
0x7e, 0xd5, 0xcf, 0xcd, 0x30, 0xf3, 0x82, 0x55, 0x7c, 0x30, 0x1f, 0xff, 0x19, 0xe6, 0x32, 0xea, 0x2e, 0xbd, 0x26, 0xb2,
|
||||||
|
0x0b, 0x5c, 0x85, 0xfc, 0x55, 0xd1, 0x47, 0x80, 0xa5, 0xf8, 0x9f, 0xc9, 0xc8, 0xfd, 0x49, 0xa5, 0x29, 0xef, 0x3e, 0x06,
|
||||||
|
0xfc, 0x79, 0x94, 0xfd, 0xbd, 0xe2, 0x7f, 0x27, 0x7f, 0x3d, 0xf0, 0x7e, 0xfc, 0xa7, 0x58, 0x5a, 0xcf, 0x15, 0x0b, 0xfc,
|
||||||
|
0xda, 0xfb, 0x9f, 0x99, 0xfd, 0x4f, 0x7b, 0xe9, 0xd5, 0xb0, 0xc7, 0x44, 0xf5, 0xa9, 0x24, 0xd0, 0xf1, 0x7c, 0x70, 0xa7,
|
||||||
|
0xb4, 0xfe, 0x9b, 0x84, 0x99, 0xe7, 0x19, 0xae, 0x1c, 0x7c, 0xff, 0xe7, 0x92, 0xb5, 0xfa, 0xca, 0x19, 0x84, 0xef, 0xdf,
|
||||||
|
0xef, 0x70, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 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, 0x79, 0xff, 0xf9, 0xe7, 0x3c, 0x80, 0xf8, 0x07, 0xfe, 0xba, 0xf8, 0xff, 0x17 };
|
||||||
|
|
||||||
|
// Font glyphs rectangles data (on atlas)
|
||||||
|
static const Rectangle cherryFontRecs[189] = {
|
||||||
|
{ 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 },
|
||||||
|
{ 246, 4, 5 , 8 },
|
||||||
|
{ 259, 4, 5 , 8 },
|
||||||
|
{ 272, 4, 5 , 8 },
|
||||||
|
{ 285, 4, 5 , 8 },
|
||||||
|
{ 298, 4, 5 , 8 },
|
||||||
|
{ 311, 4, 5 , 8 },
|
||||||
|
{ 324, 4, 5 , 8 },
|
||||||
|
{ 337, 4, 3 , 10 },
|
||||||
|
{ 348, 4, 3 , 12 },
|
||||||
|
{ 359, 4, 6 , 7 },
|
||||||
|
{ 373, 4, 6 , 4 },
|
||||||
|
{ 387, 4, 6 , 7 },
|
||||||
|
{ 401, 4, 5 , 10 },
|
||||||
|
{ 414, 4, 8 , 10 },
|
||||||
|
{ 430, 4, 7 , 9 },
|
||||||
|
{ 445, 4, 7 , 9 },
|
||||||
|
{ 460, 4, 6 , 9 },
|
||||||
|
{ 474, 4, 6 , 9 },
|
||||||
|
{ 488, 4, 7 , 9 },
|
||||||
|
{ 4, 27, 6 , 9 },
|
||||||
|
{ 18, 27, 6 , 9 },
|
||||||
|
{ 32, 27, 7 , 9 },
|
||||||
|
{ 47, 27, 3 , 9 },
|
||||||
|
{ 58, 27, 6 , 9 },
|
||||||
|
{ 72, 27, 7 , 9 },
|
||||||
|
{ 87, 27, 7 , 9 },
|
||||||
|
{ 102, 27, 11 , 9 },
|
||||||
|
{ 121, 27, 8 , 9 },
|
||||||
|
{ 137, 27, 6 , 9 },
|
||||||
|
{ 151, 27, 6 , 9 },
|
||||||
|
{ 165, 27, 7 , 9 },
|
||||||
|
{ 180, 27, 7 , 9 },
|
||||||
|
{ 195, 27, 6 , 9 },
|
||||||
|
{ 209, 27, 7 , 9 },
|
||||||
|
{ 224, 27, 8 , 9 },
|
||||||
|
{ 240, 27, 9 , 9 },
|
||||||
|
{ 257, 27, 11 , 9 },
|
||||||
|
{ 276, 27, 7 , 9 },
|
||||||
|
{ 291, 27, 7 , 9 },
|
||||||
|
{ 306, 27, 7 , 9 },
|
||||||
|
{ 321, 27, 3 , 9 },
|
||||||
|
{ 332, 27, 4 , 10 },
|
||||||
|
{ 344, 27, 3 , 9 },
|
||||||
|
{ 355, 27, 3 , 3 },
|
||||||
|
{ 366, 27, 7 , 2 },
|
||||||
|
{ 381, 27, 2 , 2 },
|
||||||
|
{ 391, 27, 6 , 6 },
|
||||||
|
{ 405, 27, 6 , 9 },
|
||||||
|
{ 419, 27, 6 , 6 },
|
||||||
|
{ 433, 27, 6 , 9 },
|
||||||
|
{ 447, 27, 6 , 6 },
|
||||||
|
{ 461, 27, 5 , 9 },
|
||||||
|
{ 474, 27, 5 , 9 },
|
||||||
|
{ 487, 27, 7 , 9 },
|
||||||
|
{ 4, 50, 3 , 7 },
|
||||||
|
{ 15, 50, 3 , 8 },
|
||||||
|
{ 26, 50, 6 , 9 },
|
||||||
|
{ 40, 50, 4 , 9 },
|
||||||
|
{ 52, 50, 11 , 6 },
|
||||||
|
{ 71, 50, 7 , 6 },
|
||||||
|
{ 86, 50, 5 , 6 },
|
||||||
|
{ 99, 50, 6 , 8 },
|
||||||
|
{ 113, 50, 6 , 8 },
|
||||||
|
{ 127, 50, 5 , 6 },
|
||||||
|
{ 140, 50, 5 , 6 },
|
||||||
|
{ 153, 50, 5 , 9 },
|
||||||
|
{ 166, 50, 7 , 6 },
|
||||||
|
{ 181, 50, 7 , 6 },
|
||||||
|
{ 196, 50, 11 , 6 },
|
||||||
|
{ 215, 50, 7 , 6 },
|
||||||
|
{ 230, 50, 7 , 8 },
|
||||||
|
{ 245, 50, 6 , 6 },
|
||||||
|
{ 259, 50, 5 , 9 },
|
||||||
|
{ 272, 50, 1 , 9 },
|
||||||
|
{ 281, 50, 5 , 9 },
|
||||||
|
{ 294, 50, 7 , 3 },
|
||||||
|
{ 309, 50, 3 , 10 },
|
||||||
|
{ 320, 50, 7 , 10 },
|
||||||
|
{ 335, 50, 7 , 10 },
|
||||||
|
{ 350, 50, 6 , 9 },
|
||||||
|
{ 364, 50, 7 , 9 },
|
||||||
|
{ 379, 50, 6 , 12 },
|
||||||
|
{ 393, 50, 7 , 11 },
|
||||||
|
{ 408, 50, 5 , 9 },
|
||||||
|
{ 421, 50, 5 , 5 },
|
||||||
|
{ 434, 50, 4 , 5 },
|
||||||
|
{ 446, 50, 6 , 7 },
|
||||||
|
{ 460, 50, 6 , 3 },
|
||||||
|
{ 474, 50, 5 , 5 },
|
||||||
|
{ 487, 50, 6 , 1 },
|
||||||
|
{ 4, 73, 3 , 3 },
|
||||||
|
{ 15, 73, 7 , 10 },
|
||||||
|
{ 30, 73, 3 , 5 },
|
||||||
|
{ 41, 73, 3 , 5 },
|
||||||
|
{ 52, 73, 7 , 12 },
|
||||||
|
{ 67, 73, 6 , 8 },
|
||||||
|
{ 81, 73, 7 , 9 },
|
||||||
|
{ 96, 73, 2 , 3 },
|
||||||
|
{ 106, 73, 6 , 9 },
|
||||||
|
{ 120, 73, 3 , 5 },
|
||||||
|
{ 131, 73, 3 , 5 },
|
||||||
|
{ 142, 73, 6 , 7 },
|
||||||
|
{ 156, 73, 13 , 9 },
|
||||||
|
{ 177, 73, 10 , 6 },
|
||||||
|
{ 195, 73, 7 , 11 },
|
||||||
|
{ 210, 73, 5 , 10 },
|
||||||
|
{ 223, 73, 7 , 12 },
|
||||||
|
{ 238, 73, 7 , 12 },
|
||||||
|
{ 253, 73, 7 , 12 },
|
||||||
|
{ 268, 73, 7 , 12 },
|
||||||
|
{ 283, 73, 7 , 11 },
|
||||||
|
{ 298, 73, 7 , 11 },
|
||||||
|
{ 313, 73, 12 , 9 },
|
||||||
|
{ 333, 73, 6 , 11 },
|
||||||
|
{ 347, 73, 7 , 12 },
|
||||||
|
{ 362, 73, 7 , 12 },
|
||||||
|
{ 377, 73, 7 , 12 },
|
||||||
|
{ 392, 73, 7 , 11 },
|
||||||
|
{ 407, 73, 3 , 12 },
|
||||||
|
{ 418, 73, 3 , 12 },
|
||||||
|
{ 429, 73, 3 , 12 },
|
||||||
|
{ 440, 73, 3 , 11 },
|
||||||
|
{ 451, 73, 7 , 9 },
|
||||||
|
{ 466, 73, 8 , 12 },
|
||||||
|
{ 482, 73, 6 , 12 },
|
||||||
|
{ 496, 73, 6 , 12 },
|
||||||
|
{ 4, 96, 6 , 12 },
|
||||||
|
{ 18, 96, 6 , 12 },
|
||||||
|
{ 32, 96, 6 , 11 },
|
||||||
|
{ 46, 96, 5 , 5 },
|
||||||
|
{ 59, 96, 8 , 9 },
|
||||||
|
{ 75, 96, 8 , 12 },
|
||||||
|
{ 91, 96, 8 , 12 },
|
||||||
|
{ 107, 96, 8 , 12 },
|
||||||
|
{ 123, 96, 8 , 11 },
|
||||||
|
{ 139, 96, 7 , 12 },
|
||||||
|
{ 154, 96, 7 , 9 },
|
||||||
|
{ 169, 96, 8 , 9 },
|
||||||
|
{ 185, 96, 6 , 9 },
|
||||||
|
{ 199, 96, 6 , 9 },
|
||||||
|
{ 213, 96, 6 , 9 },
|
||||||
|
{ 227, 96, 6 , 9 },
|
||||||
|
{ 241, 96, 6 , 8 },
|
||||||
|
{ 255, 96, 6 , 10 },
|
||||||
|
{ 269, 96, 10 , 6 },
|
||||||
|
{ 287, 96, 6 , 8 },
|
||||||
|
{ 301, 96, 6 , 9 },
|
||||||
|
{ 315, 96, 6 , 9 },
|
||||||
|
{ 329, 96, 6 , 9 },
|
||||||
|
{ 343, 96, 6 , 8 },
|
||||||
|
{ 357, 96, 3 , 10 },
|
||||||
|
{ 368, 96, 3 , 10 },
|
||||||
|
{ 379, 96, 3 , 10 },
|
||||||
|
{ 390, 96, 3 , 9 },
|
||||||
|
{ 401, 96, 6 , 10 },
|
||||||
|
{ 415, 96, 7 , 9 },
|
||||||
|
{ 430, 96, 5 , 9 },
|
||||||
|
{ 443, 96, 5 , 9 },
|
||||||
|
{ 456, 96, 5 , 9 },
|
||||||
|
{ 469, 96, 5 , 9 },
|
||||||
|
{ 482, 96, 5 , 8 },
|
||||||
|
{ 495, 96, 7 , 9 },
|
||||||
|
{ 4, 119, 8 , 8 },
|
||||||
|
{ 20, 119, 7 , 9 },
|
||||||
|
{ 35, 119, 7 , 9 },
|
||||||
|
{ 50, 119, 7 , 9 },
|
||||||
|
{ 65, 119, 7 , 8 },
|
||||||
|
{ 80, 119, 7 , 11 },
|
||||||
|
{ 95, 119, 5 , 8 },
|
||||||
|
{ 108, 119, 7 , 10 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// Font glyphs info data
|
||||||
|
// NOTE: No glyphs.image data provided
|
||||||
|
static const GlyphInfo cherryFontGlyphs[189] = {
|
||||||
|
{ 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 }},
|
||||||
|
{ 161, 0, 4, 4, { 0 }},
|
||||||
|
{ 162, 0, 4, 8, { 0 }},
|
||||||
|
{ 163, 0, 2, 8, { 0 }},
|
||||||
|
{ 8364, 0, 3, 7, { 0 }},
|
||||||
|
{ 165, 0, 3, 8, { 0 }},
|
||||||
|
{ 352, 0, 0, 7, { 0 }},
|
||||||
|
{ 167, 0, 2, 8, { 0 }},
|
||||||
|
{ 353, 0, 3, 6, { 0 }},
|
||||||
|
{ 169, 0, 1, 6, { 0 }},
|
||||||
|
{ 170, 0, 2, 5, { 0 }},
|
||||||
|
{ 171, 0, 5, 7, { 0 }},
|
||||||
|
{ 172, 0, 6, 7, { 0 }},
|
||||||
|
{ 174, 0, 1, 6, { 0 }},
|
||||||
|
{ 175, 0, 2, 7, { 0 }},
|
||||||
|
{ 176, 0, 2, 4, { 0 }},
|
||||||
|
{ 177, 0, 3, 8, { 0 }},
|
||||||
|
{ 178, 0, 2, 4, { 0 }},
|
||||||
|
{ 179, 0, 2, 4, { 0 }},
|
||||||
|
{ 381, 0, 0, 8, { 0 }},
|
||||||
|
{ 181, 0, 6, 7, { 0 }},
|
||||||
|
{ 182, 0, 3, 8, { 0 }},
|
||||||
|
{ 183, 0, 6, 3, { 0 }},
|
||||||
|
{ 382, 0, 3, 7, { 0 }},
|
||||||
|
{ 185, 0, 2, 4, { 0 }},
|
||||||
|
{ 186, 0, 2, 4, { 0 }},
|
||||||
|
{ 187, 0, 5, 7, { 0 }},
|
||||||
|
{ 338, 0, 3, 14, { 0 }},
|
||||||
|
{ 339, 0, 6, 11, { 0 }},
|
||||||
|
{ 376, 0, 1, 8, { 0 }},
|
||||||
|
{ 191, 0, 4, 6, { 0 }},
|
||||||
|
{ 192, 0, 0, 8, { 0 }},
|
||||||
|
{ 193, 0, 0, 8, { 0 }},
|
||||||
|
{ 194, 0, 0, 8, { 0 }},
|
||||||
|
{ 195, 0, 0, 8, { 0 }},
|
||||||
|
{ 196, 0, 1, 8, { 0 }},
|
||||||
|
{ 197, 0, 1, 8, { 0 }},
|
||||||
|
{ 198, 0, 3, 13, { 0 }},
|
||||||
|
{ 199, 0, 3, 7, { 0 }},
|
||||||
|
{ 200, 0, 0, 8, { 0 }},
|
||||||
|
{ 201, 0, 0, 8, { 0 }},
|
||||||
|
{ 202, 0, 0, 8, { 0 }},
|
||||||
|
{ 203, 0, 1, 8, { 0 }},
|
||||||
|
{ 204, 0, 0, 4, { 0 }},
|
||||||
|
{ 205, 0, 0, 4, { 0 }},
|
||||||
|
{ 206, 0, 0, 4, { 0 }},
|
||||||
|
{ 207, 0, 1, 4, { 0 }},
|
||||||
|
{ 208, 0, 3, 8, { 0 }},
|
||||||
|
{ 209, 0, 0, 9, { 0 }},
|
||||||
|
{ 210, 0, 0, 7, { 0 }},
|
||||||
|
{ 211, 0, 0, 7, { 0 }},
|
||||||
|
{ 212, 0, 0, 7, { 0 }},
|
||||||
|
{ 213, 0, 0, 7, { 0 }},
|
||||||
|
{ 214, 0, 1, 7, { 0 }},
|
||||||
|
{ 215, 1, 5, 7, { 0 }},
|
||||||
|
{ 216, 0, 3, 9, { 0 }},
|
||||||
|
{ 217, 0, 0, 9, { 0 }},
|
||||||
|
{ 218, 0, 0, 9, { 0 }},
|
||||||
|
{ 219, 0, 0, 9, { 0 }},
|
||||||
|
{ 220, 0, 1, 9, { 0 }},
|
||||||
|
{ 221, 0, 0, 8, { 0 }},
|
||||||
|
{ 222, 0, 2, 8, { 0 }},
|
||||||
|
{ 223, 0, 3, 9, { 0 }},
|
||||||
|
{ 224, 0, 3, 7, { 0 }},
|
||||||
|
{ 225, 0, 3, 7, { 0 }},
|
||||||
|
{ 226, 0, 3, 7, { 0 }},
|
||||||
|
{ 227, 0, 3, 7, { 0 }},
|
||||||
|
{ 228, 0, 4, 7, { 0 }},
|
||||||
|
{ 229, 0, 2, 7, { 0 }},
|
||||||
|
{ 230, 0, 6, 11, { 0 }},
|
||||||
|
{ 231, 0, 6, 7, { 0 }},
|
||||||
|
{ 232, 0, 3, 7, { 0 }},
|
||||||
|
{ 233, 0, 3, 7, { 0 }},
|
||||||
|
{ 234, 0, 3, 7, { 0 }},
|
||||||
|
{ 235, 0, 4, 7, { 0 }},
|
||||||
|
{ 236, 0, 2, 4, { 0 }},
|
||||||
|
{ 237, 0, 2, 4, { 0 }},
|
||||||
|
{ 238, 0, 2, 4, { 0 }},
|
||||||
|
{ 239, 0, 3, 4, { 0 }},
|
||||||
|
{ 240, 0, 2, 7, { 0 }},
|
||||||
|
{ 241, 0, 3, 8, { 0 }},
|
||||||
|
{ 242, 0, 3, 6, { 0 }},
|
||||||
|
{ 243, 0, 3, 6, { 0 }},
|
||||||
|
{ 244, 0, 3, 6, { 0 }},
|
||||||
|
{ 245, 0, 3, 6, { 0 }},
|
||||||
|
{ 246, 0, 4, 6, { 0 }},
|
||||||
|
{ 247, 0, 3, 8, { 0 }},
|
||||||
|
{ 248, 0, 4, 9, { 0 }},
|
||||||
|
{ 249, 0, 3, 8, { 0 }},
|
||||||
|
{ 250, 0, 3, 8, { 0 }},
|
||||||
|
{ 251, 0, 3, 8, { 0 }},
|
||||||
|
{ 252, 0, 4, 8, { 0 }},
|
||||||
|
{ 253, 0, 3, 8, { 0 }},
|
||||||
|
{ 254, 0, 4, 6, { 0 }},
|
||||||
|
{ 255, 0, 4, 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_STYLE_FONT_ATLAS_COMP_SIZE, &cherryFontDataSize);
|
||||||
|
Image imFont = { data, 512, 256, 1, 2 };
|
||||||
|
|
||||||
|
Font font = { 0 };
|
||||||
|
font.baseSize = 15;
|
||||||
|
font.glyphCount = 189;
|
||||||
|
|
||||||
|
// Load texture from image
|
||||||
|
font.texture = LoadTextureFromImage(imFont);
|
||||||
|
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 = (Rectangle *)RAYGUI_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 *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
memcpy(font.glyphs, cherryFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
|
||||||
|
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 };
|
||||||
|
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
|
||||||
|
}
|
||||||
BIN
styles/cherry/style_cherry.old.rgs
Normal file
BIN
styles/cherry/style_cherry.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
styles/cherry/style_cherry.rgs
Normal file
27
styles/cherry/style_cherry.txt.rgs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#
|
||||||
|
# rgs style text file (v4.0) - raygui style file generated using rGuiStyler
|
||||||
|
#
|
||||||
|
# Provided info:
|
||||||
|
# f fontGenSize charsetFileName fontFileName
|
||||||
|
# p <controlId> <propertyId> <propertyValue> Property description
|
||||||
|
#
|
||||||
|
# WARNING: This style uses a custom font, must be provided with style file
|
||||||
|
#
|
||||||
|
f 15 charset.txt 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 LINE_COLOR
|
||||||
|
p 00 19 0x3a1720ff BACKGROUND_COLOR
|
||||||
|
p 00 20 0x00000016 TEXT_LINE_SPACING
|
||||||
|
Before Width: | Height: | Size: 27 KiB |
@ -1,16 +1,27 @@
|
|||||||
style: cyber
|
## style: cyber
|
||||||
-------------
|
|
||||||
Future is now! Neons and shadows, city never sleeps! Robots waiting in the corners and expensive vending machines! You got the style!
|
Future is now! Neons and shadows, city never sleeps! Robots waiting in the corners and expensive vending machines! You got the style!
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
screenshot
|
## style: provided files
|
||||||
-----------
|
|
||||||
|
Several options are provided to add the style to a `raygui` application, choose the one that better fits the project.
|
||||||
|
|
||||||
|
| file name | description |
|
||||||
|
| :-------- | :---------- |
|
||||||
|
| `style_cyber.rgs` | Binary style file (raygui 4.0), font data compressed (recs, glyphs) |
|
||||||
|
| `style_cyber.txt.rgs` | Text style file, no font data, requires external font provided |
|
||||||
|
| `style_cyber.old.rgs` | Binary style file (raygui 3.x), font data uncompressed (recs, glyphs) |
|
||||||
|
| `style_cyber.h` | Embeddable style as code file, self-contained, includes font data |
|
||||||
|
| `style_cyber.png` | Style table image, contains `rGSf` chunk with binary `rgs` file data |
|
||||||
|
|
||||||
|
## screenshot
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
about font
|
## about font
|
||||||
-----------
|
|
||||||
"Grixel Kyrou 7 Wide" font by [Nikos Giannakopoulos](http://www.grixel.gr/).
|
"Grixel Kyrou 7 Wide" font by [Nikos Giannakopoulos](http://www.grixel.gr/).
|
||||||
|
|
||||||
100% free font, downloaded from dafont.com: [grixel-kyrou-7-wide](https://www.dafont.com/grixel-kyrou-7-wide.font)
|
100% free font, downloaded from dafont.com: [grixel-kyrou-7-wide](https://www.dafont.com/grixel-kyrou-7-wide.font)
|
||||||
|
|||||||
1
styles/cyber/charset.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
|
||||||
@ -1,345 +0,0 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// //
|
|
||||||
// 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-2023 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);
|
|
||||||
UnloadImage(imFont); // Uncompressed 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 = (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
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
#
|
|
||||||
# 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
|
|
||||||
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 58 KiB |
591
styles/cyber/style_cyber.h
Normal file
@ -0,0 +1,591 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// StyleAsCode exporter v2.0 - 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-2023 raylib technologies (@raylibtech) //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define CYBER_STYLE_PROPS_COUNT 17
|
||||||
|
|
||||||
|
// 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
|
||||||
|
{ 0, 20, 0x00000015 }, // DEFAULT_TEXT_LINE_SPACING
|
||||||
|
};
|
||||||
|
|
||||||
|
// WARNING: This style uses a custom font: "Kyrou 7 Wide.ttf" (size: 14, spacing: 0)
|
||||||
|
|
||||||
|
#define CYBER_STYLE_FONT_ATLAS_COMP_SIZE 2286
|
||||||
|
|
||||||
|
// Font atlas image pixels data: DEFLATE compressed
|
||||||
|
static unsigned char cyberFontData[CYBER_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
|
||||||
|
0xdd, 0x81, 0x6e, 0xdb, 0x36, 0x10, 0x06, 0x60, 0x21, 0xef, 0xff, 0xc6, 0x99, 0xf6, 0x0f, 0xe8, 0xd0, 0x2d, 0x45, 0x6b,
|
||||||
|
0x89, 0x3c, 0x92, 0xb2, 0xec, 0x7c, 0xfd, 0x80, 0x61, 0x88, 0x62, 0x5b, 0xa2, 0x78, 0xe4, 0x49, 0x0a, 0xcf, 0xd9, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x26, 0xcb, 0xc5, 0x9f, 0x96, 0xe6, 0x9f, 0xce, 0x3b, 0xa2, 0x9f, 0xff, 0x9e, 0x7b, 0xec, 0xfa, 0x57,
|
||||||
|
0x7f, 0xbb, 0xe7, 0xe1, 0xb9, 0xd3, 0x9e, 0x5f, 0x7f, 0x92, 0xc3, 0xdf, 0x4d, 0xa9, 0x75, 0x73, 0x7a, 0xc6, 0x8e, 0xcf,
|
||||||
|
0x4c, 0x5f, 0xbc, 0x3d, 0xde, 0x87, 0x74, 0xbf, 0x62, 0xe5, 0xc8, 0xf8, 0xf3, 0xdf, 0xde, 0xd5, 0xdf, 0x8f, 0x7b, 0x71,
|
||||||
|
0x5b, 0x2f, 0xcf, 0xc9, 0x1e, 0xa5, 0xe1, 0x37, 0xce, 0x5e, 0xbf, 0x0d, 0xec, 0xfd, 0x7e, 0xe9, 0x5c, 0x94, 0xd3, 0x31,
|
||||||
|
0x63, 0x5b, 0x70, 0x34, 0x19, 0x3c, 0x97, 0x19, 0x1e, 0xd1, 0xda, 0xe3, 0xff, 0xac, 0x5f, 0xe4, 0xb7, 0xff, 0x6e, 0xa5,
|
||||||
|
0x48, 0xcb, 0xc2, 0xf8, 0xdf, 0xba, 0xc6, 0x97, 0xf5, 0x79, 0x51, 0x1a, 0x22, 0xbd, 0xff, 0x35, 0xad, 0x47, 0x5b, 0x1b,
|
||||||
|
0xf1, 0xd2, 0xfc, 0xbb, 0x29, 0x1d, 0xf1, 0xac, 0x33, 0xd2, 0x3b, 0x72, 0x9e, 0xb5, 0xc6, 0x8a, 0xa3, 0xf9, 0xfa, 0xb3,
|
||||||
|
0xcf, 0xc1, 0xd7, 0xef, 0xcb, 0xc7, 0xc8, 0xbd, 0xa1, 0xa5, 0xf6, 0xf2, 0x27, 0xa6, 0x90, 0xcd, 0xcd, 0x3a, 0xfb, 0xab,
|
||||||
|
0xf3, 0xc2, 0x94, 0x63, 0x29, 0x43, 0x67, 0xef, 0xf8, 0x73, 0xab, 0xf3, 0xf7, 0xda, 0x11, 0xaf, 0x3f, 0xd7, 0xcf, 0xa4,
|
||||||
|
0xd1, 0xbc, 0x36, 0x9a, 0xfd, 0x6c, 0xa9, 0x2c, 0x88, 0xdf, 0x79, 0x63, 0xf1, 0xcc, 0x1c, 0x69, 0x24, 0xef, 0x3c, 0xda,
|
||||||
|
0xf6, 0xf9, 0x43, 0xfb, 0x5e, 0xbd, 0xca, 0xfc, 0x9f, 0x81, 0xf3, 0x97, 0x52, 0x3b, 0x9f, 0xe5, 0x94, 0xad, 0x47, 0x7c,
|
||||||
|
0xfc, 0xe9, 0x7b, 0xe1, 0x98, 0x3f, 0xb2, 0xff, 0x67, 0x9b, 0x92, 0xd3, 0x66, 0xe2, 0xb9, 0x4c, 0xf7, 0xb5, 0xd2, 0xbf,
|
||||||
|
0x71, 0x5b, 0xcf, 0x99, 0x93, 0xbf, 0x7f, 0xd8, 0x17, 0xe7, 0x62, 0x57, 0xc4, 0xff, 0xff, 0xa3, 0x58, 0x06, 0x22, 0x36,
|
||||||
|
0x83, 0x33, 0xcc, 0xdc, 0xeb, 0xff, 0x71, 0xfb, 0xd0, 0xf9, 0xcb, 0xf4, 0xab, 0xda, 0xff, 0xa3, 0x37, 0xa5, 0xfc, 0x21,
|
||||||
|
0xd3, 0x46, 0xd9, 0x7d, 0xe1, 0xbd, 0xe4, 0x2c, 0xca, 0xd2, 0x1e, 0xcd, 0xff, 0xd7, 0x65, 0x3b, 0x6b, 0xae, 0x96, 0x7a,
|
||||||
|
0xee, 0x9d, 0x56, 0xaf, 0xff, 0xd3, 0x38, 0xba, 0xac, 0x8b, 0xff, 0xeb, 0xfd, 0x35, 0x78, 0xfe, 0x72, 0xf1, 0xf5, 0xf9,
|
||||||
|
0x9c, 0x2b, 0xf4, 0x7a, 0xc6, 0xb3, 0xf6, 0xfa, 0xff, 0xaa, 0x11, 0x63, 0x45, 0xfe, 0x9f, 0x17, 0xcf, 0xff, 0x7b, 0xee,
|
||||||
|
0xff, 0xe7, 0x4d, 0xe2, 0x3f, 0xc3, 0x4f, 0xa4, 0x32, 0xfd, 0xfe, 0x7c, 0x5b, 0xb6, 0x3b, 0xf6, 0x7c, 0x21, 0x43, 0x47,
|
||||||
|
0x3c, 0xeb, 0x5e, 0x4c, 0x26, 0xfd, 0x6e, 0x1a, 0x67, 0xc5, 0xda, 0xfd, 0xdd, 0xe7, 0xde, 0xff, 0xf7, 0xfc, 0x1f, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0xd5, 0x9d, 0xb9, 0xe0, 0x75, 0x95,
|
||||||
|
0x55, 0xb4, 0x23, 0xab, 0x6e, 0x47, 0xd6, 0xec, 0x56, 0x5f, 0x79, 0x5e, 0x87, 0xa8, 0xbe, 0xce, 0xb8, 0x7d, 0x95, 0x73,
|
||||||
|
0xdf, 0xba, 0xe1, 0xb1, 0xea, 0x28, 0x39, 0x5d, 0x47, 0xdf, 0x56, 0x8f, 0xe0, 0xbc, 0x76, 0xeb, 0x59, 0x25, 0xab, 0xf5,
|
||||||
|
0xb5, 0x5f, 0x57, 0xd6, 0xa6, 0x4c, 0xb9, 0x05, 0x7b, 0x56, 0xbf, 0xa7, 0xab, 0x3e, 0x41, 0x75, 0x1d, 0xfa, 0x75, 0x55,
|
||||||
|
0x01, 0xc7, 0x57, 0xc8, 0x1f, 0xbf, 0xf3, 0xbe, 0xfc, 0x28, 0xda, 0xf7, 0x38, 0x13, 0xce, 0xd9, 0x8a, 0xf8, 0xcf, 0x61,
|
||||||
|
0x45, 0x80, 0x5c, 0x58, 0xdb, 0x75, 0x5d, 0x25, 0xdc, 0x75, 0x95, 0x76, 0xce, 0xe3, 0xbf, 0xbd, 0x66, 0x73, 0x26, 0x47,
|
||||||
|
0x6b, 0xca, 0xd1, 0x33, 0x6b, 0x04, 0xa8, 0x8c, 0x5b, 0x33, 0xe2, 0xbf, 0x9a, 0x3b, 0xbc, 0x76, 0xfc, 0x57, 0xeb, 0x89,
|
||||||
|
0xe5, 0xe0, 0xbc, 0xa7, 0xb1, 0x6f, 0xdf, 0x61, 0xfb, 0x76, 0xd3, 0xf8, 0x3f, 0x8f, 0xa9, 0x0c, 0x57, 0x29, 0x9e, 0xd7,
|
||||||
|
0x9f, 0xe6, 0xd9, 0x9b, 0xa2, 0xb4, 0x56, 0xd3, 0x73, 0x2f, 0x8f, 0x2c, 0xab, 0xf2, 0xff, 0x9c, 0x5c, 0x79, 0xa4, 0x29,
|
||||||
|
0x97, 0x9d, 0x3b, 0xc6, 0xb6, 0x8e, 0x5a, 0x8f, 0x2b, 0x8a, 0x9d, 0xd5, 0x2b, 0x7c, 0xfe, 0xfc, 0x3e, 0x56, 0x4f, 0xf9,
|
||||||
|
0x9a, 0xf8, 0x1f, 0x8f, 0xc4, 0x3c, 0x65, 0xce, 0x9a, 0x73, 0x6f, 0x22, 0xc5, 0x79, 0x6b, 0xcd, 0x6b, 0xaf, 0x98, 0xff,
|
||||||
|
0xf3, 0x52, 0xf3, 0x7f, 0xcb, 0xf5, 0x7f, 0x26, 0x5c, 0xbd, 0xd6, 0x5a, 0x6d, 0x6f, 0x3e, 0x97, 0x2b, 0xf2, 0xff, 0x96,
|
||||||
|
0x99, 0x7d, 0x7c, 0xfe, 0x1f, 0xd9, 0x9a, 0xe6, 0x59, 0xf8, 0xfa, 0xf8, 0x6f, 0x3b, 0xa6, 0x5c, 0xfa, 0xda, 0xd7, 0x8b,
|
||||||
|
0xff, 0xdc, 0xe2, 0xfe, 0x5f, 0x16, 0xd6, 0x66, 0xce, 0x94, 0xd1, 0x6d, 0x4d, 0xfc, 0xb7, 0xd5, 0x43, 0x1f, 0xb9, 0xfe,
|
||||||
|
0x1f, 0x8b, 0xf0, 0xf3, 0x08, 0xf8, 0x4b, 0xfc, 0x4f, 0xca, 0xff, 0x67, 0xbd, 0xba, 0xff, 0x5e, 0xc9, 0xc8, 0x0c, 0xda,
|
||||||
|
0x7e, 0x4c, 0x99, 0x9e, 0x7f, 0x8f, 0xd6, 0xf6, 0x5d, 0x9d, 0xff, 0xcf, 0x7a, 0xfd, 0x56, 0x3e, 0xef, 0xe7, 0x5b, 0xc6,
|
||||||
|
0x7a, 0xe5, 0xf6, 0x84, 0x6f, 0x73, 0x58, 0xfd, 0x7c, 0xcf, 0x77, 0x94, 0xbe, 0xdf, 0x53, 0x6c, 0x6d, 0x70, 0xef, 0xe7,
|
||||||
|
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x5e, 0x65, 0x75, 0xbf, 0x15,
|
||||||
|
0x53, 0x69, 0x58, 0x1f, 0xda, 0x52, 0x3f, 0xf3, 0xb8, 0xfa, 0xe6, 0xa3, 0x1a, 0x12, 0x7b, 0x53, 0xed, 0xcd, 0x59, 0xad,
|
||||||
|
0xd9, 0x5a, 0x07, 0x61, 0xb4, 0x4e, 0x67, 0xe5, 0xdd, 0x5b, 0x5a, 0xf9, 0x7c, 0xcd, 0x63, 0x4e, 0xd6, 0x01, 0x6f, 0x13,
|
||||||
|
0x7b, 0xe0, 0xf9, 0x9a, 0xe7, 0x0c, 0xd4, 0x5c, 0x18, 0xa9, 0x22, 0x98, 0x85, 0x2b, 0x4c, 0x53, 0x6a, 0x95, 0xf6, 0x0a,
|
||||||
|
0x1c, 0xad, 0x5b, 0x33, 0xa9, 0xca, 0xc3, 0xea, 0x7e, 0x3d, 0x63, 0x6b, 0x7f, 0x1d, 0x85, 0x67, 0xc4, 0xff, 0x71, 0x0f,
|
||||||
|
0xc9, 0xe4, 0xb3, 0xdd, 0xf7, 0xd3, 0xb3, 0xd8, 0x7f, 0x5c, 0x5b, 0xf9, 0xa3, 0xb1, 0xdf, 0xf4, 0x6c, 0xcf, 0xf0, 0x59,
|
||||||
|
0xce, 0x60, 0x25, 0x84, 0xbd, 0x73, 0xbe, 0x69, 0x8f, 0xfe, 0xb1, 0x9e, 0xb7, 0x6e, 0x05, 0xfc, 0x3b, 0xc5, 0xff, 0x56,
|
||||||
|
0xac, 0x58, 0xb8, 0x3a, 0xfe, 0xb7, 0xa6, 0x7d, 0xca, 0xb4, 0x23, 0x9a, 0x57, 0x7d, 0xfb, 0xa3, 0x3b, 0xc7, 0x9a, 0x53,
|
||||||
|
0xcb, 0x2a, 0x17, 0xd6, 0x7a, 0x48, 0x47, 0xef, 0xaa, 0x8e, 0x00, 0x29, 0xce, 0xff, 0xfd, 0x2d, 0x3d, 0x2b, 0xc7, 0x78,
|
||||||
|
0xcd, 0xf8, 0xaf, 0xb5, 0x66, 0x06, 0xce, 0xf0, 0xda, 0xf9, 0x7f, 0x66, 0xe5, 0xee, 0x4a, 0x74, 0xec, 0x0f, 0xde, 0x65,
|
||||||
|
0x2f, 0xcf, 0xce, 0xf5, 0xab, 0x83, 0xad, 0xe9, 0x3b, 0x19, 0xf6, 0xee, 0xd7, 0xe5, 0x97, 0xf8, 0xcc, 0x92, 0x6b, 0xf4,
|
||||||
|
0x1c, 0xb4, 0x70, 0xb5, 0x1a, 0x69, 0x6f, 0xfc, 0xe7, 0xd2, 0xf9, 0x7f, 0x6b, 0xfc, 0xf6, 0x8c, 0xad, 0x74, 0xbe, 0xb6,
|
||||||
|
0xe2, 0xbb, 0xd6, 0x5f, 0x99, 0xd3, 0x1e, 0xbb, 0xa6, 0x1e, 0xed, 0xcc, 0x6f, 0xe8, 0xc8, 0x84, 0x7e, 0x9b, 0x93, 0x4f,
|
||||||
|
0x48, 0x31, 0x07, 0xef, 0xcd, 0xfc, 0x7b, 0xc6, 0xd9, 0x74, 0xdc, 0x19, 0xc8, 0xc1, 0x18, 0x98, 0x45, 0x39, 0xf8, 0xcc,
|
||||||
|
0x79, 0x30, 0x53, 0xf3, 0xb5, 0x75, 0x77, 0x17, 0x57, 0x66, 0x74, 0xd7, 0xbc, 0xdb, 0xb3, 0xda, 0xe4, 0xca, 0xf9, 0x3f,
|
||||||
|
0xdd, 0xd9, 0xee, 0xc8, 0xfc, 0x9f, 0xe1, 0x3a, 0x99, 0x67, 0xb9, 0xdf, 0x76, 0xbb, 0xf9, 0xbf, 0x2d, 0x36, 0x73, 0x79,
|
||||||
|
0xfe, 0x2f, 0xfe, 0xaf, 0x7e, 0xd2, 0xb2, 0xbd, 0x44, 0xfc, 0xaf, 0xbd, 0xfe, 0x9f, 0x33, 0x82, 0x54, 0x67, 0xd9, 0x6d,
|
||||||
|
0xf1, 0x33, 0x82, 0xfa, 0xab, 0xd6, 0xc5, 0xff, 0xf6, 0xad, 0xaa, 0x35, 0xbe, 0x5b, 0x6d, 0xca, 0x67, 0xc4, 0x7f, 0x4b,
|
||||||
|
0xfe, 0x9f, 0xe2, 0xfd, 0xff, 0xf6, 0x6f, 0xd8, 0x4a, 0x57, 0xce, 0xd2, 0x9e, 0x77, 0xbc, 0x67, 0x8f, 0xe0, 0x9d, 0x47,
|
||||||
|
0xb4, 0xb1, 0xe7, 0xff, 0x77, 0x1b, 0x83, 0xc7, 0xbe, 0x53, 0xe5, 0x3b, 0xf7, 0x7f, 0x75, 0x97, 0xf1, 0xd7, 0x72, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x5e, 0xb7, 0x90, 0x4b, 0xd7, 0xcb, 0x57, 0xeb,
|
||||||
|
0xd6, 0xf5, 0xaf, 0x58, 0xcd, 0xa4, 0x96, 0xc9, 0xa4, 0xb3, 0xb5, 0x37, 0xac, 0xce, 0xcf, 0x60, 0xbb, 0x67, 0xf8, 0x77,
|
||||||
|
0xd2, 0xb0, 0x22, 0x2c, 0xa5, 0x33, 0x7c, 0xbf, 0x75, 0xab, 0x23, 0xab, 0x06, 0x33, 0xb5, 0x75, 0x67, 0x9e, 0xef, 0x9c,
|
||||||
|
0x56, 0xc3, 0xfe, 0x6a, 0x2f, 0x56, 0x5f, 0x49, 0x69, 0xc5, 0x64, 0xca, 0xb5, 0x09, 0x7a, 0xc7, 0xbb, 0x74, 0xb6, 0x59,
|
||||||
|
0xef, 0xb9, 0xfe, 0xda, 0xc6, 0xad, 0x55, 0x66, 0xbe, 0x6e, 0xdf, 0xcb, 0x3d, 0xfb, 0x73, 0xa8, 0xdf, 0xa7, 0x3c, 0x42,
|
||||||
|
0x6f, 0x53, 0xea, 0x7a, 0xb7, 0x54, 0xe3, 0xd8, 0x1b, 0xd6, 0xd0, 0x67, 0xb8, 0x36, 0x58, 0xca, 0xed, 0x30, 0xb3, 0xe7,
|
||||||
|
0x8d, 0x7d, 0xda, 0xd9, 0x5a, 0xed, 0x0c, 0xcc, 0xa0, 0x29, 0xd6, 0xbf, 0xcb, 0x60, 0x65, 0x88, 0x1c, 0xac, 0xf1, 0xce,
|
||||||
|
0xb2, 0xf5, 0xed, 0xe9, 0x8c, 0xfe, 0xf6, 0xe3, 0x4d, 0x73, 0x9b, 0xb6, 0xd5, 0xab, 0xfe, 0xb8, 0x7d, 0x56, 0xba, 0x97,
|
||||||
|
0x66, 0x9b, 0x5a, 0x9b, 0x5e, 0x9d, 0x6f, 0xdc, 0xbd, 0xb6, 0xc7, 0x79, 0xf5, 0xb1, 0xf5, 0xd7, 0x06, 0x95, 0x5a, 0x2c,
|
||||||
|
0xf3, 0xe2, 0x3f, 0xdd, 0x15, 0xa5, 0xf6, 0xa1, 0xab, 0x8e, 0xbe, 0xf8, 0x6f, 0x7b, 0xdf, 0x94, 0xe6, 0xff, 0xb3, 0xf8,
|
||||||
|
0x5b, 0xbb, 0x7d, 0xb4, 0xda, 0x7e, 0x35, 0xfe, 0xfb, 0xfb, 0x40, 0x16, 0xd4, 0x48, 0x3d, 0xcb, 0x4a, 0x2a, 0x5b, 0xc6,
|
||||||
|
0xaf, 0xb1, 0xd7, 0xc5, 0xff, 0x51, 0xeb, 0x8d, 0xe6, 0x1b, 0xb3, 0xe6, 0xff, 0x0c, 0xe7, 0xff, 0xad, 0x7d, 0x35, 0xcd,
|
||||||
|
0xdf, 0x2f, 0xd4, 0x92, 0x53, 0x1d, 0x55, 0x77, 0xde, 0x4f, 0xbf, 0x29, 0x63, 0x2b, 0x7e, 0x1b, 0xc6, 0xea, 0xed, 0x3d,
|
||||||
|
0xe3, 0xf6, 0x9c, 0xca, 0x9d, 0xd7, 0x6f, 0x9d, 0x31, 0xf6, 0xdd, 0x23, 0xfe, 0xb3, 0x28, 0xd3, 0xc9, 0x50, 0xbb, 0xa6,
|
||||||
|
0x6b, 0xdf, 0xaf, 0xb9, 0xbb, 0x94, 0xcb, 0xaa, 0x8a, 0xce, 0xf9, 0x2e, 0x8c, 0x75, 0xdb, 0x5b, 0xc7, 0xc1, 0xfd, 0x82,
|
||||||
|
0xf9, 0x7f, 0xe5, 0x1d, 0xd0, 0x7a, 0x55, 0xf8, 0x6b, 0xe2, 0xff, 0x59, 0xd7, 0x46, 0xeb, 0xfa, 0x76, 0x4f, 0xfc, 0xe7,
|
||||||
|
0xe2, 0xe3, 0xb8, 0x3e, 0xfe, 0x3f, 0xfe, 0x18, 0x41, 0xe9, 0xc8, 0x6b, 0xd7, 0x6c, 0x9f, 0x39, 0xbe, 0x8c, 0x8e, 0x75,
|
||||||
|
0xcf, 0xc9, 0xff, 0x9f, 0x1f, 0xff, 0x77, 0xbe, 0x43, 0x91, 0x37, 0xba, 0x43, 0x93, 0x5f, 0xee, 0xb2, 0x5c, 0xf7, 0x3c,
|
||||||
|
0xb6, 0x7e, 0xfd, 0xfd, 0x5a, 0xdb, 0xc7, 0xee, 0xff, 0x7f, 0xdf, 0xfc, 0xff, 0xce, 0x7f, 0xb3, 0xe0, 0xef, 0x36, 0x56,
|
||||||
|
0xb6, 0xd3, 0xfd, 0xe3, 0x7b, 0xfe, 0xc8, 0xfc, 0xe8, 0x6e, 0xc8, 0xf7, 0xcd, 0xff, 0xef, 0xff, 0x17, 0x4b, 0xaa, 0xad,
|
||||||
|
0x5e, 0x71, 0x4d, 0x72, 0xc7, 0xfb, 0x7b, 0xb3, 0xfb, 0xfb, 0xd1, 0xbd, 0xd0, 0x55, 0xf9, 0xff, 0x76, 0xf3, 0xfb, 0xff,
|
||||||
|
0xf0, 0x9a, 0xe3, 0x13, 0x20, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xf7, 0xaf, 0x29,
|
||||||
|
0x53, 0x5e, 0x37, 0x91, 0x1f, 0x6b, 0xc8, 0x3f, 0x06, 0x56, 0x23, 0xad, 0xab, 0x22, 0x7b, 0x5c, 0x03, 0xeb, 0x73, 0xe0,
|
||||||
|
0xef, 0x47, 0xd7, 0x1e, 0x57, 0x26, 0xad, 0x1f, 0x7d, 0xc6, 0x91, 0xa5, 0x78, 0xae, 0xc6, 0xd7, 0x32, 0xe7, 0xb7, 0xff,
|
||||||
|
0x9f, 0xbb, 0xd6, 0xf7, 0x71, 0xbd, 0x84, 0xb1, 0x33, 0xd2, 0xb3, 0xf2, 0xf0, 0x5e, 0x15, 0x0a, 0xf7, 0x1f, 0xed, 0x91,
|
||||||
|
0xc3, 0x3a, 0x92, 0x77, 0xae, 0x22, 0xbb, 0x97, 0xaa, 0xcb, 0xac, 0x3f, 0xae, 0xb1, 0x78, 0xc8, 0x49, 0x5d, 0xcf, 0xe7,
|
||||||
|
0x54, 0xbb, 0x3d, 0x3b, 0x57, 0xc7, 0xb5, 0xb0, 0xf7, 0xc6, 0xf5, 0xf2, 0xc7, 0x55, 0x91, 0x33, 0x38, 0xfa, 0x9d, 0x47,
|
||||||
|
0x7f, 0x4a, 0x47, 0xf7, 0xa7, 0x33, 0x96, 0xe6, 0x4f, 0xc8, 0xa4, 0xea, 0x5c, 0xc7, 0xad, 0xb1, 0xbf, 0xf0, 0x4a, 0xe1,
|
||||||
|
0xbd, 0x2b, 0xfe, 0xf3, 0x25, 0x43, 0xc8, 0x0b, 0xae, 0x6e, 0x69, 0x1d, 0x8f, 0x5f, 0x6b, 0xe5, 0x4c, 0x9a, 0x57, 0x84,
|
||||||
|
0x8f, 0x54, 0xdc, 0xb1, 0x9e, 0xaa, 0xbd, 0x27, 0x9e, 0xf7, 0xd3, 0x7b, 0x57, 0x91, 0xfd, 0x3c, 0x39, 0xae, 0xbc, 0x6c,
|
||||||
|
0xf5, 0x9b, 0xb6, 0x56, 0x49, 0x21, 0x3b, 0x78, 0xd6, 0xd6, 0xe3, 0x2c, 0xee, 0x4f, 0xf3, 0x7f, 0x2d, 0xb3, 0x79, 0xd6,
|
||||||
|
0xb1, 0xb7, 0xee, 0x6b, 0x96, 0x5c, 0x09, 0xb6, 0xf4, 0x84, 0x1c, 0x66, 0x5b, 0xaf, 0x18, 0x27, 0x2d, 0x99, 0xe8, 0x3d,
|
||||||
|
0xf7, 0x3b, 0x8d, 0xbd, 0x21, 0x07, 0x79, 0xf8, 0x5d, 0xeb, 0xde, 0x8e, 0x8c, 0x4a, 0x69, 0xb8, 0xc2, 0x6f, 0xc9, 0x0e,
|
||||||
|
0xf6, 0x4b, 0xb7, 0xde, 0x35, 0xfe, 0x5b, 0xe6, 0xff, 0xbc, 0x69, 0xfc, 0xef, 0x37, 0xdf, 0xef, 0xfa, 0xf7, 0x9f, 0xb5,
|
||||||
|
0xce, 0xff, 0xf7, 0xda, 0x3a, 0x33, 0x83, 0x7f, 0x7c, 0xbf, 0x6d, 0x5d, 0xa5, 0xcf, 0xfe, 0xfb, 0x8e, 0xaf, 0x11, 0xff,
|
||||||
|
0x77, 0x9e, 0x27, 0xeb, 0xf1, 0xff, 0xf9, 0x02, 0xfb, 0x9d, 0xd2, 0x1d, 0x9d, 0xb3, 0xf8, 0xdf, 0x6f, 0xb9, 0x75, 0x66,
|
||||||
|
0x65, 0xab, 0xea, 0xb3, 0xaa, 0x95, 0x95, 0x3e, 0xef, 0x1b, 0xff, 0x2d, 0xf9, 0xd2, 0xab, 0x5e, 0x27, 0x6f, 0xc3, 0x11,
|
||||||
|
0x74, 0xd7, 0xf8, 0x3f, 0x7f, 0xf2, 0x50, 0x7f, 0x42, 0xf6, 0x8c, 0xad, 0xfb, 0x45, 0x77, 0xf0, 0x9e, 0x77, 0xec, 0xcf,
|
||||||
|
0x8b, 0xff, 0x91, 0x0a, 0x85, 0xc7, 0xf7, 0x5d, 0xee, 0x70, 0x9d, 0xbc, 0xa2, 0x1e, 0xe2, 0x3d, 0xf6, 0x3b, 0x8b, 0xe6,
|
||||||
|
0xa2, 0x7b, 0x3f, 0xc9, 0x71, 0x07, 0xff, 0x9e, 0x4f, 0x0d, 0x6a, 0xfd, 0x78, 0xf5, 0xf6, 0x67, 0xf5, 0xc6, 0x2b, 0xf6,
|
||||||
|
0x5b, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xa7, 0x95, 0x3c, 0x39, 0x59,
|
||||||
|
0x05, 0xbc, 0x75, 0xd5, 0x2e, 0xfa, 0x55, 0xb5, 0x66, 0x6a, 0x26, 0x54, 0xc9, 0x7c, 0xb4, 0xf6, 0x66, 0xbf, 0xfc, 0x68,
|
||||||
|
0xb6, 0xc1, 0x77, 0x86, 0xab, 0x56, 0xf3, 0xfd, 0x69, 0xbd, 0x78, 0xb5, 0xcf, 0x57, 0x6b, 0xa6, 0x8e, 0xd5, 0x8b, 0x3d,
|
||||||
|
0x5b, 0x29, 0xfd, 0x59, 0x1c, 0xcf, 0x56, 0x55, 0x80, 0x3d, 0x7a, 0xe7, 0xf3, 0x7a, 0xbe, 0xd6, 0x03, 0x32, 0x1e, 0xfd,
|
||||||
|
0xdf, 0xa1, 0x07, 0x65, 0x59, 0x5e, 0xb1, 0x72, 0x9f, 0x3f, 0xf4, 0x50, 0x9e, 0x94, 0x03, 0xb4, 0xad, 0x65, 0xdf, 0x6f,
|
||||||
|
0xb5, 0xf5, 0xf1, 0x3e, 0xa7, 0xb1, 0xb2, 0xdf, 0xbd, 0xb6, 0x8e, 0xd4, 0xf3, 0x85, 0x96, 0x2b, 0xe2, 0xf3, 0xaa, 0xa8,
|
||||||
|
0xaf, 0xb3, 0xb5, 0xe5, 0x68, 0xb7, 0x37, 0x39, 0x56, 0xf1, 0xcf, 0xac, 0x39, 0xff, 0x9d, 0x7a, 0x7d, 0x86, 0xda, 0x42,
|
||||||
|
0xfc, 0x23, 0xfe, 0xbf, 0x5b, 0xaf, 0x17, 0xff, 0x7c, 0xdf, 0xfc, 0x7f, 0x1f, 0xaa, 0x17, 0xbf, 0xdd, 0x6a, 0xeb, 0xf8,
|
||||||
|
0xb5, 0xd0, 0x7d, 0xb6, 0xde, 0xb5, 0x0a, 0x22, 0x70, 0xc5, 0x1d, 0xd8, 0xb1, 0x27, 0xb8, 0xc0, 0x6b, 0xe4, 0x60, 0x95,
|
||||||
|
0xb8, 0x36, 0xfb, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xe2, 0xdf, 0x7f, 0xda, 0x01, 0xc4, 0x3f,
|
||||||
|
0xf0, 0xed, 0xe2, 0xff, 0x1f };
|
||||||
|
|
||||||
|
// Font glyphs rectangles data (on atlas)
|
||||||
|
static const Rectangle cyberFontRecs[189] = {
|
||||||
|
{ 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 },
|
||||||
|
{ 249, 4, 8 , 8 },
|
||||||
|
{ 265, 4, 8 , 8 },
|
||||||
|
{ 281, 4, 8 , 8 },
|
||||||
|
{ 297, 4, 8 , 8 },
|
||||||
|
{ 313, 4, 7 , 8 },
|
||||||
|
{ 328, 4, 8 , 8 },
|
||||||
|
{ 344, 4, 8 , 8 },
|
||||||
|
{ 360, 4, 1 , 4 },
|
||||||
|
{ 369, 4, 2 , 5 },
|
||||||
|
{ 379, 4, 4 , 8 },
|
||||||
|
{ 391, 4, 5 , 3 },
|
||||||
|
{ 404, 4, 4 , 8 },
|
||||||
|
{ 416, 4, 7 , 8 },
|
||||||
|
{ 431, 4, 8 , 8 },
|
||||||
|
{ 447, 4, 8 , 8 },
|
||||||
|
{ 463, 4, 8 , 8 },
|
||||||
|
{ 479, 4, 8 , 8 },
|
||||||
|
{ 495, 4, 8 , 8 },
|
||||||
|
{ 4, 26, 7 , 8 },
|
||||||
|
{ 19, 26, 7 , 8 },
|
||||||
|
{ 34, 26, 8 , 8 },
|
||||||
|
{ 50, 26, 8 , 8 },
|
||||||
|
{ 66, 26, 5 , 8 },
|
||||||
|
{ 79, 26, 7 , 8 },
|
||||||
|
{ 94, 26, 8 , 8 },
|
||||||
|
{ 110, 26, 7 , 8 },
|
||||||
|
{ 125, 26, 8 , 8 },
|
||||||
|
{ 141, 26, 8 , 8 },
|
||||||
|
{ 157, 26, 8 , 8 },
|
||||||
|
{ 173, 26, 8 , 8 },
|
||||||
|
{ 189, 26, 8 , 9 },
|
||||||
|
{ 205, 26, 8 , 8 },
|
||||||
|
{ 221, 26, 8 , 8 },
|
||||||
|
{ 237, 26, 8 , 8 },
|
||||||
|
{ 253, 26, 8 , 8 },
|
||||||
|
{ 269, 26, 8 , 8 },
|
||||||
|
{ 285, 26, 9 , 8 },
|
||||||
|
{ 302, 26, 8 , 8 },
|
||||||
|
{ 318, 26, 8 , 8 },
|
||||||
|
{ 334, 26, 8 , 8 },
|
||||||
|
{ 350, 26, 4 , 9 },
|
||||||
|
{ 362, 26, 8 , 8 },
|
||||||
|
{ 378, 26, 4 , 9 },
|
||||||
|
{ 390, 26, 4 , 3 },
|
||||||
|
{ 402, 26, 7 , 1 },
|
||||||
|
{ 417, 26, 2 , 3 },
|
||||||
|
{ 427, 26, 7 , 5 },
|
||||||
|
{ 442, 26, 7 , 8 },
|
||||||
|
{ 457, 26, 7 , 5 },
|
||||||
|
{ 472, 26, 7 , 8 },
|
||||||
|
{ 487, 26, 7 , 5 },
|
||||||
|
{ 4, 48, 4 , 8 },
|
||||||
|
{ 16, 48, 7 , 7 },
|
||||||
|
{ 31, 48, 7 , 8 },
|
||||||
|
{ 46, 48, 1 , 8 },
|
||||||
|
{ 55, 48, 3 , 10 },
|
||||||
|
{ 66, 48, 7 , 8 },
|
||||||
|
{ 81, 48, 4 , 8 },
|
||||||
|
{ 93, 48, 9 , 5 },
|
||||||
|
{ 110, 48, 7 , 5 },
|
||||||
|
{ 125, 48, 7 , 5 },
|
||||||
|
{ 140, 48, 7 , 7 },
|
||||||
|
{ 155, 48, 7 , 7 },
|
||||||
|
{ 170, 48, 5 , 5 },
|
||||||
|
{ 183, 48, 7 , 5 },
|
||||||
|
{ 198, 48, 5 , 8 },
|
||||||
|
{ 211, 48, 7 , 5 },
|
||||||
|
{ 226, 48, 7 , 5 },
|
||||||
|
{ 241, 48, 9 , 5 },
|
||||||
|
{ 258, 48, 7 , 5 },
|
||||||
|
{ 273, 48, 7 , 7 },
|
||||||
|
{ 288, 48, 7 , 5 },
|
||||||
|
{ 303, 48, 4 , 9 },
|
||||||
|
{ 315, 48, 1 , 9 },
|
||||||
|
{ 324, 48, 4 , 9 },
|
||||||
|
{ 336, 48, 8 , 2 },
|
||||||
|
{ 352, 48, 1 , 8 },
|
||||||
|
{ 361, 48, 7 , 8 },
|
||||||
|
{ 376, 48, 7 , 8 },
|
||||||
|
{ 391, 48, 8 , 9 },
|
||||||
|
{ 407, 48, 8 , 9 },
|
||||||
|
{ 423, 48, 8 , 10 },
|
||||||
|
{ 439, 48, 4 , 9 },
|
||||||
|
{ 451, 48, 7 , 8 },
|
||||||
|
{ 466, 48, 8 , 8 },
|
||||||
|
{ 482, 48, 7 , 6 },
|
||||||
|
{ 497, 48, 5 , 3 },
|
||||||
|
{ 4, 70, 5 , 3 },
|
||||||
|
{ 17, 70, 8 , 8 },
|
||||||
|
{ 33, 70, 0 , 0 },
|
||||||
|
{ 41, 70, 4 , 3 },
|
||||||
|
{ 53, 70, 8 , 6 },
|
||||||
|
{ 69, 70, 4 , 5 },
|
||||||
|
{ 81, 70, 4 , 5 },
|
||||||
|
{ 93, 70, 8 , 10 },
|
||||||
|
{ 109, 70, 7 , 7 },
|
||||||
|
{ 124, 70, 5 , 7 },
|
||||||
|
{ 137, 70, 1 , 1 },
|
||||||
|
{ 146, 70, 7 , 8 },
|
||||||
|
{ 161, 70, 2 , 5 },
|
||||||
|
{ 171, 70, 4 , 5 },
|
||||||
|
{ 183, 70, 5 , 3 },
|
||||||
|
{ 196, 70, 14 , 8 },
|
||||||
|
{ 218, 70, 13 , 5 },
|
||||||
|
{ 239, 70, 8 , 9 },
|
||||||
|
{ 255, 70, 7 , 8 },
|
||||||
|
{ 270, 70, 8 , 10 },
|
||||||
|
{ 286, 70, 8 , 10 },
|
||||||
|
{ 302, 70, 8 , 10 },
|
||||||
|
{ 318, 70, 8 , 10 },
|
||||||
|
{ 334, 70, 8 , 9 },
|
||||||
|
{ 350, 70, 8 , 12 },
|
||||||
|
{ 366, 70, 14 , 8 },
|
||||||
|
{ 388, 70, 8 , 10 },
|
||||||
|
{ 404, 70, 7 , 10 },
|
||||||
|
{ 419, 70, 7 , 10 },
|
||||||
|
{ 434, 70, 7 , 10 },
|
||||||
|
{ 449, 70, 7 , 9 },
|
||||||
|
{ 464, 70, 5 , 10 },
|
||||||
|
{ 477, 70, 5 , 10 },
|
||||||
|
{ 490, 70, 5 , 10 },
|
||||||
|
{ 4, 92, 5 , 9 },
|
||||||
|
{ 17, 92, 8 , 8 },
|
||||||
|
{ 33, 92, 8 , 10 },
|
||||||
|
{ 49, 92, 8 , 10 },
|
||||||
|
{ 65, 92, 8 , 10 },
|
||||||
|
{ 81, 92, 8 , 10 },
|
||||||
|
{ 97, 92, 8 , 10 },
|
||||||
|
{ 113, 92, 8 , 9 },
|
||||||
|
{ 129, 92, 4 , 4 },
|
||||||
|
{ 141, 92, 8 , 8 },
|
||||||
|
{ 157, 92, 8 , 10 },
|
||||||
|
{ 173, 92, 8 , 10 },
|
||||||
|
{ 189, 92, 8 , 10 },
|
||||||
|
{ 205, 92, 8 , 9 },
|
||||||
|
{ 221, 92, 8 , 10 },
|
||||||
|
{ 237, 92, 7 , 9 },
|
||||||
|
{ 252, 92, 7 , 9 },
|
||||||
|
{ 267, 92, 7 , 8 },
|
||||||
|
{ 282, 92, 7 , 8 },
|
||||||
|
{ 297, 92, 7 , 8 },
|
||||||
|
{ 312, 92, 7 , 8 },
|
||||||
|
{ 327, 92, 7 , 8 },
|
||||||
|
{ 342, 92, 7 , 9 },
|
||||||
|
{ 357, 92, 13 , 5 },
|
||||||
|
{ 378, 92, 7 , 7 },
|
||||||
|
{ 393, 92, 7 , 8 },
|
||||||
|
{ 408, 92, 7 , 8 },
|
||||||
|
{ 423, 92, 7 , 8 },
|
||||||
|
{ 438, 92, 7 , 8 },
|
||||||
|
{ 453, 92, 3 , 8 },
|
||||||
|
{ 464, 92, 2 , 8 },
|
||||||
|
{ 474, 92, 3 , 8 },
|
||||||
|
{ 485, 92, 3 , 8 },
|
||||||
|
{ 4, 114, 8 , 8 },
|
||||||
|
{ 20, 114, 7 , 8 },
|
||||||
|
{ 35, 114, 7 , 8 },
|
||||||
|
{ 50, 114, 7 , 8 },
|
||||||
|
{ 65, 114, 7 , 8 },
|
||||||
|
{ 80, 114, 7 , 8 },
|
||||||
|
{ 95, 114, 7 , 8 },
|
||||||
|
{ 110, 114, 5 , 6 },
|
||||||
|
{ 123, 114, 7 , 5 },
|
||||||
|
{ 138, 114, 7 , 8 },
|
||||||
|
{ 153, 114, 7 , 8 },
|
||||||
|
{ 168, 114, 7 , 8 },
|
||||||
|
{ 183, 114, 7 , 8 },
|
||||||
|
{ 198, 114, 7 , 10 },
|
||||||
|
{ 213, 114, 7 , 10 },
|
||||||
|
{ 228, 114, 7 , 10 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// Font glyphs info data
|
||||||
|
// NOTE: No glyphs.image data provided
|
||||||
|
static const GlyphInfo cyberFontGlyphs[189] = {
|
||||||
|
{ 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 }},
|
||||||
|
{ 161, 0, 3, 2, { 0 }},
|
||||||
|
{ 162, 0, 4, 7, { 0 }},
|
||||||
|
{ 163, 0, 3, 7, { 0 }},
|
||||||
|
{ 8364, 0, 3, 9, { 0 }},
|
||||||
|
{ 165, 0, 3, 8, { 0 }},
|
||||||
|
{ 352, 0, 1, 8, { 0 }},
|
||||||
|
{ 167, 0, 4, 5, { 0 }},
|
||||||
|
{ 353, 0, 3, 7, { 0 }},
|
||||||
|
{ 169, 0, 3, 9, { 0 }},
|
||||||
|
{ 170, 0, 3, 7, { 0 }},
|
||||||
|
{ 171, 0, 6, 6, { 0 }},
|
||||||
|
{ 172, 0, 7, 6, { 0 }},
|
||||||
|
{ 174, 0, 3, 9, { 0 }},
|
||||||
|
{ 175, 0, 11, 3, { 0 }},
|
||||||
|
{ 176, 0, 3, 4, { 0 }},
|
||||||
|
{ 177, 0, 6, 8, { 0 }},
|
||||||
|
{ 178, 0, 3, 4, { 0 }},
|
||||||
|
{ 179, 0, 3, 4, { 0 }},
|
||||||
|
{ 381, 0, 1, 8, { 0 }},
|
||||||
|
{ 181, 0, 6, 7, { 0 }},
|
||||||
|
{ 182, 0, 4, 6, { 0 }},
|
||||||
|
{ 183, 0, 7, 2, { 0 }},
|
||||||
|
{ 382, 0, 3, 7, { 0 }},
|
||||||
|
{ 185, 0, 3, 4, { 0 }},
|
||||||
|
{ 186, 0, 3, 5, { 0 }},
|
||||||
|
{ 187, 0, 6, 6, { 0 }},
|
||||||
|
{ 338, 0, 3, 14, { 0 }},
|
||||||
|
{ 339, 0, 6, 13, { 0 }},
|
||||||
|
{ 376, 0, 2, 8, { 0 }},
|
||||||
|
{ 191, 0, 3, 7, { 0 }},
|
||||||
|
{ 192, 0, 1, 8, { 0 }},
|
||||||
|
{ 193, 0, 1, 8, { 0 }},
|
||||||
|
{ 194, 0, 1, 8, { 0 }},
|
||||||
|
{ 195, 0, 1, 8, { 0 }},
|
||||||
|
{ 196, 0, 2, 8, { 0 }},
|
||||||
|
{ 197, 0, -1, 8, { 0 }},
|
||||||
|
{ 198, 0, 3, 14, { 0 }},
|
||||||
|
{ 199, 0, 3, 8, { 0 }},
|
||||||
|
{ 200, 0, 1, 7, { 0 }},
|
||||||
|
{ 201, 0, 1, 7, { 0 }},
|
||||||
|
{ 202, 0, 1, 7, { 0 }},
|
||||||
|
{ 203, 0, 2, 7, { 0 }},
|
||||||
|
{ 204, 0, 1, 6, { 0 }},
|
||||||
|
{ 205, 0, 1, 6, { 0 }},
|
||||||
|
{ 206, 0, 1, 6, { 0 }},
|
||||||
|
{ 207, 0, 2, 6, { 0 }},
|
||||||
|
{ 208, 0, 3, 9, { 0 }},
|
||||||
|
{ 209, 0, 1, 8, { 0 }},
|
||||||
|
{ 210, 0, 1, 8, { 0 }},
|
||||||
|
{ 211, 0, 1, 8, { 0 }},
|
||||||
|
{ 212, 0, 1, 8, { 0 }},
|
||||||
|
{ 213, 0, 1, 8, { 0 }},
|
||||||
|
{ 214, 0, 2, 8, { 0 }},
|
||||||
|
{ 215, 1, 6, 6, { 0 }},
|
||||||
|
{ 216, 0, 3, 8, { 0 }},
|
||||||
|
{ 217, 0, 1, 8, { 0 }},
|
||||||
|
{ 218, 0, 1, 8, { 0 }},
|
||||||
|
{ 219, 0, 1, 8, { 0 }},
|
||||||
|
{ 220, 0, 2, 8, { 0 }},
|
||||||
|
{ 221, 0, 1, 8, { 0 }},
|
||||||
|
{ 222, 0, 3, 7, { 0 }},
|
||||||
|
{ 223, 0, 3, 7, { 0 }},
|
||||||
|
{ 224, 0, 3, 7, { 0 }},
|
||||||
|
{ 225, 0, 3, 7, { 0 }},
|
||||||
|
{ 226, 0, 3, 7, { 0 }},
|
||||||
|
{ 227, 0, 3, 7, { 0 }},
|
||||||
|
{ 228, 0, 3, 7, { 0 }},
|
||||||
|
{ 229, 0, 2, 7, { 0 }},
|
||||||
|
{ 230, 0, 6, 13, { 0 }},
|
||||||
|
{ 231, 0, 6, 7, { 0 }},
|
||||||
|
{ 232, 0, 3, 7, { 0 }},
|
||||||
|
{ 233, 0, 3, 7, { 0 }},
|
||||||
|
{ 234, 0, 3, 7, { 0 }},
|
||||||
|
{ 235, 0, 3, 7, { 0 }},
|
||||||
|
{ 236, -1, 3, 2, { 0 }},
|
||||||
|
{ 237, 0, 3, 2, { 0 }},
|
||||||
|
{ 238, -1, 3, 2, { 0 }},
|
||||||
|
{ 239, -1, 3, 2, { 0 }},
|
||||||
|
{ 240, 0, 3, 8, { 0 }},
|
||||||
|
{ 241, 0, 3, 7, { 0 }},
|
||||||
|
{ 242, 0, 3, 7, { 0 }},
|
||||||
|
{ 243, 0, 3, 7, { 0 }},
|
||||||
|
{ 244, 0, 3, 7, { 0 }},
|
||||||
|
{ 245, 0, 3, 7, { 0 }},
|
||||||
|
{ 246, 0, 3, 7, { 0 }},
|
||||||
|
{ 247, 0, 4, 6, { 0 }},
|
||||||
|
{ 248, 0, 6, 7, { 0 }},
|
||||||
|
{ 249, 0, 3, 7, { 0 }},
|
||||||
|
{ 250, 0, 3, 7, { 0 }},
|
||||||
|
{ 251, 0, 3, 7, { 0 }},
|
||||||
|
{ 252, 0, 3, 7, { 0 }},
|
||||||
|
{ 253, 0, 3, 7, { 0 }},
|
||||||
|
{ 254, 0, 3, 7, { 0 }},
|
||||||
|
{ 255, 0, 3, 7, { 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_STYLE_FONT_ATLAS_COMP_SIZE, &cyberFontDataSize);
|
||||||
|
Image imFont = { data, 512, 256, 1, 2 };
|
||||||
|
|
||||||
|
Font font = { 0 };
|
||||||
|
font.baseSize = 14;
|
||||||
|
font.glyphCount = 189;
|
||||||
|
|
||||||
|
// Load texture from image
|
||||||
|
font.texture = LoadTextureFromImage(imFont);
|
||||||
|
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 = (Rectangle *)RAYGUI_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 *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
memcpy(font.glyphs, cyberFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
|
||||||
|
|
||||||
|
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 };
|
||||||
|
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
|
||||||
|
}
|
||||||
BIN
styles/cyber/style_cyber.old.rgs
Normal file
BIN
styles/cyber/style_cyber.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
styles/cyber/style_cyber.rgs
Normal file
27
styles/cyber/style_cyber.txt.rgs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#
|
||||||
|
# rgs style text file (v4.0) - raygui style file generated using rGuiStyler
|
||||||
|
#
|
||||||
|
# Provided info:
|
||||||
|
# f fontGenSize charsetFileName fontFileName
|
||||||
|
# p <controlId> <propertyId> <propertyValue> Property description
|
||||||
|
#
|
||||||
|
# WARNING: This style uses a custom font, must be provided with style file
|
||||||
|
#
|
||||||
|
f 14 charset.txt 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 TEXT_SIZE
|
||||||
|
p 00 17 0x00000000 TEXT_SPACING
|
||||||
|
p 00 18 0x81c0d0ff LINE_COLOR
|
||||||
|
p 00 19 0x00222bff BACKGROUND_COLOR
|
||||||
|
p 00 20 0x00000015 TEXT_LINE_SPACING
|
||||||