Compare commits
153 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2b45fea429 | |||
| 665520d7c9 | |||
| fcaab0e9ef | |||
| 926fdf91cc | |||
| 8de6bf1d63 | |||
| bb02c2059e | |||
| fdc0ea5249 | |||
| 6b2f812cc7 | |||
| f343f0057c | |||
| bb17983e22 | |||
| b2ff512c8e | |||
| 6b88e106e0 | |||
| 87fc5aa72c | |||
| e0d3c02892 | |||
| b80fa4016c | |||
| 8c89d8794f | |||
| 5d7bc6b70a | |||
| 1d9fd31074 | |||
| 5d1de95ba2 | |||
| abbf1b1198 | |||
| 19f781780e | |||
| 15a4151b66 | |||
| f218fd001a | |||
| 9f9b822338 | |||
| c02a5883e0 | |||
| 3cd28c0828 | |||
| cec2de3440 | |||
| 5b37ce0630 | |||
| 9e3c5009e4 | |||
| 42cc62e853 | |||
| 0ced5b1c0d | |||
| 32f16ceafd | |||
| 8f808dfe66 | |||
| b5e5271646 | |||
| 0aeac22701 | |||
| 78963b1817 | |||
| fa8272d605 | |||
| 9914eb8d94 | |||
| 64179558e4 | |||
| 85d6736be9 | |||
| bd4d2d860c | |||
| 3fedc2fac4 | |||
| 59cf0c7607 | |||
| c16a98365f | |||
| 03a3cce57b | |||
| ad8e056b0c | |||
| 6e4cd54baa | |||
| a8062229b0 | |||
| d4b9d1fb32 | |||
| abe8bba7fa | |||
| 1021907604 | |||
| 9dc0b58566 | |||
| 16e63f33ee | |||
| 3386e912d3 | |||
| 0562c4c93f | |||
| d981abebd8 | |||
| 98df231227 | |||
| ed4731ad9e | |||
| a3075fcaf4 | |||
| 5cb62810b9 | |||
| f4890960d8 | |||
| eac855b0dd | |||
| e4cc3ce450 | |||
| 3c0aaff191 | |||
| 5f22083d6c | |||
| 353b8a4b5b | |||
| 7837b9dc06 | |||
| 3e6f5fdf01 | |||
| c49cbc9849 | |||
| b37c0df561 | |||
| 680a4bca4b | |||
| a0cded315a | |||
| c8a2e7d442 | |||
| 4e2a878e71 | |||
| 9c826f213f | |||
| 7ef0ae713b | |||
| 38236a5513 | |||
| fc6742a5fe | |||
| 798da1b522 | |||
| 1b18e43768 | |||
| 47269f30ce | |||
| 5bcfa6ccdc | |||
| c29da799cc | |||
| 2f127b3e83 | |||
| 1f920bf264 | |||
| df117f84cb | |||
| 4232b2a0e7 | |||
| f9483a6a52 | |||
| 99299c3f06 | |||
| 161dc0ed84 | |||
| 6cff9e20d4 | |||
| 013f1a2772 | |||
| f534a9a265 | |||
| 694e770351 | |||
| 7b2e7a107b | |||
| 781123c647 | |||
| 9113b1e4c9 | |||
| 486bc9b5e3 | |||
| 9554ca8d63 | |||
| ffb4a7a851 | |||
| c991cbcaf8 | |||
| f13c5c3ec3 | |||
| 865bb29376 | |||
| c4e121d548 | |||
| baf3790cac | |||
| 4c5784f07d | |||
| 8b28248552 | |||
| ec3a7a414d | |||
| 1fdc76d8ad | |||
| 7137b8331d | |||
| 483b3a17ad | |||
| 4466262b50 | |||
| 6d79cdf2fd | |||
| f08ec1d08a | |||
| 453bf67c40 | |||
| 84246d75e8 | |||
| e30cb00f39 | |||
| 151c4c5dce | |||
| 6789281386 | |||
| 9e51cf9213 | |||
| 0476dab3cf | |||
| 4f933c1e81 | |||
| 0dd763f4a4 | |||
| 627e879018 | |||
| 9407bf1a1d | |||
| 7a2a57b868 | |||
| d0f8e9bb0a | |||
| 876dd2879a | |||
| 78cd3d650d | |||
| 803e3b92af | |||
| ce42af4858 | |||
| c8d8fb5a86 | |||
| d0815ce9f3 | |||
| 843ecc2258 | |||
| cdb9fc9bff | |||
| 690214dd0a | |||
| 6f1b6ad15f | |||
| ac231606d3 | |||
| b472287b0a | |||
| ebe196799a | |||
| 7c578ae94b | |||
| 90ef00a474 | |||
| 17f9d3c0f5 | |||
| f00fa5ff23 | |||
| 1f0dbc8aa1 | |||
| cc359132b6 | |||
| a76d9f96e6 | |||
| 0280f973e5 | |||
| 679cc2f17f | |||
| 52755a2913 | |||
| 638484742e | |||
| 4fb2f1a19c | |||
| 042df8f004 |
2
LICENSE
@ -1,6 +1,6 @@
|
||||
zlib License
|
||||
|
||||
Copyright (c) 2014-2022 Ramon Santamaria (@raysan5)
|
||||
Copyright (c) 2014-2023 Ramon Santamaria (@raysan5)
|
||||
|
||||
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.
|
||||
|
||||
30
README.md
@ -2,18 +2,22 @@
|
||||
|
||||
**raygui is a simple and easy-to-use immediate-mode-gui library.**
|
||||
|
||||
`raygui` was initially inspired by [Unity IMGUI](https://docs.unity3d.com/Manual/GUIScriptingGuide.html) (immediate mode GUI API).
|
||||
`raygui` was originally inspired by [Unity IMGUI](https://docs.unity3d.com/Manual/GUIScriptingGuide.html) (immediate mode GUI API).
|
||||
|
||||
`raygui` was originated as an auxiliar module for [raylib](https://github.com/raysan5/raylib) to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders...).
|
||||
`raygui` was designed as an auxiliar module for [raylib](https://github.com/raysan5/raylib) to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders...) but it can be adapted to other engines/frameworks.
|
||||
|
||||
`raygui` is intended for **tools development**; it has already been used to develop [multiple published tools](https://raylibtech.itch.io/rguiicons).
|
||||
`raygui` is intended for **tools development**; it has already been used to develop [multiple published tools](https://raylibtech.itch.io).
|
||||
|
||||
<br>
|
||||
|
||||
**WARNING: Latest `raygui` from master branch is always aligned with latest `raylib` from master branch.**
|
||||
|
||||
**Make sure to use the appropiate versions.**
|
||||
|
||||
## features
|
||||
|
||||
- **Immediate-mode** gui, no retained data
|
||||
- **+28** basic and advance controls provided
|
||||
- **Immediate-mode gui, no retained data**
|
||||
- **+25** controls provided (basic and advanced)
|
||||
- Powerful **styling system** for colors, font and metrics
|
||||
- Standalone usage mode supported (for other graphic libs)
|
||||
- **Icons support**, embedding a complete 1-bit icons pack
|
||||
@ -31,7 +35,7 @@ Slider | SliderBar | ProgressBar | StatusBar | DummyRec | Grid
|
||||
```
|
||||
WindowBox | GroupBox | Line | Panel | ScrollPanel
|
||||
```
|
||||
### advance controls
|
||||
### advanced controls
|
||||
```
|
||||
ListView | ColorPicker | MessageBox | TextInputBox
|
||||
```
|
||||
@ -89,6 +93,12 @@ Provided set of icons can be reviewed and customized using [rGuiIcons](https://r
|
||||
```
|
||||
copy src/raygui.h src/raygui.c
|
||||
gcc -o src/raygui.dll src/raygui.c -shared -DRAYGUI_IMPLEMENTATION -DBUILD_LIBTYPE_SHARED -static-libgcc -lopengl32 -lgdi32 -lwinmm -Wl,--out-implib,src/librayguidll.a
|
||||
```
|
||||
|
||||
- **Windows (MSVC)**
|
||||
```
|
||||
copy src\raylib.h src\raylib.c
|
||||
cl /O2 /I../raylib/src/ /D_USRDLL /D_WINDLL /DRAYGUI_IMPLEMENTATION /DBUILD_LIBTYPE_SHARED src/raygui.c /LD /Feraygui.dll /link /LIBPATH ../raylib/build/raylib/Release/raylib.lib /subsystem:windows /machine:x64
|
||||
```
|
||||
|
||||
- **Linux (GCC)**
|
||||
@ -97,6 +107,14 @@ mv src/raygui.h src/raygui.c
|
||||
gcc -o raygui.so src/raygui.c -shared -fpic -DRAYGUI_IMPLEMENTATION -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
|
||||
```
|
||||
|
||||
- **Mac (clang, homebrew installed raylib)**
|
||||
```
|
||||
cp src/raygui.h src/raygui.c
|
||||
brew install raylib
|
||||
gcc -o raygui.dynlib src/raygui.c -shared -fpic -DRAYGUI_IMPLEMENTATION -framework OpenGL -lm -lpthread -ldl $(pkg-config --libs --cflags raylib)
|
||||
```
|
||||
|
||||
|
||||
## license
|
||||
|
||||
raygui is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check [LICENSE](LICENSE) for further details.
|
||||
|
||||
@ -349,11 +349,13 @@ EXAMPLES = \
|
||||
controls_test_suite/controls_test_suite \
|
||||
custom_file_dialog/custom_file_dialog \
|
||||
image_exporter/image_exporter \
|
||||
image_raw_importer/image_raw_importer \
|
||||
image_importer_raw/image_importer_raw \
|
||||
property_list/property_list \
|
||||
portable_window/portable_window \
|
||||
scroll_panel/gui_scroll_panel \
|
||||
text_box_selection/textbox_extended_demo \
|
||||
text_editor/text_editor
|
||||
scroll_panel/scroll_panel \
|
||||
style_selector/style_selector \
|
||||
custom_sliders/custom_sliders \
|
||||
animation_curve/animation_curve
|
||||
|
||||
CURRENT_MAKEFILE = $(lastword $(MAKEFILE_LIST))
|
||||
|
||||
|
||||
480
examples/animation_curve/animation_curve.c
Normal file
@ -0,0 +1,480 @@
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* Animation curves - An example demo for animation curves
|
||||
*
|
||||
* DEPENDENCIES:
|
||||
* raylib 4.0 - Windowing/input management and drawing.
|
||||
* raygui 3.0 - Immediate-mode GUI controls.
|
||||
*
|
||||
* COMPILATION (Windows - MinGW):
|
||||
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2023 Pierre Jaffuer (@smallcluster)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
#include "raylib.h"
|
||||
|
||||
#define RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT 24
|
||||
#define RAYGUI_IMPLEMENTATION
|
||||
#include "../../src/raygui.h"
|
||||
|
||||
// raygui embedded styles
|
||||
#include "../style_selector/styles/style_cyber.h" // raygui style: cyber
|
||||
#include "../style_selector/styles/style_jungle.h" // raygui style: jungle
|
||||
#include "../style_selector/styles/style_lavanda.h" // raygui style: lavanda
|
||||
#include "../style_selector/styles/style_dark.h" // raygui style: dark
|
||||
#include "../style_selector/styles/style_bluish.h" // raygui style: bluish
|
||||
#include "../style_selector/styles/style_terminal.h" // raygui style: terminal
|
||||
|
||||
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
|
||||
|
||||
#define GUI_CURVE_EDIT_IMPLEMENTATION
|
||||
#include "gui_curve_edit.h"
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
// Helper function
|
||||
//------------------------------------------------------------------------------------
|
||||
|
||||
void LoadDefaults(GuiCurveEditState curves[]);
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
// Program main entry point
|
||||
//------------------------------------------------------------------------------------
|
||||
int main()
|
||||
{
|
||||
// Initialization
|
||||
//---------------------------------------------------------------------------------------
|
||||
const int screenWidth = 800;
|
||||
const int screenHeight = 540;
|
||||
|
||||
InitWindow(screenWidth, screenHeight, "Animation curves");
|
||||
SetTargetFPS(60);
|
||||
|
||||
// Gui style
|
||||
GuiLoadStyleDefault();
|
||||
int visualStyleActive = 0;
|
||||
int prevVisualStyleActive = 0;
|
||||
|
||||
float fontSize = GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
const float margin = 8;
|
||||
|
||||
// Gui states
|
||||
Vector2 scrollOffset = (Vector2) {0,0};
|
||||
Rectangle contentRect = (Rectangle) {0,0,0,0};
|
||||
bool moveSlider = false;
|
||||
bool sectionActive[5] = {false};
|
||||
sectionActive[0] = true;
|
||||
const char* sectionNames[5] = {"X Position", "Y Position", "Width", "Height", "Rotation"};
|
||||
bool editValueBox[5][4] = {false};
|
||||
char* valTextBox[5][4][20];
|
||||
bool playAnimation = true;
|
||||
bool showHelp = true;
|
||||
|
||||
Rectangle settingsRect = (Rectangle) {screenWidth-screenWidth/3, 0, screenWidth/3, screenHeight};
|
||||
|
||||
// Animation curves
|
||||
// 0 -> Ball X position
|
||||
// 1 -> Ball Y position
|
||||
// 2 -> Ball Width
|
||||
// 3 -> Ball Height
|
||||
// 4 -> Ball rotation
|
||||
GuiCurveEditState curves[5];
|
||||
LoadDefaults(curves);
|
||||
|
||||
// Animation time
|
||||
float time = 0.f;
|
||||
float animationTime = 4.f;
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
// Main game loop
|
||||
while (!WindowShouldClose()) // Detect window close button or ESC key
|
||||
{
|
||||
// Update
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
if(playAnimation)
|
||||
time += GetFrameTime();
|
||||
|
||||
// Reset timer
|
||||
if(time > animationTime)
|
||||
time = 0;
|
||||
|
||||
// Ball animation
|
||||
const float t = time / animationTime;
|
||||
Vector2 ballPos = (Vector2) {EvalGuiCurve(&curves[0], t), EvalGuiCurve(&curves[1], t)};
|
||||
Vector2 ballSize = (Vector2) {EvalGuiCurve(&curves[2], t), EvalGuiCurve(&curves[3], t)};
|
||||
float ballRotation = EvalGuiCurve(&curves[4], t);
|
||||
|
||||
// Update style
|
||||
if(visualStyleActive != prevVisualStyleActive){
|
||||
switch (visualStyleActive)
|
||||
{
|
||||
case 0: GuiLoadStyleDefault(); break;
|
||||
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;
|
||||
}
|
||||
fontSize = GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
prevVisualStyleActive = visualStyleActive;
|
||||
}
|
||||
|
||||
// Update settings panel rect
|
||||
Rectangle sliderRect = (Rectangle) {settingsRect.x-4, settingsRect.y, 4, settingsRect.height};
|
||||
if(CheckCollisionPointRec(GetMousePosition(), sliderRect) && IsMouseButtonPressed(MOUSE_BUTTON_LEFT)){
|
||||
moveSlider = true;
|
||||
}
|
||||
if(IsMouseButtonUp(MOUSE_BUTTON_LEFT)){
|
||||
moveSlider = false;
|
||||
}
|
||||
if(moveSlider){
|
||||
settingsRect.x = GetMouseX();
|
||||
// Minimum-Maximum size
|
||||
if(settingsRect.x > screenWidth-4)
|
||||
settingsRect.x = screenWidth-4;
|
||||
else if(settingsRect.x < 4) // width of the slider
|
||||
settingsRect.x = 4;
|
||||
settingsRect.width = screenWidth-settingsRect.x;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
// Draw
|
||||
//----------------------------------------------------------------------------------
|
||||
BeginDrawing();
|
||||
ClearBackground(GetColor( GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
|
||||
|
||||
// Scene
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
// sky
|
||||
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);
|
||||
// Draw ball
|
||||
DrawRectanglePro((Rectangle){ballPos.x, ballPos.y, ballSize.x, ballSize.y}, (Vector2){ballSize.x/2.f,ballSize.y/2.f}, ballRotation, PINK);
|
||||
// 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+90)*DEG2RAD)*ballSize.x, ballPos.y +sinf((ballRotation+90)*DEG2RAD)*ballSize.y, GREEN);
|
||||
EndScissorMode();
|
||||
|
||||
// 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)));
|
||||
|
||||
// GUI
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
// Help window
|
||||
if(showHelp){
|
||||
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};
|
||||
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "Curve widget controls:");
|
||||
helpTextRect.height += fontSize+margin;
|
||||
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "- Left click to move/add point or move tangents");
|
||||
helpTextRect.height += fontSize+margin/2;
|
||||
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "- While moving a tangent, hold SHIFT to disable tangent symetry");
|
||||
helpTextRect.height += fontSize+margin/2;
|
||||
GuiLabel((Rectangle) {helpTextRect.x, helpTextRect.y+helpTextRect.height, helpTextRect.width, fontSize}, "- Right click to remove a point");
|
||||
helpTextRect.height += fontSize+margin/2;
|
||||
DrawRectangleGradientV(margin, margin+curves[1].end-2*margin, settingsRect.x-2*margin, 12, (Color){0,0,0,100}, BLANK);
|
||||
}
|
||||
|
||||
// Settings panel
|
||||
GuiScrollPanel(settingsRect, "Settings", contentRect, &scrollOffset);
|
||||
// Clip rendering
|
||||
BeginScissorMode(settingsRect.x, settingsRect.y+RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, settingsRect.width, settingsRect.height);
|
||||
// Rebuild the content Rect
|
||||
contentRect = (Rectangle) {settingsRect.x+margin, RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT+margin, settingsRect.width-2*margin-GuiGetStyle(LISTVIEW, SCROLLBAR_WIDTH), 0};
|
||||
|
||||
// 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"))){
|
||||
showHelp = !showHelp;
|
||||
}
|
||||
contentRect.height += 1.5*fontSize + margin;
|
||||
|
||||
// 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);
|
||||
contentRect.height += fontSize + margin;
|
||||
|
||||
// Load default curves
|
||||
if(GuiButton((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, 1.5*fontSize}, "Load default")){
|
||||
LoadDefaults(curves);
|
||||
animationTime = 4.f;
|
||||
time = 0.f;
|
||||
}
|
||||
contentRect.height += 1.5*fontSize + margin;
|
||||
|
||||
// Styles
|
||||
GuiLabel((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, fontSize}, "Style:");
|
||||
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);
|
||||
contentRect.height += 1.5*fontSize + margin;
|
||||
|
||||
// Draw curves with their controls
|
||||
//----------------------------------------------------------------------------------
|
||||
for(int i=0; i < 5; i++){
|
||||
// Collapsing section
|
||||
Rectangle headerRect = (Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, 1.5*fontSize};
|
||||
GuiStatusBar(headerRect, NULL);
|
||||
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;
|
||||
|
||||
// Skip this section
|
||||
if(!sectionActive[i])
|
||||
continue;
|
||||
|
||||
// Draw curve control
|
||||
Rectangle curveRect = (Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, fontSize*12};
|
||||
EndScissorMode(); // Stop clipping from setting rect
|
||||
// Curves can leaks from control boundary... scissor it !
|
||||
BeginScissorMode(curveRect.x, curveRect.y, curveRect.width, curveRect.height);
|
||||
GuiCurveEdit(&curves[i],curveRect);
|
||||
EndScissorMode();
|
||||
// Resume clipping from setting rect
|
||||
BeginScissorMode(settingsRect.x, settingsRect.y+RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, settingsRect.width, settingsRect.height);
|
||||
contentRect.height += fontSize*12 + margin;
|
||||
|
||||
// Draw selected point controls
|
||||
GuiCurveEditPoint* 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);
|
||||
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);
|
||||
contentRect.height += 1.5*fontSize + margin;
|
||||
|
||||
// Positions
|
||||
GuiLabel((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, fontSize}, "Position");
|
||||
contentRect.height += fontSize;
|
||||
|
||||
if(!editValueBox[i][0]){
|
||||
// transform x position to string
|
||||
gcvt(p->position.x, 6, valTextBox[i][0]);
|
||||
}
|
||||
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
|
||||
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])){
|
||||
editValueBox[i][0] = !editValueBox[i][0];
|
||||
// input ended
|
||||
if(!editValueBox[i][0]){
|
||||
// Try to convert text to float and assign it to the point
|
||||
char * 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 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])){
|
||||
editValueBox[i][1] = !editValueBox[i][1];
|
||||
|
||||
// input ended
|
||||
if(!editValueBox[i][1]){
|
||||
// Try to convert text to float and assign it to the point
|
||||
char * 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);
|
||||
p->position.y = normalizedVal < 0 ? 0 : normalizedVal > 1 ? 1 : normalizedVal;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
contentRect.height += 1.5*fontSize + margin;
|
||||
|
||||
// Tangents
|
||||
GuiLabel((Rectangle){contentRect.x, contentRect.y+contentRect.height+scrollOffset.y, contentRect.width, fontSize}, "Tangents");
|
||||
contentRect.height += fontSize;
|
||||
|
||||
if(!editValueBox[i][2]){
|
||||
// transform left tangent to string
|
||||
gcvt(p->tangents.x, 6, valTextBox[i][2]);
|
||||
}
|
||||
if(!editValueBox[i][3]){
|
||||
// transform right tangent to string
|
||||
gcvt(p->tangents.y, 6, valTextBox[i][3]);
|
||||
}
|
||||
|
||||
// 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])){
|
||||
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;
|
||||
|
||||
}
|
||||
contentRect.height += margin;
|
||||
EndScissorMode();
|
||||
|
||||
// Settings panel shadow
|
||||
DrawRectangleGradientH(settingsRect.x-12, 0, 12, settingsRect.height, BLANK, (Color){0,0,0,100});
|
||||
|
||||
// Slider
|
||||
if(moveSlider){
|
||||
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)));
|
||||
}
|
||||
|
||||
// Draw Time controls
|
||||
//----------------------------------------------------------------------------------
|
||||
Rectangle timeLineRect = (Rectangle) {0, screenHeight-4*fontSize, settingsRect.x, 4*fontSize};
|
||||
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));
|
||||
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;
|
||||
}
|
||||
if(GuiButton((Rectangle) { timeLineRect.x+timeLineRect.width/2+margin/4, timeLineRect.y, 2*fontSize, 2*fontSize}, GuiIconText(ICON_PLAYER_STOP, ""))){
|
||||
playAnimation = false;
|
||||
time = 0;
|
||||
}
|
||||
time = animationTime * GuiSlider((Rectangle){timeLineRect.x, timeLineRect.y+2*fontSize, timeLineRect.width, timeLineRect.height-2*fontSize}, NULL, NULL, time / animationTime, 0, 1);
|
||||
|
||||
// Time panel shadow
|
||||
DrawRectangleGradientV(timeLineRect.x, timeLineRect.y-12, timeLineRect.width, 12, BLANK, (Color){0,0,0,100});
|
||||
|
||||
|
||||
EndDrawing();
|
||||
//----------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
CloseWindow(); // Close window and OpenGL context
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void LoadDefaults(GuiCurveEditState curves[]){
|
||||
// X pos
|
||||
curves[0].start = 28;
|
||||
curves[0].end = 506;
|
||||
curves[0].numPoints = 4;
|
||||
curves[0].selectedIndex = 0;
|
||||
curves[0].editLeftTangent = false;
|
||||
curves[0].editRightTangent = false;
|
||||
curves[0].points[0].position =(Vector2) {0.000000, 0.000000}; curves[0].points[0].tangents = (Vector2) {0.000000, 1.515101}; curves[0].points[0].leftLinear = 1;curves[0].points[0].rightLinear = 1;
|
||||
curves[0].points[1].position =(Vector2) {0.422414, 0.640000}; curves[0].points[1].tangents = (Vector2) {-2.824348, -4.494999};curves[0].points[1].leftLinear = 0;curves[0].points[1].rightLinear = 0;
|
||||
curves[0].points[2].position =(Vector2) {0.732759, 0.210000}; curves[0].points[2].tangents = (Vector2) {0.000000, 2.956133}; curves[0].points[2].leftLinear = 0;curves[0].points[2].rightLinear = 1;
|
||||
curves[0].points[3].position =(Vector2) {1.000000, 1.000000}; curves[0].points[3].tangents = (Vector2) {2.956133, 0.000000}; curves[0].points[3].leftLinear = 1;curves[0].points[3].rightLinear = 1;
|
||||
|
||||
// Y pos
|
||||
curves[1].start = 405;
|
||||
curves[1].end = 135;
|
||||
curves[1].numPoints = 7;
|
||||
curves[1].selectedIndex = 0;
|
||||
curves[1].editLeftTangent = false;
|
||||
curves[1].editRightTangent = false;
|
||||
curves[1].points[0].position = (Vector2) {0.000000, 1.000000};curves[1].points[0].tangents = (Vector2) { 0.000000 , 0.000000};curves[1].points[0].leftLinear = 0;curves[1].points[0].rightLinear = 0;
|
||||
curves[1].points[1].position = (Vector2) {0.140000, 0.000000};curves[1].points[1].tangents = (Vector2) {-10.000000 ,10.000000};curves[1].points[1].leftLinear = 0;curves[1].points[1].rightLinear = 0;
|
||||
curves[1].points[2].position = (Vector2) {0.450000, 0.000000};curves[1].points[2].tangents = (Vector2) {-10.000000 ,10.000000};curves[1].points[2].leftLinear = 0;curves[1].points[2].rightLinear = 0;
|
||||
curves[1].points[3].position = (Vector2) {0.670000, 0.000000};curves[1].points[3].tangents = (Vector2) {-10.000000 ,10.000000};curves[1].points[3].leftLinear = 0;curves[1].points[3].rightLinear = 0;
|
||||
curves[1].points[4].position = (Vector2) {0.830000, 0.000000};curves[1].points[4].tangents = (Vector2) {-10.000000 ,10.000000};curves[1].points[4].leftLinear = 0;curves[1].points[4].rightLinear = 0;
|
||||
curves[1].points[5].position = (Vector2) {0.940000, 0.000000};curves[1].points[5].tangents = (Vector2) {-10.000000 ,10.000000};curves[1].points[5].leftLinear = 0;curves[1].points[5].rightLinear = 0;
|
||||
curves[1].points[6].position = (Vector2) {1.000000, 0.000000};curves[1].points[6].tangents = (Vector2) {-10.000000 , 0.000000};curves[1].points[6].leftLinear = 0;curves[1].points[6].rightLinear = 0;
|
||||
|
||||
// X size
|
||||
curves[2].start = 1;
|
||||
curves[2].end = 64;
|
||||
curves[2].numPoints = 16;
|
||||
curves[2].selectedIndex = 0;
|
||||
curves[2].editLeftTangent = false;
|
||||
curves[2].editRightTangent = false;
|
||||
curves[2].points[0].position = (Vector2) {0.000000, 0.492063}; curves[2].points[0].tangents = (Vector2) {0,0}; curves[2].points[0].leftLinear = 0; curves[2].points[0].rightLinear = 0;
|
||||
curves[2].points[1].position = (Vector2) {0.130000, 0.492063}; curves[2].points[1].tangents = (Vector2) {0,0}; curves[2].points[1].leftLinear = 0; curves[2].points[1].rightLinear = 0;
|
||||
curves[2].points[2].position = (Vector2) {0.140000, 0.746032}; curves[2].points[2].tangents = (Vector2) {0,0}; curves[2].points[2].leftLinear = 0; curves[2].points[2].rightLinear = 0;
|
||||
curves[2].points[3].position = (Vector2) {0.150000, 0.492063}; curves[2].points[3].tangents = (Vector2) {0,0}; curves[2].points[3].leftLinear = 0; curves[2].points[3].rightLinear = 0;
|
||||
curves[2].points[4].position = (Vector2) {0.440000, 0.490000}; curves[2].points[4].tangents = (Vector2) {0,0}; curves[2].points[4].leftLinear = 0; curves[2].points[4].rightLinear = 0;
|
||||
curves[2].points[5].position = (Vector2) {0.450000, 0.682540}; curves[2].points[5].tangents = (Vector2) {0,0}; curves[2].points[5].leftLinear = 0; curves[2].points[5].rightLinear = 0;
|
||||
curves[2].points[6].position = (Vector2) {0.460000, 0.480000}; curves[2].points[6].tangents = (Vector2) {0,0}; curves[2].points[6].leftLinear = 0; curves[2].points[6].rightLinear = 0;
|
||||
curves[2].points[7].position = (Vector2) {0.660000, 0.492063}; curves[2].points[7].tangents = (Vector2) {0,0}; curves[2].points[7].leftLinear = 0; curves[2].points[7].rightLinear = 0;
|
||||
curves[2].points[8].position = (Vector2) {0.670000, 0.619048}; curves[2].points[8].tangents = (Vector2) {0,0}; curves[2].points[8].leftLinear = 0; curves[2].points[8].rightLinear = 0;
|
||||
curves[2].points[9].position = (Vector2) {0.680000, 0.492063}; curves[2].points[9].tangents = (Vector2) {0,0}; curves[2].points[9].leftLinear = 0; curves[2].points[9].rightLinear = 0;
|
||||
curves[2].points[10].position = (Vector2) {0.820000, 0.492063}; curves[2].points[10].tangents = (Vector2) {0,0}; curves[2].points[10].leftLinear = 0; curves[2].points[10].rightLinear = 0;
|
||||
curves[2].points[11].position = (Vector2) {0.830000, 0.619048}; curves[2].points[11].tangents = (Vector2) {0,0}; curves[2].points[11].leftLinear = 0; curves[2].points[11].rightLinear = 0;
|
||||
curves[2].points[12].position = (Vector2) {0.840000, 0.492063}; curves[2].points[12].tangents = (Vector2) {0,0}; curves[2].points[12].leftLinear = 0; curves[2].points[12].rightLinear = 0;
|
||||
curves[2].points[13].position = (Vector2) {0.930000, 0.492063}; curves[2].points[13].tangents = (Vector2) {0,0}; curves[2].points[13].leftLinear = 0; curves[2].points[13].rightLinear = 0;
|
||||
curves[2].points[14].position = (Vector2) {0.940000, 0.619048}; curves[2].points[14].tangents = (Vector2) {0,0}; curves[2].points[14].leftLinear = 0; curves[2].points[14].rightLinear = 0;
|
||||
curves[2].points[15].position = (Vector2) {0.950000, 0.492063}; curves[2].points[15].tangents = (Vector2) {0,0}; curves[2].points[15].leftLinear = 0; curves[2].points[15].rightLinear = 0;
|
||||
|
||||
// Y Size
|
||||
curves[3].start = 1;
|
||||
curves[3].end = 64;
|
||||
curves[3].numPoints = 16;
|
||||
curves[3].selectedIndex = 0;
|
||||
curves[3].editLeftTangent = false;
|
||||
curves[3].editRightTangent = false;
|
||||
curves[3].points[0].position = (Vector2) {0.000000, 0.492063};curves[3].points[0].tangents = (Vector2) {0,0};curves[3].points[0].leftLinear = 0;curves[3].points[0].rightLinear = 0;
|
||||
curves[3].points[1].position = (Vector2) {0.130000, 0.492063};curves[3].points[1].tangents = (Vector2) {0,0};curves[3].points[1].leftLinear = 0;curves[3].points[1].rightLinear = 0;
|
||||
curves[3].points[2].position = (Vector2) {0.140000, 0.238095};curves[3].points[2].tangents = (Vector2) {0,0};curves[3].points[2].leftLinear = 0;curves[3].points[2].rightLinear = 0;
|
||||
curves[3].points[3].position = (Vector2) {0.150000, 0.492063};curves[3].points[3].tangents = (Vector2) {0,0};curves[3].points[3].leftLinear = 0;curves[3].points[3].rightLinear = 0;
|
||||
curves[3].points[4].position = (Vector2) {0.440000, 0.492063};curves[3].points[4].tangents = (Vector2) {0,0};curves[3].points[4].leftLinear = 0;curves[3].points[4].rightLinear = 0;
|
||||
curves[3].points[5].position = (Vector2) {0.450000, 0.301587};curves[3].points[5].tangents = (Vector2) {0,0};curves[3].points[5].leftLinear = 0;curves[3].points[5].rightLinear = 0;
|
||||
curves[3].points[6].position = (Vector2) {0.460000, 0.492063};curves[3].points[6].tangents = (Vector2) {0,0};curves[3].points[6].leftLinear = 0;curves[3].points[6].rightLinear = 0;
|
||||
curves[3].points[7].position = (Vector2) {0.660000, 0.492063};curves[3].points[7].tangents = (Vector2) {0,0};curves[3].points[7].leftLinear = 0;curves[3].points[7].rightLinear = 0;
|
||||
curves[3].points[8].position = (Vector2) {0.670000, 0.365079};curves[3].points[8].tangents = (Vector2) {0,0};curves[3].points[8].leftLinear = 0;curves[3].points[8].rightLinear = 0;
|
||||
curves[3].points[9].position = (Vector2) {0.680000, 0.492063};curves[3].points[9].tangents = (Vector2) {0,0};curves[3].points[9].leftLinear = 0;curves[3].points[9].rightLinear = 0;
|
||||
curves[3].points[10].position = (Vector2) {0.820000, 0.492063};curves[3].points[10].tangents = (Vector2) {0,0};curves[3].points[10].leftLinear = 0;curves[3].points[10].rightLinear = 0;
|
||||
curves[3].points[11].position = (Vector2) {0.830000, 0.365079};curves[3].points[11].tangents = (Vector2) {0,0};curves[3].points[11].leftLinear = 0;curves[3].points[11].rightLinear = 0;
|
||||
curves[3].points[12].position = (Vector2) {0.840000, 0.492063};curves[3].points[12].tangents = (Vector2) {0,0};curves[3].points[12].leftLinear = 0;curves[3].points[12].rightLinear = 0;
|
||||
curves[3].points[13].position = (Vector2) {0.930000, 0.492063};curves[3].points[13].tangents = (Vector2) {0,0};curves[3].points[13].leftLinear = 0;curves[3].points[13].rightLinear = 0;
|
||||
curves[3].points[14].position = (Vector2) {0.940000, 0.365079};curves[3].points[14].tangents = (Vector2) {0,0};curves[3].points[14].leftLinear = 0;curves[3].points[14].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
|
||||
|
||||
curves[4].start = -360;
|
||||
curves[4].end = 360;
|
||||
curves[4].numPoints = 9;
|
||||
curves[4].selectedIndex = 0;
|
||||
curves[4].editLeftTangent = false;
|
||||
curves[4].editRightTangent = false;
|
||||
curves[4].points[0].position = (Vector2) {0.140000, 0.500000};curves[4].points[0].tangents = (Vector2) {0,0};curves[4].points[0].leftLinear = 0;curves[4].points[0].rightLinear = 0;
|
||||
curves[4].points[1].position = (Vector2) {0.450000, 0.500000};curves[4].points[1].tangents = (Vector2) {0,0};curves[4].points[1].leftLinear = 0;curves[4].points[1].rightLinear = 0;
|
||||
curves[4].points[2].position = (Vector2) {0.670000, 0.500000};curves[4].points[2].tangents = (Vector2) {0,0};curves[4].points[2].leftLinear = 0;curves[4].points[2].rightLinear = 0;
|
||||
curves[4].points[3].position = (Vector2) {0.830000, 0.500000};curves[4].points[3].tangents = (Vector2) {0,0};curves[4].points[3].leftLinear = 0;curves[4].points[3].rightLinear = 0;
|
||||
curves[4].points[4].position = (Vector2) {0.940000, 0.500000};curves[4].points[4].tangents = (Vector2) {0,0};curves[4].points[4].leftLinear = 0;curves[4].points[4].rightLinear = 0;
|
||||
curves[4].points[5].position = (Vector2) {1.000000, 0.500000};curves[4].points[5].tangents = (Vector2) {0,0};curves[4].points[5].leftLinear = 0;curves[4].points[5].rightLinear = 0;
|
||||
curves[4].points[6].position = (Vector2) {0.000000, 0.472222};curves[4].points[6].tangents = (Vector2) {0,0};curves[4].points[6].leftLinear = 0;curves[4].points[6].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;
|
||||
}
|
||||
|
||||
|
||||
517
examples/animation_curve/gui_curve_edit.h
Normal file
@ -0,0 +1,517 @@
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* 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
|
||||
|
||||
@ -12,7 +12,6 @@
|
||||
* - GuiComboBox()
|
||||
* - GuiListView()
|
||||
* - GuiToggleGroup()
|
||||
* - GuiTextBoxMulti()
|
||||
* - GuiColorPicker()
|
||||
* - GuiSlider()
|
||||
* - GuiSliderBar()
|
||||
@ -22,15 +21,15 @@
|
||||
*
|
||||
*
|
||||
* DEPENDENCIES:
|
||||
* raylib 4.0 - Windowing/input management and drawing.
|
||||
* raygui 3.0 - Immediate-mode GUI controls.
|
||||
* raylib 4.5 - Windowing/input management and drawing
|
||||
* raygui 3.5 - Immediate-mode GUI controls with custom styling and icons
|
||||
*
|
||||
* COMPILATION (Windows - MinGW):
|
||||
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2016-2022 Ramon Santamaria (@raysan5)
|
||||
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
@ -128,12 +127,11 @@ int main()
|
||||
|
||||
if (IsFileDropped())
|
||||
{
|
||||
int dropFileCount = 0;
|
||||
char **droppedFiles = GetDroppedFiles(&dropFileCount);
|
||||
FilePathList droppedFiles = LoadDroppedFiles();
|
||||
|
||||
if ((dropFileCount > 0) && IsFileExtension(droppedFiles[0], ".rgs")) GuiLoadStyle(droppedFiles[0]);
|
||||
if ((droppedFiles.count > 0) && IsFileExtension(droppedFiles.paths[0], ".rgs")) GuiLoadStyle(droppedFiles.paths[0]);
|
||||
|
||||
ClearDroppedFiles(); // Clear internal buffers
|
||||
UnloadDroppedFiles(droppedFiles); // Clear internal buffers
|
||||
}
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
@ -145,41 +143,42 @@ int main()
|
||||
|
||||
// raygui: controls drawing
|
||||
//----------------------------------------------------------------------------------
|
||||
if (dropDown000EditMode || dropDown001EditMode) GuiLock();
|
||||
else if (!dropDown000EditMode && !dropDown001EditMode) GuiUnlock();
|
||||
//GuiDisable();
|
||||
// Check all possible events that require GuiLock
|
||||
if (dropDown000EditMode ||
|
||||
dropDown001EditMode) GuiLock();
|
||||
|
||||
// First GUI column
|
||||
//GuiSetStyle(CHECKBOX, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_LEFT);
|
||||
//GuiSetStyle(CHECKBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||
forceSquaredChecked = GuiCheckBox((Rectangle){ 25, 108, 15, 15 }, "FORCE CHECK!", forceSquaredChecked);
|
||||
|
||||
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_CENTER);
|
||||
//GuiSetStyle(VALUEBOX, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_LEFT);
|
||||
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||
//GuiSetStyle(VALUEBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||
if (GuiSpinner((Rectangle){ 25, 135, 125, 30 }, NULL, &spinner001Value, 0, 100, spinnerEditMode)) spinnerEditMode = !spinnerEditMode;
|
||||
if (GuiValueBox((Rectangle){ 25, 175, 125, 30 }, NULL, &valueBox002Value, 0, 100, valueBoxEditMode)) valueBoxEditMode = !valueBoxEditMode;
|
||||
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_LEFT);
|
||||
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||
if (GuiTextBox((Rectangle){ 25, 215, 125, 30 }, textBoxText, 64, textBoxEditMode)) textBoxEditMode = !textBoxEditMode;
|
||||
|
||||
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_CENTER);
|
||||
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||
|
||||
if (GuiButton((Rectangle){ 25, 255, 125, 30 }, GuiIconText(RAYGUI_ICON_FILE_SAVE, "Save File"))) showTextInputBox = true;
|
||||
if (GuiButton((Rectangle){ 25, 255, 125, 30 }, GuiIconText(ICON_FILE_SAVE, "Save File"))) showTextInputBox = true;
|
||||
|
||||
GuiGroupBox((Rectangle){ 25, 310, 125, 150 }, "STATES");
|
||||
//GuiLock();
|
||||
GuiSetState(GUI_STATE_NORMAL); if (GuiButton((Rectangle){ 30, 320, 115, 30 }, "NORMAL")) { }
|
||||
GuiSetState(GUI_STATE_FOCUSED); if (GuiButton((Rectangle){ 30, 355, 115, 30 }, "FOCUSED")) { }
|
||||
GuiSetState(GUI_STATE_PRESSED); if (GuiButton((Rectangle){ 30, 390, 115, 30 }, "#15#PRESSED")) { }
|
||||
GuiSetState(GUI_STATE_DISABLED); if (GuiButton((Rectangle){ 30, 425, 115, 30 }, "DISABLED")) { }
|
||||
GuiSetState(GUI_STATE_NORMAL);
|
||||
GuiSetState(STATE_NORMAL); if (GuiButton((Rectangle){ 30, 320, 115, 30 }, "NORMAL")) { }
|
||||
GuiSetState(STATE_FOCUSED); if (GuiButton((Rectangle){ 30, 355, 115, 30 }, "FOCUSED")) { }
|
||||
GuiSetState(STATE_PRESSED); if (GuiButton((Rectangle){ 30, 390, 115, 30 }, "#15#PRESSED")) { }
|
||||
GuiSetState(STATE_DISABLED); if (GuiButton((Rectangle){ 30, 425, 115, 30 }, "DISABLED")) { }
|
||||
GuiSetState(STATE_NORMAL);
|
||||
//GuiUnlock();
|
||||
|
||||
comboBoxActive = GuiComboBox((Rectangle){ 25, 470, 125, 30 }, "ONE;TWO;THREE;FOUR", comboBoxActive);
|
||||
|
||||
// NOTE: GuiDropdownBox must draw after any other control that can be covered on unfolding
|
||||
GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_LEFT);
|
||||
GuiUnlock();
|
||||
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;
|
||||
|
||||
GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_CENTER);
|
||||
GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||
if (GuiDropdownBox((Rectangle){ 25, 25, 125, 30 }, "ONE;TWO;THREE", &dropdownBox000Active, dropDown000EditMode)) dropDown000EditMode = !dropDown000EditMode;
|
||||
|
||||
// Second GUI column
|
||||
@ -189,24 +188,26 @@ int main()
|
||||
toggleGroupActive = GuiToggleGroup((Rectangle){ 165, 400, 140, 25 }, "#1#ONE\n#3#TWO\n#8#THREE\n#23#", toggleGroupActive);
|
||||
|
||||
// Third GUI column
|
||||
if (GuiTextBoxMulti((Rectangle){ 320, 25, 225, 140 }, multiTextBoxText, 256, multiTextBoxEditMode)) multiTextBoxEditMode = !multiTextBoxEditMode;
|
||||
colorPickerValue = GuiColorPicker((Rectangle){ 320, 185, 196, 192 }, colorPickerValue);
|
||||
GuiPanel((Rectangle){ 320, 25, 225, 140 }, "Panel Info");
|
||||
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);
|
||||
sliderBarValue = GuiSliderBar((Rectangle){ 320, 430, 200, 20 }, NULL, TextFormat("%i", (int)sliderBarValue), sliderBarValue, 0, 100);
|
||||
progressValue = GuiProgressBar((Rectangle){ 320, 460, 200, 20 }, NULL, NULL, progressValue, 0, 1);
|
||||
|
||||
// NOTE: View rectangle could be used to perform some scissor test
|
||||
Rectangle view = GuiScrollPanel((Rectangle){ 560, 25, 100, 160 }, (Rectangle){ 560, 25, 200, 400 }, &viewScroll);
|
||||
Rectangle view = GuiScrollPanel((Rectangle){ 560, 25, 102, 354 }, NULL, (Rectangle){ 560, 25, 300, 1200 }, &viewScroll);
|
||||
|
||||
GuiStatusBar((Rectangle){ 0, GetScreenHeight() - 20, GetScreenWidth(), 20 }, "This is a status bar");
|
||||
GuiGrid((Rectangle) { 560, 25 + 180 + 195, 100, 120 }, NULL, 20, 2);
|
||||
|
||||
alphaValue = GuiColorBarAlpha((Rectangle){ 320, 490, 200, 30 }, alphaValue);
|
||||
GuiStatusBar((Rectangle){ 0, (float)GetScreenHeight() - 20, (float)GetScreenWidth(), 20 }, "This is a status bar");
|
||||
|
||||
alphaValue = GuiColorBarAlpha((Rectangle){ 320, 490, 200, 30 }, NULL, alphaValue);
|
||||
|
||||
if (showMessageBox)
|
||||
{
|
||||
DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, 0.8f));
|
||||
int result = GuiMessageBox((Rectangle){ GetScreenWidth()/2 - 125, GetScreenHeight()/2 - 50, 250, 100 }, GuiIconText(RAYGUI_ICON_EXIT, "Close Window"), "Do you really want to exit?", "Yes;No");
|
||||
int result = GuiMessageBox((Rectangle){ (float)GetScreenWidth()/2 - 125, (float)GetScreenHeight()/2 - 50, 250, 100 }, GuiIconText(ICON_EXIT, "Close Window"), "Do you really want to exit?", "Yes;No");
|
||||
|
||||
if ((result == 0) || (result == 2)) showMessageBox = false;
|
||||
else if (result == 1) exitWindow = true;
|
||||
@ -215,7 +216,7 @@ int main()
|
||||
if (showTextInputBox)
|
||||
{
|
||||
DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, 0.8f));
|
||||
int result = GuiTextInputBox((Rectangle){ GetScreenWidth()/2 - 120, GetScreenHeight()/2 - 60, 240, 140 }, GuiIconText(RAYGUI_ICON_FILE_SAVE, "Save file as..."), "Introduce a save file name", "Ok;Cancel", textInput);
|
||||
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);
|
||||
|
||||
if (result == 1)
|
||||
{
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2016-2022 Ramon Santamaria (@raysan5)
|
||||
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
@ -38,7 +38,7 @@ int main()
|
||||
SetExitKey(0);
|
||||
|
||||
// Custom file dialog
|
||||
GuiFileDialogState fileDialogState = InitGuiFileDialog(420, 310, GetWorkingDirectory(), false);
|
||||
GuiFileDialogState fileDialogState = InitGuiFileDialog(GetWorkingDirectory());
|
||||
|
||||
bool exitWindow = false;
|
||||
|
||||
@ -83,9 +83,9 @@ int main()
|
||||
|
||||
// raygui: controls drawing
|
||||
//----------------------------------------------------------------------------------
|
||||
if (fileDialogState.fileDialogActive) GuiLock();
|
||||
if (fileDialogState.windowActive) GuiLock();
|
||||
|
||||
if (GuiButton((Rectangle){ 20, 20, 140, 30 }, GuiIconText(RAYGUI_ICON_FILE_OPEN, "Open Image"))) fileDialogState.fileDialogActive = true;
|
||||
if (GuiButton((Rectangle){ 20, 20, 140, 30 }, GuiIconText(ICON_FILE_OPEN, "Open Image"))) fileDialogState.windowActive = true;
|
||||
|
||||
GuiUnlock();
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* FileDialog v1.1 - Modal file dialog to open/save files
|
||||
* FileDialog v1.2 - Modal file dialog to open/save files
|
||||
*
|
||||
* MODULE USAGE:
|
||||
* #define GUI_FILE_DIALOG_IMPLEMENTATION
|
||||
@ -10,8 +10,8 @@
|
||||
* DRAW: GuiFileDialog(&state);
|
||||
*
|
||||
* NOTE: This module depends on some raylib file system functions:
|
||||
* - GetDirectoryFiles()
|
||||
* - ClearDirectoryFiles()
|
||||
* - LoadDirectoryFiles()
|
||||
* - UnloadDirectoryFiles()
|
||||
* - GetWorkingDirectory()
|
||||
* - DirectoryExists()
|
||||
* - FileExists()
|
||||
@ -39,45 +39,44 @@
|
||||
|
||||
#include "raylib.h"
|
||||
|
||||
// WARNING: raygui implementation is expected to be defined before including this header
|
||||
#undef RAYGUI_IMPLEMENTATION
|
||||
#include "../../src/raygui.h"
|
||||
|
||||
#ifndef GUI_FILE_DIALOG_H
|
||||
#define GUI_FILE_DIALOG_H
|
||||
|
||||
// Gui file dialog context data
|
||||
typedef struct {
|
||||
Vector2 position;
|
||||
Vector2 size;
|
||||
|
||||
bool fileDialogActive;
|
||||
// Window management variables
|
||||
bool windowActive;
|
||||
Rectangle windowBounds;
|
||||
Vector2 panOffset;
|
||||
bool dragMode;
|
||||
bool supportDrag;
|
||||
|
||||
// UI variables
|
||||
bool dirPathEditMode;
|
||||
char dirPathText[256];
|
||||
char dirPathText[1024];
|
||||
|
||||
int filesListScrollIndex;
|
||||
bool filesListEditMode;
|
||||
int filesListActive;
|
||||
|
||||
bool fileNameEditMode;
|
||||
char fileNameText[256];
|
||||
char fileNameText[1024];
|
||||
bool SelectFilePressed;
|
||||
bool CancelFilePressed;
|
||||
int fileTypeActive;
|
||||
int itemFocused;
|
||||
|
||||
// Custom state variables (depend on development software)
|
||||
// NOTE: This variables should be added manually if required
|
||||
char **dirFiles;
|
||||
int dirFilesCount;
|
||||
|
||||
// Custom state variables
|
||||
FilePathList dirFiles;
|
||||
char filterExt[256];
|
||||
|
||||
char dirPathTextCopy[256];
|
||||
char fileNameTextCopy[256];
|
||||
char dirPathTextCopy[1024];
|
||||
char fileNameTextCopy[1024];
|
||||
|
||||
int prevFilesListActive;
|
||||
|
||||
bool saveFileMode;
|
||||
|
||||
} GuiFileDialogState;
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -102,7 +101,7 @@ extern "C" { // Prevents name mangling of functions
|
||||
//----------------------------------------------------------------------------------
|
||||
// Module Functions Declaration
|
||||
//----------------------------------------------------------------------------------
|
||||
GuiFileDialogState InitGuiFileDialog(int width, int height, const char *initPath, bool active);
|
||||
GuiFileDialogState InitGuiFileDialog(const char *initPath);
|
||||
void GuiFileDialog(GuiFileDialogState *state);
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -125,13 +124,12 @@ void GuiFileDialog(GuiFileDialogState *state);
|
||||
//----------------------------------------------------------------------------------
|
||||
// Defines and Macros
|
||||
//----------------------------------------------------------------------------------
|
||||
#define MAX_DIRECTORY_FILES 1024
|
||||
#define MAX_DIR_PATH_LENGTH 1024
|
||||
#define MAX_DIRECTORY_FILES 2048
|
||||
#define MAX_ICON_PATH_LENGTH 512
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Types and Structures Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
#if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
||||
// Detailed file info type
|
||||
typedef struct FileInfo {
|
||||
@ -143,19 +141,19 @@ typedef struct FileInfo {
|
||||
} FileInfo;
|
||||
#else
|
||||
// Filename only
|
||||
typedef char *FileInfo;
|
||||
typedef char *FileInfo; // Files are just a path string
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Global Variables Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
FileInfo *dirFilesIcon = NULL;
|
||||
FileInfo *dirFilesIcon = NULL; // Path string + icon (for fancy drawing)
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Internal Module Functions Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
// Read all filenames from directory (supported file types)
|
||||
static char **ReadDirectoryFiles(const char *dir, int *filesCount, char *filterExt);
|
||||
// Read files in new path
|
||||
static void ReloadDirectoryFiles(GuiFileDialogState *state);
|
||||
|
||||
#if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
||||
// List View control for files info with extended parameters
|
||||
@ -165,18 +163,19 @@ static int GuiListViewFiles(Rectangle bounds, FileInfo *files, int count, int *f
|
||||
//----------------------------------------------------------------------------------
|
||||
// Module Functions Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
GuiFileDialogState InitGuiFileDialog(int width, int height, const char *initPath, bool active)
|
||||
GuiFileDialogState InitGuiFileDialog(const char *initPath)
|
||||
{
|
||||
GuiFileDialogState state = { 0 };
|
||||
|
||||
// Default dialog size is 440x310
|
||||
state.size.x = width == -1 ? 440 : width;
|
||||
state.size.y = height == -1 ? 310 : height;
|
||||
state.position = (Vector2){ GetScreenWidth()/2 - state.size.x/2, GetScreenHeight()/2 - state.size.y/2 };
|
||||
// Init window data
|
||||
state.windowBounds = (Rectangle){ GetScreenWidth()/2 - 440/2, GetScreenHeight()/2 - 310/2, 440, 310 };
|
||||
state.windowActive = false;
|
||||
state.supportDrag = true;
|
||||
state.dragMode = false;
|
||||
state.panOffset = (Vector2){ 0, 0 };
|
||||
|
||||
state.fileDialogActive = active;
|
||||
// Init path data
|
||||
state.dirPathEditMode = false;
|
||||
|
||||
state.filesListActive = -1;
|
||||
state.prevFilesListActive = state.filesListActive;
|
||||
state.filesListScrollIndex = 0;
|
||||
@ -202,85 +201,98 @@ GuiFileDialogState InitGuiFileDialog(int width, int height, const char *initPath
|
||||
}
|
||||
else strcpy(state.dirPathText, GetWorkingDirectory());
|
||||
|
||||
// TODO: Why we keep a copy?
|
||||
strcpy(state.dirPathTextCopy, state.dirPathText);
|
||||
strcpy(state.fileNameTextCopy, state.fileNameText);
|
||||
|
||||
strcpy(state.filterExt, "all");
|
||||
state.filterExt[0] = '\0';
|
||||
//strcpy(state.filterExt, "all");
|
||||
|
||||
state.dirFilesCount = 0;
|
||||
state.dirFiles = NULL; // NOTE: Loaded lazily on window active
|
||||
state.dirFiles.count = 0;
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
// Read files in new path
|
||||
static void FD_RELOAD_DIRPATH(GuiFileDialogState *state)
|
||||
{
|
||||
for (int i = 0; i < state->dirFilesCount; i++) RL_FREE(state->dirFiles[i]);
|
||||
RL_FREE(state->dirFiles);
|
||||
|
||||
state->dirFiles = ReadDirectoryFiles(state->dirPathText, &state->dirFilesCount, state->filterExt);
|
||||
state->itemFocused = 0;
|
||||
}
|
||||
|
||||
// Update and draw file dialog
|
||||
void GuiFileDialog(GuiFileDialogState *state)
|
||||
{
|
||||
if (state->fileDialogActive)
|
||||
if (state->windowActive)
|
||||
{
|
||||
const int winWidth = state->size.x;
|
||||
const int winHeight = state->size.y;
|
||||
|
||||
// Load dirFilesIcon and state->dirFiles lazily on windows open
|
||||
// NOTE: they are automatically unloaded at fileDialog closing
|
||||
//------------------------------------------------------------------------------------
|
||||
if (dirFilesIcon == NULL)
|
||||
// Update window dragging
|
||||
//----------------------------------------------------------------------------------------
|
||||
if (state->supportDrag)
|
||||
{
|
||||
dirFilesIcon = (FileInfo *)RL_MALLOC(MAX_DIRECTORY_FILES*sizeof(FileInfo)); // Max files to read
|
||||
for (int i = 0; i < MAX_DIRECTORY_FILES; i++) dirFilesIcon[i] = (char *)calloc(MAX_DIR_PATH_LENGTH, 1); // Max file name length
|
||||
}
|
||||
Vector2 mousePosition = GetMousePosition();
|
||||
|
||||
if (state->dirFiles == NULL)
|
||||
{
|
||||
state->dirFiles = ReadDirectoryFiles(state->dirPathText, &state->dirFilesCount, state->filterExt);
|
||||
|
||||
for(int f = 0; f < state->dirFilesCount; f++)
|
||||
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON))
|
||||
{
|
||||
if (strcmp(state->fileNameText, state->dirFiles[f]) == 0)
|
||||
// Window can be dragged from the top window bar
|
||||
if (CheckCollisionPointRec(mousePosition, (Rectangle){ state->windowBounds.x, state->windowBounds.y, (float)state->windowBounds.width, RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT }))
|
||||
{
|
||||
if (state->filesListActive != f) state->filesListScrollIndex = state->filesListActive = f; // Make it active and visible only on first call
|
||||
|
||||
break;
|
||||
state->dragMode = true;
|
||||
state->panOffset.x = mousePosition.x - state->windowBounds.x;
|
||||
state->panOffset.y = mousePosition.y - state->windowBounds.y;
|
||||
}
|
||||
}
|
||||
|
||||
if (state->dragMode)
|
||||
{
|
||||
state->windowBounds.x = (mousePosition.x - state->panOffset.x);
|
||||
state->windowBounds.y = (mousePosition.y - state->panOffset.y);
|
||||
|
||||
// Check screen limits to avoid moving out of screen
|
||||
if (state->windowBounds.x < 0) state->windowBounds.x = 0;
|
||||
else if (state->windowBounds.x > (GetScreenWidth() - state->windowBounds.width)) state->windowBounds.x = GetScreenWidth() - state->windowBounds.width;
|
||||
|
||||
if (state->windowBounds.y < 0) state->windowBounds.y = 0;
|
||||
else if (state->windowBounds.y > (GetScreenHeight() - state->windowBounds.height)) state->windowBounds.y = GetScreenHeight() - state->windowBounds.height;
|
||||
|
||||
if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) state->dragMode = false;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)), 0.85f));
|
||||
state->fileDialogActive = !GuiWindowBox((Rectangle){ state->position.x + 0, state->position.y + 0, winWidth, winHeight }, "#198# Select File Dialog");
|
||||
// Load dirFilesIcon and state->dirFiles lazily on windows open
|
||||
// NOTE: They are automatically unloaded at fileDialog closing
|
||||
//----------------------------------------------------------------------------------------
|
||||
if (dirFilesIcon == NULL)
|
||||
{
|
||||
dirFilesIcon = (FileInfo *)RL_CALLOC(MAX_DIRECTORY_FILES, sizeof(FileInfo)); // Max files to read
|
||||
for (int i = 0; i < MAX_DIRECTORY_FILES; i++) dirFilesIcon[i] = (char *)RL_CALLOC(MAX_ICON_PATH_LENGTH, 1); // Max file name length
|
||||
}
|
||||
|
||||
if (GuiButton((Rectangle){ state->position.x + winWidth - 50, state->position.y + 35, 40, 25 }, "< ..")) // || IsKeyReleased(KEY_DPAD_Y))
|
||||
// Load current directory files
|
||||
if (state->dirFiles.paths == NULL) ReloadDirectoryFiles(state);
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
// Draw window and controls
|
||||
//----------------------------------------------------------------------------------------
|
||||
state->windowActive = !GuiWindowBox(state->windowBounds, "#198# Select File Dialog");
|
||||
|
||||
// Draw previous directory button + logic
|
||||
if (GuiButton((Rectangle){ state->windowBounds.x + state->windowBounds.width - 48, state->windowBounds.y + 24 + 12, 40, 24 }, "< .."))
|
||||
{
|
||||
// Move dir path one level up
|
||||
strcpy(state->dirPathText, GetPrevDirectoryPath(state->dirPathText));
|
||||
|
||||
// RL_FREE previous dirFiles (reloaded by ReadDirectoryFiles())
|
||||
FD_RELOAD_DIRPATH(state);
|
||||
// Reload directory files (frees previous list)
|
||||
ReloadDirectoryFiles(state);
|
||||
|
||||
state->filesListActive = -1;
|
||||
strcpy(state->fileNameText, "\0");
|
||||
strcpy(state->fileNameTextCopy, state->fileNameText);
|
||||
memset(state->fileNameText, 0, 1024);
|
||||
memset(state->fileNameTextCopy, 0, 1024);
|
||||
}
|
||||
|
||||
if (GuiTextBox((Rectangle){ state->position.x + 10, state->position.y + 35, winWidth - 65, 25 }, state->dirPathText, 256, state->dirPathEditMode))
|
||||
// Draw current directory text box info + path editing logic
|
||||
if (GuiTextBox((Rectangle){ state->windowBounds.x + 8, state->windowBounds.y + 24 + 12, state->windowBounds.width - 48 - 16, 24 }, state->dirPathText, 1024, state->dirPathEditMode))
|
||||
{
|
||||
if (state->dirPathEditMode)
|
||||
{
|
||||
// Verify if a valid path has been introduced
|
||||
if (DirectoryExists(state->dirPathText))
|
||||
{
|
||||
// RL_FREE previous dirFiles (reloaded by ReadDirectoryFiles())
|
||||
FD_RELOAD_DIRPATH(state);
|
||||
// Reload directory files (frees previous list)
|
||||
ReloadDirectoryFiles(state);
|
||||
|
||||
strcpy(state->dirPathTextCopy, state->dirPathText);
|
||||
}
|
||||
@ -290,35 +302,34 @@ void GuiFileDialog(GuiFileDialogState *state)
|
||||
state->dirPathEditMode = !state->dirPathEditMode;
|
||||
}
|
||||
|
||||
// List view elements are aligned left
|
||||
int prevTextAlignment = GuiGetStyle(LISTVIEW, TEXT_ALIGNMENT);
|
||||
int prevElementsHeight = GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
GuiSetStyle(LISTVIEW, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_LEFT);
|
||||
GuiSetStyle(LISTVIEW, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
|
||||
GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, 24);
|
||||
|
||||
// TODO: ListViewElements should be aligned left
|
||||
# if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
||||
FileInfo fileInfo;
|
||||
state->filesListActive = GuiListViewFiles((Rectangle){ state->position.x + 10, state->position.y + 70, winWidth - 20, winHeight - 135 }, fileInfo, state->dirFilesCount, &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
|
||||
state->filesListActive = GuiListViewEx((Rectangle){ state->position.x + 10, state->position.y + 70, winWidth - 20, winHeight - 135 }, (const char**)dirFilesIcon, state->dirFilesCount, &state->itemFocused, &state->filesListScrollIndex, state->filesListActive);
|
||||
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);
|
||||
# endif
|
||||
GuiSetStyle(LISTVIEW, TEXT_ALIGNMENT, prevTextAlignment);
|
||||
GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, prevElementsHeight);
|
||||
|
||||
// Check if a path has been selected, if it is a directory, move to that directory (and reload paths)
|
||||
if ((state->filesListActive >= 0) && (state->filesListActive != state->prevFilesListActive))
|
||||
//&& (IsMouseButtonPressed(MOUSE_LEFT_BUTTON) || IsKeyPressed(KEY_ENTER) || IsKeyPressed(KEY_DPAD_A)))
|
||||
{
|
||||
strcpy(state->fileNameText, state->dirFiles[state->filesListActive]);
|
||||
strcpy(state->fileNameText, GetFileName(state->dirFiles.paths[state->filesListActive]));
|
||||
|
||||
if (DirectoryExists(TextFormat("%s/%s", state->dirPathText, state->fileNameText)))
|
||||
{
|
||||
if (TextIsEqual(state->fileNameText, "..")) strcpy(state->dirPathText, GetPrevDirectoryPath(state->dirPathText));
|
||||
else strcpy(state->dirPathText, TextFormat("%s/%s", strcmp(state->dirPathText, "/")==0 ? "" : state->dirPathText, state->fileNameText));
|
||||
else strcpy(state->dirPathText, TextFormat("%s/%s", (strcmp(state->dirPathText, "/") == 0)? "" : state->dirPathText, state->fileNameText));
|
||||
|
||||
strcpy(state->dirPathTextCopy, state->dirPathText);
|
||||
|
||||
// RL_FREE previous dirFiles (reloaded by ReadDirectoryFiles())
|
||||
FD_RELOAD_DIRPATH(state);
|
||||
// Reload directory files (frees previous list)
|
||||
ReloadDirectoryFiles(state);
|
||||
|
||||
strcpy(state->dirPathTextCopy, state->dirPathText);
|
||||
|
||||
@ -330,9 +341,10 @@ void GuiFileDialog(GuiFileDialogState *state)
|
||||
state->prevFilesListActive = state->filesListActive;
|
||||
}
|
||||
|
||||
GuiLabel((Rectangle){ state->position.x + 10, state->position.y + winHeight - 60, 68, 25 }, "File name:");
|
||||
|
||||
if (GuiTextBox((Rectangle){ state->position.x + 75, state->position.y + winHeight - 60, winWidth - 200, 25 }, state->fileNameText, 128, state->fileNameEditMode))
|
||||
// Draw bottom controls
|
||||
//--------------------------------------------------------------------------------------
|
||||
GuiLabel((Rectangle){ state->windowBounds.x + 8, state->windowBounds.y + state->windowBounds.height - 68, 60, 24 }, "File name:");
|
||||
if (GuiTextBox((Rectangle){ state->windowBounds.x + 72, state->windowBounds.y + state->windowBounds.height - 68, state->windowBounds.width - 184, 24 }, state->fileNameText, 128, state->fileNameEditMode))
|
||||
{
|
||||
if (*state->fileNameText)
|
||||
{
|
||||
@ -340,9 +352,9 @@ void GuiFileDialog(GuiFileDialogState *state)
|
||||
if (FileExists(TextFormat("%s/%s", state->dirPathText, state->fileNameText)))
|
||||
{
|
||||
// Select filename from list view
|
||||
for (int i = 0; i < state->dirFilesCount; i++)
|
||||
for (int i = 0; i < state->dirFiles.count; i++)
|
||||
{
|
||||
if (TextIsEqual(state->fileNameText, state->dirFiles[i]))
|
||||
if (TextIsEqual(state->fileNameText, state->dirFiles.paths[i]))
|
||||
{
|
||||
state->filesListActive = i;
|
||||
strcpy(state->fileNameTextCopy, state->fileNameText);
|
||||
@ -350,7 +362,7 @@ void GuiFileDialog(GuiFileDialogState *state)
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (!state->saveFileMode)
|
||||
{
|
||||
strcpy(state->fileNameText, state->fileNameTextCopy);
|
||||
}
|
||||
@ -359,38 +371,33 @@ void GuiFileDialog(GuiFileDialogState *state)
|
||||
state->fileNameEditMode = !state->fileNameEditMode;
|
||||
}
|
||||
|
||||
state->fileTypeActive = GuiComboBox((Rectangle){ state->position.x + 75, state->position.y + winHeight - 30, winWidth - 200, 25 }, "All files", state->fileTypeActive);
|
||||
GuiLabel((Rectangle){ state->position.x + 10, state->position.y + winHeight - 30, 68, 25 }, "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);
|
||||
|
||||
state->SelectFilePressed = GuiButton((Rectangle){ state->position.x + winWidth - 120, state->position.y + winHeight - 60, 110,
|
||||
#ifdef PLATFORM_DESKTOP
|
||||
25
|
||||
#else
|
||||
25 + 30
|
||||
#endif
|
||||
}, "Select");// || IsKeyPressed(KEY_ENTER) || IsKeyPressed(KEY_DPAD_A);
|
||||
state->SelectFilePressed = GuiButton((Rectangle){ state->windowBounds.x + state->windowBounds.width - 96 - 8, state->windowBounds.y + state->windowBounds.height - 68, 96, 24 }, "Select");
|
||||
|
||||
if (state->SelectFilePressed) state->fileDialogActive = false;
|
||||
if (GuiButton((Rectangle){ state->windowBounds.x + state->windowBounds.width - 96 - 8, state->windowBounds.y + state->windowBounds.height - 24 - 12, 96, 24 }, "Cancel")) state->windowActive = false;
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
#ifdef PLATFORM_DESKTOP
|
||||
if (GuiButton((Rectangle){ state->position.x + winWidth - 120, state->position.y + winHeight - 30, 110, 25 }, "Quit")) state->fileDialogActive = false;
|
||||
#endif
|
||||
// Exit on file selected
|
||||
if (state->SelectFilePressed) state->windowActive = false;
|
||||
|
||||
// File dialog has been closed!
|
||||
if (!state->fileDialogActive)
|
||||
// File dialog has been closed, free all memory before exit
|
||||
if (!state->windowActive)
|
||||
{
|
||||
// RL_FREE dirFiles memory
|
||||
for (int i = 0; i < state->dirFilesCount; i++)
|
||||
{
|
||||
RL_FREE(state->dirFiles[i]);
|
||||
RL_FREE(dirFilesIcon[i]);
|
||||
}
|
||||
// Free dirFilesIcon memory
|
||||
for (int i = 0; i < MAX_DIRECTORY_FILES; i++) RL_FREE(dirFilesIcon[i]);
|
||||
|
||||
RL_FREE(state->dirFiles);
|
||||
RL_FREE(dirFilesIcon);
|
||||
|
||||
dirFilesIcon = NULL;
|
||||
state->dirFiles = NULL;
|
||||
|
||||
// Unload directory file paths
|
||||
UnloadDirectoryFiles(state->dirFiles);
|
||||
|
||||
// Reset state variables
|
||||
state->dirFiles.count = 0;
|
||||
state->dirFiles.capacity = 0;
|
||||
state->dirFiles.paths = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -410,105 +417,54 @@ static inline int FileCompare(const char *d1, const char *d2, const char *dir)
|
||||
return strcmp(d1, d2);
|
||||
}
|
||||
|
||||
// Read all filenames from directory (supported file types)
|
||||
static char **ReadDirectoryFiles(const char *dir, int *filesCount, char *filterExt)
|
||||
// Read files in new path
|
||||
static void ReloadDirectoryFiles(GuiFileDialogState *state)
|
||||
{
|
||||
int validFilesCount = 0;
|
||||
char **validFiles = (char **)RL_MALLOC(MAX_DIRECTORY_FILES*sizeof(char *)); // Max files to read
|
||||
for (int i = 0; i < MAX_DIRECTORY_FILES; i++) validFiles[i] = (char *)RL_MALLOC(MAX_DIR_PATH_LENGTH); // Max file name length
|
||||
UnloadDirectoryFiles(state->dirFiles);
|
||||
|
||||
int filterExtCount = 0;
|
||||
const char **extensions = GuiTextSplit(filterExt, &filterExtCount, NULL);
|
||||
bool filterExtensions = true;
|
||||
state->dirFiles = LoadDirectoryFilesEx(state->dirPathText, (state->filterExt[0] == '\0')? NULL : state->filterExt, false);
|
||||
state->itemFocused = 0;
|
||||
|
||||
int dirFilesCount = 0;
|
||||
char **files = GetDirectoryFiles(dir, &dirFilesCount);
|
||||
// Reset dirFilesIcon memory
|
||||
for (int i = 0; i < MAX_DIRECTORY_FILES; i++) memset(dirFilesIcon[i], 0, MAX_ICON_PATH_LENGTH);
|
||||
|
||||
// Sort files and directories: dir by name + files by name
|
||||
// https://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Quicksort#C
|
||||
if (dirFilesCount > 1)
|
||||
// Copy paths as icon + fileNames into dirFilesIcon
|
||||
for (int i = 0; i < state->dirFiles.count; i++)
|
||||
{
|
||||
const int MAX = 64;
|
||||
unsigned int left = 0, stack[64], pos = 0, seed = rand(), len = dirFilesCount;
|
||||
|
||||
for (;;)
|
||||
if (IsPathFile(state->dirFiles.paths[i]))
|
||||
{
|
||||
for (; left + 1 < len; len++) // Sort left to len - 1
|
||||
// Path is a file, a file icon for convenience (for some recognized extensions)
|
||||
if (IsFileExtension(state->dirFiles.paths[i], ".png;.bmp;.tga;.gif;.jpg;.jpeg;.psd;.hdr;.qoi;.dds;.pkm;.ktx;.pvr;.astc"))
|
||||
{
|
||||
if (pos == MAX) len = stack[pos = 0]; // Stack overflow, reset
|
||||
char *pivot = files[left + seed%(len - left)]; // Pick random pivot
|
||||
seed = seed*69069 + 1; // Next pseudo-random number
|
||||
stack[pos++] = len; // Sort right part later
|
||||
|
||||
for (unsigned int right = left - 1;;) // Inner loop: partitioning
|
||||
{
|
||||
while (FileCompare(files[++right], pivot, dir) < 0); // Look for greater element
|
||||
while (FileCompare(pivot, files[--len], dir) < 0); // Look for smaller element
|
||||
if (right >= len) break; // Partition point found?
|
||||
char *temp = files[right];
|
||||
files[right] = files[len]; // The only swap
|
||||
files[len] = temp;
|
||||
} // Partitioned, continue left part
|
||||
strcpy(dirFilesIcon[i], TextFormat("#12#%s", GetFileName(state->dirFiles.paths[i])));
|
||||
}
|
||||
|
||||
if (pos == 0) break; // Stack empty?
|
||||
left = len; // Left to right is sorted
|
||||
len = stack[--pos]; // Get next range to sort
|
||||
}
|
||||
}
|
||||
|
||||
if (TextIsEqual(extensions[0], "all")) filterExtensions = false;
|
||||
|
||||
for (int i = 0; (i < dirFilesCount) && (validFilesCount < MAX_DIRECTORY_FILES); i++)
|
||||
{
|
||||
if (TextIsEqual(files[i], ".")) continue;
|
||||
|
||||
if (!filterExtensions)
|
||||
{
|
||||
strncpy(validFiles[validFilesCount], files[i], MAX_DIR_PATH_LENGTH);
|
||||
|
||||
// Only filter files by extensions, directories should be available
|
||||
if (DirectoryExists(TextFormat("%s/%s", dir, files[i]))) strcpy(dirFilesIcon[validFilesCount], TextFormat("#%i#%s", 1, files[i]));
|
||||
else
|
||||
else if (IsFileExtension(state->dirFiles.paths[i], ".wav;.mp3;.ogg;.flac;.xm;.mod;.it;.wma;.aiff"))
|
||||
{
|
||||
// TODO: Assign custom filetype icons depending on file extension (image, audio, text, video, models...)
|
||||
|
||||
if (IsFileExtension(files[i], ".png")) strcpy(dirFilesIcon[validFilesCount], TextFormat("#%i#%s", 12, files[i]));
|
||||
else strcpy(dirFilesIcon[validFilesCount], TextFormat("#%i#%s", 10, files[i]));
|
||||
strcpy(dirFilesIcon[i], TextFormat("#11#%s", GetFileName(state->dirFiles.paths[i])));
|
||||
}
|
||||
|
||||
validFilesCount++;
|
||||
else if (IsFileExtension(state->dirFiles.paths[i], ".txt;.info;.md;.nfo;.xml;.json;.c;.cpp;.cs;.lua;.py;.glsl;.vs;.fs"))
|
||||
{
|
||||
strcpy(dirFilesIcon[i], TextFormat("#10#%s", GetFileName(state->dirFiles.paths[i])));
|
||||
}
|
||||
else if (IsFileExtension(state->dirFiles.paths[i], ".exe;.bin;.raw;.msi"))
|
||||
{
|
||||
strcpy(dirFilesIcon[i], TextFormat("#200#%s", GetFileName(state->dirFiles.paths[i])));
|
||||
}
|
||||
else strcpy(dirFilesIcon[i], TextFormat("#218#%s", GetFileName(state->dirFiles.paths[i])));
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int j = 0; j < filterExtCount; j++)
|
||||
{
|
||||
// Check file type extensions supported
|
||||
// NOTE: We just store valid files list
|
||||
if (IsFileExtension(files[i], extensions[j]))
|
||||
{
|
||||
// TODO: Assign custom filetype icons depending on file extension (image, audio, text, video, models...)
|
||||
|
||||
if (IsFileExtension(files[i], ".png")) strcpy(dirFilesIcon[validFilesCount], TextFormat("#%i#%s", 12, files[i]));
|
||||
else strcpy(dirFilesIcon[validFilesCount], TextFormat("#%i#%s", 10, files[i]));
|
||||
|
||||
validFilesCount++;
|
||||
}
|
||||
}
|
||||
// Path is a directory, add a directory icon
|
||||
strcpy(dirFilesIcon[i], TextFormat("#1#%s", GetFileName(state->dirFiles.paths[i])));
|
||||
}
|
||||
}
|
||||
|
||||
ClearDirectoryFiles();
|
||||
|
||||
*filesCount = validFilesCount;
|
||||
return validFiles;
|
||||
}
|
||||
|
||||
#if defined(USE_CUSTOM_LISTVIEW_FILEINFO)
|
||||
// List View control for files info with extended parameters
|
||||
static int GuiListViewFiles(Rectangle bounds, FileInfo *files, int count, int *focus, int *scrollIndex, int active)
|
||||
{
|
||||
GuiControlState state = guiState;
|
||||
GuiState state = guiState;
|
||||
int itemFocused = (focus == NULL)? -1 : *focus;
|
||||
int itemSelected = active;
|
||||
|
||||
|
||||
470
examples/custom_sliders/custom_sliders.c
Normal file
@ -0,0 +1,470 @@
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* raygui - custom sliders
|
||||
*
|
||||
* DEPENDENCIES:
|
||||
* raylib 4.0 - Windowing/input management and drawing.
|
||||
* raygui 3.0 - Immediate-mode GUI controls.
|
||||
*
|
||||
* COMPILATION (Windows - MinGW):
|
||||
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
#include "raylib.h"
|
||||
|
||||
#define RAYGUI_IMPLEMENTATION
|
||||
#include "../../src/raygui.h"
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Controls Functions Declaration
|
||||
//----------------------------------------------------------------------------------
|
||||
float GuiVerticalSlider(Rectangle bounds, const char *textTop, const char *textBottom, float value, float minValue, float maxValue);
|
||||
float GuiVerticalSliderBar(Rectangle bounds, const char *textTop, const char *textBottom, float value, float minValue, float maxValue);
|
||||
float GuiVerticalSliderPro(Rectangle bounds, const char *textTop, const char *textBottom, float value, float minValue, float maxValue, int sliderHeight);
|
||||
|
||||
bool GuiSliderOwning(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue, bool editMode);
|
||||
bool GuiSliderBarOwning(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue, bool editMode);
|
||||
float GuiSliderProOwning(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue, int sliderWidth, bool editMode);
|
||||
|
||||
bool GuiVerticalSliderOwning(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);
|
||||
float GuiVerticalSliderProOwning(Rectangle bounds, const char *textTop, const char *textBottom, float *value, float minValue, float maxValue, int sliderHeight, bool editMode);
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
// Program main entry point
|
||||
//------------------------------------------------------------------------------------
|
||||
int main()
|
||||
{
|
||||
// Initialization
|
||||
//---------------------------------------------------------------------------------------
|
||||
int screenWidth = 800;
|
||||
int screenHeight = 450;
|
||||
|
||||
InitWindow(screenWidth, screenHeight, "raygui - custom sliders");
|
||||
|
||||
float value = 0.5f;
|
||||
bool sliderEditMode = false;
|
||||
bool vSliderEditMode = false;
|
||||
bool vSliderBarEditMode = false;
|
||||
|
||||
SetTargetFPS(60);
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
// Main game loop
|
||||
while (!WindowShouldClose()) // Detect window close button or ESC key
|
||||
{
|
||||
// Update
|
||||
//----------------------------------------------------------------------------------
|
||||
// TODO: Implement required update logic
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
// Draw
|
||||
//----------------------------------------------------------------------------------
|
||||
BeginDrawing();
|
||||
|
||||
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
|
||||
|
||||
if (vSliderEditMode || vSliderBarEditMode) GuiLock();
|
||||
else GuiUnlock();
|
||||
|
||||
// raygui: controls drawing
|
||||
//----------------------------------------------------------------------------------
|
||||
GuiGroupBox((Rectangle){ 66, 24, 276, 312 }, "STANDARD");
|
||||
value = 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 = GuiVerticalSliderBar((Rectangle){ 264, 120, 24, 192 }, TextFormat("%0.2f", value), NULL, value, 0.0f, 1.0f);
|
||||
|
||||
GuiGroupBox((Rectangle){ 378, 24, 276, 312 }, "OWNING");
|
||||
if (GuiSliderOwning((Rectangle){ 408, 48, 216, 16 }, NULL, TextFormat("%0.2f", value), &value, 0.0f, 1.0f, sliderEditMode)) sliderEditMode = !sliderEditMode;
|
||||
if (GuiVerticalSliderOwning((Rectangle){ 432, 120, 24, 192 }, NULL, TextFormat("%0.2f", value), &value, 0.0f, 1.0f, vSliderEditMode)) vSliderEditMode = !vSliderEditMode;
|
||||
if (GuiVerticalSliderBarOwning((Rectangle){ 576, 120, 24, 192 }, NULL, TextFormat("%0.2f", value), &value, 0.0f, 1.0f, vSliderBarEditMode)) vSliderBarEditMode = !vSliderBarEditMode;
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
EndDrawing();
|
||||
//----------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
// De-Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
CloseWindow(); // Close window and OpenGL context
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
// Controls Functions Definitions (local)
|
||||
//------------------------------------------------------------------------------------
|
||||
float GuiVerticalSliderPro(Rectangle bounds, const char *textTop, const char *textBottom, float value, float minValue, float maxValue, int sliderHeight)
|
||||
{
|
||||
GuiState state = (GuiState)GuiGetState();
|
||||
|
||||
int sliderValue = (int)(((value - minValue)/(maxValue - minValue)) * (bounds.height - 2 * GuiGetStyle(SLIDER, BORDER_WIDTH)));
|
||||
|
||||
Rectangle slider = {
|
||||
bounds.x + GuiGetStyle(SLIDER, BORDER_WIDTH) + GuiGetStyle(SLIDER, SLIDER_PADDING),
|
||||
bounds.y + bounds.height - sliderValue,
|
||||
bounds.width - 2*GuiGetStyle(SLIDER, BORDER_WIDTH) - 2*GuiGetStyle(SLIDER, SLIDER_PADDING),
|
||||
0.0f,
|
||||
};
|
||||
|
||||
if (sliderHeight > 0) // Slider
|
||||
{
|
||||
slider.y -= sliderHeight/2;
|
||||
slider.height = (float)sliderHeight;
|
||||
}
|
||||
else if (sliderHeight == 0) // SliderBar
|
||||
{
|
||||
slider.y -= GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
slider.height = (float)sliderValue;
|
||||
}
|
||||
// Update control
|
||||
//--------------------------------------------------------------------
|
||||
if ((state != STATE_DISABLED) && !guiLocked)
|
||||
{
|
||||
Vector2 mousePoint = GetMousePosition();
|
||||
|
||||
if (CheckCollisionPointRec(mousePoint, bounds))
|
||||
{
|
||||
if (IsMouseButtonDown(MOUSE_LEFT_BUTTON))
|
||||
{
|
||||
state = STATE_PRESSED;
|
||||
|
||||
// Get equivalent value and slider position from mousePoint.x
|
||||
float normalizedValue = (bounds.y + bounds.height - mousePoint.y - (float)(sliderHeight / 2)) / (bounds.height - (float)sliderHeight);
|
||||
value = (maxValue - minValue) * normalizedValue + minValue;
|
||||
|
||||
if (sliderHeight > 0) slider.y = mousePoint.y - slider.height / 2; // Slider
|
||||
else if (sliderHeight == 0) // SliderBar
|
||||
{
|
||||
slider.y = mousePoint.y;
|
||||
slider.height = bounds.y + bounds.height - slider.y - GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
}
|
||||
}
|
||||
else state = STATE_FOCUSED;
|
||||
}
|
||||
|
||||
if (value > maxValue) value = maxValue;
|
||||
else if (value < minValue) value = minValue;
|
||||
}
|
||||
|
||||
|
||||
// Bar limits check
|
||||
if (sliderHeight > 0) // Slider
|
||||
{
|
||||
if (slider.y < (bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH))) slider.y = bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
else if ((slider.y + slider.height) >= (bounds.y + bounds.height)) slider.y = bounds.y + bounds.height - slider.height - GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
}
|
||||
else if (sliderHeight == 0) // SliderBar
|
||||
{
|
||||
if (slider.y < (bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH)))
|
||||
{
|
||||
slider.y = bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
slider.height = bounds.height - 2*GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
// Draw control
|
||||
//--------------------------------------------------------------------
|
||||
GuiDrawRectangle(bounds, GuiGetStyle(SLIDER, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(SLIDER, BORDER + (state*3))), guiAlpha), Fade(GetColor(GuiGetStyle(SLIDER, (state != STATE_DISABLED)? BASE_COLOR_NORMAL : BASE_COLOR_DISABLED)), guiAlpha));
|
||||
|
||||
// Draw slider internal bar (depends on state)
|
||||
if ((state == STATE_NORMAL) || (state == STATE_PRESSED)) GuiDrawRectangle(slider, 0, BLANK, Fade(GetColor(GuiGetStyle(SLIDER, BASE_COLOR_PRESSED)), guiAlpha));
|
||||
else if (state == STATE_FOCUSED) GuiDrawRectangle(slider, 0, BLANK, Fade(GetColor(GuiGetStyle(SLIDER, TEXT_COLOR_FOCUSED)), guiAlpha));
|
||||
|
||||
// Draw top/bottom text if provided
|
||||
if (textTop != NULL)
|
||||
{
|
||||
Rectangle textBounds = { 0 };
|
||||
textBounds.width = (float)GetTextWidth(textTop);
|
||||
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2;
|
||||
textBounds.y = bounds.y - textBounds.height - GuiGetStyle(SLIDER, TEXT_PADDING);
|
||||
|
||||
GuiDrawText(textTop, textBounds, TEXT_ALIGN_RIGHT, Fade(GetColor(GuiGetStyle(SLIDER, TEXT + (state*3))), guiAlpha));
|
||||
}
|
||||
|
||||
if (textBottom != NULL)
|
||||
{
|
||||
Rectangle textBounds = { 0 };
|
||||
textBounds.width = (float)GetTextWidth(textBottom);
|
||||
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2;
|
||||
textBounds.y = bounds.y + bounds.height + GuiGetStyle(SLIDER, TEXT_PADDING);
|
||||
|
||||
GuiDrawText(textBottom, textBounds, TEXT_ALIGN_LEFT, Fade(GetColor(GuiGetStyle(SLIDER, TEXT + (state*3))), guiAlpha));
|
||||
}
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
float GuiVerticalSlider(Rectangle bounds, const char *textTop, const char *textBottom, float value, float minValue, float maxValue)
|
||||
{
|
||||
return GuiVerticalSliderPro(bounds, textTop, textBottom, value, minValue, maxValue, GuiGetStyle(SLIDER, SLIDER_WIDTH));
|
||||
}
|
||||
|
||||
float GuiVerticalSliderBar(Rectangle bounds, const char *textTop, const char *textBottom, float value, float minValue, float maxValue)
|
||||
{
|
||||
return GuiVerticalSliderPro(bounds, textTop, textBottom, value, minValue, maxValue, 0);
|
||||
}
|
||||
|
||||
float GuiSliderProOwning(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue, int sliderWidth, bool editMode)
|
||||
{
|
||||
GuiState state = (GuiState)GuiGetState();
|
||||
|
||||
float tempValue = *value;
|
||||
bool pressed = false;
|
||||
|
||||
int sliderValue = (int)(((tempValue - minValue)/(maxValue - minValue))*(bounds.width - 2*GuiGetStyle(SLIDER, BORDER_WIDTH)));
|
||||
|
||||
Rectangle slider = {
|
||||
bounds.x,
|
||||
bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH) + GuiGetStyle(SLIDER, SLIDER_PADDING),
|
||||
0,
|
||||
bounds.height - 2*GuiGetStyle(SLIDER, BORDER_WIDTH) - 2*GuiGetStyle(SLIDER, SLIDER_PADDING)
|
||||
};
|
||||
|
||||
if (sliderWidth > 0) // Slider
|
||||
{
|
||||
slider.x += (sliderValue - sliderWidth/2);
|
||||
slider.width = (float)sliderWidth;
|
||||
}
|
||||
else if (sliderWidth == 0) // SliderBar
|
||||
{
|
||||
slider.x += GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
slider.width = (float)sliderValue;
|
||||
}
|
||||
|
||||
// Update control
|
||||
//--------------------------------------------------------------------
|
||||
if ((state != STATE_DISABLED) && (editMode || !guiLocked))
|
||||
{
|
||||
Vector2 mousePoint = GetMousePosition();
|
||||
|
||||
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON))
|
||||
{
|
||||
if (CheckCollisionPointRec(mousePoint, bounds))
|
||||
{
|
||||
pressed = true;
|
||||
}
|
||||
}
|
||||
else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON) && editMode)
|
||||
{
|
||||
pressed = true;
|
||||
}
|
||||
if (editMode)
|
||||
{
|
||||
state = STATE_PRESSED;
|
||||
tempValue = ((maxValue - minValue)*(mousePoint.x - (float)(bounds.x + sliderWidth/2)))/(float)(bounds.width - sliderWidth) + minValue;
|
||||
|
||||
if (sliderWidth > 0) slider.x = mousePoint.x - slider.width/2; // Slider
|
||||
else if (sliderWidth == 0) slider.width = (float)sliderValue; // SliderBar
|
||||
|
||||
}
|
||||
else if (CheckCollisionPointRec(mousePoint, bounds))
|
||||
{
|
||||
state = STATE_FOCUSED;
|
||||
}
|
||||
|
||||
if (tempValue > maxValue) tempValue = maxValue;
|
||||
else if (tempValue < minValue) tempValue = minValue;
|
||||
}
|
||||
|
||||
|
||||
// Bar limits check
|
||||
if (sliderWidth > 0) // Slider
|
||||
{
|
||||
if (slider.x <= (bounds.x + GuiGetStyle(SLIDER, BORDER_WIDTH))) slider.x = bounds.x + GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
else if ((slider.x + slider.width) >= (bounds.x + bounds.width)) slider.x = bounds.x + bounds.width - slider.width - GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
}
|
||||
else if (sliderWidth == 0) // SliderBar
|
||||
{
|
||||
if (slider.width > bounds.width) slider.width = bounds.width - 2*GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
// Draw control
|
||||
//--------------------------------------------------------------------
|
||||
GuiDrawRectangle(bounds, GuiGetStyle(SLIDER, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(SLIDER, BORDER + (state*3))), guiAlpha), Fade(GetColor(GuiGetStyle(SLIDER, (state != STATE_DISABLED)? BASE_COLOR_NORMAL : BASE_COLOR_DISABLED)), guiAlpha));
|
||||
|
||||
// Draw slider internal bar (depends on state)
|
||||
if ((state == STATE_NORMAL) || (state == STATE_PRESSED))
|
||||
GuiDrawRectangle(slider, 0, BLANK, Fade(GetColor(GuiGetStyle(SLIDER, BASE_COLOR_PRESSED)), guiAlpha));
|
||||
else if (state == STATE_FOCUSED)
|
||||
GuiDrawRectangle(slider, 0, BLANK, Fade(GetColor(GuiGetStyle(SLIDER, TEXT_COLOR_FOCUSED)), guiAlpha));
|
||||
|
||||
// Draw left/right text if provided
|
||||
if (textLeft != NULL)
|
||||
{
|
||||
Rectangle textBounds = { 0 };
|
||||
textBounds.width = (float)GetTextWidth(textLeft);
|
||||
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
textBounds.x = bounds.x - textBounds.width - GuiGetStyle(SLIDER, TEXT_PADDING);
|
||||
textBounds.y = bounds.y + bounds.height/2 - GuiGetStyle(DEFAULT, TEXT_SIZE)/2;
|
||||
|
||||
GuiDrawText(textLeft, textBounds, TEXT_ALIGN_RIGHT, Fade(GetColor(GuiGetStyle(SLIDER, TEXT + (state*3))), guiAlpha));
|
||||
}
|
||||
|
||||
if (textRight != NULL)
|
||||
{
|
||||
Rectangle textBounds = { 0 };
|
||||
textBounds.width = (float)GetTextWidth(textRight);
|
||||
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
textBounds.x = bounds.x + bounds.width + GuiGetStyle(SLIDER, TEXT_PADDING);
|
||||
textBounds.y = bounds.y + bounds.height/2 - GuiGetStyle(DEFAULT, TEXT_SIZE)/2;
|
||||
|
||||
GuiDrawText(textRight, textBounds, TEXT_ALIGN_LEFT, Fade(GetColor(GuiGetStyle(SLIDER, TEXT + (state*3))), guiAlpha));
|
||||
}
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
*value = tempValue;
|
||||
return pressed;
|
||||
}
|
||||
|
||||
bool GuiSliderOwning(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue, bool editMode)
|
||||
{
|
||||
return GuiSliderProOwning(bounds, textLeft, textRight, value, minValue, maxValue, GuiGetStyle(SLIDER, SLIDER_WIDTH), editMode);
|
||||
}
|
||||
|
||||
bool GuiSliderBarOwning(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue, bool editMode)
|
||||
{
|
||||
return GuiSliderProOwning(bounds, textLeft, textRight, value, minValue, maxValue, 0, editMode);
|
||||
}
|
||||
|
||||
float GuiVerticalSliderProOwning(Rectangle bounds, const char *textTop, const char *textBottom, float *value, float minValue, float maxValue, int sliderHeight, bool editMode)
|
||||
{
|
||||
GuiState state = (GuiState)GuiGetState();
|
||||
|
||||
float tempValue = *value;
|
||||
bool pressed = false;
|
||||
|
||||
int sliderValue = (int)(((tempValue - minValue)/(maxValue - minValue)) * (bounds.height - 2 * GuiGetStyle(SLIDER, BORDER_WIDTH)));
|
||||
|
||||
Rectangle slider = {
|
||||
bounds.x + GuiGetStyle(SLIDER, BORDER_WIDTH) + GuiGetStyle(SLIDER, SLIDER_PADDING),
|
||||
bounds.y + bounds.height - sliderValue,
|
||||
bounds.width - 2*GuiGetStyle(SLIDER, BORDER_WIDTH) - 2*GuiGetStyle(SLIDER, SLIDER_PADDING),
|
||||
0.0f,
|
||||
};
|
||||
|
||||
if (sliderHeight > 0) // Slider
|
||||
{
|
||||
slider.y -= sliderHeight/2;
|
||||
slider.height = (float)sliderHeight;
|
||||
}
|
||||
else if (sliderHeight == 0) // SliderBar
|
||||
{
|
||||
slider.y -= GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
slider.height = (float)sliderValue;
|
||||
}
|
||||
// Update control
|
||||
//--------------------------------------------------------------------
|
||||
if ((state != STATE_DISABLED) && (editMode || !guiLocked))
|
||||
{
|
||||
Vector2 mousePoint = GetMousePosition();
|
||||
|
||||
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON))
|
||||
{
|
||||
if (CheckCollisionPointRec(mousePoint, bounds))
|
||||
{
|
||||
pressed = true;
|
||||
}
|
||||
}
|
||||
else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON) && editMode)
|
||||
{
|
||||
pressed = true;
|
||||
}
|
||||
if (editMode)
|
||||
{
|
||||
state = STATE_PRESSED;
|
||||
|
||||
float normalizedValue = (bounds.y + bounds.height - mousePoint.y - (float)(sliderHeight / 2)) / (bounds.height - (float)sliderHeight);
|
||||
tempValue = (maxValue - minValue) * normalizedValue + minValue;
|
||||
|
||||
if (sliderHeight > 0) slider.y = mousePoint.y - slider.height / 2; // Slider
|
||||
else if (sliderHeight == 0) // SliderBar
|
||||
{
|
||||
slider.y = mousePoint.y;
|
||||
slider.height = bounds.y + bounds.height - slider.y - GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
}
|
||||
}
|
||||
else if (CheckCollisionPointRec(mousePoint, bounds))
|
||||
{
|
||||
state = STATE_FOCUSED;
|
||||
}
|
||||
|
||||
if (tempValue > maxValue) tempValue = maxValue;
|
||||
else if (tempValue < minValue) tempValue = minValue;
|
||||
}
|
||||
|
||||
|
||||
// Bar limits check
|
||||
if (sliderHeight > 0) // Slider
|
||||
{
|
||||
if (slider.y < (bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH))) slider.y = bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
else if ((slider.y + slider.height) >= (bounds.y + bounds.height)) slider.y = bounds.y + bounds.height - slider.height - GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
}
|
||||
else if (sliderHeight == 0) // SliderBar
|
||||
{
|
||||
if (slider.y < (bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH)))
|
||||
{
|
||||
slider.y = bounds.y + GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
slider.height = bounds.height - 2*GuiGetStyle(SLIDER, BORDER_WIDTH);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
// Draw control
|
||||
//--------------------------------------------------------------------
|
||||
GuiDrawRectangle(bounds, GuiGetStyle(SLIDER, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(SLIDER, BORDER + (state*3))), guiAlpha), Fade(GetColor(GuiGetStyle(SLIDER, (state != STATE_DISABLED)? BASE_COLOR_NORMAL : BASE_COLOR_DISABLED)), guiAlpha));
|
||||
|
||||
// Draw slider internal bar (depends on state)
|
||||
if ((state == STATE_NORMAL) || (state == STATE_PRESSED))
|
||||
GuiDrawRectangle(slider, 0, BLANK, Fade(GetColor(GuiGetStyle(SLIDER, BASE_COLOR_PRESSED)), guiAlpha));
|
||||
else if (state == STATE_FOCUSED)
|
||||
GuiDrawRectangle(slider, 0, BLANK, Fade(GetColor(GuiGetStyle(SLIDER, TEXT_COLOR_FOCUSED)), guiAlpha));
|
||||
|
||||
// Draw top/bottom text if provided
|
||||
if (textTop != NULL)
|
||||
{
|
||||
Rectangle textBounds = { 0 };
|
||||
textBounds.width = (float)GetTextWidth(textTop);
|
||||
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2;
|
||||
textBounds.y = bounds.y - textBounds.height - GuiGetStyle(SLIDER, TEXT_PADDING);
|
||||
|
||||
GuiDrawText(textTop, textBounds, TEXT_ALIGN_RIGHT, Fade(GetColor(GuiGetStyle(SLIDER, TEXT + (state*3))), guiAlpha));
|
||||
}
|
||||
|
||||
if (textBottom != NULL)
|
||||
{
|
||||
Rectangle textBounds = { 0 };
|
||||
textBounds.width = (float)GetTextWidth(textBottom);
|
||||
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2;
|
||||
textBounds.y = bounds.y + bounds.height + GuiGetStyle(SLIDER, TEXT_PADDING);
|
||||
|
||||
GuiDrawText(textBottom, textBounds, TEXT_ALIGN_LEFT, Fade(GetColor(GuiGetStyle(SLIDER, TEXT + (state*3))), guiAlpha));
|
||||
}
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
*value = tempValue;
|
||||
return pressed;
|
||||
}
|
||||
|
||||
bool GuiVerticalSliderOwning(Rectangle bounds, const char *textTop, const char *textBottom, float *value, float minValue, float maxValue, bool editMode)
|
||||
{
|
||||
return GuiVerticalSliderProOwning(bounds, textTop, textBottom, value, minValue, maxValue, GuiGetStyle(SLIDER, SLIDER_WIDTH), 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);
|
||||
}
|
||||
@ -11,7 +11,7 @@
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2015-2022 Ramon Santamaria (@raysan5)
|
||||
* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5)
|
||||
*
|
||||
********************************************************************************************/
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
//------------------------------------------------------------------------------------
|
||||
// Program main entry point
|
||||
//------------------------------------------------------------------------------------
|
||||
int main(int argc, char *argv[0])
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
@ -66,12 +66,11 @@ int main(int argc, char *argv[0])
|
||||
//----------------------------------------------------------------------------------
|
||||
if (IsFileDropped())
|
||||
{
|
||||
int fileCount = 0;
|
||||
char **droppedFiles = GetDroppedFiles(&fileCount);
|
||||
FilePathList droppedFiles = LoadDroppedFiles();
|
||||
|
||||
if (fileCount == 1)
|
||||
if (droppedFiles.count == 1)
|
||||
{
|
||||
Image imTemp = LoadImage(droppedFiles[0]);
|
||||
Image imTemp = LoadImage(droppedFiles.paths[0]);
|
||||
|
||||
if (imTemp.data != NULL)
|
||||
{
|
||||
@ -89,7 +88,7 @@ int main(int argc, char *argv[0])
|
||||
}
|
||||
}
|
||||
|
||||
ClearDroppedFiles();
|
||||
UnloadDroppedFiles(droppedFiles);
|
||||
}
|
||||
|
||||
if (btnExport)
|
||||
@ -110,7 +109,7 @@ int main(int argc, char *argv[0])
|
||||
int dataSize = GetPixelDataSize(image.width, image.height, image.format);
|
||||
|
||||
FILE *rawFile = fopen(fileName, "wb");
|
||||
fwrite(image.data, dataSize, 1, rawFile);
|
||||
fwrite(image.data, 1, dataSize, rawFile);
|
||||
fclose(rawFile);
|
||||
}
|
||||
else if (fileFormatActive == 2) // CODE
|
||||
|
||||
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
@ -11,7 +11,7 @@
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2015-2022 Ramon Santamaria (@raysan5)
|
||||
* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
@ -82,21 +82,20 @@ int main()
|
||||
// Check if a file is dropped
|
||||
if (IsFileDropped())
|
||||
{
|
||||
int fileCount = 0;
|
||||
char **droppedFiles = GetDroppedFiles(&fileCount);
|
||||
FilePathList droppedFiles = LoadDroppedFiles();
|
||||
|
||||
// Check file extensions for drag-and-drop
|
||||
if ((fileCount == 1) && IsFileExtension(droppedFiles[0], ".raw"))
|
||||
if ((droppedFiles.count == 1) && IsFileExtension(droppedFiles.paths[0], ".raw"))
|
||||
{
|
||||
FILE *imageFile = fopen(droppedFiles[0], "rb");
|
||||
FILE *imageFile = fopen(droppedFiles.paths[0], "rb");
|
||||
fseek(imageFile, 0L, SEEK_END);
|
||||
dataSize = ftell(imageFile);
|
||||
fclose(imageFile);
|
||||
|
||||
// NOTE: Returned string is just a pointer to droppedFiles[0],
|
||||
// we need to make a copy of that data somewhere else: fileName
|
||||
strcpy(fileNamePath, droppedFiles[0]);
|
||||
strcpy(fileName, GetFileName(droppedFiles[0]));
|
||||
strcpy(fileNamePath, droppedFiles.paths[0]);
|
||||
strcpy(fileName, GetFileName(droppedFiles.paths[0]));
|
||||
|
||||
// Try to guess possible raw values
|
||||
// Let's assume image is square, RGBA, 8 bit per channel
|
||||
@ -108,7 +107,7 @@ int main()
|
||||
importWindowActive = true;
|
||||
}
|
||||
|
||||
ClearDroppedFiles();
|
||||
UnloadDroppedFiles(droppedFiles);
|
||||
}
|
||||
|
||||
// Check if load button has been pressed
|
||||
@ -11,7 +11,7 @@
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2016-2021 Ramon Santamaria (@raysan5)
|
||||
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
|
||||
@ -198,7 +198,7 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
|
||||
|
||||
enum {cursorTimer = 6, maxChars = 31, textPadding = 2};
|
||||
|
||||
GuiControlState state = GuiGetState();
|
||||
GuiState state = GuiGetState();
|
||||
|
||||
// Make sure value is in range
|
||||
if(maxValue != minValue){
|
||||
@ -214,7 +214,7 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
|
||||
|
||||
// Update control
|
||||
//--------------------------------------------------------------------
|
||||
if ((state != GUI_STATE_DISABLED) && !guiLocked)
|
||||
if ((state != STATE_DISABLED) && !guiLocked)
|
||||
{
|
||||
if (editMode)
|
||||
{
|
||||
@ -222,7 +222,7 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
|
||||
if(cursor > len) cursor = len;
|
||||
if(cursor < 0) cursor = 0;
|
||||
|
||||
state = GUI_STATE_PRESSED;
|
||||
state = STATE_PRESSED;
|
||||
framesCounter++;
|
||||
|
||||
if(IsKeyPressed(KEY_RIGHT) || (IsKeyDown(KEY_RIGHT) && (framesCounter%cursorTimer == 0))) {
|
||||
@ -309,7 +309,7 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
|
||||
{
|
||||
if (CheckCollisionPointRec(GetMousePosition(), bounds))
|
||||
{
|
||||
state = GUI_STATE_FOCUSED;
|
||||
state = STATE_FOCUSED;
|
||||
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) framesCounter = 0;
|
||||
}
|
||||
}
|
||||
@ -326,7 +326,7 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
|
||||
int textWidth = GetTextWidth(textValue);
|
||||
if(textWidth > textBounds.width) textBounds.width = textWidth;
|
||||
|
||||
if (state == GUI_STATE_PRESSED)
|
||||
if (state == STATE_PRESSED)
|
||||
{
|
||||
DrawRectangle(bounds.x + GuiGetStyle(VALUEBOX, BORDER_WIDTH), bounds.y + GuiGetStyle(VALUEBOX, BORDER_WIDTH), bounds.width - 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH), bounds.height - 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(VALUEBOX, BASE_COLOR_PRESSED)), guiAlpha));
|
||||
|
||||
@ -345,12 +345,12 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
|
||||
DrawRectangle(bounds.x + textWidthCursor + (int)((bounds.width - textWidth - textPadding)/2.0f) + 2, bounds.y + 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH), 1, bounds.height - 4*GuiGetStyle(VALUEBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(VALUEBOX, BORDER_COLOR_PRESSED)), guiAlpha));
|
||||
}
|
||||
}
|
||||
else if (state == GUI_STATE_DISABLED)
|
||||
else if (state == STATE_DISABLED)
|
||||
{
|
||||
DrawRectangle(bounds.x + GuiGetStyle(VALUEBOX, BORDER_WIDTH), bounds.y + GuiGetStyle(VALUEBOX, BORDER_WIDTH), bounds.width - 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH), bounds.height - 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(VALUEBOX, BASE_COLOR_DISABLED)), guiAlpha));
|
||||
}
|
||||
|
||||
GuiDrawText(textValue, textBounds, GUI_TEXT_ALIGN_CENTER, Fade(GetColor(GuiGetStyle(VALUEBOX, TEXT + (state*3))), guiAlpha));
|
||||
GuiDrawText(textValue, textBounds, TEXT_ALIGN_CENTER, Fade(GetColor(GuiGetStyle(VALUEBOX, TEXT + (state*3))), guiAlpha));
|
||||
|
||||
value = valueHasChanged ? strtod(textValue, NULL) : value;
|
||||
|
||||
@ -366,24 +366,24 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
|
||||
|
||||
|
||||
double GuiDMSpinner(Rectangle bounds, double value, double minValue, double maxValue, double step, int precision, bool editMode) {
|
||||
GuiControlState state = GuiGetState();
|
||||
GuiState state = GuiGetState();
|
||||
|
||||
Rectangle spinner = { bounds.x + GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH) + GuiGetStyle(SPINNER, SPIN_BUTTON_PADDING), bounds.y,
|
||||
bounds.width - 2*(GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH) + GuiGetStyle(SPINNER, SPIN_BUTTON_PADDING)), bounds.height };
|
||||
Rectangle spinner = { bounds.x + GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH) + GuiGetStyle(SPINNER, SPIN_BUTTON_SPACING), bounds.y,
|
||||
bounds.width - 2*(GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH) + GuiGetStyle(SPINNER, SPIN_BUTTON_SPACING)), bounds.height };
|
||||
Rectangle leftButtonBound = { (float)bounds.x, (float)bounds.y, (float)GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH), (float)bounds.height };
|
||||
Rectangle rightButtonBound = { (float)bounds.x + bounds.width - GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH), (float)bounds.y, (float)GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH), (float)bounds.height };
|
||||
|
||||
// Update control
|
||||
//--------------------------------------------------------------------
|
||||
if ((state != GUI_STATE_DISABLED) && !guiLocked)
|
||||
if ((state != STATE_DISABLED) && !guiLocked)
|
||||
{
|
||||
Vector2 mousePoint = GetMousePosition();
|
||||
|
||||
// Check spinner state
|
||||
if (CheckCollisionPointRec(mousePoint, bounds))
|
||||
{
|
||||
if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) state = GUI_STATE_PRESSED;
|
||||
else state = GUI_STATE_FOCUSED;
|
||||
if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) state = STATE_PRESSED;
|
||||
else state = STATE_FOCUSED;
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------------------
|
||||
@ -396,7 +396,7 @@ double GuiDMSpinner(Rectangle bounds, double value, double minValue, double maxV
|
||||
int tempBorderWidth = GuiGetStyle(BUTTON, BORDER_WIDTH);
|
||||
int tempTextAlign = GuiGetStyle(BUTTON, TEXT_ALIGNMENT);
|
||||
GuiSetStyle(BUTTON, BORDER_WIDTH, GuiGetStyle(SPINNER, BORDER_WIDTH));
|
||||
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_CENTER);
|
||||
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||
|
||||
#if defined(RAYGUI_SUPPORT_RICONS)
|
||||
if (GuiButton(leftButtonBound, GuiIconText(RICON_ARROW_LEFT_FILL, NULL))) value -= step;
|
||||
@ -430,7 +430,7 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
#define PROPERTY_DECIMAL_DIGITS 3 //how many digits to show (used only for the vector properties)
|
||||
|
||||
// NOTE: Using ListView style for everything !!
|
||||
GuiControlState state = GuiGetState();
|
||||
GuiState state = GuiGetState();
|
||||
int propFocused = (focus == NULL)? -1 : *focus;
|
||||
int scroll = *scrollIndex > 0 ? 0 : *scrollIndex; // NOTE: scroll should always be negative or 0
|
||||
|
||||
@ -457,9 +457,9 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
Rectangle scrollBarBounds = {bounds.x + GuiGetStyle(LISTVIEW, BORDER_WIDTH), bounds.y + GuiGetStyle(LISTVIEW, BORDER_WIDTH),
|
||||
GuiGetStyle(LISTVIEW, SCROLLBAR_WIDTH), bounds.height - 2*GuiGetStyle(DEFAULT, BORDER_WIDTH)};
|
||||
|
||||
absoluteBounds.x = bounds.x + GuiGetStyle(LISTVIEW, LIST_ITEMS_PADDING) + GuiGetStyle(DEFAULT, BORDER_WIDTH);
|
||||
absoluteBounds.y = bounds.y + GuiGetStyle(LISTVIEW, LIST_ITEMS_PADDING) + GuiGetStyle(DEFAULT, BORDER_WIDTH) + scroll;
|
||||
absoluteBounds.width = bounds.width - 2*(GuiGetStyle(LISTVIEW, LIST_ITEMS_PADDING) + GuiGetStyle(DEFAULT, BORDER_WIDTH));
|
||||
absoluteBounds.x = bounds.x + GuiGetStyle(LISTVIEW, LIST_ITEMS_SPACING) + GuiGetStyle(DEFAULT, BORDER_WIDTH);
|
||||
absoluteBounds.y = bounds.y + GuiGetStyle(LISTVIEW, LIST_ITEMS_SPACING) + GuiGetStyle(DEFAULT, BORDER_WIDTH) + scroll;
|
||||
absoluteBounds.width = bounds.width - 2*(GuiGetStyle(LISTVIEW, LIST_ITEMS_SPACING) + GuiGetStyle(DEFAULT, BORDER_WIDTH));
|
||||
|
||||
if(useScrollBar) {
|
||||
if(GuiGetStyle(LISTVIEW, SCROLLBAR_SIDE) == SCROLLBAR_LEFT_SIDE)
|
||||
@ -469,13 +469,13 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
absoluteBounds.width -= GuiGetStyle(LISTVIEW, SCROLLBAR_WIDTH); // adjust width to fit the scrollbar
|
||||
}
|
||||
|
||||
int maxScroll = absoluteBounds.height + 2*(GuiGetStyle(LISTVIEW, LIST_ITEMS_PADDING) + GuiGetStyle(DEFAULT, BORDER_WIDTH))-bounds.height;
|
||||
int maxScroll = absoluteBounds.height + 2*(GuiGetStyle(LISTVIEW, LIST_ITEMS_SPACING) + GuiGetStyle(DEFAULT, BORDER_WIDTH))-bounds.height;
|
||||
|
||||
// Update control
|
||||
//--------------------------------------------------------------------
|
||||
Vector2 mousePos = GetMousePosition();
|
||||
// NOTE: most of the update code is actually done in the draw control section
|
||||
if ((state != GUI_STATE_DISABLED) && !guiLocked) {
|
||||
if ((state != STATE_DISABLED) && !guiLocked) {
|
||||
if(!CheckCollisionPointRec(mousePos, bounds)) {
|
||||
propFocused = -1;
|
||||
}
|
||||
@ -508,11 +508,11 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
{
|
||||
Rectangle propBounds = {absoluteBounds.x, absoluteBounds.y + currentHeight, absoluteBounds.width, height};
|
||||
Color textColor = Fade(GetColor(GuiGetStyle(LISTVIEW, TEXT_COLOR_NORMAL)), guiAlpha);
|
||||
int propState = GUI_STATE_NORMAL;
|
||||
int propState = STATE_NORMAL;
|
||||
|
||||
// Get the state of this property and do some initial drawing
|
||||
if(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_DISABLED)) {
|
||||
propState = GUI_STATE_DISABLED;
|
||||
propState = STATE_DISABLED;
|
||||
propBounds.height += 1;
|
||||
DrawRectangleRec(propBounds, Fade(GetColor(GuiGetStyle(LISTVIEW, BASE_COLOR_DISABLED)), guiAlpha));
|
||||
propBounds.height -= 1;
|
||||
@ -520,25 +520,25 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
} else {
|
||||
if(CheckCollisionPointRec(mousePos, propBounds) && !guiLocked) {
|
||||
if(IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) {
|
||||
propState = GUI_STATE_PRESSED;
|
||||
propState = STATE_PRESSED;
|
||||
//DrawRectangleRec(propRect, Fade(GetColor(GuiGetStyle(LISTVIEW, BASE_COLOR_PRESSED)), guiAlpha));
|
||||
textColor = Fade(GetColor(GuiGetStyle(LISTVIEW, TEXT_COLOR_PRESSED)), guiAlpha);
|
||||
} else {
|
||||
propState = GUI_STATE_FOCUSED;
|
||||
propState = STATE_FOCUSED;
|
||||
propFocused = p;
|
||||
//DrawRectangleRec(propRect, Fade(GetColor(GuiGetStyle(LISTVIEW, BASE_COLOR_FOCUSED)), guiAlpha));
|
||||
textColor = Fade(GetColor(GuiGetStyle(LISTVIEW, TEXT_COLOR_FOCUSED)), guiAlpha);
|
||||
}
|
||||
} else propState = GUI_STATE_NORMAL;
|
||||
} else propState = STATE_NORMAL;
|
||||
}
|
||||
|
||||
if(propState == GUI_STATE_DISABLED) GuiSetState(propState);
|
||||
if(propState == STATE_DISABLED) GuiSetState(propState);
|
||||
switch(props[p].type)
|
||||
{
|
||||
case GUI_PROP_BOOL: {
|
||||
// draw property name
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x + PROPERTY_PADDING, propBounds.y, propBounds.width/2-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
if(propState == GUI_STATE_PRESSED) props[p].value.vbool = !props[p].value.vbool; // toggle the property value when clicked
|
||||
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);
|
||||
if(propState == STATE_PRESSED) props[p].value.vbool = !props[p].value.vbool; // toggle the property value when clicked
|
||||
|
||||
// draw property value
|
||||
const bool locked = guiLocked;
|
||||
@ -549,40 +549,40 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
|
||||
case GUI_PROP_INT:
|
||||
// draw property name
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x + PROPERTY_PADDING, propBounds.y, propBounds.width/2-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_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
|
||||
props[p].value.vint.val = GuiDMSpinner((Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2},
|
||||
props[p].value.vint.val, props[p].value.vint.min, props[p].value.vint.max, props[p].value.vint.step, 0, (propState == GUI_STATE_FOCUSED) );
|
||||
props[p].value.vint.val, props[p].value.vint.min, props[p].value.vint.max, props[p].value.vint.step, 0, (propState == STATE_FOCUSED) );
|
||||
break;
|
||||
|
||||
case GUI_PROP_FLOAT:
|
||||
// draw property name
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x + PROPERTY_PADDING, propBounds.y, propBounds.width/2-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_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
|
||||
props[p].value.vfloat.val = GuiDMSpinner((Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2},
|
||||
props[p].value.vfloat.val, props[p].value.vfloat.min, props[p].value.vfloat.max, props[p].value.vfloat.step, props[p].value.vfloat.precision, (propState == GUI_STATE_FOCUSED) );
|
||||
props[p].value.vfloat.val, props[p].value.vfloat.min, props[p].value.vfloat.max, props[p].value.vfloat.step, props[p].value.vfloat.precision, (propState == STATE_FOCUSED) );
|
||||
break;
|
||||
|
||||
case GUI_PROP_TEXT: {
|
||||
Rectangle titleBounds = { propBounds.x, propBounds.y, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) };
|
||||
// Collapse/Expand property on click
|
||||
if((propState == GUI_STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds))
|
||||
if((propState == STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds))
|
||||
PROP_TOGGLE_FLAG(&props[p], GUI_PFLAG_COLLAPSED);
|
||||
|
||||
// draw property name
|
||||
GuiDrawText(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED) ? PROPERTY_COLLAPSED_ICON : PROPERTY_EXPANDED_ICON, titleBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(TextFormat("%i/%i", strlen(props[p].value.vtext.val), props[p].value.vtext.size), (Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED) ? PROPERTY_COLLAPSED_ICON : PROPERTY_EXPANDED_ICON, titleBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(TextFormat("%i/%i", strlen(props[p].value.vtext.val), props[p].value.vtext.size), (Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, TEXT_ALIGN_LEFT, textColor);
|
||||
|
||||
// draw property value
|
||||
if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED))
|
||||
GuiTextBox((Rectangle){propBounds.x, propBounds.y + GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2}, props[p].value.vtext.val, props[p].value.vtext.size, (propState == GUI_STATE_FOCUSED));
|
||||
GuiTextBox((Rectangle){propBounds.x, propBounds.y + GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2}, props[p].value.vtext.val, props[p].value.vtext.size, (propState == STATE_FOCUSED));
|
||||
} break;
|
||||
|
||||
case GUI_PROP_SELECT: {
|
||||
// TODO: Create a custom dropdownbox control instead of using the raygui combobox
|
||||
// draw property name
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x + PROPERTY_PADDING, propBounds.y, propBounds.width/2-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_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
|
||||
props[p].value.vselect.active = 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);
|
||||
@ -591,7 +591,7 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
case GUI_PROP_VECTOR2: case GUI_PROP_VECTOR3: case GUI_PROP_VECTOR4: {
|
||||
Rectangle titleBounds = { propBounds.x, propBounds.y, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) };
|
||||
// Collapse/Expand property on click
|
||||
if((propState == GUI_STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds))
|
||||
if((propState == STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds))
|
||||
PROP_TOGGLE_FLAG(&props[p], GUI_PFLAG_COLLAPSED);
|
||||
|
||||
const char* fmt = "";
|
||||
@ -600,33 +600,33 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
else fmt = TextFormat("[%.0f, %.0f, %.0f, %.0f]", props[p].value.v4.x, props[p].value.v4.y, props[p].value.v4.z, props[p].value.v4.w);
|
||||
|
||||
// draw property name
|
||||
GuiDrawText(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED) ? PROPERTY_COLLAPSED_ICON : PROPERTY_EXPANDED_ICON, titleBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(fmt, (Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED) ? PROPERTY_COLLAPSED_ICON : PROPERTY_EXPANDED_ICON, titleBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(fmt, (Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, TEXT_ALIGN_LEFT, textColor);
|
||||
|
||||
// draw X, Y, Z, W values (only when expanded)
|
||||
if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) {
|
||||
Rectangle slotBounds = { propBounds.x, propBounds.y+GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2};
|
||||
Rectangle lblBounds = { propBounds.x+PROPERTY_PADDING, slotBounds.y, GetTextWidth("A"), slotBounds.height};
|
||||
Rectangle valBounds = { lblBounds.x+lblBounds.width+PROPERTY_PADDING, slotBounds.y, propBounds.width-lblBounds.width-2*PROPERTY_PADDING, slotBounds.height};
|
||||
GuiDrawText("X", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.v2.x = GuiDMSpinner(valBounds, props[p].value.v2.x, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("X", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.v2.x = GuiDMSpinner(valBounds, props[p].value.v2.x, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = slotBounds.y;
|
||||
GuiDrawText("Y", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.v2.y = GuiDMSpinner(valBounds, props[p].value.v2.y, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("Y", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.v2.y = GuiDMSpinner(valBounds, props[p].value.v2.y, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = slotBounds.y;
|
||||
if(props[p].type >= GUI_PROP_VECTOR3) {
|
||||
GuiDrawText("Z", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.v3.z = GuiDMSpinner(valBounds, props[p].value.v3.z, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("Z", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.v3.z = GuiDMSpinner(valBounds, props[p].value.v3.z, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = slotBounds.y;
|
||||
}
|
||||
|
||||
if(props[p].type >= GUI_PROP_VECTOR4) {
|
||||
GuiDrawText("W", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.v4.w = GuiDMSpinner(valBounds, props[p].value.v4.w, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("W", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.v4.w = GuiDMSpinner(valBounds, props[p].value.v4.w, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
}
|
||||
}
|
||||
} break;
|
||||
@ -634,34 +634,34 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
case GUI_PROP_RECT:{
|
||||
Rectangle titleBounds = { propBounds.x, propBounds.y, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) };
|
||||
// Collapse/Expand property on click
|
||||
if((propState == GUI_STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds))
|
||||
if((propState == STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds))
|
||||
PROP_TOGGLE_FLAG(&props[p], GUI_PFLAG_COLLAPSED);
|
||||
|
||||
// draw property name
|
||||
GuiDrawText(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED) ? PROPERTY_COLLAPSED_ICON : PROPERTY_EXPANDED_ICON, titleBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED) ? PROPERTY_COLLAPSED_ICON : PROPERTY_EXPANDED_ICON, titleBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(TextFormat("[%.0f, %.0f, %.0f, %.0f]", props[p].value.vrect.x, props[p].value.vrect.y, props[p].value.vrect.width, props[p].value.vrect.height),
|
||||
(Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
(Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, TEXT_ALIGN_LEFT, textColor);
|
||||
|
||||
// draw X, Y, Width, Height values (only when expanded)
|
||||
if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) {
|
||||
Rectangle slotBounds = { propBounds.x, propBounds.y+GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2};
|
||||
Rectangle lblBounds = { propBounds.x+PROPERTY_PADDING, slotBounds.y, GetTextWidth("Height"), slotBounds.height};
|
||||
Rectangle valBounds = { lblBounds.x+lblBounds.width+PROPERTY_PADDING, slotBounds.y, propBounds.width-lblBounds.width-2*PROPERTY_PADDING, slotBounds.height};
|
||||
GuiDrawText("X", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vrect.x = GuiDMSpinner(valBounds, props[p].value.vrect.x, 0.0, 0.0, 1.0, 0, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("X", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vrect.x = GuiDMSpinner(valBounds, props[p].value.vrect.x, 0.0, 0.0, 1.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = slotBounds.y;
|
||||
GuiDrawText("Y", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vrect.y = GuiDMSpinner(valBounds, props[p].value.vrect.y, 0.0, 0.0, 1.0, 0, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("Y", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vrect.y = GuiDMSpinner(valBounds, props[p].value.vrect.y, 0.0, 0.0, 1.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = slotBounds.y;
|
||||
GuiDrawText("Width", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vrect.width = GuiDMSpinner(valBounds, props[p].value.vrect.width, 0.0, 0.0, 1.0, 0, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("Width", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vrect.width = GuiDMSpinner(valBounds, props[p].value.vrect.width, 0.0, 0.0, 1.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = slotBounds.y;
|
||||
GuiDrawText("Height", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vrect.height = GuiDMSpinner(valBounds, props[p].value.vrect.height, 0.0, 0.0, 1.0, 0, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("Height", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vrect.height = GuiDMSpinner(valBounds, props[p].value.vrect.height, 0.0, 0.0, 1.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
}
|
||||
} break;
|
||||
|
||||
@ -669,17 +669,17 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
case GUI_PROP_COLOR: {
|
||||
Rectangle titleBounds = { propBounds.x, propBounds.y, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) };
|
||||
// Collapse/Expand property on click
|
||||
if((propState == GUI_STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds))
|
||||
if((propState == STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds))
|
||||
PROP_TOGGLE_FLAG(&props[p], GUI_PFLAG_COLLAPSED);
|
||||
|
||||
// draw property name
|
||||
GuiDrawText(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED) ? PROPERTY_COLLAPSED_ICON : PROPERTY_EXPANDED_ICON, titleBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y+1, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED) ? PROPERTY_COLLAPSED_ICON : PROPERTY_EXPANDED_ICON, titleBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y+1, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2}, TEXT_ALIGN_LEFT, textColor);
|
||||
DrawLineEx( (Vector2){propBounds.x+propBounds.width/2, propBounds.y + GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 5}, (Vector2){propBounds.x+propBounds.width, propBounds.y + GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 5}, 6.0f, props[p].value.vcolor);
|
||||
const char* fmt = TextFormat("#%02X%02X%02X%02X", props[p].value.vcolor.r, props[p].value.vcolor.g, props[p].value.vcolor.b, props[p].value.vcolor.a);
|
||||
char clip[10] = "\0";
|
||||
memcpy(clip, fmt, 10*sizeof(char)); // copy to temporary buffer since we can't be sure when TextFormat() will be called again and our text will be overwritten
|
||||
GuiDrawText(fmt, (Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(fmt, (Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, TEXT_ALIGN_LEFT, textColor);
|
||||
|
||||
// draw R, G, B, A values (only when expanded)
|
||||
if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) {
|
||||
@ -704,29 +704,29 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
GuiSetStyle(SCROLLBAR, ARROWS_VISIBLE, 0);
|
||||
GuiSetStyle(DEFAULT, BORDER_COLOR_DISABLED, GuiGetStyle(DEFAULT, BACKGROUND_COLOR)); // disable scrollbar background
|
||||
|
||||
GuiDrawText("R", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vcolor.r = GuiDMValueBox(valBounds, props[p].value.vcolor.r, 0.0, 255.0, 0, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("R", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vcolor.r = GuiDMValueBox(valBounds, props[p].value.vcolor.r, 0.0, 255.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
if(sbarBounds.width > GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2)
|
||||
props[p].value.vcolor.r = GuiScrollBar(sbarBounds, props[p].value.vcolor.r, 0, 255);
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = sbarBounds.y = slotBounds.y;
|
||||
|
||||
GuiDrawText("G", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vcolor.g = GuiDMValueBox(valBounds, props[p].value.vcolor.g, 0.0, 255.0, 0, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("G", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vcolor.g = GuiDMValueBox(valBounds, props[p].value.vcolor.g, 0.0, 255.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
if(sbarBounds.width > GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2)
|
||||
props[p].value.vcolor.g = GuiScrollBar(sbarBounds, props[p].value.vcolor.g, 0, 255);
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = sbarBounds.y = slotBounds.y;
|
||||
|
||||
GuiDrawText("B", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vcolor.b = GuiDMValueBox(valBounds, props[p].value.vcolor.b, 0.0, 255.0, 0, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("B", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vcolor.b = GuiDMValueBox(valBounds, props[p].value.vcolor.b, 0.0, 255.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
if(sbarBounds.width > GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2)
|
||||
props[p].value.vcolor.b = GuiScrollBar(sbarBounds, props[p].value.vcolor.b, 0, 255);
|
||||
slotBounds.y += GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT);
|
||||
lblBounds.y = valBounds.y = sbarBounds.y = slotBounds.y;
|
||||
|
||||
GuiDrawText("A", lblBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vcolor.a = GuiDMValueBox(valBounds, props[p].value.vcolor.a, 0.0, 255.0, 0, (propState == GUI_STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
GuiDrawText("A", lblBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
props[p].value.vcolor.a = GuiDMValueBox(valBounds, props[p].value.vcolor.a, 0.0, 255.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
|
||||
if(sbarBounds.width > GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2)
|
||||
props[p].value.vcolor.a = GuiScrollBar(sbarBounds, props[p].value.vcolor.a, 0, 255);
|
||||
|
||||
@ -740,7 +740,7 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
}
|
||||
|
||||
// support COPY/PASTE (need to do this here since GuiDMValueBox() also has COPY/PASTE so we need to overwrite it)
|
||||
if((propState == GUI_STATE_FOCUSED)) {
|
||||
if((propState == STATE_FOCUSED)) {
|
||||
if(IsKeyDown(KEY_LEFT_CONTROL) && IsKeyPressed(KEY_C))
|
||||
SetClipboardText(clip);
|
||||
else if(IsKeyDown(KEY_LEFT_CONTROL) && IsKeyPressed(KEY_V)){
|
||||
@ -754,15 +754,15 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
case GUI_PROP_SECTION: {
|
||||
Rectangle titleBounds = { propBounds.x, propBounds.y, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) };
|
||||
// Collapse/Expand section on click
|
||||
if( (propState == GUI_STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds) )
|
||||
if( (propState == STATE_PRESSED) && CheckCollisionPointRec(mousePos, titleBounds) )
|
||||
PROP_TOGGLE_FLAG(&props[p], GUI_PFLAG_COLLAPSED);
|
||||
|
||||
if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) {
|
||||
GuiDrawText(PROPERTY_EXPANDED_ICON, titleBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_TEXT_ALIGN_CENTER, textColor);
|
||||
GuiDrawText(PROPERTY_EXPANDED_ICON, titleBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, TEXT_ALIGN_CENTER, textColor);
|
||||
} else {
|
||||
GuiDrawText(PROPERTY_COLLAPSED_ICON, titleBounds, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(TextFormat("%s [%i]", props[p].name, props[p].value.vsection), (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_TEXT_ALIGN_CENTER, textColor);
|
||||
GuiDrawText(PROPERTY_COLLAPSED_ICON, titleBounds, TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(TextFormat("%s [%i]", props[p].name, props[p].value.vsection), (Rectangle){propBounds.x+PROPERTY_ICON_SIZE+PROPERTY_PADDING, propBounds.y, propBounds.width-PROPERTY_ICON_SIZE-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, TEXT_ALIGN_CENTER, textColor);
|
||||
}
|
||||
} break;
|
||||
|
||||
@ -770,9 +770,9 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
|
||||
// NOTE: Add your custom property here !!
|
||||
default: {
|
||||
// draw property name
|
||||
GuiDrawText(props[p].name, (Rectangle){propBounds.x + PROPERTY_PADDING, propBounds.y, propBounds.width/2-PROPERTY_PADDING, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)}, GUI_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 type
|
||||
GuiDrawText(TextFormat("TYPE %i", props[p].type), (Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, GUI_TEXT_ALIGN_LEFT, textColor);
|
||||
GuiDrawText(TextFormat("TYPE %i", props[p].type), (Rectangle){propBounds.x+propBounds.width/2, propBounds.y + 1, propBounds.width/2, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT) - 2}, TEXT_ALIGN_LEFT, textColor);
|
||||
} break;
|
||||
|
||||
} // end of switch()
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2020-2021 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
|
||||
* Copyright (c) 2020-2023 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
@ -74,7 +74,7 @@ int main()
|
||||
|
||||
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
|
||||
|
||||
GuiGrid((Rectangle){0, 0, screenWidth, screenHeight},20.0f, 2); // Draw a fancy grid
|
||||
GuiGrid((Rectangle){0, 0, screenWidth, screenHeight}, "Property List", 20.0f, 2); // Draw a fancy grid
|
||||
|
||||
GuiDMPropertyList((Rectangle){(screenWidth - 180)/2, (screenHeight - 280)/2, 180, 280}, prop, SIZEOF(prop), &focus, &scroll);
|
||||
|
||||
|
||||
@ -13,11 +13,11 @@
|
||||
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
|
||||
*
|
||||
* COMPILATION (Linux - gcc):
|
||||
* gcc -o $(NAME_PART) $(FILE_NAME) -I../../src -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -std=c99
|
||||
* gcc -o $(NAME_PART) $(FILE_NAME) -I../../src -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -std=c99
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2019-2022 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
|
||||
* Copyright (c) 2019-2023 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
@ -40,16 +40,16 @@ int main()
|
||||
const int screenHeight = 450;
|
||||
|
||||
InitWindow(screenWidth, screenHeight, "raygui - GuiScrollPanel()");
|
||||
|
||||
|
||||
Rectangle panelRec = { 20, 40, 200, 150 };
|
||||
Rectangle panelContentRec = {0, 0, 340, 340 };
|
||||
Vector2 panelScroll = { 99, -20 };
|
||||
|
||||
|
||||
bool showContentArea = true;
|
||||
|
||||
|
||||
SetTargetFPS(60);
|
||||
//---------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
// Main game loop
|
||||
while (!WindowShouldClose()) // Detect window close button or ESC key
|
||||
{
|
||||
@ -61,26 +61,26 @@ int main()
|
||||
// Draw
|
||||
//----------------------------------------------------------------------------------
|
||||
BeginDrawing();
|
||||
|
||||
|
||||
ClearBackground(RAYWHITE);
|
||||
|
||||
|
||||
DrawText(TextFormat("[%f, %f]", panelScroll.x, panelScroll.y), 4, 4, 20, RED);
|
||||
|
||||
Rectangle view = GuiScrollPanel(panelRec, panelContentRec, &panelScroll);
|
||||
|
||||
|
||||
Rectangle view = GuiScrollPanel(panelRec, NULL, panelContentRec, &panelScroll);
|
||||
|
||||
BeginScissorMode(view.x, view.y, view.width, view.height);
|
||||
GuiGrid((Rectangle){panelRec.x + panelScroll.x, panelRec.y + panelScroll.y, panelContentRec.width, panelContentRec.height}, 16, 3);
|
||||
GuiGrid((Rectangle){panelRec.x + panelScroll.x, panelRec.y + panelScroll.y, panelContentRec.width, panelContentRec.height}, NULL, 16, 3);
|
||||
EndScissorMode();
|
||||
|
||||
|
||||
if (showContentArea) DrawRectangle(panelRec.x + panelScroll.x, panelRec.y + panelScroll.y, panelContentRec.width, panelContentRec.height, Fade(RED, 0.1));
|
||||
|
||||
|
||||
DrawStyleEditControls();
|
||||
|
||||
|
||||
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);
|
||||
panelContentRec.height = GuiSliderBar((Rectangle){ 590, 410, 145, 15 }, "HEIGHT", TextFormat("%i", (int)panelContentRec.height), panelContentRec.height, 1, 400);
|
||||
|
||||
|
||||
EndDrawing();
|
||||
//----------------------------------------------------------------------------------
|
||||
}
|
||||
@ -99,35 +99,35 @@ static void DrawStyleEditControls(void)
|
||||
// ScrollPanel style controls
|
||||
//----------------------------------------------------------
|
||||
GuiGroupBox((Rectangle){ 550, 170, 220, 205 }, "SCROLLBAR STYLE");
|
||||
|
||||
|
||||
int style = GuiGetStyle(SCROLLBAR, BORDER_WIDTH);
|
||||
GuiLabel((Rectangle){ 555, 195, 110, 10 }, "BORDER_WIDTH");
|
||||
GuiSpinner((Rectangle){ 670, 190, 90, 20 }, NULL, &style, 0, 6, false);
|
||||
GuiSetStyle(SCROLLBAR, BORDER_WIDTH, style);
|
||||
|
||||
|
||||
style = GuiGetStyle(SCROLLBAR, ARROWS_SIZE);
|
||||
GuiLabel((Rectangle){ 555, 220, 110, 10 }, "ARROWS_SIZE");
|
||||
GuiSpinner((Rectangle){ 670, 215, 90, 20 }, NULL, &style, 4, 14, false);
|
||||
GuiSetStyle(SCROLLBAR, ARROWS_SIZE, style);
|
||||
|
||||
|
||||
style = GuiGetStyle(SCROLLBAR, SLIDER_PADDING);
|
||||
GuiLabel((Rectangle){ 555, 245, 110, 10 }, "SLIDER_PADDING");
|
||||
GuiSpinner((Rectangle){ 670, 240, 90, 20 }, NULL, &style, 0, 14, false);
|
||||
GuiSetStyle(SCROLLBAR, SLIDER_PADDING, style);
|
||||
|
||||
|
||||
style = GuiCheckBox((Rectangle){ 565, 280, 20, 20 }, "ARROWS_VISIBLE", GuiGetStyle(SCROLLBAR, ARROWS_VISIBLE));
|
||||
GuiSetStyle(SCROLLBAR, ARROWS_VISIBLE, style);
|
||||
|
||||
|
||||
style = GuiGetStyle(SCROLLBAR, SLIDER_PADDING);
|
||||
GuiLabel((Rectangle){ 555, 325, 110, 10 }, "SLIDER_PADDING");
|
||||
GuiSpinner((Rectangle){ 670, 320, 90, 20 }, NULL, &style, 0, 14, false);
|
||||
GuiSetStyle(SCROLLBAR, SLIDER_PADDING, style);
|
||||
|
||||
|
||||
style = GuiGetStyle(SCROLLBAR, SLIDER_WIDTH);
|
||||
GuiLabel((Rectangle){ 555, 350, 110, 10 }, "SLIDER_WIDTH");
|
||||
GuiSpinner((Rectangle){ 670, 345, 90, 20 }, NULL, &style, 2, 100, false);
|
||||
GuiSetStyle(SCROLLBAR, SLIDER_WIDTH, style);
|
||||
|
||||
|
||||
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));
|
||||
GuiSetStyle(LISTVIEW, SCROLLBAR_SIDE, style);
|
||||
@ -136,12 +136,12 @@ static void DrawStyleEditControls(void)
|
||||
// ScrollBar style controls
|
||||
//----------------------------------------------------------
|
||||
GuiGroupBox((Rectangle){ 550, 20, 220, 135 }, "SCROLLPANEL STYLE");
|
||||
|
||||
|
||||
style = GuiGetStyle(LISTVIEW, SCROLLBAR_WIDTH);
|
||||
GuiLabel((Rectangle){ 555, 35, 110, 10 }, "SCROLLBAR_WIDTH");
|
||||
GuiSpinner((Rectangle){ 670, 30, 90, 20 }, NULL, &style, 6, 30, false);
|
||||
GuiSetStyle(LISTVIEW, SCROLLBAR_WIDTH, style);
|
||||
|
||||
|
||||
style = GuiGetStyle(DEFAULT, BORDER_WIDTH);
|
||||
GuiLabel((Rectangle){ 555, 60, 110, 10 }, "BORDER_WIDTH");
|
||||
GuiSpinner((Rectangle){ 670, 55, 90, 20 }, NULL, &style, 0, 20, false);
|
||||
@ -94,7 +94,7 @@ static bool IsKeyPressed(int key)
|
||||
return false;
|
||||
}
|
||||
|
||||
// USED IN: GuiTextBox(), GuiTextBoxMulti(), GuiValueBox()
|
||||
// USED IN: GuiTextBox(), GuiValueBox()
|
||||
static int GetKeyPressed(void)
|
||||
{
|
||||
// TODO: Return last key pressed (up->down) in the frame
|
||||
@ -122,18 +122,6 @@ static void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color)
|
||||
// TODO: Draw triangle on the screen, required for arrows
|
||||
}
|
||||
|
||||
// USED IN: GuiImageButtonEx()
|
||||
static void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint)
|
||||
{
|
||||
// TODO: Draw texture (piece defined by source rectangle) on screen
|
||||
}
|
||||
|
||||
// USED IN: GuiTextBoxMulti()
|
||||
static void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint)
|
||||
{
|
||||
// TODO: Draw text limited by a rectangle. This advance function wraps the text inside the rectangle
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
// Text required functions
|
||||
//-------------------------------------------------------------------------------
|
||||
@ -147,7 +135,7 @@ static Font GetFontDefault(void)
|
||||
return font;
|
||||
}
|
||||
|
||||
// USED IN: GetTextWidth(), GuiTextBoxMulti()
|
||||
// USED IN: GetTextWidth()
|
||||
static Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing)
|
||||
{
|
||||
Vector2 size = { 0 };
|
||||
|
||||
136
examples/style_selector/style_selector.c
Normal file
@ -0,0 +1,136 @@
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* raygui - style selector
|
||||
*
|
||||
* DEPENDENCIES:
|
||||
* raylib 4.5 - Windowing/input management and drawing
|
||||
* raygui 3.5 - Immediate-mode GUI controls with custom styling and icons
|
||||
*
|
||||
* COMPILATION (Windows - MinGW):
|
||||
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
#include "raylib.h"
|
||||
|
||||
#define RAYGUI_IMPLEMENTATION
|
||||
//#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 "../../src/raygui.h"
|
||||
|
||||
// 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
|
||||
|
||||
#include <string.h> // Required for: strcpy()
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
// Program main entry point
|
||||
//------------------------------------------------------------------------------------
|
||||
int main()
|
||||
{
|
||||
// Initialization
|
||||
//---------------------------------------------------------------------------------------
|
||||
const int screenWidth = 690;
|
||||
const int screenHeight = 560;
|
||||
|
||||
InitWindow(screenWidth, screenHeight, "raygui - controls test suite");
|
||||
SetExitKey(0);
|
||||
|
||||
// Custom GUI font loading
|
||||
//Font font = LoadFontEx("fonts/custom_font.ttf", 12, 0, 0);
|
||||
//GuiSetFont(font);
|
||||
|
||||
bool exitWindow = false;
|
||||
bool showMessageBox = false;
|
||||
|
||||
char textInput[256] = { 0 };
|
||||
bool showTextInputBox = false;
|
||||
|
||||
char textInputFileName[256] = { 0 };
|
||||
|
||||
// Load default style
|
||||
GuiLoadStyleBluish();
|
||||
int visualStyleActive = 4;
|
||||
int prevVisualStyleActive = 4;
|
||||
|
||||
SetTargetFPS(60);
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
// Main game loop
|
||||
while (!exitWindow) // Detect window close button or ESC key
|
||||
{
|
||||
// Update
|
||||
//----------------------------------------------------------------------------------
|
||||
exitWindow = WindowShouldClose();
|
||||
|
||||
if (IsKeyPressed(KEY_ESCAPE)) showMessageBox = !showMessageBox;
|
||||
|
||||
if (IsKeyDown(KEY_LEFT_CONTROL) && IsKeyPressed(KEY_S)) showTextInputBox = true;
|
||||
|
||||
if (IsFileDropped())
|
||||
{
|
||||
FilePathList droppedFiles = LoadDroppedFiles();
|
||||
|
||||
if ((droppedFiles.count > 0) && IsFileExtension(droppedFiles.paths[0], ".rgs")) GuiLoadStyle(droppedFiles.paths[0]);
|
||||
|
||||
UnloadDroppedFiles(droppedFiles); // Clear internal buffers
|
||||
}
|
||||
|
||||
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
|
||||
//----------------------------------------------------------------------------------
|
||||
BeginDrawing();
|
||||
|
||||
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
|
||||
|
||||
// Visuals options
|
||||
GuiLabel((Rectangle){ 10, 10, 60, 24 }, "Style:");
|
||||
visualStyleActive = GuiComboBox((Rectangle){ 60,10, 120, 24 }, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal", visualStyleActive);
|
||||
|
||||
GuiSetIconScale(2);
|
||||
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_RIGHT);
|
||||
GuiButton((Rectangle){ 25, 255, 300, 30 }, GuiIconText(ICON_FILE_SAVE, "Save File"));
|
||||
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
EndDrawing();
|
||||
//----------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
// De-Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
CloseWindow(); // Close window and OpenGL context
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
return 0;
|
||||
}
|
||||
354
examples/style_selector/styles/style_bluish.h
Normal file
@ -0,0 +1,354 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// 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);
|
||||
}
|
||||
340
examples/style_selector/styles/style_cyber.h
Normal file
@ -0,0 +1,340 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// 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);
|
||||
}
|
||||
347
examples/style_selector/styles/style_dark.h
Normal file
@ -0,0 +1,347 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// StyleAsCode exporter v1.2 - Style data exported as a values array //
|
||||
// //
|
||||
// USAGE: On init call: GuiLoadStyleDark(); //
|
||||
// //
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define DARK_STYLE_PROPS_COUNT 22
|
||||
|
||||
// Custom style name: dark
|
||||
static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = {
|
||||
{ 0, 0, 0x878787ff }, // DEFAULT_BORDER_COLOR_NORMAL
|
||||
{ 0, 1, 0x2c2c2cff }, // DEFAULT_BASE_COLOR_NORMAL
|
||||
{ 0, 2, 0xc3c3c3ff }, // DEFAULT_TEXT_COLOR_NORMAL
|
||||
{ 0, 3, 0xe1e1e1ff }, // DEFAULT_BORDER_COLOR_FOCUSED
|
||||
{ 0, 4, 0x848484ff }, // DEFAULT_BASE_COLOR_FOCUSED
|
||||
{ 0, 5, 0x181818ff }, // DEFAULT_TEXT_COLOR_FOCUSED
|
||||
{ 0, 6, 0x000000ff }, // DEFAULT_BORDER_COLOR_PRESSED
|
||||
{ 0, 7, 0xefefefff }, // DEFAULT_BASE_COLOR_PRESSED
|
||||
{ 0, 8, 0x202020ff }, // DEFAULT_TEXT_COLOR_PRESSED
|
||||
{ 0, 9, 0x6a6a6aff }, // DEFAULT_BORDER_COLOR_DISABLED
|
||||
{ 0, 10, 0x818181ff }, // DEFAULT_BASE_COLOR_DISABLED
|
||||
{ 0, 11, 0x606060ff }, // DEFAULT_TEXT_COLOR_DISABLED
|
||||
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE
|
||||
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
|
||||
{ 0, 18, 0x9d9d9dff }, // DEFAULT_LINE_COLOR
|
||||
{ 0, 19, 0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR
|
||||
{ 1, 5, 0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED
|
||||
{ 1, 8, 0x898989ff }, // LABEL_TEXT_COLOR_PRESSED
|
||||
{ 4, 5, 0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED
|
||||
{ 5, 5, 0x848484ff }, // PROGRESSBAR_TEXT_COLOR_FOCUSED
|
||||
{ 9, 5, 0xf5f5f5ff }, // TEXTBOX_TEXT_COLOR_FOCUSED
|
||||
{ 10, 5, 0xf6f6f6ff }, // VALUEBOX_TEXT_COLOR_FOCUSED
|
||||
};
|
||||
|
||||
// WARNING: This style uses a custom font: PixelOperator.ttf (size: 16, spacing: 0)
|
||||
|
||||
#define DARK_COMPRESSED_DATA_SIZE 1031
|
||||
|
||||
// Font image pixels data compressed (DEFLATE)
|
||||
// NOTE: Original pixel data simplified to GRAYSCALE
|
||||
static unsigned char darkFontData[DARK_COMPRESSED_DATA_SIZE] = { 0xed,
|
||||
0xdd, 0xd1, 0x76, 0x9b, 0x30, 0x0c, 0x00, 0x50, 0xff, 0xff, 0x4f, 0x6b, 0x4f, 0x3b, 0xeb, 0xb6, 0x16, 0x90, 0x90, 0x8d,
|
||||
0x93, 0xdc, 0xdd, 0x97, 0x9d, 0x36, 0x25, 0xc4, 0xc2, 0xc6, 0x04, 0xc9, 0xc4, 0x00, 0x00, 0xf8, 0x47, 0x7c, 0xfb, 0x93,
|
||||
0xf8, 0xf1, 0x95, 0x71, 0x79, 0x3b, 0xc7, 0x3f, 0xff, 0xfd, 0xdb, 0x38, 0x78, 0xaf, 0x6b, 0xfb, 0x9a, 0x7d, 0xdf, 0x48,
|
||||
0xb4, 0xc4, 0xf7, 0xfb, 0x17, 0x97, 0xb7, 0xfb, 0xd3, 0xe7, 0xcb, 0xbf, 0xfe, 0x68, 0x4b, 0xe7, 0xed, 0xfc, 0x54, 0xfc,
|
||||
0xe3, 0x52, 0x24, 0xe2, 0x62, 0xdb, 0x5c, 0x6f, 0xc5, 0xa3, 0x77, 0x8e, 0xe6, 0x16, 0x3c, 0x3f, 0x3a, 0x7f, 0x8a, 0x74,
|
||||
0xbe, 0x3d, 0xe2, 0xa0, 0x1f, 0xcd, 0x8d, 0xff, 0xd7, 0x7f, 0xb9, 0x7e, 0x1c, 0xc9, 0x88, 0x76, 0xf4, 0xf4, 0xe3, 0xfd,
|
||||
0x8c, 0xd4, 0xf6, 0x67, 0xc4, 0x3f, 0x5a, 0xc7, 0xae, 0x68, 0xed, 0xff, 0xc7, 0xaf, 0xcc, 0xf6, 0xb7, 0x48, 0xf6, 0xdd,
|
||||
0x8e, 0x36, 0xa9, 0xf5, 0xff, 0xee, 0xe8, 0xff, 0xf9, 0xec, 0x7d, 0xe3, 0x50, 0x7e, 0x5c, 0x5e, 0x19, 0xff, 0x4a, 0xec,
|
||||
0xae, 0x8e, 0x5c, 0x95, 0x3e, 0x31, 0x36, 0x88, 0x7f, 0xf6, 0x38, 0x3c, 0x6e, 0xab, 0x91, 0x3e, 0x33, 0x3c, 0x1f, 0xff,
|
||||
0xf3, 0xf1, 0x3f, 0x26, 0xc4, 0xff, 0xf9, 0x79, 0xf4, 0x9f, 0x88, 0x45, 0xb2, 0x2f, 0xe7, 0xce, 0x31, 0x91, 0xe8, 0x45,
|
||||
0xf5, 0xd6, 0xab, 0x9d, 0xff, 0xbf, 0x46, 0x3f, 0xde, 0x38, 0xfe, 0x91, 0x9c, 0xdf, 0x66, 0xe7, 0x38, 0x3b, 0xb4, 0xc2,
|
||||
0xf9, 0xfc, 0xff, 0x78, 0xef, 0xe2, 0xe6, 0xd8, 0x15, 0x2f, 0xd6, 0xfb, 0x3b, 0xe3, 0x1f, 0xd3, 0xe2, 0x1f, 0x4b, 0xe2,
|
||||
0x3f, 0x0e, 0xaf, 0x6a, 0xe3, 0xf6, 0x0c, 0x7b, 0xcf, 0xf8, 0x67, 0xaf, 0xff, 0x6b, 0x23, 0xec, 0xf3, 0x2d, 0x11, 0x37,
|
||||
0xaf, 0x41, 0x78, 0xfd, 0x6f, 0x11, 0x43, 0xf4, 0x7d, 0x8f, 0x8c, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xef,
|
||||
0xd0, 0x45, 0x53, 0xb6, 0x6c, 0x25, 0x53, 0xfd, 0x5e, 0x9e, 0x7f, 0x2e, 0x6b, 0xf7, 0x6c, 0xef, 0xf2, 0xfb, 0xde, 0xf9,
|
||||
0x37, 0x47, 0x59, 0xc8, 0xb5, 0x1c, 0xeb, 0x2b, 0x95, 0x16, 0x9d, 0xb9, 0x25, 0xf5, 0x4c, 0xf5, 0xee, 0x3b, 0x49, 0x51,
|
||||
0xae, 0x2b, 0xe8, 0xf9, 0x54, 0x77, 0x7e, 0xd3, 0x13, 0xa5, 0xae, 0xf8, 0x8f, 0x2d, 0xe2, 0x9f, 0xcf, 0x13, 0xca, 0x1f,
|
||||
0xb7, 0x91, 0xce, 0x47, 0x8b, 0xd6, 0x9c, 0xad, 0x68, 0x8d, 0x52, 0x24, 0x2a, 0xad, 0x7a, 0x72, 0x4e, 0x77, 0xef, 0xff,
|
||||
0xd7, 0x32, 0xb2, 0x3f, 0x2b, 0xfe, 0xf9, 0x73, 0xeb, 0xdd, 0x33, 0xec, 0x8a, 0x5c, 0x82, 0x6a, 0xa5, 0x4c, 0x3e, 0xfe,
|
||||
0xf9, 0xde, 0x73, 0xb6, 0xb5, 0x51, 0xca, 0xa3, 0xbe, 0x9b, 0x01, 0x9e, 0xad, 0x52, 0x5b, 0x9d, 0x8f, 0x3a, 0x3f, 0x23,
|
||||
0x37, 0x2e, 0xd4, 0xb8, 0xed, 0xdb, 0xff, 0x63, 0x42, 0xff, 0x5f, 0x93, 0x8f, 0x1c, 0x4b, 0x8f, 0x92, 0xb3, 0x5e, 0xd4,
|
||||
0x75, 0x56, 0x7b, 0x95, 0xf8, 0xaf, 0xfe, 0x6c, 0xb1, 0x65, 0xd6, 0xd8, 0xbc, 0x36, 0xda, 0x7d, 0xfe, 0xdf, 0x75, 0xc5,
|
||||
0x7e, 0xbf, 0x52, 0x7d, 0x4d, 0xf4, 0xa3, 0xf4, 0x3d, 0x48, 0x65, 0x8e, 0xd4, 0x7b, 0xfd, 0x9f, 0x9f, 0xc1, 0x87, 0x0c,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x8f, 0xca, 0xff, 0x5f, 0x93, 0x11, 0x34, 0x4a, 0x2b, 0xa1, 0xcf, 0xcf,
|
||||
0xb9, 0xbf, 0xb3, 0x26, 0x78, 0x3c, 0x9c, 0x61, 0x7e, 0x5c, 0x2d, 0xf0, 0xda, 0xf1, 0x7f, 0xfe, 0x37, 0xa3, 0xb0, 0x7e,
|
||||
0xe7, 0xca, 0xf8, 0x8f, 0x42, 0x34, 0x7a, 0xb2, 0xe4, 0x73, 0x5b, 0x89, 0xff, 0xfe, 0xb7, 0x63, 0xfc, 0xc7, 0x92, 0xf8,
|
||||
0xc7, 0xcb, 0xc7, 0xbf, 0x52, 0x6b, 0x71, 0x9c, 0x59, 0x2b, 0xfe, 0xe7, 0x6d, 0x1b, 0xa5, 0x2a, 0x8c, 0xfe, 0xf8, 0x47,
|
||||
0x71, 0x2b, 0x71, 0x72, 0x44, 0xf5, 0xe6, 0xdc, 0xf7, 0xe4, 0xe9, 0xad, 0x8d, 0x7f, 0xf7, 0x73, 0x3f, 0x76, 0xea, 0xff,
|
||||
0xd7, 0xea, 0xae, 0x66, 0x67, 0x1f, 0xdf, 0xe9, 0xe9, 0x4f, 0xf6, 0xff, 0xee, 0x67, 0x6b, 0xad, 0x3e, 0xff, 0xcf, 0x9a,
|
||||
0xff, 0x8d, 0xf4, 0x68, 0x12, 0xdb, 0xc6, 0xff, 0xce, 0x2c, 0xb4, 0x3b, 0xfe, 0xf1, 0x22, 0xf3, 0xff, 0x51, 0x38, 0x3e,
|
||||
0x67, 0xcf, 0xff, 0xaf, 0x3d, 0xef, 0x68, 0xef, 0xf8, 0x8f, 0x1b, 0xe7, 0xd7, 0x58, 0x72, 0xfd, 0x3f, 0x4e, 0xae, 0x36,
|
||||
0x7a, 0xde, 0x67, 0xb4, 0xad, 0xdf, 0xff, 0xf7, 0xbe, 0xe5, 0x6b, 0xf5, 0xb3, 0x2b, 0x16, 0x58, 0x75, 0x1d, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0xfe, 0xff, 0xd9, 0x1d, 0xe4, 0xfc, 0xbd, 0xe8, 0xd1, 0x78, 0x6f, 0x3f, 0x9a, 0x32, 0x19,
|
||||
0xc6, 0xc1, 0x9d, 0xf8, 0xec, 0x0a, 0x7c, 0x3d, 0x99, 0xb9, 0x47, 0x7b, 0xdf, 0x57, 0xd3, 0x30, 0x6e, 0xef, 0x51, 0x7e,
|
||||
0x3d, 0xc1, 0xe7, 0x57, 0x96, 0x8d, 0xc6, 0xcc, 0xae, 0x75, 0xd5, 0x36, 0x33, 0x73, 0xc6, 0xbb, 0xeb, 0x3f, 0xba, 0x5a,
|
||||
0x23, 0x6e, 0x8c, 0x0c, 0xb3, 0xe3, 0x5f, 0x5f, 0xe9, 0xbb, 0x7a, 0x7c, 0xad, 0x88, 0x7f, 0x4f, 0x16, 0x69, 0x3e, 0xf2,
|
||||
0x6b, 0xd6, 0xd3, 0x3e, 0x7b, 0x9e, 0xca, 0xba, 0xdc, 0xc7, 0x4a, 0x06, 0xed, 0xbb, 0xc6, 0xff, 0xf9, 0xf5, 0xb4, 0x67,
|
||||
0x55, 0x76, 0xf5, 0x66, 0xd0, 0x8b, 0xff, 0xbc, 0xda, 0xbe, 0x58, 0x38, 0x32, 0x55, 0x2b, 0x68, 0xe6, 0xd5, 0x0c, 0x76,
|
||||
0x57, 0x91, 0xcc, 0x1f, 0xff, 0x6b, 0xcf, 0xb9, 0xaa, 0x3c, 0x1d, 0x68, 0xb7, 0xfe, 0xdf, 0x99, 0x3b, 0xbd, 0x4b, 0xfc,
|
||||
0xeb, 0xb3, 0xfc, 0xd1, 0x34, 0x2b, 0x7d, 0x6e, 0xfc, 0x5f, 0xfd, 0xc4, 0x8b, 0xfa, 0x3c, 0xfc, 0x89, 0x3d, 0xa9, 0xbc,
|
||||
0x73, 0xe5, 0xaf, 0xb2, 0x99, 0xfd, 0x9d, 0xf1, 0xdf, 0xef, 0x08, 0xe0, 0xe9, 0x51, 0x8c, 0xf7, 0x3a, 0x02, 0x54, 0xe0,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0xbb, 0xe3, 0x7e, 0x9c, 0xa5, 0x13, 0x2d, 0x19, 0x37, 0xbb, 0xaf, 0xa5,
|
||||
0x3f, 0x4e, 0xd6, 0xa7, 0xbd, 0x96, 0xdb, 0x15, 0xdb, 0xde, 0x0f, 0xae, 0xb6, 0x7f, 0x57, 0xfe, 0xf4, 0xee, 0x6b, 0xe9,
|
||||
0xdf, 0x5f, 0x93, 0x33, 0x4e, 0x8e, 0x8e, 0x57, 0x8c, 0x7f, 0x25, 0x67, 0xf4, 0xf9, 0xb5, 0x94, 0xa3, 0x94, 0xf1, 0x1a,
|
||||
0x9b, 0xe7, 0xcc, 0xed, 0x94, 0x8b, 0xbd, 0x72, 0xfc, 0x8f, 0x72, 0x74, 0xa2, 0x21, 0x0f, 0x5a, 0xfc, 0x47, 0xba, 0x16,
|
||||
0x6f, 0xe7, 0xfe, 0xff, 0xc4, 0xda, 0xeb, 0xef, 0x17, 0xff, 0xce, 0x8a, 0xab, 0x19, 0x6b, 0x69, 0xe7, 0xab, 0x3b, 0xdf,
|
||||
0xbf, 0xff, 0x57, 0xe7, 0xff, 0x3d, 0xe3, 0xff, 0xea, 0xb5, 0xb4, 0xf3, 0xf3, 0xff, 0xcf, 0x18, 0xff, 0xef, 0xbc, 0x22,
|
||||
0x73, 0xac, 0xbd, 0x5e, 0x5e, 0xae, 0xf8, 0x7f, 0x7a, 0x5e, 0xee, 0xdd, 0xeb, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 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, 0x46, 0xbf, 0x00 };
|
||||
|
||||
// Font characters rectangles data
|
||||
static const Rectangle darkFontRecs[95] = {
|
||||
{ 4, 4, 4 , 16 },
|
||||
{ 16, 4, 1 , 9 },
|
||||
{ 25, 4, 3 , 3 },
|
||||
{ 36, 4, 6 , 9 },
|
||||
{ 50, 4, 5 , 13 },
|
||||
{ 63, 4, 7 , 9 },
|
||||
{ 78, 4, 5 , 9 },
|
||||
{ 91, 4, 1 , 3 },
|
||||
{ 100, 4, 3 , 9 },
|
||||
{ 111, 4, 3 , 9 },
|
||||
{ 122, 4, 5 , 5 },
|
||||
{ 135, 4, 5 , 5 },
|
||||
{ 148, 4, 2 , 3 },
|
||||
{ 158, 4, 4 , 1 },
|
||||
{ 170, 4, 1 , 1 },
|
||||
{ 179, 4, 3 , 9 },
|
||||
{ 190, 4, 5 , 9 },
|
||||
{ 203, 4, 3 , 9 },
|
||||
{ 214, 4, 5 , 9 },
|
||||
{ 227, 4, 5 , 9 },
|
||||
{ 240, 4, 5 , 9 },
|
||||
{ 4, 28, 5 , 9 },
|
||||
{ 17, 28, 5 , 9 },
|
||||
{ 30, 28, 5 , 9 },
|
||||
{ 43, 28, 5 , 9 },
|
||||
{ 56, 28, 5 , 9 },
|
||||
{ 69, 28, 1 , 7 },
|
||||
{ 78, 28, 2 , 9 },
|
||||
{ 88, 28, 3 , 5 },
|
||||
{ 99, 28, 4 , 3 },
|
||||
{ 111, 28, 3 , 5 },
|
||||
{ 122, 28, 5 , 9 },
|
||||
{ 135, 28, 7 , 9 },
|
||||
{ 150, 28, 5 , 9 },
|
||||
{ 163, 28, 5 , 9 },
|
||||
{ 176, 28, 5 , 9 },
|
||||
{ 189, 28, 5 , 9 },
|
||||
{ 202, 28, 5 , 9 },
|
||||
{ 215, 28, 5 , 9 },
|
||||
{ 228, 28, 5 , 9 },
|
||||
{ 241, 28, 5 , 9 },
|
||||
{ 4, 52, 1 , 9 },
|
||||
{ 13, 52, 5 , 9 },
|
||||
{ 26, 52, 5 , 9 },
|
||||
{ 39, 52, 5 , 9 },
|
||||
{ 52, 52, 7 , 9 },
|
||||
{ 67, 52, 5 , 9 },
|
||||
{ 80, 52, 5 , 9 },
|
||||
{ 93, 52, 5 , 9 },
|
||||
{ 106, 52, 5 , 9 },
|
||||
{ 119, 52, 5 , 9 },
|
||||
{ 132, 52, 5 , 9 },
|
||||
{ 145, 52, 5 , 9 },
|
||||
{ 158, 52, 5 , 9 },
|
||||
{ 171, 52, 5 , 9 },
|
||||
{ 184, 52, 7 , 9 },
|
||||
{ 199, 52, 5 , 9 },
|
||||
{ 212, 52, 5 , 9 },
|
||||
{ 225, 52, 5 , 9 },
|
||||
{ 238, 52, 3 , 9 },
|
||||
{ 4, 76, 3 , 9 },
|
||||
{ 15, 76, 3 , 9 },
|
||||
{ 26, 76, 5 , 3 },
|
||||
{ 39, 76, 5 , 1 },
|
||||
{ 52, 76, 2 , 2 },
|
||||
{ 62, 76, 5 , 7 },
|
||||
{ 75, 76, 5 , 9 },
|
||||
{ 88, 76, 5 , 7 },
|
||||
{ 101, 76, 5 , 9 },
|
||||
{ 114, 76, 5 , 7 },
|
||||
{ 127, 76, 4 , 9 },
|
||||
{ 139, 76, 5 , 9 },
|
||||
{ 152, 76, 5 , 9 },
|
||||
{ 165, 76, 1 , 9 },
|
||||
{ 174, 76, 5 , 11 },
|
||||
{ 187, 76, 5 , 9 },
|
||||
{ 200, 76, 2 , 9 },
|
||||
{ 210, 76, 7 , 7 },
|
||||
{ 225, 76, 5 , 7 },
|
||||
{ 238, 76, 5 , 7 },
|
||||
{ 4, 100, 5 , 9 },
|
||||
{ 17, 100, 5 , 9 },
|
||||
{ 30, 100, 5 , 7 },
|
||||
{ 43, 100, 5 , 7 },
|
||||
{ 56, 100, 4 , 8 },
|
||||
{ 68, 100, 5 , 7 },
|
||||
{ 81, 100, 5 , 7 },
|
||||
{ 94, 100, 7 , 7 },
|
||||
{ 109, 100, 5 , 7 },
|
||||
{ 122, 100, 5 , 9 },
|
||||
{ 135, 100, 5 , 7 },
|
||||
{ 148, 100, 4 , 9 },
|
||||
{ 160, 100, 1 , 9 },
|
||||
{ 169, 100, 4 , 9 },
|
||||
{ 181, 100, 6 , 2 },
|
||||
};
|
||||
|
||||
// Font glyphs info data
|
||||
// NOTE: No glyphs.image data provided
|
||||
static const GlyphInfo darkFontChars[95] = {
|
||||
{ 32, 0, 13, 4, { 0 }},
|
||||
{ 33, 2, 4, 5, { 0 }},
|
||||
{ 34, 2, 4, 7, { 0 }},
|
||||
{ 35, 1, 4, 8, { 0 }},
|
||||
{ 36, 1, 2, 7, { 0 }},
|
||||
{ 37, 1, 4, 9, { 0 }},
|
||||
{ 38, 1, 4, 7, { 0 }},
|
||||
{ 39, 2, 4, 5, { 0 }},
|
||||
{ 40, 3, 4, 7, { 0 }},
|
||||
{ 41, 1, 4, 7, { 0 }},
|
||||
{ 42, 1, 4, 7, { 0 }},
|
||||
{ 43, 1, 6, 7, { 0 }},
|
||||
{ 44, 1, 12, 5, { 0 }},
|
||||
{ 45, 1, 8, 6, { 0 }},
|
||||
{ 46, 2, 12, 5, { 0 }},
|
||||
{ 47, 1, 4, 5, { 0 }},
|
||||
{ 48, 1, 4, 7, { 0 }},
|
||||
{ 49, 2, 4, 7, { 0 }},
|
||||
{ 50, 1, 4, 7, { 0 }},
|
||||
{ 51, 1, 4, 7, { 0 }},
|
||||
{ 52, 1, 4, 7, { 0 }},
|
||||
{ 53, 1, 4, 7, { 0 }},
|
||||
{ 54, 1, 4, 7, { 0 }},
|
||||
{ 55, 1, 4, 7, { 0 }},
|
||||
{ 56, 1, 4, 7, { 0 }},
|
||||
{ 57, 1, 4, 7, { 0 }},
|
||||
{ 58, 2, 6, 5, { 0 }},
|
||||
{ 59, 1, 6, 5, { 0 }},
|
||||
{ 60, 1, 6, 5, { 0 }},
|
||||
{ 61, 1, 7, 6, { 0 }},
|
||||
{ 62, 1, 6, 5, { 0 }},
|
||||
{ 63, 1, 4, 7, { 0 }},
|
||||
{ 64, 1, 4, 9, { 0 }},
|
||||
{ 65, 1, 4, 7, { 0 }},
|
||||
{ 66, 1, 4, 7, { 0 }},
|
||||
{ 67, 1, 4, 7, { 0 }},
|
||||
{ 68, 1, 4, 7, { 0 }},
|
||||
{ 69, 1, 4, 7, { 0 }},
|
||||
{ 70, 1, 4, 7, { 0 }},
|
||||
{ 71, 1, 4, 7, { 0 }},
|
||||
{ 72, 1, 4, 7, { 0 }},
|
||||
{ 73, 2, 4, 5, { 0 }},
|
||||
{ 74, 1, 4, 7, { 0 }},
|
||||
{ 75, 1, 4, 7, { 0 }},
|
||||
{ 76, 1, 4, 7, { 0 }},
|
||||
{ 77, 1, 4, 9, { 0 }},
|
||||
{ 78, 1, 4, 7, { 0 }},
|
||||
{ 79, 1, 4, 7, { 0 }},
|
||||
{ 80, 1, 4, 7, { 0 }},
|
||||
{ 81, 1, 4, 7, { 0 }},
|
||||
{ 82, 1, 4, 7, { 0 }},
|
||||
{ 83, 1, 4, 7, { 0 }},
|
||||
{ 84, 1, 4, 7, { 0 }},
|
||||
{ 85, 1, 4, 7, { 0 }},
|
||||
{ 86, 1, 4, 7, { 0 }},
|
||||
{ 87, 1, 4, 9, { 0 }},
|
||||
{ 88, 1, 4, 7, { 0 }},
|
||||
{ 89, 1, 4, 7, { 0 }},
|
||||
{ 90, 1, 4, 7, { 0 }},
|
||||
{ 91, 3, 4, 7, { 0 }},
|
||||
{ 92, 1, 4, 5, { 0 }},
|
||||
{ 93, 1, 4, 7, { 0 }},
|
||||
{ 94, 1, 4, 7, { 0 }},
|
||||
{ 95, 0, 14, 5, { 0 }},
|
||||
{ 96, 1, 4, 5, { 0 }},
|
||||
{ 97, 1, 6, 7, { 0 }},
|
||||
{ 98, 1, 4, 7, { 0 }},
|
||||
{ 99, 1, 6, 7, { 0 }},
|
||||
{ 100, 1, 4, 7, { 0 }},
|
||||
{ 101, 1, 6, 7, { 0 }},
|
||||
{ 102, 1, 4, 6, { 0 }},
|
||||
{ 103, 1, 6, 7, { 0 }},
|
||||
{ 104, 1, 4, 7, { 0 }},
|
||||
{ 105, 2, 4, 5, { 0 }},
|
||||
{ 106, 1, 4, 7, { 0 }},
|
||||
{ 107, 1, 4, 7, { 0 }},
|
||||
{ 108, 2, 4, 5, { 0 }},
|
||||
{ 109, 1, 6, 9, { 0 }},
|
||||
{ 110, 1, 6, 7, { 0 }},
|
||||
{ 111, 1, 6, 7, { 0 }},
|
||||
{ 112, 1, 6, 7, { 0 }},
|
||||
{ 113, 1, 6, 7, { 0 }},
|
||||
{ 114, 1, 6, 7, { 0 }},
|
||||
{ 115, 1, 6, 7, { 0 }},
|
||||
{ 116, 1, 5, 6, { 0 }},
|
||||
{ 117, 1, 6, 7, { 0 }},
|
||||
{ 118, 1, 6, 7, { 0 }},
|
||||
{ 119, 1, 6, 9, { 0 }},
|
||||
{ 120, 1, 6, 7, { 0 }},
|
||||
{ 121, 1, 6, 7, { 0 }},
|
||||
{ 122, 1, 6, 7, { 0 }},
|
||||
{ 123, 2, 4, 7, { 0 }},
|
||||
{ 124, 2, 4, 5, { 0 }},
|
||||
{ 125, 1, 4, 7, { 0 }},
|
||||
{ 126, 1, 4, 8, { 0 }},
|
||||
};
|
||||
|
||||
// Style loading function: dark
|
||||
static void GuiLoadStyleDark(void)
|
||||
{
|
||||
// Load style properties provided
|
||||
// NOTE: Default properties are propagated
|
||||
for (int i = 0; i < DARK_STYLE_PROPS_COUNT; i++)
|
||||
{
|
||||
GuiSetStyle(darkStyleProps[i].controlId, darkStyleProps[i].propertyId, darkStyleProps[i].propertyValue);
|
||||
}
|
||||
|
||||
// Custom font loading
|
||||
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
|
||||
int darkFontDataSize = 0;
|
||||
unsigned char *data = DecompressData(darkFontData, DARK_COMPRESSED_DATA_SIZE, &darkFontDataSize);
|
||||
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, darkFontRecs, 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, darkFontChars, font.glyphCount*sizeof(GlyphInfo));
|
||||
|
||||
GuiSetFont(font);
|
||||
|
||||
// TODO: Setup a white rectangle on the font to be used on shapes drawing,
|
||||
// this way we make sure all gui can be drawn on a single pass because no texture change is required
|
||||
// NOTE: Setting up this rectangle is a manual process (for the moment)
|
||||
Rectangle whiteChar = { 124, 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
|
||||
}
|
||||
337
examples/style_selector/styles/style_jungle.h
Normal file
@ -0,0 +1,337 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// 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);
|
||||
}
|
||||
349
examples/style_selector/styles/style_lavanda.h
Normal file
@ -0,0 +1,349 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// 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);
|
||||
}
|
||||
333
examples/style_selector/styles/style_terminal.h
Normal file
@ -0,0 +1,333 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// StyleAsCode exporter v1.2 - Style data exported as a values array //
|
||||
// //
|
||||
// USAGE: On init call: GuiLoadStyleTerminal(); //
|
||||
// //
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define TERMINAL_STYLE_PROPS_COUNT 16
|
||||
|
||||
// Custom style name: terminal
|
||||
static const GuiStyleProp terminalStyleProps[TERMINAL_STYLE_PROPS_COUNT] = {
|
||||
{ 0, 0, 0x1c8d00ff }, // DEFAULT_BORDER_COLOR_NORMAL
|
||||
{ 0, 1, 0x161313ff }, // DEFAULT_BASE_COLOR_NORMAL
|
||||
{ 0, 2, 0x38f620ff }, // DEFAULT_TEXT_COLOR_NORMAL
|
||||
{ 0, 3, 0xc3fbc6ff }, // DEFAULT_BORDER_COLOR_FOCUSED
|
||||
{ 0, 4, 0x43bf2eff }, // DEFAULT_BASE_COLOR_FOCUSED
|
||||
{ 0, 5, 0xdcfadcff }, // DEFAULT_TEXT_COLOR_FOCUSED
|
||||
{ 0, 6, 0x1f5b19ff }, // DEFAULT_BORDER_COLOR_PRESSED
|
||||
{ 0, 7, 0x43ff28ff }, // DEFAULT_BASE_COLOR_PRESSED
|
||||
{ 0, 8, 0x1e6f15ff }, // DEFAULT_TEXT_COLOR_PRESSED
|
||||
{ 0, 9, 0x223b22ff }, // DEFAULT_BORDER_COLOR_DISABLED
|
||||
{ 0, 10, 0x182c18ff }, // DEFAULT_BASE_COLOR_DISABLED
|
||||
{ 0, 11, 0x244125ff }, // DEFAULT_TEXT_COLOR_DISABLED
|
||||
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE
|
||||
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
|
||||
{ 0, 18, 0xe6fce3ff }, // DEFAULT_LINE_COLOR
|
||||
{ 0, 19, 0x0c1505ff }, // DEFAULT_BACKGROUND_COLOR
|
||||
};
|
||||
|
||||
// WARNING: This style uses a custom font: (size: 16, spacing: 0)
|
||||
|
||||
#define TERMINAL_COMPRESSED_DATA_SIZE 964
|
||||
|
||||
// Font image pixels data compressed (DEFLATE)
|
||||
// NOTE: Original pixel data simplified to GRAYSCALE
|
||||
static unsigned char terminalFontData[TERMINAL_COMPRESSED_DATA_SIZE] = { 0xed,
|
||||
0xdd, 0x41, 0xb6, 0x9b, 0x30, 0x0c, 0x05, 0x50, 0xf6, 0xbf, 0x69, 0x75, 0xd0, 0xd3, 0x41, 0x7b, 0x9a, 0x0f, 0x92, 0x65,
|
||||
0xc7, 0xc0, 0xed, 0x9d, 0xa5, 0x09, 0x9f, 0xf0, 0x02, 0x38, 0xb6, 0xec, 0xc4, 0x01, 0x00, 0xf0, 0x8f, 0xf8, 0xef, 0x23,
|
||||
0xf1, 0xf1, 0x99, 0x71, 0x79, 0x3b, 0xbf, 0x1f, 0x8d, 0x8f, 0x7f, 0xe5, 0xcf, 0xbf, 0x2b, 0x5b, 0xba, 0xfe, 0xac, 0x48,
|
||||
0xed, 0xdd, 0xd8, 0x5e, 0xd5, 0xb6, 0x93, 0x7d, 0xf6, 0xcf, 0xfb, 0x13, 0x1b, 0xe4, 0x7f, 0xfe, 0x6e, 0x33, 0xc7, 0x33,
|
||||
0xca, 0xe9, 0xe5, 0x3f, 0x9d, 0x33, 0xcf, 0xa1, 0xec, 0x3e, 0xd6, 0x8e, 0xc9, 0x1e, 0xf9, 0x67, 0xff, 0x46, 0x6e, 0xbf,
|
||||
0x63, 0x68, 0xcf, 0x6b, 0xe7, 0xf4, 0xd8, 0xde, 0xdd, 0x39, 0xff, 0xe3, 0xe3, 0x95, 0xbc, 0x7a, 0x1c, 0x57, 0xe5, 0x3f,
|
||||
0xfe, 0x2e, 0xe5, 0x7f, 0xf6, 0xcc, 0x7c, 0x96, 0x3f, 0xa7, 0x17, 0x37, 0xcf, 0x3f, 0xdb, 0xee, 0x79, 0x66, 0xfe, 0x9f,
|
||||
0xae, 0x0c, 0x3f, 0xdf, 0x93, 0x3f, 0xbf, 0x66, 0xe5, 0xdd, 0x7b, 0x4e, 0xfe, 0x67, 0xf7, 0xd1, 0xeb, 0xc7, 0x22, 0xdb,
|
||||
0x32, 0x5c, 0x9f, 0xff, 0x48, 0x8b, 0xec, 0xde, 0xf9, 0xc7, 0xc9, 0xb1, 0x8a, 0x81, 0xf6, 0xed, 0xe8, 0x35, 0x43, 0xfe,
|
||||
0xdf, 0xce, 0xff, 0xb8, 0x41, 0xfe, 0x47, 0x43, 0xfb, 0xaf, 0xf2, 0xce, 0x9e, 0x90, 0x7f, 0xed, 0xdd, 0xdd, 0x33, 0xff,
|
||||
0xea, 0xf7, 0xff, 0xcf, 0x7d, 0x1e, 0xf2, 0x7f, 0xd2, 0xf5, 0x3f, 0x4e, 0xae, 0x1d, 0x23, 0xed, 0x97, 0x3d, 0xf3, 0x8f,
|
||||
0x4b, 0x57, 0xcb, 0xf1, 0xde, 0xc2, 0xec, 0x35, 0xf7, 0x0d, 0x7d, 0xd4, 0xbb, 0xe7, 0xcf, 0x8a, 0x51, 0x0a, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xd0, 0x83, 0x5e, 0xa9, 0x31, 0xef, 0xfd, 0x9f, 0x5c, 0xed, 0x5c, 0xbd, 0x9e, 0xfe, 0xea, 0x1e, 0xc6,
|
||||
0xf2, 0xa3, 0x32, 0x3b, 0x97, 0x39, 0x23, 0xc8, 0x99, 0xd1, 0xfb, 0xd1, 0xba, 0xc4, 0x98, 0x5e, 0x81, 0x1b, 0xd3, 0xde,
|
||||
0x61, 0xa5, 0x1e, 0x20, 0x16, 0x8d, 0xf9, 0xdf, 0x23, 0xff, 0x28, 0x8c, 0xa7, 0x77, 0xcc, 0x26, 0x91, 0xff, 0xd3, 0xce,
|
||||
0xff, 0xb3, 0x7d, 0xff, 0xfb, 0x13, 0x25, 0xff, 0x5d, 0xf2, 0x3f, 0xd2, 0xf7, 0xb5, 0x18, 0xaa, 0x1c, 0x78, 0x4f, 0xfe,
|
||||
0xf9, 0x16, 0xc8, 0x51, 0x9c, 0xf1, 0xd7, 0x51, 0x97, 0x3e, 0x7f, 0x6e, 0xce, 0x59, 0xfe, 0x95, 0xb6, 0x5c, 0x25, 0xff,
|
||||
0xb3, 0x5c, 0x72, 0xd5, 0xe5, 0xbd, 0x73, 0x15, 0xeb, 0xb3, 0x77, 0xf6, 0xad, 0xce, 0x7e, 0xce, 0xf5, 0xff, 0x5e, 0xf9,
|
||||
0xaf, 0xaf, 0xe1, 0x8a, 0x0b, 0x75, 0xac, 0xf2, 0xff, 0xde, 0xf9, 0x1f, 0x5f, 0xbc, 0x2a, 0xc8, 0x5f, 0xfe, 0x6f, 0xca,
|
||||
0xbf, 0xda, 0x62, 0x8b, 0xd6, 0xad, 0xed, 0x78, 0xff, 0xcf, 0xae, 0xaf, 0xb1, 0xae, 0xff, 0xef, 0x28, 0xf6, 0x86, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x86, 0xfa, 0xff, 0x7c, 0x15, 0x7e, 0xd7, 0xd8, 0x67, 0x6c, 0x31, 0xfb, 0x60, 0xc6,
|
||||
0x5c, 0x86, 0xea, 0x11, 0xea, 0xda, 0x62, 0x7e, 0x0d, 0xb5, 0x9e, 0x95, 0xf8, 0xf3, 0x5b, 0x99, 0x31, 0xce, 0x3e, 0x7b,
|
||||
0xd4, 0xbe, 0x52, 0xff, 0xb0, 0x32, 0xff, 0x4a, 0xad, 0x85, 0xfc, 0xe5, 0x2f, 0x7f, 0xf9, 0xcb, 0x7f, 0xaf, 0xfc, 0xcf,
|
||||
0xd7, 0x8b, 0x8f, 0xa1, 0x2a, 0xba, 0x5a, 0x9d, 0x51, 0x67, 0xed, 0xfb, 0x8a, 0x76, 0xcf, 0x48, 0x9d, 0x7d, 0x7c, 0x39,
|
||||
0xff, 0xb3, 0xd9, 0x6f, 0x63, 0x35, 0x94, 0xdf, 0x3e, 0xff, 0x77, 0x99, 0x67, 0x17, 0xc5, 0x33, 0xbd, 0x6b, 0xaf, 0x23,
|
||||
0x7d, 0xfe, 0x8f, 0x9f, 0xfb, 0xf2, 0xdf, 0x3f, 0xff, 0x91, 0x2a, 0x6c, 0xf9, 0xef, 0x93, 0xff, 0x59, 0xc2, 0xf2, 0x7f,
|
||||
0x7a, 0xfe, 0x9f, 0x7f, 0x87, 0xee, 0x2e, 0xf9, 0x77, 0x57, 0xc5, 0x57, 0xf3, 0xef, 0xac, 0x8c, 0xaf, 0xf6, 0xa2, 0x45,
|
||||
0x71, 0x3d, 0x82, 0x48, 0xf7, 0x83, 0x56, 0xf2, 0x37, 0x0f, 0x00, 0xf6, 0x9b, 0x79, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xab, 0x7a, 0xc5, 0x73, 0x95, 0x6f, 0x7d, 0xeb, 0x81, 0x1d, 0x93, 0x47, 0xf6, 0x6a, 0xe3, 0x98, 0xe3, 0xbf, 0x5e, 0x70,
|
||||
0xa4, 0x46, 0x54, 0x2b, 0x7b, 0xdd, 0xb9, 0xbe, 0x5a, 0xa4, 0x47, 0x4a, 0xb2, 0x35, 0x4a, 0xf9, 0xf1, 0x98, 0x9e, 0xd5,
|
||||
0xf0, 0x3a, 0xab, 0x15, 0xaa, 0x55, 0xa2, 0xfd, 0xc7, 0x20, 0xca, 0x75, 0x0c, 0x47, 0x53, 0x05, 0xc1, 0x8c, 0xb5, 0xbd,
|
||||
0xe5, 0x2f, 0xff, 0xae, 0x5f, 0x8f, 0x99, 0x51, 0x0d, 0xdc, 0x53, 0x8d, 0x12, 0x83, 0xd5, 0x37, 0xeb, 0xf2, 0xff, 0xce,
|
||||
0x0a, 0xde, 0xeb, 0x6a, 0xbe, 0xb2, 0x9f, 0xa6, 0x68, 0x4c, 0x50, 0xfe, 0xdf, 0xcf, 0xbf, 0x7a, 0x34, 0xde, 0x93, 0x7f,
|
||||
0x47, 0x6d, 0xf9, 0x93, 0xf2, 0x8f, 0x86, 0x99, 0xcf, 0x63, 0xf3, 0x66, 0xde, 0x90, 0xff, 0x8c, 0xfb, 0x6f, 0x4f, 0x6b,
|
||||
0xe2, 0x7d, 0xe7, 0x7f, 0x47, 0x75, 0xf1, 0xfc, 0x2b, 0xc3, 0x9c, 0xd7, 0xec, 0x98, 0xff, 0xfa, 0xaa, 0x48, 0xf9, 0xcf,
|
||||
0xbf, 0xfe, 0xef, 0x9c, 0x7f, 0xa5, 0x77, 0x68, 0xf5, 0x9d, 0xa1, 0xfb, 0x35, 0x33, 0xd7, 0x4f, 0x91, 0xbf, 0x0a, 0xf4,
|
||||
0x3b, 0xf4, 0xff, 0x77, 0x3e, 0x1f, 0x67, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x8d, 0xac, 0x75, 0xfe, 0x9e, 0x75,
|
||||
0xb6, 0xe2, 0x62, 0xe5, 0x3a, 0x8a, 0xb5, 0x15, 0xc0, 0xe2, 0x72, 0x7d, 0xcf, 0xde, 0xe3, 0x01, 0x6b, 0xd6, 0x4c, 0xae,
|
||||
0xae, 0xae, 0xf7, 0xdd, 0xfc, 0xb3, 0xa3, 0xa0, 0xd7, 0x1f, 0xdb, 0xef, 0xb7, 0xf0, 0x9f, 0x9e, 0x7f, 0xf7, 0x3a, 0xda,
|
||||
0xdd, 0x9f, 0x89, 0xa7, 0xe7, 0xff, 0xf3, 0x9d, 0x61, 0x45, 0xfe, 0xf5, 0x35, 0x3b, 0x8f, 0x87, 0x64, 0xfd, 0xbd, 0xfc,
|
||||
0xb3, 0x33, 0x7b, 0x76, 0x39, 0xff, 0xe7, 0xdc, 0x13, 0xe4, 0x7f, 0x97, 0xf6, 0xdf, 0x21, 0xff, 0xcd, 0xf2, 0xef, 0x5f,
|
||||
0x47, 0xbb, 0x3a, 0xb7, 0xec, 0x7a, 0x5b, 0xef, 0x4d, 0xdf, 0xff, 0x8e, 0x86, 0x79, 0xe0, 0xe7, 0x6b, 0x2f, 0x77, 0xaf,
|
||||
0xa3, 0x5c, 0xf9, 0xfe, 0xf7, 0xf4, 0x6a, 0xc9, 0x58, 0x52, 0xcf, 0xb6, 0xcf, 0xf1, 0x89, 0x29, 0xf3, 0xe6, 0xe5, 0xbf,
|
||||
0x7b, 0xfe, 0xb5, 0x6f, 0xe3, 0xcf, 0xcf, 0x7f, 0xe5, 0xd1, 0x7f, 0xc6, 0xd9, 0x21, 0xff, 0x77, 0xd7, 0x72, 0xcb, 0xff,
|
||||
0x5d, 0xd7, 0xad, 0xd1, 0xfe, 0x7f, 0xcc, 0xef, 0x40, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0d, 0x7e, 0x01 };
|
||||
|
||||
// Font characters rectangles data
|
||||
static const Rectangle terminalFontRecs[95] = {
|
||||
{ 4, 4, 4 , 16 },
|
||||
{ 16, 4, 1 , 11 },
|
||||
{ 25, 4, 3 , 3 },
|
||||
{ 36, 4, 6 , 11 },
|
||||
{ 50, 4, 5 , 11 },
|
||||
{ 63, 4, 5 , 11 },
|
||||
{ 76, 4, 5 , 11 },
|
||||
{ 89, 4, 1 , 2 },
|
||||
{ 98, 4, 2 , 13 },
|
||||
{ 108, 4, 2 , 13 },
|
||||
{ 118, 4, 3 , 3 },
|
||||
{ 129, 4, 5 , 5 },
|
||||
{ 142, 4, 1 , 3 },
|
||||
{ 151, 4, 5 , 1 },
|
||||
{ 164, 4, 1 , 1 },
|
||||
{ 173, 4, 6 , 12 },
|
||||
{ 187, 4, 5 , 11 },
|
||||
{ 200, 4, 2 , 11 },
|
||||
{ 210, 4, 5 , 11 },
|
||||
{ 223, 4, 5 , 11 },
|
||||
{ 236, 4, 5 , 11 },
|
||||
{ 4, 28, 5 , 11 },
|
||||
{ 17, 28, 5 , 11 },
|
||||
{ 30, 28, 5 , 11 },
|
||||
{ 43, 28, 5 , 11 },
|
||||
{ 56, 28, 5 , 11 },
|
||||
{ 69, 28, 1 , 8 },
|
||||
{ 78, 28, 1 , 10 },
|
||||
{ 87, 28, 4 , 5 },
|
||||
{ 99, 28, 5 , 3 },
|
||||
{ 112, 28, 4 , 5 },
|
||||
{ 124, 28, 5 , 11 },
|
||||
{ 137, 28, 11 , 11 },
|
||||
{ 156, 28, 5 , 11 },
|
||||
{ 169, 28, 5 , 11 },
|
||||
{ 182, 28, 5 , 11 },
|
||||
{ 195, 28, 5 , 11 },
|
||||
{ 208, 28, 5 , 11 },
|
||||
{ 221, 28, 5 , 11 },
|
||||
{ 234, 28, 5 , 11 },
|
||||
{ 4, 52, 5 , 11 },
|
||||
{ 17, 52, 1 , 11 },
|
||||
{ 26, 52, 5 , 11 },
|
||||
{ 39, 52, 5 , 11 },
|
||||
{ 52, 52, 5 , 11 },
|
||||
{ 65, 52, 7 , 11 },
|
||||
{ 80, 52, 5 , 11 },
|
||||
{ 93, 52, 5 , 11 },
|
||||
{ 106, 52, 5 , 11 },
|
||||
{ 119, 52, 5 , 13 },
|
||||
{ 132, 52, 5 , 11 },
|
||||
{ 145, 52, 5 , 11 },
|
||||
{ 158, 52, 5 , 11 },
|
||||
{ 171, 52, 5 , 11 },
|
||||
{ 184, 52, 5 , 11 },
|
||||
{ 197, 52, 7 , 11 },
|
||||
{ 212, 52, 5 , 11 },
|
||||
{ 225, 52, 5 , 11 },
|
||||
{ 238, 52, 5 , 11 },
|
||||
{ 4, 76, 2 , 13 },
|
||||
{ 14, 76, 6 , 12 },
|
||||
{ 28, 76, 2 , 13 },
|
||||
{ 38, 76, 5 , 4 },
|
||||
{ 51, 76, 5 , 1 },
|
||||
{ 64, 76, 2 , 2 },
|
||||
{ 74, 76, 5 , 8 },
|
||||
{ 87, 76, 5 , 11 },
|
||||
{ 100, 76, 5 , 8 },
|
||||
{ 113, 76, 5 , 11 },
|
||||
{ 126, 76, 5 , 8 },
|
||||
{ 139, 76, 4 , 11 },
|
||||
{ 151, 76, 5 , 10 },
|
||||
{ 164, 76, 5 , 11 },
|
||||
{ 177, 76, 1 , 11 },
|
||||
{ 186, 76, 1 , 13 },
|
||||
{ 195, 76, 5 , 11 },
|
||||
{ 208, 76, 1 , 11 },
|
||||
{ 217, 76, 7 , 8 },
|
||||
{ 232, 76, 5 , 8 },
|
||||
{ 4, 100, 5 , 8 },
|
||||
{ 17, 100, 5 , 10 },
|
||||
{ 30, 100, 5 , 10 },
|
||||
{ 43, 100, 4 , 8 },
|
||||
{ 55, 100, 5 , 8 },
|
||||
{ 68, 100, 3 , 11 },
|
||||
{ 79, 100, 5 , 8 },
|
||||
{ 92, 100, 5 , 8 },
|
||||
{ 105, 100, 7 , 8 },
|
||||
{ 120, 100, 5 , 8 },
|
||||
{ 133, 100, 5 , 10 },
|
||||
{ 146, 100, 5 , 8 },
|
||||
{ 159, 100, 3 , 13 },
|
||||
{ 170, 100, 1 , 15 },
|
||||
{ 179, 100, 3 , 13 },
|
||||
{ 190, 100, 5 , 3 },
|
||||
};
|
||||
|
||||
// Font characters info data
|
||||
// NOTE: No chars.image data provided
|
||||
static const GlyphInfo terminalFontChars[95] = {
|
||||
{ 32, 0, 14, 4, { 0 }},
|
||||
{ 33, 1, 3, 3, { 0 }},
|
||||
{ 34, 1, 3, 5, { 0 }},
|
||||
{ 35, 1, 3, 8, { 0 }},
|
||||
{ 36, 1, 3, 7, { 0 }},
|
||||
{ 37, 1, 3, 7, { 0 }},
|
||||
{ 38, 1, 3, 7, { 0 }},
|
||||
{ 39, 1, 3, 3, { 0 }},
|
||||
{ 40, 1, 2, 4, { 0 }},
|
||||
{ 41, 1, 2, 4, { 0 }},
|
||||
{ 42, 1, 3, 5, { 0 }},
|
||||
{ 43, 1, 7, 7, { 0 }},
|
||||
{ 44, 1, 13, 3, { 0 }},
|
||||
{ 45, 1, 9, 7, { 0 }},
|
||||
{ 46, 1, 13, 3, { 0 }},
|
||||
{ 47, 1, 2, 8, { 0 }},
|
||||
{ 48, 1, 3, 7, { 0 }},
|
||||
{ 49, 1, 3, 4, { 0 }},
|
||||
{ 50, 1, 3, 7, { 0 }},
|
||||
{ 51, 1, 3, 7, { 0 }},
|
||||
{ 52, 1, 3, 7, { 0 }},
|
||||
{ 53, 1, 3, 7, { 0 }},
|
||||
{ 54, 1, 3, 7, { 0 }},
|
||||
{ 55, 1, 3, 7, { 0 }},
|
||||
{ 56, 1, 3, 7, { 0 }},
|
||||
{ 57, 1, 3, 7, { 0 }},
|
||||
{ 58, 1, 6, 3, { 0 }},
|
||||
{ 59, 1, 6, 3, { 0 }},
|
||||
{ 60, 1, 7, 6, { 0 }},
|
||||
{ 61, 1, 8, 7, { 0 }},
|
||||
{ 62, 1, 7, 6, { 0 }},
|
||||
{ 63, 1, 3, 7, { 0 }},
|
||||
{ 64, 2, 3, 15, { 0 }},
|
||||
{ 65, 1, 3, 7, { 0 }},
|
||||
{ 66, 1, 3, 7, { 0 }},
|
||||
{ 67, 1, 3, 7, { 0 }},
|
||||
{ 68, 1, 3, 7, { 0 }},
|
||||
{ 69, 1, 3, 7, { 0 }},
|
||||
{ 70, 1, 3, 7, { 0 }},
|
||||
{ 71, 1, 3, 7, { 0 }},
|
||||
{ 72, 1, 3, 7, { 0 }},
|
||||
{ 73, 1, 3, 3, { 0 }},
|
||||
{ 74, 1, 3, 7, { 0 }},
|
||||
{ 75, 1, 3, 7, { 0 }},
|
||||
{ 76, 1, 3, 7, { 0 }},
|
||||
{ 77, 1, 3, 9, { 0 }},
|
||||
{ 78, 1, 3, 7, { 0 }},
|
||||
{ 79, 1, 3, 7, { 0 }},
|
||||
{ 80, 1, 3, 7, { 0 }},
|
||||
{ 81, 1, 3, 7, { 0 }},
|
||||
{ 82, 1, 3, 7, { 0 }},
|
||||
{ 83, 1, 3, 7, { 0 }},
|
||||
{ 84, 1, 3, 7, { 0 }},
|
||||
{ 85, 1, 3, 7, { 0 }},
|
||||
{ 86, 1, 3, 7, { 0 }},
|
||||
{ 87, 1, 3, 9, { 0 }},
|
||||
{ 88, 1, 3, 7, { 0 }},
|
||||
{ 89, 1, 3, 7, { 0 }},
|
||||
{ 90, 1, 3, 7, { 0 }},
|
||||
{ 91, 1, 2, 4, { 0 }},
|
||||
{ 92, 1, 2, 8, { 0 }},
|
||||
{ 93, 1, 2, 4, { 0 }},
|
||||
{ 94, 1, 3, 7, { 0 }},
|
||||
{ 95, 1, 15, 7, { 0 }},
|
||||
{ 96, 1, 0, 4, { 0 }},
|
||||
{ 97, 1, 6, 7, { 0 }},
|
||||
{ 98, 1, 3, 7, { 0 }},
|
||||
{ 99, 1, 6, 7, { 0 }},
|
||||
{ 100, 1, 3, 7, { 0 }},
|
||||
{ 101, 1, 6, 7, { 0 }},
|
||||
{ 102, 1, 3, 6, { 0 }},
|
||||
{ 103, 1, 6, 7, { 0 }},
|
||||
{ 104, 1, 3, 7, { 0 }},
|
||||
{ 105, 1, 3, 3, { 0 }},
|
||||
{ 106, 1, 3, 3, { 0 }},
|
||||
{ 107, 1, 3, 7, { 0 }},
|
||||
{ 108, 1, 3, 3, { 0 }},
|
||||
{ 109, 1, 6, 9, { 0 }},
|
||||
{ 110, 1, 6, 7, { 0 }},
|
||||
{ 111, 1, 6, 7, { 0 }},
|
||||
{ 112, 1, 6, 7, { 0 }},
|
||||
{ 113, 1, 6, 7, { 0 }},
|
||||
{ 114, 1, 6, 6, { 0 }},
|
||||
{ 115, 1, 6, 7, { 0 }},
|
||||
{ 116, 1, 3, 5, { 0 }},
|
||||
{ 117, 1, 6, 7, { 0 }},
|
||||
{ 118, 1, 6, 7, { 0 }},
|
||||
{ 119, 1, 6, 9, { 0 }},
|
||||
{ 120, 1, 6, 7, { 0 }},
|
||||
{ 121, 1, 6, 7, { 0 }},
|
||||
{ 122, 1, 6, 7, { 0 }},
|
||||
{ 123, 1, 2, 5, { 0 }},
|
||||
{ 124, 1, 1, 3, { 0 }},
|
||||
{ 125, 1, 2, 5, { 0 }},
|
||||
{ 126, 1, 8, 7, { 0 }},
|
||||
};
|
||||
|
||||
// Style loading function: terminal
|
||||
static void GuiLoadStyleTerminal(void)
|
||||
{
|
||||
// Load style properties provided
|
||||
// NOTE: Default properties are propagated
|
||||
for (int i = 0; i < TERMINAL_STYLE_PROPS_COUNT; i++)
|
||||
{
|
||||
GuiSetStyle(terminalStyleProps[i].controlId, terminalStyleProps[i].propertyId, terminalStyleProps[i].propertyValue);
|
||||
}
|
||||
|
||||
// Custom font loading
|
||||
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
|
||||
int terminalFontDataSize = 0;
|
||||
unsigned char *data = DecompressData(terminalFontData, TERMINAL_COMPRESSED_DATA_SIZE, &terminalFontDataSize);
|
||||
Image imFont = { data, 256, 256, 1, 2 };
|
||||
|
||||
Font font = { 0 };
|
||||
font.baseSize = 16;
|
||||
font.glyphCount = 95;
|
||||
|
||||
// Load texture from image
|
||||
font.texture = LoadTextureFromImage(imFont);
|
||||
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, terminalFontRecs, font.glyphCount*sizeof(Rectangle));
|
||||
|
||||
// Copy font char info data from global fontChars
|
||||
// NOTE: Required to avoid issues if trying to free font
|
||||
font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo));
|
||||
memcpy(font.glyphs, terminalFontChars, font.glyphCount*sizeof(GlyphInfo));
|
||||
|
||||
GuiSetFont(font);
|
||||
|
||||
// Setup a white rectangle on the font to be used on shapes drawing,
|
||||
// this way we make sure all gui can be drawn on a single pass because no texture change is required
|
||||
// NOTE: Setting up this rectangle is a manual process (for the moment)
|
||||
Rectangle whiteChar = { 63, 4, 2, 2 };
|
||||
SetShapesTexture(font.texture, whiteChar);
|
||||
}
|
||||
@ -1,300 +0,0 @@
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* raygui - Controls test
|
||||
*
|
||||
* TEST CONTROLS:
|
||||
* - GuiScrollPanel()
|
||||
*
|
||||
* DEPENDENCIES:
|
||||
* raylib 2.5 - Windowing/input management and drawing.
|
||||
* raygui 2.0 - Immediate-mode GUI controls.
|
||||
*
|
||||
* COMPILATION (Windows - MinGW):
|
||||
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
|
||||
*
|
||||
* COMPILATION (Linux - gcc):
|
||||
* gcc -o $(NAME_PART) $(FILE_NAME) -I../../src -lraylib -std=c99
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2019 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
#include "raylib.h"
|
||||
|
||||
#define RAYGUI_IMPLEMENTATION
|
||||
#include "../../src/raygui.h"
|
||||
|
||||
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
|
||||
|
||||
#define GUI_TEXTBOX_EXTENDED_IMPLEMENTATION
|
||||
#include "../../src/extras/gui_textbox_extended.h"
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Defines and Macros
|
||||
//----------------------------------------------------------------------------------
|
||||
#define SIZEOF(A) (sizeof(A)/sizeof(A[0])) // Get number of elements in array `A`. Total size of `A` should be known at compile time.
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Global Variables Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
static char text01[92] = "Lorem ipsum dolor sit amet, \xE7\x8C\xBF\xE3\x82\x82\xE6\x9C\xA8\xE3\x81\x8B\xE3\x82\x89\xE8\x90\xBD\xE3\x81\xA1\xE3\x82\x8B consectetur adipiscing elit"; // including some hiragana/kanji
|
||||
static char text02[128] = "Here's another, much bigger textboxBounds." "\xf4\xa1\xa1\xff" " TIP: try COPY/PASTE ;)"; // including some invalid UTF8
|
||||
|
||||
static int textboxActive = 0; // Keeps traks of the active textboxBounds
|
||||
|
||||
static Rectangle textboxBounds[4] = {
|
||||
{ 20, 60, 160, 25 },
|
||||
{ 220, 60, 300, 25 },
|
||||
{ 565, 60, 95, 25 },
|
||||
{ 680, 60, 100, 25 },
|
||||
};
|
||||
|
||||
static Texture2D checked = { 0 };
|
||||
|
||||
// Draw a color button, if clicked return true
|
||||
bool ColorButton(Rectangle bounds, Color color)
|
||||
{
|
||||
Rectangle body = {bounds.x + 2, bounds.y + 2, bounds.width - 4, bounds.height - 4};
|
||||
bool pressed = false;
|
||||
|
||||
// Update control
|
||||
Vector2 mouse = GetMousePosition();
|
||||
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && CheckCollisionPointRec(mouse, bounds)) pressed = true;
|
||||
|
||||
// Draw control
|
||||
DrawTexture(checked, body.x, body.y, WHITE);
|
||||
DrawRectangleRec(body, color);
|
||||
DrawRectangleLinesEx(bounds, 1, BLACK);
|
||||
|
||||
return pressed;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
// Program main entry point
|
||||
//------------------------------------------------------------------------------------
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
// Initialization
|
||||
//---------------------------------------------------------------------------------------
|
||||
const int screenWidth = 800;
|
||||
const int screenHeight = 450;
|
||||
|
||||
InitWindow(screenWidth, screenHeight, "raygui - gui textboxBounds extended demo");
|
||||
|
||||
// Generate a checked checked used by the color buttons
|
||||
Image img = GenImageChecked(26, 26, 5, 5, RAYWHITE, DARKGRAY);
|
||||
checked = LoadTextureFromImage(img);
|
||||
UnloadImage(img);
|
||||
|
||||
Font font = { 0 };
|
||||
int fontSize = GuiGetStyle(DEFAULT, TEXT_SIZE);
|
||||
int fontSpacing = GuiGetStyle(DEFAULT, TEXT_SPACING);
|
||||
int padding = GuiGetStyle(TEXTBOX, TEXT_INNER_PADDING);
|
||||
int border = GuiGetStyle(TEXTBOX, BORDER_WIDTH);
|
||||
Color colorFG = GetColor(GuiGetStyle(TEXTBOX, COLOR_SELECTED_FG));
|
||||
Color colorBG = GetColor(GuiGetStyle(TEXTBOX, COLOR_SELECTED_BG));
|
||||
Color *colorSelected = &colorFG;
|
||||
|
||||
bool showMenu = false;
|
||||
Rectangle menuRect = { 0 };
|
||||
|
||||
int spinnerValue = 0;
|
||||
int valueBoxValue = 0;
|
||||
|
||||
bool textBox01EditMode = false;
|
||||
bool textBox02EditMode = false;
|
||||
bool spinnerEditMode = false;
|
||||
bool valueBoxEditMode = false;
|
||||
|
||||
SetTargetFPS(60);
|
||||
//---------------------------------------------------------------------------------------
|
||||
|
||||
// Main game loop
|
||||
while (!WindowShouldClose()) // Detect window close button or ESC key
|
||||
{
|
||||
// Update
|
||||
//----------------------------------------------------------------------------------
|
||||
Vector2 mouse = GetMousePosition();
|
||||
|
||||
// Check all textboxes to get the active textboxBounds
|
||||
if (textBox01EditMode) textboxActive = 0;
|
||||
else if (textBox02EditMode) textboxActive = 1;
|
||||
else if (spinnerEditMode) textboxActive = 2;
|
||||
else if (valueBoxEditMode) textboxActive = 3;
|
||||
|
||||
// Show/Hide the textboxBounds menu
|
||||
/*
|
||||
if ((textboxActive < 2) && !showMenu && CheckCollisionPointRec(mouse, textboxBounds[textboxActive]) && IsMouseButtonPressed(MOUSE_RIGHT_BUTTON))
|
||||
{
|
||||
showMenu = true;
|
||||
menuRect = (Rectangle){mouse.x, mouse.y, 80, 110};
|
||||
}
|
||||
*/
|
||||
|
||||
// Menu hidding logic
|
||||
if (showMenu && IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && !CheckCollisionPointRec(mouse, menuRect)) showMenu = false;
|
||||
|
||||
// Fonts drag & drop logic
|
||||
if (IsFileDropped())
|
||||
{
|
||||
int count = 0;
|
||||
char **files = GetDroppedFiles(&count);
|
||||
|
||||
if (IsFileExtension(files[0], ".ttf") ||
|
||||
IsFileExtension(files[0], ".otf") ||
|
||||
IsFileExtension(files[0], ".fnt"))
|
||||
{
|
||||
Font fnt = LoadFont(files[0]);
|
||||
|
||||
if (fnt.texture.id != 0)
|
||||
{
|
||||
// Font was loaded, only change font on success
|
||||
GuiSetFont(fnt);
|
||||
fontSize = fnt.baseSize;
|
||||
|
||||
// Remove old font
|
||||
if (font.texture.id != 0) UnloadFont(font);
|
||||
font = fnt;
|
||||
}
|
||||
}
|
||||
|
||||
ClearDroppedFiles();
|
||||
}
|
||||
|
||||
// Convert text to hex representation and draw it on screen
|
||||
char hex[(((textboxActive == 1) ? SIZEOF(text02) : SIZEOF(text01)) + 1)*3 + 1];
|
||||
char *text = (textboxActive == 1) ? text02 : text01;
|
||||
int maxSize = (textboxActive == 1) ? SIZEOF(text02) : SIZEOF(text01);
|
||||
for (int i = 0, j = 0; i < maxSize; ++i, j += 3) sprintf(&hex[j], "%02Xh ", (char)text[i]);
|
||||
|
||||
int startIdx = 0, endIdx = 0;
|
||||
if (textboxActive < 2)
|
||||
{
|
||||
Vector2 sel = GuiTextBoxGetSelection();
|
||||
startIdx = GuiTextBoxGetByteIndex(text, 0, 0, sel.x);
|
||||
endIdx = GuiTextBoxGetByteIndex(text, 0, 0, sel.x + sel.y);
|
||||
}
|
||||
|
||||
int len = endIdx - startIdx;
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
// Draw
|
||||
//----------------------------------------------------------------------------------
|
||||
BeginDrawing();
|
||||
|
||||
ClearBackground(RAYWHITE);
|
||||
|
||||
// Draw textboxes extended
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Set custom style
|
||||
GuiSetStyle(DEFAULT, TEXT_SIZE, fontSize);
|
||||
GuiSetStyle(DEFAULT, TEXT_SPACING, fontSpacing);
|
||||
GuiSetStyle(TEXTBOX, TEXT_INNER_PADDING, padding);
|
||||
GuiSetStyle(TEXTBOX, BORDER_WIDTH, border);
|
||||
GuiSetStyle(TEXTBOX, COLOR_SELECTED_BG, ColorToInt(colorBG));
|
||||
GuiSetStyle(TEXTBOX, COLOR_SELECTED_FG, ColorToInt(colorFG));
|
||||
|
||||
// TODO: GuiTextBoxEx() is not following editMode logic like GuiTextBox()
|
||||
if (GuiTextBoxEx(textboxBounds[0], text01, SIZEOF(text01) - 1, textBox01EditMode)) textBox01EditMode = !textBox01EditMode;
|
||||
if (GuiTextBoxEx(textboxBounds[1], text02, SIZEOF(text02) - 1, textBox02EditMode)) textBox02EditMode = !textBox02EditMode;
|
||||
|
||||
if (GuiSpinner(textboxBounds[2], NULL, &spinnerValue, INT_MIN, INT_MAX, spinnerEditMode)) spinnerEditMode = !spinnerEditMode;
|
||||
if (GuiValueBox(textboxBounds[3], NULL, &valueBoxValue, INT_MIN, INT_MAX, valueBoxEditMode)) valueBoxEditMode = !valueBoxEditMode;
|
||||
//---------------------------------------------------------------------------------------
|
||||
|
||||
// Reset style to default
|
||||
GuiLoadStyleDefault();
|
||||
GuiSetFont(GetFontDefault());
|
||||
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_CENTER);
|
||||
|
||||
// Draw hexadecimal values viewer
|
||||
DrawTextBoxedSelectable(guiFont, hex, (Rectangle){ 20, 95, 760, 205 }, 20, 1, true, BLACK, startIdx*3, len*3, colorFG, colorBG);
|
||||
|
||||
// Draw right-mouse-button-click menu and logic
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (showMenu)
|
||||
{
|
||||
GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, 24); // make items look a little bigger
|
||||
const char *menuItems[] = { "#17# Cut", "#16# Copy", "#18# Paste", "#101# SelectAll" };
|
||||
//int enabledItems[] = { textboxActive < 2 ? 1 : 0, textboxActive < 2 ? 1 : 0, GetClipboardText() != NULL, 1 };
|
||||
int active = -1, focus = 0, scroll = 0;
|
||||
|
||||
GuiSetStyle(DEFAULT, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_LEFT); // Fixes visual glitch with other alignments
|
||||
active = GuiListViewEx(menuRect, menuItems, SIZEOF(menuItems), &focus, &scroll, active);
|
||||
|
||||
if (active != -1)
|
||||
{
|
||||
showMenu = false;
|
||||
char *text = (textboxActive == 1) ? text02 : text01;
|
||||
switch(active)
|
||||
{
|
||||
case 0: GuiTextBoxCut(text); break;
|
||||
case 1: GuiTextBoxCopy(text); break;
|
||||
case 2: GuiTextBoxPaste(text, (textboxActive == 1) ? SIZEOF(text02) : SIZEOF(text01)); break;
|
||||
case 3: GuiTextBoxSelectAll(text); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
|
||||
// Draw GUI to change textboxes parameters
|
||||
//---------------------------------------------------------------------------------------
|
||||
/*
|
||||
// UI for changing the font size and spacing of all textboxes
|
||||
GuiLine((Rectangle){25,280,750,10}, NULL);
|
||||
GuiGroupBox((Rectangle){20,320,190,100}, GuiIconText(RICON_GEAR, "FONT"));
|
||||
GuiLabel((Rectangle){30,340,60,20}, "Size");
|
||||
GuiSpinner((Rectangle){95,340,100,20}, NULL, &fontSize, 10, 40, true);
|
||||
GuiLabel((Rectangle){30,380,60,20}, "Spacing");
|
||||
GuiSpinner((Rectangle){95,380,100,20}, NULL, &fontSpacing, 1, 10, true);
|
||||
|
||||
// UI for changing the style of all textboxes
|
||||
GuiGroupBox((Rectangle){225,320,190,100}, GuiIconText(RICON_COLOR_BUCKET, "STYLE"));
|
||||
GuiLabel((Rectangle){240,340,60,20}, "Padding");
|
||||
GuiSpinner((Rectangle){305,340,100,20}, NULL, &padding, 2, 30, true);
|
||||
GuiLabel((Rectangle){240,380,60,20}, "Border");
|
||||
GuiSpinner((Rectangle){305,380,100,20}, NULL, &border, 0, 8, true);
|
||||
|
||||
// UI for changing the width/height of the active textboxBounds
|
||||
bool changed = false;
|
||||
int width = textboxBounds[textboxActive].width, height = textboxBounds[textboxActive].height;
|
||||
GuiGroupBox((Rectangle){430,320,175,100}, GuiIconText(RICON_CURSOR_SCALE, "SCALE"));
|
||||
GuiLabel((Rectangle){435,340,55,20}, "Width");
|
||||
if (GuiSpinner((Rectangle){495,340,100,20}, NULL, &width, 30, 300, true)) changed = true;
|
||||
GuiLabel((Rectangle){435,380,55,20}, "Height");
|
||||
if (GuiSpinner((Rectangle){495,380,100,20}, NULL, &height, 12, 60, true)) changed = true;
|
||||
GuiSetStyle(LABEL, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_CENTER);
|
||||
GuiLabel((Rectangle){30,290,740,10}, GuiIconText(RICON_TEXT_T, " DRAG A FONT FILE (*.TTF, *.FNT) ANYWHERE TO CHANGE THE DEFAULT FONT!"));
|
||||
GuiSetStyle(LABEL, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_LEFT);
|
||||
textboxBounds[textboxActive].y = 85 - height;
|
||||
textboxBounds[textboxActive].height = height;
|
||||
textboxBounds[textboxActive].width = width;
|
||||
if (changed) GuiTextBoxSetActive(textboxBounds[textboxActive]);
|
||||
|
||||
// UI for selecting the selected text background and foreground color
|
||||
if (ColorButton((Rectangle){625,320,30,30}, colorFG)) colorSelected = &colorFG;
|
||||
if (ColorButton((Rectangle){625,389,30,30}, colorBG)) colorSelected = &colorBG;
|
||||
*colorSelected = GuiColorPicker((Rectangle){660,320,90,85}, *colorSelected);
|
||||
|
||||
float alpha = colorSelected->a;
|
||||
GuiSetStyle(SLIDER, TEXT_ALIGNMENT, GUI_TEXT_ALIGN_LEFT); // Slider for the selected color alpha value
|
||||
colorSelected->a = GuiSlider((Rectangle){664,420,100,20}, GuiIconText(RICON_CROP_ALPHA, "Alpha"), NULL, alpha, 0.0f, 255.0f);
|
||||
*/
|
||||
//---------------------------------------------------------------------------------------
|
||||
|
||||
EndDrawing();
|
||||
//----------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
// De-Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
CloseWindow(); // Close window and OpenGL context
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1,295 +0,0 @@
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* raygui - Controls test
|
||||
*
|
||||
* TEST CONTROLS:
|
||||
* - GuiTextEditor()
|
||||
*
|
||||
* DEPENDENCIES:
|
||||
* raylib 3.0 - Windowing/input management and drawing.
|
||||
* raygui 2.7 - Immediate-mode GUI controls.
|
||||
*
|
||||
* COMPILATION (Windows - MinGW):
|
||||
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2020 Ramon Santamaria (@raysan5)
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
#include "raylib.h"
|
||||
|
||||
#define RAYGUI_IMPLEMENTATION
|
||||
#include "../../src/raygui.h"
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Defines and Macros
|
||||
//----------------------------------------------------------------------------------
|
||||
// ...
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Global Variables Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
static char text01[128] = "Lorem ipsum dolor sit amet, \xE7\x8C\xBF\xE3\x82\x82\xE6\x9C\xA8\xE3\x81\x8B\xE3\x82\x89\xE8\x90\xBD\xE3\x81\xA1\xE3\x82\x8B consectetur adipiscing elit...\0"; // including some hiragana/kanji
|
||||
static char text02[128] = "Here's another, much bigger textbox extended.\xf4\xa1\xa1\xff TIP: try COPY/PASTE ;)\0"; // Including some invalid UTF8
|
||||
|
||||
bool GuiTextEditor(Rectangle bounds, char *text, int textLen, bool editMode);
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
// Program main entry point
|
||||
//------------------------------------------------------------------------------------
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
// Initialization
|
||||
//---------------------------------------------------------------------------------------
|
||||
const int screenWidth = 800;
|
||||
const int screenHeight = 450;
|
||||
|
||||
InitWindow(screenWidth, screenHeight, "raygui - gui text editor test");
|
||||
|
||||
Font font = { 0 };
|
||||
|
||||
bool textEditor01EditMode = false;
|
||||
bool textEditor02EditMode = false;
|
||||
|
||||
SetTargetFPS(60);
|
||||
//---------------------------------------------------------------------------------------
|
||||
|
||||
// Main game loop
|
||||
while (!WindowShouldClose()) // Detect window close button or ESC key
|
||||
{
|
||||
// Update
|
||||
//----------------------------------------------------------------------------------
|
||||
Vector2 mouse = GetMousePosition();
|
||||
|
||||
// Fonts drag & drop logic
|
||||
if (IsFileDropped())
|
||||
{
|
||||
int count = 0;
|
||||
char **files = GetDroppedFiles(&count);
|
||||
|
||||
if (IsFileExtension(files[0], ".ttf") ||
|
||||
IsFileExtension(files[0], ".otf") ||
|
||||
IsFileExtension(files[0], ".fnt"))
|
||||
{
|
||||
Font fnt = LoadFont(files[0]);
|
||||
|
||||
if (fnt.texture.id != 0)
|
||||
{
|
||||
// Font was loaded, only change font on success
|
||||
GuiSetFont(fnt);
|
||||
|
||||
// Remove old font
|
||||
if (font.texture.id != 0) UnloadFont(font);
|
||||
font = fnt;
|
||||
}
|
||||
}
|
||||
|
||||
ClearDroppedFiles();
|
||||
}
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
// Draw
|
||||
//----------------------------------------------------------------------------------
|
||||
BeginDrawing();
|
||||
|
||||
ClearBackground(RAYWHITE);
|
||||
|
||||
// Draw textboxes extended
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (GuiTextEditor((Rectangle){ 20, 20, 380, 410 }, text01, strlen(text01), textEditor01EditMode)) textEditor01EditMode = !textEditor01EditMode;
|
||||
if (GuiTextEditor((Rectangle){ 420, 20, 360, 410 }, text02, strlen(text02), textEditor02EditMode)) textEditor02EditMode = !textEditor02EditMode;
|
||||
//---------------------------------------------------------------------------------------
|
||||
|
||||
EndDrawing();
|
||||
//----------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
// De-Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
CloseWindow(); // Close window and OpenGL context
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Text editor control (Advanced text box)
|
||||
bool GuiTextEditor(Rectangle bounds, char *text, int textSize, bool editMode)
|
||||
{
|
||||
static Rectangle cursor = { 0 }; // Cursor position and size
|
||||
static int framesCounter = 0; // Blinking cursor frames counter
|
||||
static int cursorCodepoint = -1;
|
||||
static int selectStartCp = -1;
|
||||
static int selectLengthCp = 0;
|
||||
|
||||
GuiControlState state = guiState;
|
||||
bool pressed = false;
|
||||
|
||||
bool textWrap = true; // TODO: Word-Wrap vs Char-Wrap -> textWrapMode { NO_WRAP_LOCK, NO_WRAP_OVERFLOW, CHAR_WRAP, WORD_WRAP }
|
||||
|
||||
// WARNING: First string full traversal
|
||||
int codepointCount = GetCodepointCount(text);
|
||||
|
||||
int textLen = strlen(text); // Text length in bytes
|
||||
|
||||
// Update control
|
||||
//--------------------------------------------------------------------
|
||||
if ((state != GUI_STATE_DISABLED) && !guiLocked)
|
||||
{
|
||||
Vector2 mousePoint = GetMousePosition();
|
||||
|
||||
if (editMode)
|
||||
{
|
||||
state = GUI_STATE_PRESSED;
|
||||
framesCounter++;
|
||||
|
||||
// TODO: Cursor position logic (mouse and keys)
|
||||
|
||||
// Characters selection logic
|
||||
if (selectStartCp != -1)
|
||||
{
|
||||
if (IsKeyDown(KEY_LEFT_SHIFT) && IsKeyPressed(KEY_RIGHT))
|
||||
{
|
||||
selectLengthCp++;
|
||||
if (selectLengthCp >= (codepointCount - selectStartCp)) selectLengthCp = codepointCount - selectStartCp;
|
||||
}
|
||||
|
||||
if (IsKeyDown(KEY_LEFT_SHIFT) && IsKeyPressed(KEY_LEFT))
|
||||
{
|
||||
selectLengthCp--;
|
||||
if (selectLengthCp < 0) selectLengthCp = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int key = GetCharPressed();
|
||||
|
||||
// TODO: On key pressed, place new character in cursor position
|
||||
|
||||
// Exit edit mode logic
|
||||
if (IsKeyPressed(KEY_ENTER) || (!CheckCollisionPointRec(mousePoint, bounds) && IsMouseButtonPressed(0))) pressed = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CheckCollisionPointRec(mousePoint, bounds))
|
||||
{
|
||||
state = GUI_STATE_FOCUSED;
|
||||
if (IsMouseButtonPressed(0)) pressed = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pressed)
|
||||
{
|
||||
// Exiting edit mode, reset temp variables
|
||||
framesCounter = 0;
|
||||
cursor = (Rectangle){ 0 };
|
||||
|
||||
cursorCodepoint = -1;
|
||||
selectStartCp = -1;
|
||||
selectLengthCp = 0;
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
// Draw control
|
||||
//--------------------------------------------------------------------
|
||||
DrawRectangleLinesEx(bounds, GuiGetStyle(TEXTBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(TEXTBOX, BORDER + (state*3))), guiAlpha));
|
||||
|
||||
if (state == GUI_STATE_PRESSED) DrawRectangle(bounds.x + GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.y + GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.width - 2*GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.height - 2*GuiGetStyle(TEXTBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(TEXTBOX, BASE_COLOR_PRESSED)), guiAlpha));
|
||||
else if (state == GUI_STATE_DISABLED) DrawRectangle(bounds.x + GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.y + GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.width - 2*GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.height - 2*GuiGetStyle(TEXTBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(TEXTBOX, BASE_COLOR_DISABLED)), guiAlpha));
|
||||
|
||||
Font font = GetFontDefault();
|
||||
|
||||
int textOffsetY = 0; // Offset between lines (on line break '\n')
|
||||
float textOffsetX = 0.0f; // Offset X to next character to draw
|
||||
|
||||
float scaleFactor = GuiGetStyle(DEFAULT, TEXT_SIZE)*2/font.baseSize; // Character quad scaling factor
|
||||
|
||||
for (int i = 0, cp = 0; i < textLen; i++)
|
||||
{
|
||||
// Get next codepoint from byte string and glyph index in font
|
||||
int codepointByteCount = 0;
|
||||
int codepoint = GetCodepoint(&text[i], &codepointByteCount);
|
||||
int index = GetGlyphIndex(font, codepoint);
|
||||
|
||||
Rectangle rec = { bounds.x + textOffsetX + font.glyphs[index].offsetX*scaleFactor,
|
||||
bounds.y + textOffsetY + font.glyphs[index].offsetY*scaleFactor,
|
||||
font.recs[index].width*scaleFactor, font.recs[index].height*scaleFactor };
|
||||
|
||||
// Automatic line break to wrap text inside box
|
||||
if (textWrap && ((rec.x + rec.width) >= (bounds.x + bounds.width)))
|
||||
{
|
||||
textOffsetY += (int)((font.baseSize + font.baseSize/2)*scaleFactor);
|
||||
textOffsetX = 0.0f;
|
||||
|
||||
// Recalculate drawing rectangle position
|
||||
rec = (Rectangle){ bounds.x + textOffsetX + font.glyphs[index].offsetX*scaleFactor,
|
||||
bounds.y + textOffsetY + font.glyphs[index].offsetY*scaleFactor,
|
||||
font.recs[index].width*scaleFactor, font.recs[index].height*scaleFactor };
|
||||
}
|
||||
|
||||
// Check selected codepoint
|
||||
if (editMode)
|
||||
{
|
||||
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && CheckCollisionPointRec(GetMousePosition(), rec))
|
||||
{
|
||||
cursor = rec;
|
||||
cursorCodepoint = cp;
|
||||
selectStartCp = cursorCodepoint;
|
||||
selectLengthCp = 0;
|
||||
|
||||
// TODO: Place cursor at the end if pressed out of text
|
||||
}
|
||||
|
||||
// On mouse left button down allow text selection
|
||||
if ((selectStartCp != -1) && IsMouseButtonDown(MOUSE_LEFT_BUTTON) && CheckCollisionPointRec(GetMousePosition(), rec))
|
||||
{
|
||||
if (cp >= selectStartCp) selectLengthCp = cp - selectStartCp;
|
||||
else if (cp < selectStartCp)
|
||||
{
|
||||
//int temp = selectStartCp;
|
||||
//selectStartCp = cp;
|
||||
//selectLengthCp = temp - selectStartCp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (codepoint == '\n') // Line break character
|
||||
{
|
||||
// NOTE: Fixed line spacing of 1.5 line-height
|
||||
// TODO: Support custom line spacing defined by user
|
||||
textOffsetY += (int)((font.baseSize + font.baseSize/2)*scaleFactor);
|
||||
textOffsetX = 0.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Draw codepoint glyph
|
||||
if ((codepoint != ' ') && (codepoint != '\t') && ((rec.x + rec.width) < (bounds.x + bounds.width)))
|
||||
{
|
||||
DrawTexturePro(font.texture, font.recs[index], rec, (Vector2){ 0, 0 }, 0.0f, GetColor(GuiGetStyle(DEFAULT, TEXT_COLOR_NORMAL)));
|
||||
}
|
||||
|
||||
// TODO: On text overflow do something... move text to the left?
|
||||
}
|
||||
|
||||
// Draw codepoints selection from selectStartCp to selectLengthCp
|
||||
// TODO: Consider spacing when drawing selected characters background
|
||||
if (editMode && (selectStartCp != -1) && ((cp >= selectStartCp) && (cp <= (selectStartCp + selectLengthCp)))) DrawRectangleRec(rec, MAROON);
|
||||
|
||||
if (font.glyphs[index].advanceX == 0) textOffsetX += ((float)font.recs[index].width*scaleFactor + GuiGetStyle(DEFAULT, TEXT_SPACING));
|
||||
else textOffsetX += ((float)font.glyphs[index].advanceX*scaleFactor + GuiGetStyle(DEFAULT, TEXT_SPACING));
|
||||
|
||||
i += (codepointByteCount - 1); // Move text bytes counter to next codepoint
|
||||
cp++;
|
||||
}
|
||||
|
||||
// Draw blinking cursor
|
||||
if (editMode && ((framesCounter/20)%2 == 0)) DrawRectangleRec(cursor, Fade(GetColor(GuiGetStyle(TEXTBOX, BORDER_COLOR_PRESSED)), guiAlpha));
|
||||
|
||||
//GuiDrawText(text, GetTextBounds(TEXTBOX, bounds), GuiGetStyle(TEXTBOX, TEXT_ALIGNMENT), Fade(GetColor(GuiGetStyle(TEXTBOX, TEXT + (state*3))), guiAlpha));
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
return pressed;
|
||||
}
|
||||
547
icons/raygui_icons.h
Normal file
@ -0,0 +1,547 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// raygui Icons exporter v1.1 - Icons data exported as a values array //
|
||||
// //
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2019-2022 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Defines and Macros
|
||||
//----------------------------------------------------------------------------------
|
||||
#define RAYGUI_ICON_SIZE 16 // Size of icons (squared)
|
||||
#define RAYGUI_ICON_MAX_ICONS 256 // Maximum number of icons
|
||||
#define RAYGUI_ICON_MAX_NAME_LENGTH 32 // Maximum length of icon name id
|
||||
|
||||
// Icons data is defined by bit array (every bit represents one pixel)
|
||||
// Those arrays are stored as unsigned int data arrays, so every array
|
||||
// element defines 32 pixels (bits) of information
|
||||
// Number of elemens depend on RAYGUI_ICON_SIZE (by default 16x16 pixels)
|
||||
#define RAYGUI_ICON_DATA_ELEMENTS (RAYGUI_ICON_SIZE*RAYGUI_ICON_SIZE/32)
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Icons enumeration
|
||||
//----------------------------------------------------------------------------------
|
||||
typedef enum {
|
||||
ICON_NONE = 0,
|
||||
ICON_FOLDER_FILE_OPEN = 1,
|
||||
ICON_FILE_SAVE_CLASSIC = 2,
|
||||
ICON_FOLDER_OPEN = 3,
|
||||
ICON_FOLDER_SAVE = 4,
|
||||
ICON_FILE_OPEN = 5,
|
||||
ICON_FILE_SAVE = 6,
|
||||
ICON_FILE_EXPORT = 7,
|
||||
ICON_FILE_ADD = 8,
|
||||
ICON_FILE_DELETE = 9,
|
||||
ICON_FILETYPE_TEXT = 10,
|
||||
ICON_FILETYPE_AUDIO = 11,
|
||||
ICON_FILETYPE_IMAGE = 12,
|
||||
ICON_FILETYPE_PLAY = 13,
|
||||
ICON_FILETYPE_VIDEO = 14,
|
||||
ICON_FILETYPE_INFO = 15,
|
||||
ICON_FILE_COPY = 16,
|
||||
ICON_FILE_CUT = 17,
|
||||
ICON_FILE_PASTE = 18,
|
||||
ICON_CURSOR_HAND = 19,
|
||||
ICON_CURSOR_POINTER = 20,
|
||||
ICON_CURSOR_CLASSIC = 21,
|
||||
ICON_PENCIL = 22,
|
||||
ICON_PENCIL_BIG = 23,
|
||||
ICON_BRUSH_CLASSIC = 24,
|
||||
ICON_BRUSH_PAINTER = 25,
|
||||
ICON_WATER_DROP = 26,
|
||||
ICON_COLOR_PICKER = 27,
|
||||
ICON_RUBBER = 28,
|
||||
ICON_COLOR_BUCKET = 29,
|
||||
ICON_TEXT_T = 30,
|
||||
ICON_TEXT_A = 31,
|
||||
ICON_SCALE = 32,
|
||||
ICON_RESIZE = 33,
|
||||
ICON_FILTER_POINT = 34,
|
||||
ICON_FILTER_BILINEAR = 35,
|
||||
ICON_CROP = 36,
|
||||
ICON_CROP_ALPHA = 37,
|
||||
ICON_SQUARE_TOGGLE = 38,
|
||||
ICON_SYMMETRY = 39,
|
||||
ICON_SYMMETRY_HORIZONTAL = 40,
|
||||
ICON_SYMMETRY_VERTICAL = 41,
|
||||
ICON_LENS = 42,
|
||||
ICON_LENS_BIG = 43,
|
||||
ICON_EYE_ON = 44,
|
||||
ICON_EYE_OFF = 45,
|
||||
ICON_FILTER_TOP = 46,
|
||||
ICON_FILTER = 47,
|
||||
ICON_TARGET_POINT = 48,
|
||||
ICON_TARGET_SMALL = 49,
|
||||
ICON_TARGET_BIG = 50,
|
||||
ICON_TARGET_MOVE = 51,
|
||||
ICON_CURSOR_MOVE = 52,
|
||||
ICON_CURSOR_SCALE = 53,
|
||||
ICON_CURSOR_SCALE_RIGHT = 54,
|
||||
ICON_CURSOR_SCALE_LEFT = 55,
|
||||
ICON_UNDO = 56,
|
||||
ICON_REDO = 57,
|
||||
ICON_REREDO = 58,
|
||||
ICON_MUTATE = 59,
|
||||
ICON_ROTATE = 60,
|
||||
ICON_REPEAT = 61,
|
||||
ICON_SHUFFLE = 62,
|
||||
ICON_EMPTYBOX = 63,
|
||||
ICON_TARGET = 64,
|
||||
ICON_TARGET_SMALL_FILL = 65,
|
||||
ICON_TARGET_BIG_FILL = 66,
|
||||
ICON_TARGET_MOVE_FILL = 67,
|
||||
ICON_CURSOR_MOVE_FILL = 68,
|
||||
ICON_CURSOR_SCALE_FILL = 69,
|
||||
ICON_CURSOR_SCALE_RIGHT_FILL = 70,
|
||||
ICON_CURSOR_SCALE_LEFT_FILL = 71,
|
||||
ICON_UNDO_FILL = 72,
|
||||
ICON_REDO_FILL = 73,
|
||||
ICON_REREDO_FILL = 74,
|
||||
ICON_MUTATE_FILL = 75,
|
||||
ICON_ROTATE_FILL = 76,
|
||||
ICON_REPEAT_FILL = 77,
|
||||
ICON_SHUFFLE_FILL = 78,
|
||||
ICON_EMPTYBOX_SMALL = 79,
|
||||
ICON_BOX = 80,
|
||||
ICON_BOX_TOP = 81,
|
||||
ICON_BOX_TOP_RIGHT = 82,
|
||||
ICON_BOX_RIGHT = 83,
|
||||
ICON_BOX_BOTTOM_RIGHT = 84,
|
||||
ICON_BOX_BOTTOM = 85,
|
||||
ICON_BOX_BOTTOM_LEFT = 86,
|
||||
ICON_BOX_LEFT = 87,
|
||||
ICON_BOX_TOP_LEFT = 88,
|
||||
ICON_BOX_CENTER = 89,
|
||||
ICON_BOX_CIRCLE_MASK = 90,
|
||||
ICON_POT = 91,
|
||||
ICON_ALPHA_MULTIPLY = 92,
|
||||
ICON_ALPHA_CLEAR = 93,
|
||||
ICON_DITHERING = 94,
|
||||
ICON_MIPMAPS = 95,
|
||||
ICON_BOX_GRID = 96,
|
||||
ICON_GRID = 97,
|
||||
ICON_BOX_CORNERS_SMALL = 98,
|
||||
ICON_BOX_CORNERS_BIG = 99,
|
||||
ICON_FOUR_BOXES = 100,
|
||||
ICON_GRID_FILL = 101,
|
||||
ICON_BOX_MULTISIZE = 102,
|
||||
ICON_ZOOM_SMALL = 103,
|
||||
ICON_ZOOM_MEDIUM = 104,
|
||||
ICON_ZOOM_BIG = 105,
|
||||
ICON_ZOOM_ALL = 106,
|
||||
ICON_ZOOM_CENTER = 107,
|
||||
ICON_BOX_DOTS_SMALL = 108,
|
||||
ICON_BOX_DOTS_BIG = 109,
|
||||
ICON_BOX_CONCENTRIC = 110,
|
||||
ICON_BOX_GRID_BIG = 111,
|
||||
ICON_OK_TICK = 112,
|
||||
ICON_CROSS = 113,
|
||||
ICON_ARROW_LEFT = 114,
|
||||
ICON_ARROW_RIGHT = 115,
|
||||
ICON_ARROW_DOWN = 116,
|
||||
ICON_ARROW_UP = 117,
|
||||
ICON_ARROW_LEFT_FILL = 118,
|
||||
ICON_ARROW_RIGHT_FILL = 119,
|
||||
ICON_ARROW_DOWN_FILL = 120,
|
||||
ICON_ARROW_UP_FILL = 121,
|
||||
ICON_AUDIO = 122,
|
||||
ICON_FX = 123,
|
||||
ICON_WAVE = 124,
|
||||
ICON_WAVE_SINUS = 125,
|
||||
ICON_WAVE_SQUARE = 126,
|
||||
ICON_WAVE_TRIANGULAR = 127,
|
||||
ICON_CROSS_SMALL = 128,
|
||||
ICON_PLAYER_PREVIOUS = 129,
|
||||
ICON_PLAYER_PLAY_BACK = 130,
|
||||
ICON_PLAYER_PLAY = 131,
|
||||
ICON_PLAYER_PAUSE = 132,
|
||||
ICON_PLAYER_STOP = 133,
|
||||
ICON_PLAYER_NEXT = 134,
|
||||
ICON_PLAYER_RECORD = 135,
|
||||
ICON_MAGNET = 136,
|
||||
ICON_LOCK_CLOSE = 137,
|
||||
ICON_LOCK_OPEN = 138,
|
||||
ICON_CLOCK = 139,
|
||||
ICON_TOOLS = 140,
|
||||
ICON_GEAR = 141,
|
||||
ICON_GEAR_BIG = 142,
|
||||
ICON_BIN = 143,
|
||||
ICON_HAND_POINTER = 144,
|
||||
ICON_LASER = 145,
|
||||
ICON_COIN = 146,
|
||||
ICON_EXPLOSION = 147,
|
||||
ICON_1UP = 148,
|
||||
ICON_PLAYER = 149,
|
||||
ICON_PLAYER_JUMP = 150,
|
||||
ICON_KEY = 151,
|
||||
ICON_DEMON = 152,
|
||||
ICON_TEXT_POPUP = 153,
|
||||
ICON_GEAR_EX = 154,
|
||||
ICON_CRACK = 155,
|
||||
ICON_CRACK_POINTS = 156,
|
||||
ICON_STAR = 157,
|
||||
ICON_DOOR = 158,
|
||||
ICON_EXIT = 159,
|
||||
ICON_MODE_2D = 160,
|
||||
ICON_MODE_3D = 161,
|
||||
ICON_CUBE = 162,
|
||||
ICON_CUBE_FACE_TOP = 163,
|
||||
ICON_CUBE_FACE_LEFT = 164,
|
||||
ICON_CUBE_FACE_FRONT = 165,
|
||||
ICON_CUBE_FACE_BOTTOM = 166,
|
||||
ICON_CUBE_FACE_RIGHT = 167,
|
||||
ICON_CUBE_FACE_BACK = 168,
|
||||
ICON_CAMERA = 169,
|
||||
ICON_SPECIAL = 170,
|
||||
ICON_LINK_NET = 171,
|
||||
ICON_LINK_BOXES = 172,
|
||||
ICON_LINK_MULTI = 173,
|
||||
ICON_LINK = 174,
|
||||
ICON_LINK_BROKE = 175,
|
||||
ICON_TEXT_NOTES = 176,
|
||||
ICON_NOTEBOOK = 177,
|
||||
ICON_SUITCASE = 178,
|
||||
ICON_SUITCASE_ZIP = 179,
|
||||
ICON_MAILBOX = 180,
|
||||
ICON_MONITOR = 181,
|
||||
ICON_PRINTER = 182,
|
||||
ICON_PHOTO_CAMERA = 183,
|
||||
ICON_PHOTO_CAMERA_FLASH = 184,
|
||||
ICON_HOUSE = 185,
|
||||
ICON_HEART = 186,
|
||||
ICON_CORNER = 187,
|
||||
ICON_VERTICAL_BARS = 188,
|
||||
ICON_VERTICAL_BARS_FILL = 189,
|
||||
ICON_LIFE_BARS = 190,
|
||||
ICON_INFO = 191,
|
||||
ICON_CROSSLINE = 192,
|
||||
ICON_HELP = 193,
|
||||
ICON_FILETYPE_ALPHA = 194,
|
||||
ICON_FILETYPE_HOME = 195,
|
||||
ICON_LAYERS_VISIBLE = 196,
|
||||
ICON_LAYERS = 197,
|
||||
ICON_WINDOW = 198,
|
||||
ICON_HIDPI = 199,
|
||||
ICON_FILETYPE_BINARY = 200,
|
||||
ICON_HEX = 201,
|
||||
ICON_SHIELD = 202,
|
||||
ICON_FILE_NEW = 203,
|
||||
ICON_FOLDER_ADD = 204,
|
||||
ICON_ALARM = 205,
|
||||
ICON_CPU = 206,
|
||||
ICON_ROM = 207,
|
||||
ICON_STEP_OVER = 208,
|
||||
ICON_STEP_INTO = 209,
|
||||
ICON_STEP_OUT = 210,
|
||||
ICON_RESTART = 211,
|
||||
ICON_BREAKPOINT_ON = 212,
|
||||
ICON_BREAKPOINT_OFF = 213,
|
||||
ICON_BURGER_MENU = 214,
|
||||
ICON_CASE_SENSITIVE = 215,
|
||||
ICON_REG_EXP = 216,
|
||||
ICON_217 = 217,
|
||||
ICON_218 = 218,
|
||||
ICON_219 = 219,
|
||||
ICON_220 = 220,
|
||||
ICON_221 = 221,
|
||||
ICON_222 = 222,
|
||||
ICON_223 = 223,
|
||||
ICON_224 = 224,
|
||||
ICON_225 = 225,
|
||||
ICON_226 = 226,
|
||||
ICON_227 = 227,
|
||||
ICON_228 = 228,
|
||||
ICON_229 = 229,
|
||||
ICON_230 = 230,
|
||||
ICON_231 = 231,
|
||||
ICON_232 = 232,
|
||||
ICON_233 = 233,
|
||||
ICON_234 = 234,
|
||||
ICON_235 = 235,
|
||||
ICON_236 = 236,
|
||||
ICON_237 = 237,
|
||||
ICON_238 = 238,
|
||||
ICON_239 = 239,
|
||||
ICON_240 = 240,
|
||||
ICON_241 = 241,
|
||||
ICON_242 = 242,
|
||||
ICON_243 = 243,
|
||||
ICON_244 = 244,
|
||||
ICON_245 = 245,
|
||||
ICON_246 = 246,
|
||||
ICON_247 = 247,
|
||||
ICON_248 = 248,
|
||||
ICON_249 = 249,
|
||||
ICON_250 = 250,
|
||||
ICON_251 = 251,
|
||||
ICON_252 = 252,
|
||||
ICON_253 = 253,
|
||||
ICON_254 = 254,
|
||||
ICON_255 = 255,
|
||||
} guiIconName;
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Icons data
|
||||
//----------------------------------------------------------------------------------
|
||||
static unsigned int guiIcons[RAYGUI_ICON_MAX_ICONS*RAYGUI_ICON_DATA_ELEMENTS] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_NONE
|
||||
0x3ff80000, 0x2f082008, 0x2042207e, 0x40027fc2, 0x40024002, 0x40024002, 0x40024002, 0x00007ffe, // ICON_FOLDER_FILE_OPEN
|
||||
0x3ffe0000, 0x44226422, 0x400247e2, 0x5ffa4002, 0x57ea500a, 0x500a500a, 0x40025ffa, 0x00007ffe, // ICON_FILE_SAVE_CLASSIC
|
||||
0x00000000, 0x0042007e, 0x40027fc2, 0x40024002, 0x41024002, 0x44424282, 0x793e4102, 0x00000100, // ICON_FOLDER_OPEN
|
||||
0x00000000, 0x0042007e, 0x40027fc2, 0x40024002, 0x41024102, 0x44424102, 0x793e4282, 0x00000000, // ICON_FOLDER_SAVE
|
||||
0x3ff00000, 0x201c2010, 0x20042004, 0x21042004, 0x24442284, 0x21042104, 0x20042104, 0x00003ffc, // ICON_FILE_OPEN
|
||||
0x3ff00000, 0x201c2010, 0x20042004, 0x21042004, 0x21042104, 0x22842444, 0x20042104, 0x00003ffc, // ICON_FILE_SAVE
|
||||
0x3ff00000, 0x201c2010, 0x00042004, 0x20041004, 0x20844784, 0x00841384, 0x20042784, 0x00003ffc, // ICON_FILE_EXPORT
|
||||
0x3ff00000, 0x201c2010, 0x20042004, 0x20042004, 0x22042204, 0x22042f84, 0x20042204, 0x00003ffc, // ICON_FILE_ADD
|
||||
0x3ff00000, 0x201c2010, 0x20042004, 0x20042004, 0x25042884, 0x25042204, 0x20042884, 0x00003ffc, // ICON_FILE_DELETE
|
||||
0x3ff00000, 0x201c2010, 0x20042004, 0x20042ff4, 0x20042ff4, 0x20042ff4, 0x20042004, 0x00003ffc, // ICON_FILETYPE_TEXT
|
||||
0x3ff00000, 0x201c2010, 0x27042004, 0x244424c4, 0x26442444, 0x20642664, 0x20042004, 0x00003ffc, // ICON_FILETYPE_AUDIO
|
||||
0x3ff00000, 0x201c2010, 0x26042604, 0x20042004, 0x35442884, 0x2414222c, 0x20042004, 0x00003ffc, // ICON_FILETYPE_IMAGE
|
||||
0x3ff00000, 0x201c2010, 0x20c42004, 0x22442144, 0x22442444, 0x20c42144, 0x20042004, 0x00003ffc, // ICON_FILETYPE_PLAY
|
||||
0x3ff00000, 0x3ffc2ff0, 0x3f3c2ff4, 0x3dbc2eb4, 0x3dbc2bb4, 0x3f3c2eb4, 0x3ffc2ff4, 0x00002ff4, // ICON_FILETYPE_VIDEO
|
||||
0x3ff00000, 0x201c2010, 0x21842184, 0x21842004, 0x21842184, 0x21842184, 0x20042184, 0x00003ffc, // ICON_FILETYPE_INFO
|
||||
0x0ff00000, 0x381c0810, 0x28042804, 0x28042804, 0x28042804, 0x28042804, 0x20102ffc, 0x00003ff0, // ICON_FILE_COPY
|
||||
0x00000000, 0x701c0000, 0x079c1e14, 0x55a000f0, 0x079c00f0, 0x701c1e14, 0x00000000, 0x00000000, // ICON_FILE_CUT
|
||||
0x01c00000, 0x13e41bec, 0x3f841004, 0x204420c4, 0x20442044, 0x20442044, 0x207c2044, 0x00003fc0, // ICON_FILE_PASTE
|
||||
0x00000000, 0x3aa00fe0, 0x2abc2aa0, 0x2aa42aa4, 0x20042aa4, 0x20042004, 0x3ffc2004, 0x00000000, // ICON_CURSOR_HAND
|
||||
0x00000000, 0x003c000c, 0x030800c8, 0x30100c10, 0x10202020, 0x04400840, 0x01800280, 0x00000000, // ICON_CURSOR_POINTER
|
||||
0x00000000, 0x00180000, 0x01f00078, 0x03e007f0, 0x07c003e0, 0x04000e40, 0x00000000, 0x00000000, // ICON_CURSOR_CLASSIC
|
||||
0x00000000, 0x04000000, 0x11000a00, 0x04400a80, 0x01100220, 0x00580088, 0x00000038, 0x00000000, // ICON_PENCIL
|
||||
0x04000000, 0x15000a00, 0x50402880, 0x14102820, 0x05040a08, 0x015c028c, 0x007c00bc, 0x00000000, // ICON_PENCIL_BIG
|
||||
0x01c00000, 0x01400140, 0x01400140, 0x0ff80140, 0x0ff80808, 0x0aa80808, 0x0aa80aa8, 0x00000ff8, // ICON_BRUSH_CLASSIC
|
||||
0x1ffc0000, 0x5ffc7ffe, 0x40004000, 0x00807f80, 0x01c001c0, 0x01c001c0, 0x01c001c0, 0x00000080, // ICON_BRUSH_PAINTER
|
||||
0x00000000, 0x00800000, 0x01c00080, 0x03e001c0, 0x07f003e0, 0x036006f0, 0x000001c0, 0x00000000, // ICON_WATER_DROP
|
||||
0x00000000, 0x3e003800, 0x1f803f80, 0x0c201e40, 0x02080c10, 0x00840104, 0x00380044, 0x00000000, // ICON_COLOR_PICKER
|
||||
0x00000000, 0x07800300, 0x1fe00fc0, 0x3f883fd0, 0x0e021f04, 0x02040402, 0x00f00108, 0x00000000, // ICON_RUBBER
|
||||
0x00c00000, 0x02800140, 0x08200440, 0x20081010, 0x2ffe3004, 0x03f807fc, 0x00e001f0, 0x00000040, // ICON_COLOR_BUCKET
|
||||
0x00000000, 0x21843ffc, 0x01800180, 0x01800180, 0x01800180, 0x01800180, 0x03c00180, 0x00000000, // ICON_TEXT_T
|
||||
0x00800000, 0x01400180, 0x06200340, 0x0c100620, 0x1ff80c10, 0x380c1808, 0x70067004, 0x0000f80f, // ICON_TEXT_A
|
||||
0x78000000, 0x50004000, 0x00004800, 0x03c003c0, 0x03c003c0, 0x00100000, 0x0002000a, 0x0000000e, // ICON_SCALE
|
||||
0x75560000, 0x5e004002, 0x54001002, 0x41001202, 0x408200fe, 0x40820082, 0x40820082, 0x00006afe, // ICON_RESIZE
|
||||
0x00000000, 0x3f003f00, 0x3f003f00, 0x3f003f00, 0x00400080, 0x001c0020, 0x001c001c, 0x00000000, // ICON_FILTER_POINT
|
||||
0x6d800000, 0x00004080, 0x40804080, 0x40800000, 0x00406d80, 0x001c0020, 0x001c001c, 0x00000000, // ICON_FILTER_BILINEAR
|
||||
0x40080000, 0x1ffe2008, 0x14081008, 0x11081208, 0x10481088, 0x10081028, 0x10047ff8, 0x00001002, // ICON_CROP
|
||||
0x00100000, 0x3ffc0010, 0x2ab03550, 0x22b02550, 0x20b02150, 0x20302050, 0x2000fff0, 0x00002000, // ICON_CROP_ALPHA
|
||||
0x40000000, 0x1ff82000, 0x04082808, 0x01082208, 0x00482088, 0x00182028, 0x35542008, 0x00000002, // ICON_SQUARE_TOGGLE
|
||||
0x00000000, 0x02800280, 0x06c006c0, 0x0ea00ee0, 0x1e901eb0, 0x3e883e98, 0x7efc7e8c, 0x00000000, // ICON_SYMMETRY
|
||||
0x01000000, 0x05600100, 0x1d480d50, 0x7d423d44, 0x3d447d42, 0x0d501d48, 0x01000560, 0x00000100, // ICON_SYMMETRY_HORIZONTAL
|
||||
0x01800000, 0x04200240, 0x10080810, 0x00001ff8, 0x00007ffe, 0x0ff01ff8, 0x03c007e0, 0x00000180, // ICON_SYMMETRY_VERTICAL
|
||||
0x00000000, 0x010800f0, 0x02040204, 0x02040204, 0x07f00308, 0x1c000e00, 0x30003800, 0x00000000, // ICON_LENS
|
||||
0x00000000, 0x061803f0, 0x08240c0c, 0x08040814, 0x0c0c0804, 0x23f01618, 0x18002400, 0x00000000, // ICON_LENS_BIG
|
||||
0x00000000, 0x00000000, 0x1c7007c0, 0x638e3398, 0x1c703398, 0x000007c0, 0x00000000, 0x00000000, // ICON_EYE_ON
|
||||
0x00000000, 0x10002000, 0x04700fc0, 0x610e3218, 0x1c703098, 0x001007a0, 0x00000008, 0x00000000, // ICON_EYE_OFF
|
||||
0x00000000, 0x00007ffc, 0x40047ffc, 0x10102008, 0x04400820, 0x02800280, 0x02800280, 0x00000100, // ICON_FILTER_TOP
|
||||
0x00000000, 0x40027ffe, 0x10082004, 0x04200810, 0x02400240, 0x02400240, 0x01400240, 0x000000c0, // ICON_FILTER
|
||||
0x00800000, 0x00800080, 0x00000080, 0x3c9e0000, 0x00000000, 0x00800080, 0x00800080, 0x00000000, // ICON_TARGET_POINT
|
||||
0x00800000, 0x00800080, 0x00800080, 0x3f7e01c0, 0x008001c0, 0x00800080, 0x00800080, 0x00000000, // ICON_TARGET_SMALL
|
||||
0x00800000, 0x00800080, 0x03e00080, 0x3e3e0220, 0x03e00220, 0x00800080, 0x00800080, 0x00000000, // ICON_TARGET_BIG
|
||||
0x01000000, 0x04400280, 0x01000100, 0x43842008, 0x43849ab2, 0x01002008, 0x04400100, 0x01000280, // ICON_TARGET_MOVE
|
||||
0x01000000, 0x04400280, 0x01000100, 0x41042108, 0x41049ff2, 0x01002108, 0x04400100, 0x01000280, // ICON_CURSOR_MOVE
|
||||
0x781e0000, 0x500a4002, 0x04204812, 0x00000240, 0x02400000, 0x48120420, 0x4002500a, 0x0000781e, // ICON_CURSOR_SCALE
|
||||
0x00000000, 0x20003c00, 0x24002800, 0x01000200, 0x00400080, 0x00140024, 0x003c0004, 0x00000000, // ICON_CURSOR_SCALE_RIGHT
|
||||
0x00000000, 0x0004003c, 0x00240014, 0x00800040, 0x02000100, 0x28002400, 0x3c002000, 0x00000000, // ICON_CURSOR_SCALE_LEFT
|
||||
0x00000000, 0x00100020, 0x10101fc8, 0x10001020, 0x10001000, 0x10001000, 0x00001fc0, 0x00000000, // ICON_UNDO
|
||||
0x00000000, 0x08000400, 0x080813f8, 0x00080408, 0x00080008, 0x00080008, 0x000003f8, 0x00000000, // ICON_REDO
|
||||
0x00000000, 0x3ffc0000, 0x20042004, 0x20002000, 0x20402000, 0x3f902020, 0x00400020, 0x00000000, // ICON_REREDO
|
||||
0x00000000, 0x3ffc0000, 0x20042004, 0x27fc2004, 0x20202000, 0x3fc82010, 0x00200010, 0x00000000, // ICON_MUTATE
|
||||
0x00000000, 0x0ff00000, 0x10081818, 0x11801008, 0x10001180, 0x18101020, 0x00100fc8, 0x00000020, // ICON_ROTATE
|
||||
0x00000000, 0x04000200, 0x240429fc, 0x20042204, 0x20442004, 0x3f942024, 0x00400020, 0x00000000, // ICON_REPEAT
|
||||
0x00000000, 0x20001000, 0x22104c0e, 0x00801120, 0x11200040, 0x4c0e2210, 0x10002000, 0x00000000, // ICON_SHUFFLE
|
||||
0x7ffe0000, 0x50024002, 0x44024802, 0x41024202, 0x40424082, 0x40124022, 0x4002400a, 0x00007ffe, // ICON_EMPTYBOX
|
||||
0x00800000, 0x03e00080, 0x08080490, 0x3c9e0808, 0x08080808, 0x03e00490, 0x00800080, 0x00000000, // ICON_TARGET
|
||||
0x00800000, 0x00800080, 0x00800080, 0x3ffe01c0, 0x008001c0, 0x00800080, 0x00800080, 0x00000000, // ICON_TARGET_SMALL_FILL
|
||||
0x00800000, 0x00800080, 0x03e00080, 0x3ffe03e0, 0x03e003e0, 0x00800080, 0x00800080, 0x00000000, // ICON_TARGET_BIG_FILL
|
||||
0x01000000, 0x07c00380, 0x01000100, 0x638c2008, 0x638cfbbe, 0x01002008, 0x07c00100, 0x01000380, // ICON_TARGET_MOVE_FILL
|
||||
0x01000000, 0x07c00380, 0x01000100, 0x610c2108, 0x610cfffe, 0x01002108, 0x07c00100, 0x01000380, // ICON_CURSOR_MOVE_FILL
|
||||
0x781e0000, 0x6006700e, 0x04204812, 0x00000240, 0x02400000, 0x48120420, 0x700e6006, 0x0000781e, // ICON_CURSOR_SCALE_FILL
|
||||
0x00000000, 0x38003c00, 0x24003000, 0x01000200, 0x00400080, 0x000c0024, 0x003c001c, 0x00000000, // ICON_CURSOR_SCALE_RIGHT_FILL
|
||||
0x00000000, 0x001c003c, 0x0024000c, 0x00800040, 0x02000100, 0x30002400, 0x3c003800, 0x00000000, // ICON_CURSOR_SCALE_LEFT_FILL
|
||||
0x00000000, 0x00300020, 0x10301ff8, 0x10001020, 0x10001000, 0x10001000, 0x00001fc0, 0x00000000, // ICON_UNDO_FILL
|
||||
0x00000000, 0x0c000400, 0x0c081ff8, 0x00080408, 0x00080008, 0x00080008, 0x000003f8, 0x00000000, // ICON_REDO_FILL
|
||||
0x00000000, 0x3ffc0000, 0x20042004, 0x20002000, 0x20402000, 0x3ff02060, 0x00400060, 0x00000000, // ICON_REREDO_FILL
|
||||
0x00000000, 0x3ffc0000, 0x20042004, 0x27fc2004, 0x20202000, 0x3ff82030, 0x00200030, 0x00000000, // ICON_MUTATE_FILL
|
||||
0x00000000, 0x0ff00000, 0x10081818, 0x11801008, 0x10001180, 0x18301020, 0x00300ff8, 0x00000020, // ICON_ROTATE_FILL
|
||||
0x00000000, 0x06000200, 0x26042ffc, 0x20042204, 0x20442004, 0x3ff42064, 0x00400060, 0x00000000, // ICON_REPEAT_FILL
|
||||
0x00000000, 0x30001000, 0x32107c0e, 0x00801120, 0x11200040, 0x7c0e3210, 0x10003000, 0x00000000, // ICON_SHUFFLE_FILL
|
||||
0x00000000, 0x30043ffc, 0x24042804, 0x21042204, 0x20442084, 0x20142024, 0x3ffc200c, 0x00000000, // ICON_EMPTYBOX_SMALL
|
||||
0x00000000, 0x20043ffc, 0x20042004, 0x20042004, 0x20042004, 0x20042004, 0x3ffc2004, 0x00000000, // ICON_BOX
|
||||
0x00000000, 0x23c43ffc, 0x23c423c4, 0x200423c4, 0x20042004, 0x20042004, 0x3ffc2004, 0x00000000, // ICON_BOX_TOP
|
||||
0x00000000, 0x3e043ffc, 0x3e043e04, 0x20043e04, 0x20042004, 0x20042004, 0x3ffc2004, 0x00000000, // ICON_BOX_TOP_RIGHT
|
||||
0x00000000, 0x20043ffc, 0x20042004, 0x3e043e04, 0x3e043e04, 0x20042004, 0x3ffc2004, 0x00000000, // ICON_BOX_RIGHT
|
||||
0x00000000, 0x20043ffc, 0x20042004, 0x20042004, 0x3e042004, 0x3e043e04, 0x3ffc3e04, 0x00000000, // ICON_BOX_BOTTOM_RIGHT
|
||||
0x00000000, 0x20043ffc, 0x20042004, 0x20042004, 0x23c42004, 0x23c423c4, 0x3ffc23c4, 0x00000000, // ICON_BOX_BOTTOM
|
||||
0x00000000, 0x20043ffc, 0x20042004, 0x20042004, 0x207c2004, 0x207c207c, 0x3ffc207c, 0x00000000, // ICON_BOX_BOTTOM_LEFT
|
||||
0x00000000, 0x20043ffc, 0x20042004, 0x207c207c, 0x207c207c, 0x20042004, 0x3ffc2004, 0x00000000, // ICON_BOX_LEFT
|
||||
0x00000000, 0x207c3ffc, 0x207c207c, 0x2004207c, 0x20042004, 0x20042004, 0x3ffc2004, 0x00000000, // ICON_BOX_TOP_LEFT
|
||||
0x00000000, 0x20043ffc, 0x20042004, 0x23c423c4, 0x23c423c4, 0x20042004, 0x3ffc2004, 0x00000000, // ICON_BOX_CENTER
|
||||
0x7ffe0000, 0x40024002, 0x47e24182, 0x4ff247e2, 0x47e24ff2, 0x418247e2, 0x40024002, 0x00007ffe, // ICON_BOX_CIRCLE_MASK
|
||||
0x7fff0000, 0x40014001, 0x40014001, 0x49555ddd, 0x4945495d, 0x400149c5, 0x40014001, 0x00007fff, // ICON_POT
|
||||
0x7ffe0000, 0x53327332, 0x44ce4cce, 0x41324332, 0x404e40ce, 0x48125432, 0x4006540e, 0x00007ffe, // ICON_ALPHA_MULTIPLY
|
||||
0x7ffe0000, 0x53327332, 0x44ce4cce, 0x41324332, 0x5c4e40ce, 0x44124432, 0x40065c0e, 0x00007ffe, // ICON_ALPHA_CLEAR
|
||||
0x7ffe0000, 0x42fe417e, 0x42fe417e, 0x42fe417e, 0x42fe417e, 0x42fe417e, 0x42fe417e, 0x00007ffe, // ICON_DITHERING
|
||||
0x07fe0000, 0x1ffa0002, 0x7fea000a, 0x402a402a, 0x5b2a512a, 0x5128552a, 0x40205128, 0x00007fe0, // ICON_MIPMAPS
|
||||
0x00000000, 0x1ff80000, 0x12481248, 0x12481ff8, 0x1ff81248, 0x12481248, 0x00001ff8, 0x00000000, // ICON_BOX_GRID
|
||||
0x12480000, 0x7ffe1248, 0x12481248, 0x12487ffe, 0x7ffe1248, 0x12481248, 0x12487ffe, 0x00001248, // ICON_GRID
|
||||
0x00000000, 0x1c380000, 0x1c3817e8, 0x08100810, 0x08100810, 0x17e81c38, 0x00001c38, 0x00000000, // ICON_BOX_CORNERS_SMALL
|
||||
0x700e0000, 0x700e5ffa, 0x20042004, 0x20042004, 0x20042004, 0x20042004, 0x5ffa700e, 0x0000700e, // ICON_BOX_CORNERS_BIG
|
||||
0x3f7e0000, 0x21422142, 0x21422142, 0x00003f7e, 0x21423f7e, 0x21422142, 0x3f7e2142, 0x00000000, // ICON_FOUR_BOXES
|
||||
0x00000000, 0x3bb80000, 0x3bb83bb8, 0x3bb80000, 0x3bb83bb8, 0x3bb80000, 0x3bb83bb8, 0x00000000, // ICON_GRID_FILL
|
||||
0x7ffe0000, 0x7ffe7ffe, 0x77fe7000, 0x77fe77fe, 0x777e7700, 0x777e777e, 0x777e777e, 0x0000777e, // ICON_BOX_MULTISIZE
|
||||
0x781e0000, 0x40024002, 0x00004002, 0x01800000, 0x00000180, 0x40020000, 0x40024002, 0x0000781e, // ICON_ZOOM_SMALL
|
||||
0x781e0000, 0x40024002, 0x00004002, 0x03c003c0, 0x03c003c0, 0x40020000, 0x40024002, 0x0000781e, // ICON_ZOOM_MEDIUM
|
||||
0x781e0000, 0x40024002, 0x07e04002, 0x07e007e0, 0x07e007e0, 0x400207e0, 0x40024002, 0x0000781e, // ICON_ZOOM_BIG
|
||||
0x781e0000, 0x5ffa4002, 0x1ff85ffa, 0x1ff81ff8, 0x1ff81ff8, 0x5ffa1ff8, 0x40025ffa, 0x0000781e, // ICON_ZOOM_ALL
|
||||
0x00000000, 0x2004381c, 0x00002004, 0x00000000, 0x00000000, 0x20040000, 0x381c2004, 0x00000000, // ICON_ZOOM_CENTER
|
||||
0x00000000, 0x1db80000, 0x10081008, 0x10080000, 0x00001008, 0x10081008, 0x00001db8, 0x00000000, // ICON_BOX_DOTS_SMALL
|
||||
0x35560000, 0x00002002, 0x00002002, 0x00002002, 0x00002002, 0x00002002, 0x35562002, 0x00000000, // ICON_BOX_DOTS_BIG
|
||||
0x7ffe0000, 0x40024002, 0x48124ff2, 0x49924812, 0x48124992, 0x4ff24812, 0x40024002, 0x00007ffe, // ICON_BOX_CONCENTRIC
|
||||
0x00000000, 0x10841ffc, 0x10841084, 0x1ffc1084, 0x10841084, 0x10841084, 0x00001ffc, 0x00000000, // ICON_BOX_GRID_BIG
|
||||
0x00000000, 0x00000000, 0x10000000, 0x04000800, 0x01040200, 0x00500088, 0x00000020, 0x00000000, // ICON_OK_TICK
|
||||
0x00000000, 0x10080000, 0x04200810, 0x01800240, 0x02400180, 0x08100420, 0x00001008, 0x00000000, // ICON_CROSS
|
||||
0x00000000, 0x02000000, 0x00800100, 0x00200040, 0x00200010, 0x00800040, 0x02000100, 0x00000000, // ICON_ARROW_LEFT
|
||||
0x00000000, 0x00400000, 0x01000080, 0x04000200, 0x04000800, 0x01000200, 0x00400080, 0x00000000, // ICON_ARROW_RIGHT
|
||||
0x00000000, 0x00000000, 0x00000000, 0x08081004, 0x02200410, 0x00800140, 0x00000000, 0x00000000, // ICON_ARROW_DOWN
|
||||
0x00000000, 0x00000000, 0x01400080, 0x04100220, 0x10040808, 0x00000000, 0x00000000, 0x00000000, // ICON_ARROW_UP
|
||||
0x00000000, 0x02000000, 0x03800300, 0x03e003c0, 0x03e003f0, 0x038003c0, 0x02000300, 0x00000000, // ICON_ARROW_LEFT_FILL
|
||||
0x00000000, 0x00400000, 0x01c000c0, 0x07c003c0, 0x07c00fc0, 0x01c003c0, 0x004000c0, 0x00000000, // ICON_ARROW_RIGHT_FILL
|
||||
0x00000000, 0x00000000, 0x00000000, 0x0ff81ffc, 0x03e007f0, 0x008001c0, 0x00000000, 0x00000000, // ICON_ARROW_DOWN_FILL
|
||||
0x00000000, 0x00000000, 0x01c00080, 0x07f003e0, 0x1ffc0ff8, 0x00000000, 0x00000000, 0x00000000, // ICON_ARROW_UP_FILL
|
||||
0x00000000, 0x18a008c0, 0x32881290, 0x24822686, 0x26862482, 0x12903288, 0x08c018a0, 0x00000000, // ICON_AUDIO
|
||||
0x00000000, 0x04800780, 0x004000c0, 0x662000f0, 0x08103c30, 0x130a0e18, 0x0000318e, 0x00000000, // ICON_FX
|
||||
0x00000000, 0x00800000, 0x08880888, 0x2aaa0a8a, 0x0a8a2aaa, 0x08880888, 0x00000080, 0x00000000, // ICON_WAVE
|
||||
0x00000000, 0x00600000, 0x01080090, 0x02040108, 0x42044204, 0x24022402, 0x00001800, 0x00000000, // ICON_WAVE_SINUS
|
||||
0x00000000, 0x07f80000, 0x04080408, 0x04080408, 0x04080408, 0x7c0e0408, 0x00000000, 0x00000000, // ICON_WAVE_SQUARE
|
||||
0x00000000, 0x00000000, 0x00a00040, 0x22084110, 0x08021404, 0x00000000, 0x00000000, 0x00000000, // ICON_WAVE_TRIANGULAR
|
||||
0x00000000, 0x00000000, 0x04200000, 0x01800240, 0x02400180, 0x00000420, 0x00000000, 0x00000000, // ICON_CROSS_SMALL
|
||||
0x00000000, 0x18380000, 0x12281428, 0x10a81128, 0x112810a8, 0x14281228, 0x00001838, 0x00000000, // ICON_PLAYER_PREVIOUS
|
||||
0x00000000, 0x18000000, 0x11801600, 0x10181060, 0x10601018, 0x16001180, 0x00001800, 0x00000000, // ICON_PLAYER_PLAY_BACK
|
||||
0x00000000, 0x00180000, 0x01880068, 0x18080608, 0x06081808, 0x00680188, 0x00000018, 0x00000000, // ICON_PLAYER_PLAY
|
||||
0x00000000, 0x1e780000, 0x12481248, 0x12481248, 0x12481248, 0x12481248, 0x00001e78, 0x00000000, // ICON_PLAYER_PAUSE
|
||||
0x00000000, 0x1ff80000, 0x10081008, 0x10081008, 0x10081008, 0x10081008, 0x00001ff8, 0x00000000, // ICON_PLAYER_STOP
|
||||
0x00000000, 0x1c180000, 0x14481428, 0x15081488, 0x14881508, 0x14281448, 0x00001c18, 0x00000000, // ICON_PLAYER_NEXT
|
||||
0x00000000, 0x03c00000, 0x08100420, 0x10081008, 0x10081008, 0x04200810, 0x000003c0, 0x00000000, // ICON_PLAYER_RECORD
|
||||
0x00000000, 0x0c3007e0, 0x13c81818, 0x14281668, 0x14281428, 0x1c381c38, 0x08102244, 0x00000000, // ICON_MAGNET
|
||||
0x07c00000, 0x08200820, 0x3ff80820, 0x23882008, 0x21082388, 0x20082108, 0x1ff02008, 0x00000000, // ICON_LOCK_CLOSE
|
||||
0x07c00000, 0x08000800, 0x3ff80800, 0x23882008, 0x21082388, 0x20082108, 0x1ff02008, 0x00000000, // ICON_LOCK_OPEN
|
||||
0x01c00000, 0x0c180770, 0x3086188c, 0x60832082, 0x60034781, 0x30062002, 0x0c18180c, 0x01c00770, // ICON_CLOCK
|
||||
0x0a200000, 0x1b201b20, 0x04200e20, 0x04200420, 0x04700420, 0x0e700e70, 0x0e700e70, 0x04200e70, // ICON_TOOLS
|
||||
0x01800000, 0x3bdc318c, 0x0ff01ff8, 0x7c3e1e78, 0x1e787c3e, 0x1ff80ff0, 0x318c3bdc, 0x00000180, // ICON_GEAR
|
||||
0x01800000, 0x3ffc318c, 0x1c381ff8, 0x781e1818, 0x1818781e, 0x1ff81c38, 0x318c3ffc, 0x00000180, // ICON_GEAR_BIG
|
||||
0x00000000, 0x08080ff8, 0x08081ffc, 0x0aa80aa8, 0x0aa80aa8, 0x0aa80aa8, 0x08080aa8, 0x00000ff8, // ICON_BIN
|
||||
0x00000000, 0x00000000, 0x20043ffc, 0x08043f84, 0x04040f84, 0x04040784, 0x000007fc, 0x00000000, // ICON_HAND_POINTER
|
||||
0x00000000, 0x24400400, 0x00001480, 0x6efe0e00, 0x00000e00, 0x24401480, 0x00000400, 0x00000000, // ICON_LASER
|
||||
0x00000000, 0x03c00000, 0x08300460, 0x11181118, 0x11181118, 0x04600830, 0x000003c0, 0x00000000, // ICON_COIN
|
||||
0x00000000, 0x10880080, 0x06c00810, 0x366c07e0, 0x07e00240, 0x00001768, 0x04200240, 0x00000000, // ICON_EXPLOSION
|
||||
0x00000000, 0x3d280000, 0x2528252c, 0x3d282528, 0x05280528, 0x05e80528, 0x00000000, 0x00000000, // ICON_1UP
|
||||
0x01800000, 0x03c003c0, 0x018003c0, 0x0ff007e0, 0x0bd00bd0, 0x0a500bd0, 0x02400240, 0x02400240, // ICON_PLAYER
|
||||
0x01800000, 0x03c003c0, 0x118013c0, 0x03c81ff8, 0x07c003c8, 0x04400440, 0x0c080478, 0x00000000, // ICON_PLAYER_JUMP
|
||||
0x3ff80000, 0x30183ff8, 0x30183018, 0x3ff83ff8, 0x03000300, 0x03c003c0, 0x03e00300, 0x000003e0, // ICON_KEY
|
||||
0x3ff80000, 0x3ff83ff8, 0x33983ff8, 0x3ff83398, 0x3ff83ff8, 0x00000540, 0x0fe00aa0, 0x00000fe0, // ICON_DEMON
|
||||
0x00000000, 0x0ff00000, 0x20041008, 0x25442004, 0x10082004, 0x06000bf0, 0x00000300, 0x00000000, // ICON_TEXT_POPUP
|
||||
0x00000000, 0x11440000, 0x07f00be8, 0x1c1c0e38, 0x1c1c0c18, 0x07f00e38, 0x11440be8, 0x00000000, // ICON_GEAR_EX
|
||||
0x00000000, 0x20080000, 0x0c601010, 0x07c00fe0, 0x07c007c0, 0x0c600fe0, 0x20081010, 0x00000000, // ICON_CRACK
|
||||
0x00000000, 0x20080000, 0x0c601010, 0x04400fe0, 0x04405554, 0x0c600fe0, 0x20081010, 0x00000000, // ICON_CRACK_POINTS
|
||||
0x00000000, 0x00800080, 0x01c001c0, 0x1ffc3ffe, 0x03e007f0, 0x07f003e0, 0x0c180770, 0x00000808, // ICON_STAR
|
||||
0x0ff00000, 0x08180810, 0x08100818, 0x0a100810, 0x08180810, 0x08100818, 0x08100810, 0x00001ff8, // ICON_DOOR
|
||||
0x0ff00000, 0x08100810, 0x08100810, 0x10100010, 0x4f902010, 0x10102010, 0x08100010, 0x00000ff0, // ICON_EXIT
|
||||
0x00040000, 0x001f000e, 0x0ef40004, 0x12f41284, 0x0ef41214, 0x10040004, 0x7ffc3004, 0x10003000, // ICON_MODE_2D
|
||||
0x78040000, 0x501f600e, 0x0ef44004, 0x12f41284, 0x0ef41284, 0x10140004, 0x7ffc300c, 0x10003000, // ICON_MODE_3D
|
||||
0x7fe00000, 0x50286030, 0x47fe4804, 0x44224402, 0x44224422, 0x241275e2, 0x0c06140a, 0x000007fe, // ICON_CUBE
|
||||
0x7fe00000, 0x5ff87ff0, 0x47fe4ffc, 0x44224402, 0x44224422, 0x241275e2, 0x0c06140a, 0x000007fe, // ICON_CUBE_FACE_TOP
|
||||
0x7fe00000, 0x50386030, 0x47fe483c, 0x443e443e, 0x443e443e, 0x241e75fe, 0x0c06140e, 0x000007fe, // ICON_CUBE_FACE_LEFT
|
||||
0x7fe00000, 0x50286030, 0x47fe4804, 0x47fe47fe, 0x47fe47fe, 0x27fe77fe, 0x0ffe17fe, 0x000007fe, // ICON_CUBE_FACE_FRONT
|
||||
0x7fe00000, 0x50286030, 0x47fe4804, 0x44224402, 0x44224422, 0x3ff27fe2, 0x0ffe1ffa, 0x000007fe, // ICON_CUBE_FACE_BOTTOM
|
||||
0x7fe00000, 0x70286030, 0x7ffe7804, 0x7c227c02, 0x7c227c22, 0x3c127de2, 0x0c061c0a, 0x000007fe, // ICON_CUBE_FACE_RIGHT
|
||||
0x7fe00000, 0x7fe87ff0, 0x7ffe7fe4, 0x7fe27fe2, 0x7fe27fe2, 0x24127fe2, 0x0c06140a, 0x000007fe, // ICON_CUBE_FACE_BACK
|
||||
0x00000000, 0x2a0233fe, 0x22022602, 0x22022202, 0x2a022602, 0x00a033fe, 0x02080110, 0x00000000, // ICON_CAMERA
|
||||
0x00000000, 0x200c3ffc, 0x000c000c, 0x3ffc000c, 0x30003000, 0x30003000, 0x3ffc3004, 0x00000000, // ICON_SPECIAL
|
||||
0x00000000, 0x0022003e, 0x012201e2, 0x0100013e, 0x01000100, 0x79000100, 0x4f004900, 0x00007800, // ICON_LINK_NET
|
||||
0x00000000, 0x44007c00, 0x45004600, 0x00627cbe, 0x00620022, 0x45007cbe, 0x44004600, 0x00007c00, // ICON_LINK_BOXES
|
||||
0x00000000, 0x0044007c, 0x0010007c, 0x3f100010, 0x3f1021f0, 0x3f100010, 0x3f0021f0, 0x00000000, // ICON_LINK_MULTI
|
||||
0x00000000, 0x0044007c, 0x00440044, 0x0010007c, 0x00100010, 0x44107c10, 0x440047f0, 0x00007c00, // ICON_LINK
|
||||
0x00000000, 0x0044007c, 0x00440044, 0x0000007c, 0x00000010, 0x44007c10, 0x44004550, 0x00007c00, // ICON_LINK_BROKE
|
||||
0x02a00000, 0x22a43ffc, 0x20042004, 0x20042ff4, 0x20042ff4, 0x20042ff4, 0x20042004, 0x00003ffc, // ICON_TEXT_NOTES
|
||||
0x3ffc0000, 0x20042004, 0x245e27c4, 0x27c42444, 0x2004201e, 0x201e2004, 0x20042004, 0x00003ffc, // ICON_NOTEBOOK
|
||||
0x00000000, 0x07e00000, 0x04200420, 0x24243ffc, 0x24242424, 0x24242424, 0x3ffc2424, 0x00000000, // ICON_SUITCASE
|
||||
0x00000000, 0x0fe00000, 0x08200820, 0x40047ffc, 0x7ffc5554, 0x40045554, 0x7ffc4004, 0x00000000, // ICON_SUITCASE_ZIP
|
||||
0x00000000, 0x20043ffc, 0x3ffc2004, 0x13c81008, 0x100813c8, 0x10081008, 0x1ff81008, 0x00000000, // ICON_MAILBOX
|
||||
0x00000000, 0x40027ffe, 0x5ffa5ffa, 0x5ffa5ffa, 0x40025ffa, 0x03c07ffe, 0x1ff81ff8, 0x00000000, // ICON_MONITOR
|
||||
0x0ff00000, 0x6bfe7ffe, 0x7ffe7ffe, 0x68167ffe, 0x08106816, 0x08100810, 0x0ff00810, 0x00000000, // ICON_PRINTER
|
||||
0x3ff80000, 0xfffe2008, 0x870a8002, 0x904a888a, 0x904a904a, 0x870a888a, 0xfffe8002, 0x00000000, // ICON_PHOTO_CAMERA
|
||||
0x0fc00000, 0xfcfe0cd8, 0x8002fffe, 0x84428382, 0x84428442, 0x80028382, 0xfffe8002, 0x00000000, // ICON_PHOTO_CAMERA_FLASH
|
||||
0x00000000, 0x02400180, 0x08100420, 0x20041008, 0x23c42004, 0x22442244, 0x3ffc2244, 0x00000000, // ICON_HOUSE
|
||||
0x00000000, 0x1c700000, 0x3ff83ef8, 0x3ff83ff8, 0x0fe01ff0, 0x038007c0, 0x00000100, 0x00000000, // ICON_HEART
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0xe000c000, // ICON_CORNER
|
||||
0x00000000, 0x14001c00, 0x15c01400, 0x15401540, 0x155c1540, 0x15541554, 0x1ddc1554, 0x00000000, // ICON_VERTICAL_BARS
|
||||
0x00000000, 0x03000300, 0x1b001b00, 0x1b601b60, 0x1b6c1b60, 0x1b6c1b6c, 0x1b6c1b6c, 0x00000000, // ICON_VERTICAL_BARS_FILL
|
||||
0x00000000, 0x00000000, 0x403e7ffe, 0x7ffe403e, 0x7ffe0000, 0x43fe43fe, 0x00007ffe, 0x00000000, // ICON_LIFE_BARS
|
||||
0x7ffc0000, 0x43844004, 0x43844284, 0x43844004, 0x42844284, 0x42844284, 0x40044384, 0x00007ffc, // ICON_INFO
|
||||
0x40008000, 0x10002000, 0x04000800, 0x01000200, 0x00400080, 0x00100020, 0x00040008, 0x00010002, // ICON_CROSSLINE
|
||||
0x00000000, 0x1ff01ff0, 0x18301830, 0x1f001830, 0x03001f00, 0x00000300, 0x03000300, 0x00000000, // ICON_HELP
|
||||
0x3ff00000, 0x2abc3550, 0x2aac3554, 0x2aac3554, 0x2aac3554, 0x2aac3554, 0x2aac3554, 0x00003ffc, // ICON_FILETYPE_ALPHA
|
||||
0x3ff00000, 0x201c2010, 0x22442184, 0x28142424, 0x29942814, 0x2ff42994, 0x20042004, 0x00003ffc, // ICON_FILETYPE_HOME
|
||||
0x07fe0000, 0x04020402, 0x7fe20402, 0x44224422, 0x44224422, 0x402047fe, 0x40204020, 0x00007fe0, // ICON_LAYERS_VISIBLE
|
||||
0x07fe0000, 0x04020402, 0x7c020402, 0x44024402, 0x44024402, 0x402047fe, 0x40204020, 0x00007fe0, // ICON_LAYERS
|
||||
0x00000000, 0x40027ffe, 0x7ffe4002, 0x40024002, 0x40024002, 0x40024002, 0x7ffe4002, 0x00000000, // ICON_WINDOW
|
||||
0x09100000, 0x09f00910, 0x09100910, 0x00000910, 0x24a2779e, 0x27a224a2, 0x709e20a2, 0x00000000, // ICON_HIDPI
|
||||
0x3ff00000, 0x201c2010, 0x2a842e84, 0x2e842a84, 0x2ba42004, 0x2aa42aa4, 0x20042ba4, 0x00003ffc, // ICON_FILETYPE_BINARY
|
||||
0x00000000, 0x00000000, 0x00120012, 0x4a5e4bd2, 0x485233d2, 0x00004bd2, 0x00000000, 0x00000000, // ICON_HEX
|
||||
0x01800000, 0x381c0660, 0x23c42004, 0x23c42044, 0x13c82204, 0x08101008, 0x02400420, 0x00000180, // ICON_SHIELD
|
||||
0x007e0000, 0x20023fc2, 0x40227fe2, 0x400a403a, 0x400a400a, 0x400a400a, 0x4008400e, 0x00007ff8, // ICON_FILE_NEW
|
||||
0x00000000, 0x0042007e, 0x40027fc2, 0x44024002, 0x5f024402, 0x44024402, 0x7ffe4002, 0x00000000, // ICON_FOLDER_ADD
|
||||
0x44220000, 0x12482244, 0xf3cf0000, 0x14280420, 0x48122424, 0x08100810, 0x1ff81008, 0x03c00420, // ICON_ALARM
|
||||
0x0aa00000, 0x1ff80aa0, 0x1068700e, 0x1008706e, 0x1008700e, 0x1008700e, 0x0aa01ff8, 0x00000aa0, // ICON_CPU
|
||||
0x07e00000, 0x04201db8, 0x04a01c38, 0x04a01d38, 0x04a01d38, 0x04a01d38, 0x04201d38, 0x000007e0, // ICON_ROM
|
||||
0x00000000, 0x03c00000, 0x3c382ff0, 0x3c04380c, 0x01800000, 0x03c003c0, 0x00000180, 0x00000000, // ICON_STEP_OVER
|
||||
0x01800000, 0x01800180, 0x01800180, 0x03c007e0, 0x00000180, 0x01800000, 0x03c003c0, 0x00000180, // ICON_STEP_INTO
|
||||
0x01800000, 0x07e003c0, 0x01800180, 0x01800180, 0x00000180, 0x01800000, 0x03c003c0, 0x00000180, // ICON_STEP_OUT
|
||||
0x00000000, 0x0ff003c0, 0x181c1c34, 0x303c301c, 0x30003000, 0x1c301800, 0x03c00ff0, 0x00000000, // ICON_RESTART
|
||||
0x00000000, 0x00000000, 0x07e003c0, 0x0ff00ff0, 0x0ff00ff0, 0x03c007e0, 0x00000000, 0x00000000, // ICON_BREAKPOINT_ON
|
||||
0x00000000, 0x00000000, 0x042003c0, 0x08100810, 0x08100810, 0x03c00420, 0x00000000, 0x00000000, // ICON_BREAKPOINT_OFF
|
||||
0x00000000, 0x00000000, 0x1ff81ff8, 0x1ff80000, 0x00001ff8, 0x1ff81ff8, 0x00000000, 0x00000000, // ICON_BURGER_MENU
|
||||
0x00000000, 0x00000000, 0x00880070, 0x0c880088, 0x1e8810f8, 0x3e881288, 0x00000000, 0x00000000, // ICON_CASE_SENSITIVE
|
||||
0x00000000, 0x02000000, 0x07000a80, 0x07001fc0, 0x02000a80, 0x00300030, 0x00000000, 0x00000000, // ICON_REG_EXP
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_217
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_218
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_219
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_220
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_221
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_222
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_223
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_224
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_225
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_226
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_227
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_228
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_229
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_230
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_231
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_232
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_233
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_234
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_235
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_236
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_237
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_238
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_239
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_240
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_241
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_242
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_243
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_244
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_245
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_246
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_247
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_248
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_249
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_250
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_251
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_252
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_253
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_254
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // ICON_255
|
||||
};
|
||||
BIN
icons/raygui_icons.png
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
BIN
icons/raygui_icons.rgi
Normal file
|
Before Width: | Height: | Size: 466 B After Width: | Height: | Size: 401 B |
|
Before Width: | Height: | Size: 189 B After Width: | Height: | Size: 124 B |
|
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 141 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 966 B |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 170 B |
|
Before Width: | Height: | Size: 256 B After Width: | Height: | Size: 191 B |
|
Before Width: | Height: | Size: 293 B After Width: | Height: | Size: 228 B |
|
Before Width: | Height: | Size: 365 B After Width: | Height: | Size: 300 B |
@ -33,13 +33,13 @@ if(${BUILD_RAYGUI_EXAMPLES})
|
||||
set(example_dirs
|
||||
controls_test_suite
|
||||
custom_file_dialog
|
||||
custom_sliders
|
||||
image_exporter
|
||||
image_raw_importer
|
||||
image_importer_raw
|
||||
portable_window
|
||||
property_list
|
||||
scroll_panel
|
||||
text_box_selection
|
||||
text_editor
|
||||
style_selector
|
||||
)
|
||||
|
||||
set(example_sources)
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
find_package(raylib 4.0.0 QUIET CONFIG)
|
||||
find_package(raylib 4.5.0 QUIET CONFIG)
|
||||
if (NOT raylib_FOUND)
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
raylib
|
||||
GIT_REPOSITORY https://github.com/raysan5/raylib.git
|
||||
GIT_TAG 0851960397f02a477d80eda2239f90fae14dec64
|
||||
GIT_TAG 4.5.0
|
||||
)
|
||||
FetchContent_GetProperties(raylib)
|
||||
if (NOT raylib_POPULATED) # Have we downloaded raylib yet?
|
||||
|
||||
@ -187,7 +187,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;VERSION_ONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<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>
|
||||
@ -205,7 +205,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;VERSION_ONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<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>
|
||||
@ -226,7 +226,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;VERSION_ONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<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>
|
||||
@ -249,7 +249,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;PLATFORM_DESKTOP;VERSION_ONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<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>
|
||||
@ -272,7 +272,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;PLATFORM_DESKTOP;VERSION_ONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<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>
|
||||
@ -295,7 +295,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;PLATFORM_DESKTOP;VERSION_ONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<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>
|
||||
@ -323,7 +323,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;PLATFORM_DESKTOP;VERSION_ONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<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>
|
||||
|
||||
357
projects/VS2022/examples/custom_file_dialog.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>custom_file_dialog</RootNamespace>
|
||||
<ProjectName>custom_file_dialog</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\custom_file_dialog\custom_file_dialog.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
357
projects/VS2022/examples/image_exporter.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>{67B2B88C-EA52-403F-A596-5107008C71F2}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>image_exporter</RootNamespace>
|
||||
<ProjectName>image_exporter</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\image_exporter\image_exporter.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
357
projects/VS2022/examples/image_importer_raw.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>{6628D753-270D-418D-A87F-6E2E63B9E3D0}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>image_importer_raw</RootNamespace>
|
||||
<ProjectName>image_importer_raw</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\image_importer_raw\image_importer_raw.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
357
projects/VS2022/examples/portable_window.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>portable_window</RootNamespace>
|
||||
<ProjectName>portable_window</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\portable_window\portable_window.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
357
projects/VS2022/examples/property_list.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>{D28301C9-C293-4F41-9F58-F2609F33134E}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>property_list</RootNamespace>
|
||||
<ProjectName>property_list</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\property_list\property_list.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
357
projects/VS2022/examples/scroll_panel.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>scroll_panel</RootNamespace>
|
||||
<ProjectName>scroll_panel</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\scroll_panel\scroll_panel.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
357
projects/VS2022/examples/style_selector.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>style_selector</RootNamespace>
|
||||
<ProjectName>style_selector</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\style_selector\style_selector.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
27
projects/VS2022/examples/test.props
Normal file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# Property types:
|
||||
# b <name> <flags> <value> // Bool
|
||||
# i <name> <flags> <value> <min> <max> <step> // Int
|
||||
# f <name> <flags> <value> <min> <max> <step> <precision> // Float
|
||||
# t <name> <flags> <value> <edit_length> // Text
|
||||
# l <name> <flags> <value> <active> // Select
|
||||
# g <name> <flags> <value> // Section (Group)
|
||||
# v2 <name> <flags> <x> <y> // Vector 2D
|
||||
# v3 <name> <flags> <x> <y> <z> // Vector 3D
|
||||
# v4 <name> <flags> <x> <y> <z> <w> // Vector 4D
|
||||
# r <name> <flags> <x> <y> <width> <height> // Rectangle
|
||||
# c <name> <flags> <r> <g> <b> <a> // Color
|
||||
#
|
||||
|
||||
b Bool 0 1
|
||||
g #102#SECTION 0 2
|
||||
i Int 0 123 0 0 1
|
||||
f Float 0 0.990000 0.000000 0.000000 1.000000 3
|
||||
t Text 0 Hello! 30
|
||||
l Select 0 ONE;TWO;THREE;FOUR 0
|
||||
i Int Range 0 32 0 100 1
|
||||
r Rect 0 0 0 100 200
|
||||
v2 Vec2 0 20.000000 20.000000
|
||||
v3 Vec3 0 12.000000 13.000000 14.000000
|
||||
v4 Vec4 0 12.000000 13.000000 14.000000 15.000000
|
||||
c Color 0 0 255 0 255
|
||||
357
projects/VS2022/examples/text_editor.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>
|
||||
357
projects/VS2022/examples/textbox_selection.vcxproj
Normal file
@ -0,0 +1,357 @@
|
||||
<?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>{B740AD57-ABF2-4421-96C0-FE220130A873}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>textbox_selection</RootNamespace>
|
||||
<ProjectName>textbox_selection</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\textbox_selection\textbox_selection.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@ -7,6 +7,25 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "controls_test_suite", "exam
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raylib", "raylib\raylib.vcxproj", "{E89D61AC-55DE-4482-AFD4-DF7242EBC859}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "custom_file_dialog", "examples\custom_file_dialog.vcxproj", "{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "image_exporter", "examples\image_exporter.vcxproj", "{67B2B88C-EA52-403F-A596-5107008C71F2}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "image_importer_raw", "examples\image_importer_raw.vcxproj", "{6628D753-270D-418D-A87F-6E2E63B9E3D0}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portable_window", "examples\portable_window.vcxproj", "{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "property_list", "examples\property_list.vcxproj", "{D28301C9-C293-4F41-9F58-F2609F33134E}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scroll_panel", "examples\scroll_panel.vcxproj", "{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}"
|
||||
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}"
|
||||
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}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -20,22 +39,6 @@ Global
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x64.Build.0 = Debug|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x64.ActiveCfg = Release|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x64.Build.0 = Release|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x86.Build.0 = Release|Win32
|
||||
{0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
@ -52,10 +55,182 @@ Global
|
||||
{0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Release|x64.Build.0 = Release|x64
|
||||
{0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Release|x86.ActiveCfg = Release|Win32
|
||||
{0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Release|x86.Build.0 = Release|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x64.Build.0 = Debug|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x64.ActiveCfg = Release|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x64.Build.0 = Release|x64
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x86.Build.0 = Release|Win32
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Debug|x64.Build.0 = Debug|x64
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Release|x64.ActiveCfg = Release|x64
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Release|x64.Build.0 = Release|x64
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A}.Release|x86.Build.0 = Release|Win32
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Debug|x64.Build.0 = Debug|x64
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Debug|x86.Build.0 = Debug|Win32
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Release|x64.ActiveCfg = Release|x64
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Release|x64.Build.0 = Release|x64
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Release|x86.ActiveCfg = Release|Win32
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2}.Release|x86.Build.0 = Release|Win32
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Debug|x64.Build.0 = Debug|x64
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Debug|x86.Build.0 = Debug|Win32
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Release|x64.ActiveCfg = Release|x64
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Release|x64.Build.0 = Release|x64
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Release|x86.ActiveCfg = Release|Win32
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0}.Release|x86.Build.0 = Release|Win32
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Debug|x64.Build.0 = Debug|x64
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Debug|x86.Build.0 = Debug|Win32
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Release|x64.ActiveCfg = Release|x64
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Release|x64.Build.0 = Release|x64
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Release|x86.ActiveCfg = Release|Win32
|
||||
{FFDA97F5-4BAF-410A-AE87-0C8E3CB8C0D8}.Release|x86.Build.0 = Release|Win32
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Debug|x64.Build.0 = Debug|x64
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Release|x64.ActiveCfg = Release|x64
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Release|x64.Build.0 = Release|x64
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{D28301C9-C293-4F41-9F58-F2609F33134E}.Release|x86.Build.0 = Release|Win32
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Debug|x64.Build.0 = Debug|x64
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Debug|x86.Build.0 = Debug|Win32
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{56EE93DF-A3AF-4856-A4EC-E27358C6DA87}.Release|x64.ActiveCfg = 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.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.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.Build.0 = Debug.DLL|Win32
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug|x64.Build.0 = Debug|x64
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Debug|x86.Build.0 = Debug|Win32
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release.DLL|x64.Build.0 = Release.DLL|x64
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release.DLL|x86.Build.0 = Release.DLL|Win32
|
||||
{BCF5E746-FDBF-4CAC-9B95-44FE9A498430}.Release|x64.ActiveCfg = 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.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{0981CA98-E4A5-4DF1-987F-A41D09131EFC} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
||||
{E1CF5310-BCF6-4063-861D-EDFF65D9FE2A} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
||||
{67B2B88C-EA52-403F-A596-5107008C71F2} = {5DC256E9-D698-4D07-8AD7-DFDAE9125DE3}
|
||||
{6628D753-270D-418D-A87F-6E2E63B9E3D0} = {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}
|
||||
{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}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29}
|
||||
EndGlobalSection
|
||||
|
||||
3287
src/raygui.h
@ -1,6 +1,6 @@
|
||||
# raygui styles
|
||||
|
||||
`raygui` comes with **8 custom styles** carefully designed for the best visual experience. Those styles have been created using [rGuiStyler](https://raylibtech.itch.io/rguistyler) tool and they complement internal [default style](default), always available by `raygui`.
|
||||
`raygui` comes with **12 custom styles** carefully designed for the best visual experience. Those styles have been created using [rGuiStyler](https://raylibtech.itch.io/rguistyler) tool and they complement internal [default style](default), always available by `raygui`.
|
||||
|
||||
## styles usage
|
||||
|
||||
@ -10,31 +10,41 @@ 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.
|
||||
|
||||
#### style: [default](default)
|
||||
#### 1. style: [default](default)
|
||||

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

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

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

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

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

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

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

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

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

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

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

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

|
||||
|
||||
|
||||
*NOTE: Those styles require raylib 4.0 and raygui 3.1.*
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
BIN
styles/dark/PixelOperator.ttf
Normal file
16
styles/dark/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
style: dark
|
||||
--------------
|
||||
Classical dark style with an extra high-def colour touch! Elegant and professional, perfect for the expensive tools!
|
||||
|
||||

|
||||
|
||||
screenshot
|
||||
-----------
|
||||
|
||||

|
||||
|
||||
about font
|
||||
-----------
|
||||
"Pixel Operator" font by de Jayvee Enaguas.
|
||||
|
||||
CC0 1.0 Universal, downloaded from dafont.com: [pixel-operator](https://www.dafont.com/pixel-operator.font)
|
||||
347
styles/dark/dark.h
Normal file
@ -0,0 +1,347 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// StyleAsCode exporter v1.2 - Style data exported as a values array //
|
||||
// //
|
||||
// USAGE: On init call: GuiLoadStyleDark(); //
|
||||
// //
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define DARK_STYLE_PROPS_COUNT 22
|
||||
|
||||
// Custom style name: dark
|
||||
static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = {
|
||||
{ 0, 0, 0x878787ff }, // DEFAULT_BORDER_COLOR_NORMAL
|
||||
{ 0, 1, 0x2c2c2cff }, // DEFAULT_BASE_COLOR_NORMAL
|
||||
{ 0, 2, 0xc3c3c3ff }, // DEFAULT_TEXT_COLOR_NORMAL
|
||||
{ 0, 3, 0xe1e1e1ff }, // DEFAULT_BORDER_COLOR_FOCUSED
|
||||
{ 0, 4, 0x848484ff }, // DEFAULT_BASE_COLOR_FOCUSED
|
||||
{ 0, 5, 0x181818ff }, // DEFAULT_TEXT_COLOR_FOCUSED
|
||||
{ 0, 6, 0x000000ff }, // DEFAULT_BORDER_COLOR_PRESSED
|
||||
{ 0, 7, 0xefefefff }, // DEFAULT_BASE_COLOR_PRESSED
|
||||
{ 0, 8, 0x202020ff }, // DEFAULT_TEXT_COLOR_PRESSED
|
||||
{ 0, 9, 0x6a6a6aff }, // DEFAULT_BORDER_COLOR_DISABLED
|
||||
{ 0, 10, 0x818181ff }, // DEFAULT_BASE_COLOR_DISABLED
|
||||
{ 0, 11, 0x606060ff }, // DEFAULT_TEXT_COLOR_DISABLED
|
||||
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE
|
||||
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
|
||||
{ 0, 18, 0x9d9d9dff }, // DEFAULT_LINE_COLOR
|
||||
{ 0, 19, 0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR
|
||||
{ 1, 5, 0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED
|
||||
{ 1, 8, 0x898989ff }, // LABEL_TEXT_COLOR_PRESSED
|
||||
{ 4, 5, 0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED
|
||||
{ 5, 5, 0x848484ff }, // PROGRESSBAR_TEXT_COLOR_FOCUSED
|
||||
{ 9, 5, 0xf5f5f5ff }, // TEXTBOX_TEXT_COLOR_FOCUSED
|
||||
{ 10, 5, 0xf6f6f6ff }, // VALUEBOX_TEXT_COLOR_FOCUSED
|
||||
};
|
||||
|
||||
// WARNING: This style uses a custom font: PixelOperator.ttf (size: 16, spacing: 0)
|
||||
|
||||
#define DARK_COMPRESSED_DATA_SIZE 1031
|
||||
|
||||
// Font image pixels data compressed (DEFLATE)
|
||||
// NOTE: Original pixel data simplified to GRAYSCALE
|
||||
static unsigned char darkFontData[DARK_COMPRESSED_DATA_SIZE] = { 0xed,
|
||||
0xdd, 0xd1, 0x76, 0x9b, 0x30, 0x0c, 0x00, 0x50, 0xff, 0xff, 0x4f, 0x6b, 0x4f, 0x3b, 0xeb, 0xb6, 0x16, 0x90, 0x90, 0x8d,
|
||||
0x93, 0xdc, 0xdd, 0x97, 0x9d, 0x36, 0x25, 0xc4, 0xc2, 0xc6, 0x04, 0xc9, 0xc4, 0x00, 0x00, 0xf8, 0x47, 0x7c, 0xfb, 0x93,
|
||||
0xf8, 0xf1, 0x95, 0x71, 0x79, 0x3b, 0xc7, 0x3f, 0xff, 0xfd, 0xdb, 0x38, 0x78, 0xaf, 0x6b, 0xfb, 0x9a, 0x7d, 0xdf, 0x48,
|
||||
0xb4, 0xc4, 0xf7, 0xfb, 0x17, 0x97, 0xb7, 0xfb, 0xd3, 0xe7, 0xcb, 0xbf, 0xfe, 0x68, 0x4b, 0xe7, 0xed, 0xfc, 0x54, 0xfc,
|
||||
0xe3, 0x52, 0x24, 0xe2, 0x62, 0xdb, 0x5c, 0x6f, 0xc5, 0xa3, 0x77, 0x8e, 0xe6, 0x16, 0x3c, 0x3f, 0x3a, 0x7f, 0x8a, 0x74,
|
||||
0xbe, 0x3d, 0xe2, 0xa0, 0x1f, 0xcd, 0x8d, 0xff, 0xd7, 0x7f, 0xb9, 0x7e, 0x1c, 0xc9, 0x88, 0x76, 0xf4, 0xf4, 0xe3, 0xfd,
|
||||
0x8c, 0xd4, 0xf6, 0x67, 0xc4, 0x3f, 0x5a, 0xc7, 0xae, 0x68, 0xed, 0xff, 0xc7, 0xaf, 0xcc, 0xf6, 0xb7, 0x48, 0xf6, 0xdd,
|
||||
0x8e, 0x36, 0xa9, 0xf5, 0xff, 0xee, 0xe8, 0xff, 0xf9, 0xec, 0x7d, 0xe3, 0x50, 0x7e, 0x5c, 0x5e, 0x19, 0xff, 0x4a, 0xec,
|
||||
0xae, 0x8e, 0x5c, 0x95, 0x3e, 0x31, 0x36, 0x88, 0x7f, 0xf6, 0x38, 0x3c, 0x6e, 0xab, 0x91, 0x3e, 0x33, 0x3c, 0x1f, 0xff,
|
||||
0xf3, 0xf1, 0x3f, 0x26, 0xc4, 0xff, 0xf9, 0x79, 0xf4, 0x9f, 0x88, 0x45, 0xb2, 0x2f, 0xe7, 0xce, 0x31, 0x91, 0xe8, 0x45,
|
||||
0xf5, 0xd6, 0xab, 0x9d, 0xff, 0xbf, 0x46, 0x3f, 0xde, 0x38, 0xfe, 0x91, 0x9c, 0xdf, 0x66, 0xe7, 0x38, 0x3b, 0xb4, 0xc2,
|
||||
0xf9, 0xfc, 0xff, 0x78, 0xef, 0xe2, 0xe6, 0xd8, 0x15, 0x2f, 0xd6, 0xfb, 0x3b, 0xe3, 0x1f, 0xd3, 0xe2, 0x1f, 0x4b, 0xe2,
|
||||
0x3f, 0x0e, 0xaf, 0x6a, 0xe3, 0xf6, 0x0c, 0x7b, 0xcf, 0xf8, 0x67, 0xaf, 0xff, 0x6b, 0x23, 0xec, 0xf3, 0x2d, 0x11, 0x37,
|
||||
0xaf, 0x41, 0x78, 0xfd, 0x6f, 0x11, 0x43, 0xf4, 0x7d, 0x8f, 0x8c, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xef,
|
||||
0xd0, 0x45, 0x53, 0xb6, 0x6c, 0x25, 0x53, 0xfd, 0x5e, 0x9e, 0x7f, 0x2e, 0x6b, 0xf7, 0x6c, 0xef, 0xf2, 0xfb, 0xde, 0xf9,
|
||||
0x37, 0x47, 0x59, 0xc8, 0xb5, 0x1c, 0xeb, 0x2b, 0x95, 0x16, 0x9d, 0xb9, 0x25, 0xf5, 0x4c, 0xf5, 0xee, 0x3b, 0x49, 0x51,
|
||||
0xae, 0x2b, 0xe8, 0xf9, 0x54, 0x77, 0x7e, 0xd3, 0x13, 0xa5, 0xae, 0xf8, 0x8f, 0x2d, 0xe2, 0x9f, 0xcf, 0x13, 0xca, 0x1f,
|
||||
0xb7, 0x91, 0xce, 0x47, 0x8b, 0xd6, 0x9c, 0xad, 0x68, 0x8d, 0x52, 0x24, 0x2a, 0xad, 0x7a, 0x72, 0x4e, 0x77, 0xef, 0xff,
|
||||
0xd7, 0x32, 0xb2, 0x3f, 0x2b, 0xfe, 0xf9, 0x73, 0xeb, 0xdd, 0x33, 0xec, 0x8a, 0x5c, 0x82, 0x6a, 0xa5, 0x4c, 0x3e, 0xfe,
|
||||
0xf9, 0xde, 0x73, 0xb6, 0xb5, 0x51, 0xca, 0xa3, 0xbe, 0x9b, 0x01, 0x9e, 0xad, 0x52, 0x5b, 0x9d, 0x8f, 0x3a, 0x3f, 0x23,
|
||||
0x37, 0x2e, 0xd4, 0xb8, 0xed, 0xdb, 0xff, 0x63, 0x42, 0xff, 0x5f, 0x93, 0x8f, 0x1c, 0x4b, 0x8f, 0x92, 0xb3, 0x5e, 0xd4,
|
||||
0x75, 0x56, 0x7b, 0x95, 0xf8, 0xaf, 0xfe, 0x6c, 0xb1, 0x65, 0xd6, 0xd8, 0xbc, 0x36, 0xda, 0x7d, 0xfe, 0xdf, 0x75, 0xc5,
|
||||
0x7e, 0xbf, 0x52, 0x7d, 0x4d, 0xf4, 0xa3, 0xf4, 0x3d, 0x48, 0x65, 0x8e, 0xd4, 0x7b, 0xfd, 0x9f, 0x9f, 0xc1, 0x87, 0x0c,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x8f, 0xca, 0xff, 0x5f, 0x93, 0x11, 0x34, 0x4a, 0x2b, 0xa1, 0xcf, 0xcf,
|
||||
0xb9, 0xbf, 0xb3, 0x26, 0x78, 0x3c, 0x9c, 0x61, 0x7e, 0x5c, 0x2d, 0xf0, 0xda, 0xf1, 0x7f, 0xfe, 0x37, 0xa3, 0xb0, 0x7e,
|
||||
0xe7, 0xca, 0xf8, 0x8f, 0x42, 0x34, 0x7a, 0xb2, 0xe4, 0x73, 0x5b, 0x89, 0xff, 0xfe, 0xb7, 0x63, 0xfc, 0xc7, 0x92, 0xf8,
|
||||
0xc7, 0xcb, 0xc7, 0xbf, 0x52, 0x6b, 0x71, 0x9c, 0x59, 0x2b, 0xfe, 0xe7, 0x6d, 0x1b, 0xa5, 0x2a, 0x8c, 0xfe, 0xf8, 0x47,
|
||||
0x71, 0x2b, 0x71, 0x72, 0x44, 0xf5, 0xe6, 0xdc, 0xf7, 0xe4, 0xe9, 0xad, 0x8d, 0x7f, 0xf7, 0x73, 0x3f, 0x76, 0xea, 0xff,
|
||||
0xd7, 0xea, 0xae, 0x66, 0x67, 0x1f, 0xdf, 0xe9, 0xe9, 0x4f, 0xf6, 0xff, 0xee, 0x67, 0x6b, 0xad, 0x3e, 0xff, 0xcf, 0x9a,
|
||||
0xff, 0x8d, 0xf4, 0x68, 0x12, 0xdb, 0xc6, 0xff, 0xce, 0x2c, 0xb4, 0x3b, 0xfe, 0xf1, 0x22, 0xf3, 0xff, 0x51, 0x38, 0x3e,
|
||||
0x67, 0xcf, 0xff, 0xaf, 0x3d, 0xef, 0x68, 0xef, 0xf8, 0x8f, 0x1b, 0xe7, 0xd7, 0x58, 0x72, 0xfd, 0x3f, 0x4e, 0xae, 0x36,
|
||||
0x7a, 0xde, 0x67, 0xb4, 0xad, 0xdf, 0xff, 0xf7, 0xbe, 0xe5, 0x6b, 0xf5, 0xb3, 0x2b, 0x16, 0x58, 0x75, 0x1d, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0xfe, 0xff, 0xd9, 0x1d, 0xe4, 0xfc, 0xbd, 0xe8, 0xd1, 0x78, 0x6f, 0x3f, 0x9a, 0x32, 0x19,
|
||||
0xc6, 0xc1, 0x9d, 0xf8, 0xec, 0x0a, 0x7c, 0x3d, 0x99, 0xb9, 0x47, 0x7b, 0xdf, 0x57, 0xd3, 0x30, 0x6e, 0xef, 0x51, 0x7e,
|
||||
0x3d, 0xc1, 0xe7, 0x57, 0x96, 0x8d, 0xc6, 0xcc, 0xae, 0x75, 0xd5, 0x36, 0x33, 0x73, 0xc6, 0xbb, 0xeb, 0x3f, 0xba, 0x5a,
|
||||
0x23, 0x6e, 0x8c, 0x0c, 0xb3, 0xe3, 0x5f, 0x5f, 0xe9, 0xbb, 0x7a, 0x7c, 0xad, 0x88, 0x7f, 0x4f, 0x16, 0x69, 0x3e, 0xf2,
|
||||
0x6b, 0xd6, 0xd3, 0x3e, 0x7b, 0x9e, 0xca, 0xba, 0xdc, 0xc7, 0x4a, 0x06, 0xed, 0xbb, 0xc6, 0xff, 0xf9, 0xf5, 0xb4, 0x67,
|
||||
0x55, 0x76, 0xf5, 0x66, 0xd0, 0x8b, 0xff, 0xbc, 0xda, 0xbe, 0x58, 0x38, 0x32, 0x55, 0x2b, 0x68, 0xe6, 0xd5, 0x0c, 0x76,
|
||||
0x57, 0x91, 0xcc, 0x1f, 0xff, 0x6b, 0xcf, 0xb9, 0xaa, 0x3c, 0x1d, 0x68, 0xb7, 0xfe, 0xdf, 0x99, 0x3b, 0xbd, 0x4b, 0xfc,
|
||||
0xeb, 0xb3, 0xfc, 0xd1, 0x34, 0x2b, 0x7d, 0x6e, 0xfc, 0x5f, 0xfd, 0xc4, 0x8b, 0xfa, 0x3c, 0xfc, 0x89, 0x3d, 0xa9, 0xbc,
|
||||
0x73, 0xe5, 0xaf, 0xb2, 0x99, 0xfd, 0x9d, 0xf1, 0xdf, 0xef, 0x08, 0xe0, 0xe9, 0x51, 0x8c, 0xf7, 0x3a, 0x02, 0x54, 0xe0,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0xbb, 0xe3, 0x7e, 0x9c, 0xa5, 0x13, 0x2d, 0x19, 0x37, 0xbb, 0xaf, 0xa5,
|
||||
0x3f, 0x4e, 0xd6, 0xa7, 0xbd, 0x96, 0xdb, 0x15, 0xdb, 0xde, 0x0f, 0xae, 0xb6, 0x7f, 0x57, 0xfe, 0xf4, 0xee, 0x6b, 0xe9,
|
||||
0xdf, 0x5f, 0x93, 0x33, 0x4e, 0x8e, 0x8e, 0x57, 0x8c, 0x7f, 0x25, 0x67, 0xf4, 0xf9, 0xb5, 0x94, 0xa3, 0x94, 0xf1, 0x1a,
|
||||
0x9b, 0xe7, 0xcc, 0xed, 0x94, 0x8b, 0xbd, 0x72, 0xfc, 0x8f, 0x72, 0x74, 0xa2, 0x21, 0x0f, 0x5a, 0xfc, 0x47, 0xba, 0x16,
|
||||
0x6f, 0xe7, 0xfe, 0xff, 0xc4, 0xda, 0xeb, 0xef, 0x17, 0xff, 0xce, 0x8a, 0xab, 0x19, 0x6b, 0x69, 0xe7, 0xab, 0x3b, 0xdf,
|
||||
0xbf, 0xff, 0x57, 0xe7, 0xff, 0x3d, 0xe3, 0xff, 0xea, 0xb5, 0xb4, 0xf3, 0xf3, 0xff, 0xcf, 0x18, 0xff, 0xef, 0xbc, 0x22,
|
||||
0x73, 0xac, 0xbd, 0x5e, 0x5e, 0xae, 0xf8, 0x7f, 0x7a, 0x5e, 0xee, 0xdd, 0xeb, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 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, 0x46, 0xbf, 0x00 };
|
||||
|
||||
// Font characters rectangles data
|
||||
static const Rectangle darkFontRecs[95] = {
|
||||
{ 4, 4, 4 , 16 },
|
||||
{ 16, 4, 1 , 9 },
|
||||
{ 25, 4, 3 , 3 },
|
||||
{ 36, 4, 6 , 9 },
|
||||
{ 50, 4, 5 , 13 },
|
||||
{ 63, 4, 7 , 9 },
|
||||
{ 78, 4, 5 , 9 },
|
||||
{ 91, 4, 1 , 3 },
|
||||
{ 100, 4, 3 , 9 },
|
||||
{ 111, 4, 3 , 9 },
|
||||
{ 122, 4, 5 , 5 },
|
||||
{ 135, 4, 5 , 5 },
|
||||
{ 148, 4, 2 , 3 },
|
||||
{ 158, 4, 4 , 1 },
|
||||
{ 170, 4, 1 , 1 },
|
||||
{ 179, 4, 3 , 9 },
|
||||
{ 190, 4, 5 , 9 },
|
||||
{ 203, 4, 3 , 9 },
|
||||
{ 214, 4, 5 , 9 },
|
||||
{ 227, 4, 5 , 9 },
|
||||
{ 240, 4, 5 , 9 },
|
||||
{ 4, 28, 5 , 9 },
|
||||
{ 17, 28, 5 , 9 },
|
||||
{ 30, 28, 5 , 9 },
|
||||
{ 43, 28, 5 , 9 },
|
||||
{ 56, 28, 5 , 9 },
|
||||
{ 69, 28, 1 , 7 },
|
||||
{ 78, 28, 2 , 9 },
|
||||
{ 88, 28, 3 , 5 },
|
||||
{ 99, 28, 4 , 3 },
|
||||
{ 111, 28, 3 , 5 },
|
||||
{ 122, 28, 5 , 9 },
|
||||
{ 135, 28, 7 , 9 },
|
||||
{ 150, 28, 5 , 9 },
|
||||
{ 163, 28, 5 , 9 },
|
||||
{ 176, 28, 5 , 9 },
|
||||
{ 189, 28, 5 , 9 },
|
||||
{ 202, 28, 5 , 9 },
|
||||
{ 215, 28, 5 , 9 },
|
||||
{ 228, 28, 5 , 9 },
|
||||
{ 241, 28, 5 , 9 },
|
||||
{ 4, 52, 1 , 9 },
|
||||
{ 13, 52, 5 , 9 },
|
||||
{ 26, 52, 5 , 9 },
|
||||
{ 39, 52, 5 , 9 },
|
||||
{ 52, 52, 7 , 9 },
|
||||
{ 67, 52, 5 , 9 },
|
||||
{ 80, 52, 5 , 9 },
|
||||
{ 93, 52, 5 , 9 },
|
||||
{ 106, 52, 5 , 9 },
|
||||
{ 119, 52, 5 , 9 },
|
||||
{ 132, 52, 5 , 9 },
|
||||
{ 145, 52, 5 , 9 },
|
||||
{ 158, 52, 5 , 9 },
|
||||
{ 171, 52, 5 , 9 },
|
||||
{ 184, 52, 7 , 9 },
|
||||
{ 199, 52, 5 , 9 },
|
||||
{ 212, 52, 5 , 9 },
|
||||
{ 225, 52, 5 , 9 },
|
||||
{ 238, 52, 3 , 9 },
|
||||
{ 4, 76, 3 , 9 },
|
||||
{ 15, 76, 3 , 9 },
|
||||
{ 26, 76, 5 , 3 },
|
||||
{ 39, 76, 5 , 1 },
|
||||
{ 52, 76, 2 , 2 },
|
||||
{ 62, 76, 5 , 7 },
|
||||
{ 75, 76, 5 , 9 },
|
||||
{ 88, 76, 5 , 7 },
|
||||
{ 101, 76, 5 , 9 },
|
||||
{ 114, 76, 5 , 7 },
|
||||
{ 127, 76, 4 , 9 },
|
||||
{ 139, 76, 5 , 9 },
|
||||
{ 152, 76, 5 , 9 },
|
||||
{ 165, 76, 1 , 9 },
|
||||
{ 174, 76, 5 , 11 },
|
||||
{ 187, 76, 5 , 9 },
|
||||
{ 200, 76, 2 , 9 },
|
||||
{ 210, 76, 7 , 7 },
|
||||
{ 225, 76, 5 , 7 },
|
||||
{ 238, 76, 5 , 7 },
|
||||
{ 4, 100, 5 , 9 },
|
||||
{ 17, 100, 5 , 9 },
|
||||
{ 30, 100, 5 , 7 },
|
||||
{ 43, 100, 5 , 7 },
|
||||
{ 56, 100, 4 , 8 },
|
||||
{ 68, 100, 5 , 7 },
|
||||
{ 81, 100, 5 , 7 },
|
||||
{ 94, 100, 7 , 7 },
|
||||
{ 109, 100, 5 , 7 },
|
||||
{ 122, 100, 5 , 9 },
|
||||
{ 135, 100, 5 , 7 },
|
||||
{ 148, 100, 4 , 9 },
|
||||
{ 160, 100, 1 , 9 },
|
||||
{ 169, 100, 4 , 9 },
|
||||
{ 181, 100, 6 , 2 },
|
||||
};
|
||||
|
||||
// Font glyphs info data
|
||||
// NOTE: No glyphs.image data provided
|
||||
static const GlyphInfo darkFontChars[95] = {
|
||||
{ 32, 0, 13, 4, { 0 }},
|
||||
{ 33, 2, 4, 5, { 0 }},
|
||||
{ 34, 2, 4, 7, { 0 }},
|
||||
{ 35, 1, 4, 8, { 0 }},
|
||||
{ 36, 1, 2, 7, { 0 }},
|
||||
{ 37, 1, 4, 9, { 0 }},
|
||||
{ 38, 1, 4, 7, { 0 }},
|
||||
{ 39, 2, 4, 5, { 0 }},
|
||||
{ 40, 3, 4, 7, { 0 }},
|
||||
{ 41, 1, 4, 7, { 0 }},
|
||||
{ 42, 1, 4, 7, { 0 }},
|
||||
{ 43, 1, 6, 7, { 0 }},
|
||||
{ 44, 1, 12, 5, { 0 }},
|
||||
{ 45, 1, 8, 6, { 0 }},
|
||||
{ 46, 2, 12, 5, { 0 }},
|
||||
{ 47, 1, 4, 5, { 0 }},
|
||||
{ 48, 1, 4, 7, { 0 }},
|
||||
{ 49, 2, 4, 7, { 0 }},
|
||||
{ 50, 1, 4, 7, { 0 }},
|
||||
{ 51, 1, 4, 7, { 0 }},
|
||||
{ 52, 1, 4, 7, { 0 }},
|
||||
{ 53, 1, 4, 7, { 0 }},
|
||||
{ 54, 1, 4, 7, { 0 }},
|
||||
{ 55, 1, 4, 7, { 0 }},
|
||||
{ 56, 1, 4, 7, { 0 }},
|
||||
{ 57, 1, 4, 7, { 0 }},
|
||||
{ 58, 2, 6, 5, { 0 }},
|
||||
{ 59, 1, 6, 5, { 0 }},
|
||||
{ 60, 1, 6, 5, { 0 }},
|
||||
{ 61, 1, 7, 6, { 0 }},
|
||||
{ 62, 1, 6, 5, { 0 }},
|
||||
{ 63, 1, 4, 7, { 0 }},
|
||||
{ 64, 1, 4, 9, { 0 }},
|
||||
{ 65, 1, 4, 7, { 0 }},
|
||||
{ 66, 1, 4, 7, { 0 }},
|
||||
{ 67, 1, 4, 7, { 0 }},
|
||||
{ 68, 1, 4, 7, { 0 }},
|
||||
{ 69, 1, 4, 7, { 0 }},
|
||||
{ 70, 1, 4, 7, { 0 }},
|
||||
{ 71, 1, 4, 7, { 0 }},
|
||||
{ 72, 1, 4, 7, { 0 }},
|
||||
{ 73, 2, 4, 5, { 0 }},
|
||||
{ 74, 1, 4, 7, { 0 }},
|
||||
{ 75, 1, 4, 7, { 0 }},
|
||||
{ 76, 1, 4, 7, { 0 }},
|
||||
{ 77, 1, 4, 9, { 0 }},
|
||||
{ 78, 1, 4, 7, { 0 }},
|
||||
{ 79, 1, 4, 7, { 0 }},
|
||||
{ 80, 1, 4, 7, { 0 }},
|
||||
{ 81, 1, 4, 7, { 0 }},
|
||||
{ 82, 1, 4, 7, { 0 }},
|
||||
{ 83, 1, 4, 7, { 0 }},
|
||||
{ 84, 1, 4, 7, { 0 }},
|
||||
{ 85, 1, 4, 7, { 0 }},
|
||||
{ 86, 1, 4, 7, { 0 }},
|
||||
{ 87, 1, 4, 9, { 0 }},
|
||||
{ 88, 1, 4, 7, { 0 }},
|
||||
{ 89, 1, 4, 7, { 0 }},
|
||||
{ 90, 1, 4, 7, { 0 }},
|
||||
{ 91, 3, 4, 7, { 0 }},
|
||||
{ 92, 1, 4, 5, { 0 }},
|
||||
{ 93, 1, 4, 7, { 0 }},
|
||||
{ 94, 1, 4, 7, { 0 }},
|
||||
{ 95, 0, 14, 5, { 0 }},
|
||||
{ 96, 1, 4, 5, { 0 }},
|
||||
{ 97, 1, 6, 7, { 0 }},
|
||||
{ 98, 1, 4, 7, { 0 }},
|
||||
{ 99, 1, 6, 7, { 0 }},
|
||||
{ 100, 1, 4, 7, { 0 }},
|
||||
{ 101, 1, 6, 7, { 0 }},
|
||||
{ 102, 1, 4, 6, { 0 }},
|
||||
{ 103, 1, 6, 7, { 0 }},
|
||||
{ 104, 1, 4, 7, { 0 }},
|
||||
{ 105, 2, 4, 5, { 0 }},
|
||||
{ 106, 1, 4, 7, { 0 }},
|
||||
{ 107, 1, 4, 7, { 0 }},
|
||||
{ 108, 2, 4, 5, { 0 }},
|
||||
{ 109, 1, 6, 9, { 0 }},
|
||||
{ 110, 1, 6, 7, { 0 }},
|
||||
{ 111, 1, 6, 7, { 0 }},
|
||||
{ 112, 1, 6, 7, { 0 }},
|
||||
{ 113, 1, 6, 7, { 0 }},
|
||||
{ 114, 1, 6, 7, { 0 }},
|
||||
{ 115, 1, 6, 7, { 0 }},
|
||||
{ 116, 1, 5, 6, { 0 }},
|
||||
{ 117, 1, 6, 7, { 0 }},
|
||||
{ 118, 1, 6, 7, { 0 }},
|
||||
{ 119, 1, 6, 9, { 0 }},
|
||||
{ 120, 1, 6, 7, { 0 }},
|
||||
{ 121, 1, 6, 7, { 0 }},
|
||||
{ 122, 1, 6, 7, { 0 }},
|
||||
{ 123, 2, 4, 7, { 0 }},
|
||||
{ 124, 2, 4, 5, { 0 }},
|
||||
{ 125, 1, 4, 7, { 0 }},
|
||||
{ 126, 1, 4, 8, { 0 }},
|
||||
};
|
||||
|
||||
// Style loading function: dark
|
||||
static void GuiLoadStyleDark(void)
|
||||
{
|
||||
// Load style properties provided
|
||||
// NOTE: Default properties are propagated
|
||||
for (int i = 0; i < DARK_STYLE_PROPS_COUNT; i++)
|
||||
{
|
||||
GuiSetStyle(darkStyleProps[i].controlId, darkStyleProps[i].propertyId, darkStyleProps[i].propertyValue);
|
||||
}
|
||||
|
||||
// Custom font loading
|
||||
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
|
||||
int darkFontDataSize = 0;
|
||||
unsigned char *data = DecompressData(darkFontData, DARK_COMPRESSED_DATA_SIZE, &darkFontDataSize);
|
||||
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, darkFontRecs, 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, darkFontChars, font.glyphCount*sizeof(GlyphInfo));
|
||||
|
||||
GuiSetFont(font);
|
||||
|
||||
// TODO: Setup a white rectangle on the font to be used on shapes drawing,
|
||||
// this way we make sure all gui can be drawn on a single pass because no texture change is required
|
||||
// NOTE: Setting up this rectangle is a manual process (for the moment)
|
||||
Rectangle whiteChar = { 124, 6, 1, 1 };
|
||||
SetShapesTexture(font.texture, whiteChar);
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
|
||||
// TODO: Custom user style setup: Set specific properties here (if required)
|
||||
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
|
||||
}
|
||||
BIN
styles/dark/dark.rgs
Normal file
121
styles/dark/font_LICENSE.txt
Normal file
@ -0,0 +1,121 @@
|
||||
Creative Commons Legal Code
|
||||
|
||||
CC0 1.0 Universal
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||
HEREUNDER.
|
||||
|
||||
Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||
authorship and/or a database (each, a "Work").
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for
|
||||
the purpose of contributing to a commons of creative, cultural and
|
||||
scientific works ("Commons") that the public can reliably and without fear
|
||||
of later claims of infringement build upon, modify, incorporate in other
|
||||
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||
and for any purposes, including without limitation commercial purposes.
|
||||
These owners may contribute to the Commons to promote the ideal of a free
|
||||
culture and the further production of creative, cultural and scientific
|
||||
works, or to gain reputation or greater distribution for their Work in
|
||||
part through the use and efforts of others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any
|
||||
expectation of additional consideration or compensation, the person
|
||||
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights ("Copyright and
|
||||
Related Rights"). Copyright and Related Rights include, but are not
|
||||
limited to, the following:
|
||||
|
||||
i. the right to reproduce, adapt, distribute, perform, display,
|
||||
communicate, and translate a Work;
|
||||
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||
iii. publicity and privacy rights pertaining to a person's image or
|
||||
likeness depicted in a Work;
|
||||
iv. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(a), below;
|
||||
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||
in a Work;
|
||||
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation
|
||||
thereof, including any amended or successor version of such
|
||||
directive); and
|
||||
vii. other similar, equivalent or corresponding rights throughout the
|
||||
world based on applicable law or treaty, and any national
|
||||
implementations thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||
of action, whether now known or unknown (including existing as well as
|
||||
future claims and causes of action), in the Work (i) in all territories
|
||||
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||
treaty (including future time extensions), (iii) in any current or future
|
||||
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||
including without limitation commercial, advertising or promotional
|
||||
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||
member of the public at large and to the detriment of Affirmer's heirs and
|
||||
successors, fully intending that such Waiver shall not be subject to
|
||||
revocation, rescission, cancellation, termination, or any other legal or
|
||||
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||
as contemplated by Affirmer's express Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||
be judged legally invalid or ineffective under applicable law, then the
|
||||
Waiver shall be preserved to the maximum extent permitted taking into
|
||||
account Affirmer's express Statement of Purpose. In addition, to the
|
||||
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||
maximum duration provided by applicable law or treaty (including future
|
||||
time extensions), (iii) in any current or future medium and for any number
|
||||
of copies, and (iv) for any purpose whatsoever, including without
|
||||
limitation commercial, advertising or promotional purposes (the
|
||||
"License"). The License shall be deemed effective as of the date CC0 was
|
||||
applied by Affirmer to the Work. Should any part of the License for any
|
||||
reason be judged legally invalid or ineffective under applicable law, such
|
||||
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||
of the License, and in such case Affirmer hereby affirms that he or she
|
||||
will not (i) exercise any of his or her remaining Copyright and Related
|
||||
Rights in the Work or (ii) assert any associated claims and causes of
|
||||
action with respect to the Work, in either case contrary to Affirmer's
|
||||
express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
|
||||
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
b. Affirmer offers the Work as-is and makes no representations or
|
||||
warranties of any kind concerning the Work, express, implied,
|
||||
statutory or otherwise, including without limitation warranties of
|
||||
title, merchantability, fitness for a particular purpose, non
|
||||
infringement, or the absence of latent or other defects, accuracy, or
|
||||
the present or absence of errors, whether or not discoverable, all to
|
||||
the greatest extent permissible under applicable law.
|
||||
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without
|
||||
limitation any person's Copyright and Related Rights in the Work.
|
||||
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||
consents, permissions or other rights required for any use of the
|
||||
Work.
|
||||
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to
|
||||
this CC0 or use of the Work.
|
||||
BIN
styles/dark/screenshot.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
styles/dark/style_table.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
styles/enefete/GenericMobileSystemNuevo.ttf
Normal file
16
styles/enefete/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
style: enefete
|
||||
--------------
|
||||
Inspired by money and pain, a desperate jump into the trendings train, a train to nowhere. Don't stare at it for too long!
|
||||
|
||||

|
||||
|
||||
screenshot
|
||||
-----------
|
||||
|
||||

|
||||
|
||||
about font
|
||||
-----------
|
||||
"Generic Mobile System" font by de Jayvee Enaguas.
|
||||
|
||||
CC0 1.0 Universal, downloaded from dafont.com: [generic-mobile-system](https://www.dafont.com/generic-mobile-system.font)
|
||||
353
styles/enefete/enefete.h
Normal file
@ -0,0 +1,353 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// StyleAsCode exporter v1.2 - Style data exported as a values array //
|
||||
// //
|
||||
// USAGE: On init call: GuiLoadStyleEnefete(); //
|
||||
// //
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define ENEFETE_STYLE_PROPS_COUNT 16
|
||||
|
||||
// Custom style name: enefete
|
||||
static const GuiStyleProp enefeteStyleProps[ENEFETE_STYLE_PROPS_COUNT] = {
|
||||
{ 0, 0, 0x1980d5ff }, // DEFAULT_BORDER_COLOR_NORMAL
|
||||
{ 0, 1, 0x4df3ebff }, // DEFAULT_BASE_COLOR_NORMAL
|
||||
{ 0, 2, 0x103e60ff }, // DEFAULT_TEXT_COLOR_NORMAL
|
||||
{ 0, 3, 0xe7e2f7ff }, // DEFAULT_BORDER_COLOR_FOCUSED
|
||||
{ 0, 4, 0x23d4ddff }, // DEFAULT_BASE_COLOR_FOCUSED
|
||||
{ 0, 5, 0xf1f1f1ff }, // DEFAULT_TEXT_COLOR_FOCUSED
|
||||
{ 0, 6, 0x6413a6ff }, // DEFAULT_BORDER_COLOR_PRESSED
|
||||
{ 0, 7, 0xea66d9ff }, // DEFAULT_BASE_COLOR_PRESSED
|
||||
{ 0, 8, 0x9f00bbff }, // DEFAULT_TEXT_COLOR_PRESSED
|
||||
{ 0, 9, 0x4b909eff }, // DEFAULT_BORDER_COLOR_DISABLED
|
||||
{ 0, 10, 0x73c7d0ff }, // DEFAULT_BASE_COLOR_DISABLED
|
||||
{ 0, 11, 0x448894ff }, // DEFAULT_TEXT_COLOR_DISABLED
|
||||
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE
|
||||
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
|
||||
{ 0, 18, 0x1d3f6cff }, // DEFAULT_LINE_COLOR
|
||||
{ 0, 19, 0x29c9e5ff }, // DEFAULT_BACKGROUND_COLOR
|
||||
};
|
||||
|
||||
// WARNING: This style uses a custom font: GenericMobileSystemNuevo.ttf (size: 16, spacing: 0)
|
||||
|
||||
#define ENEFETE_COMPRESSED_DATA_SIZE 1270
|
||||
|
||||
// Font image pixels data compressed (DEFLATE)
|
||||
// NOTE: Original pixel data simplified to GRAYSCALE
|
||||
static unsigned char enefeteFontData[ENEFETE_COMPRESSED_DATA_SIZE] = { 0xed,
|
||||
0xdd, 0x51, 0x96, 0xe3, 0x26, 0x10, 0x05, 0x50, 0xf6, 0xbf, 0xe9, 0xca, 0xc9, 0x47, 0x72, 0x26, 0x93, 0x69, 0x01, 0x45,
|
||||
0x21, 0x61, 0xf9, 0xf6, 0xfd, 0xb3, 0xda, 0xdd, 0x32, 0xcf, 0x12, 0x92, 0x29, 0x70, 0x34, 0x00, 0x80, 0xdf, 0xfc, 0xfd,
|
||||
0xf3, 0xe7, 0xc7, 0xfe, 0xb4, 0xe5, 0x7a, 0xdb, 0x3f, 0xbf, 0xd1, 0xdb, 0x12, 0x3f, 0xee, 0x49, 0x5c, 0x6c, 0x1b, 0xfb,
|
||||
0x5f, 0xb9, 0xfd, 0x8a, 0xa9, 0xb6, 0x89, 0x8b, 0x56, 0x6b, 0xcb, 0x8f, 0xb7, 0xcb, 0xb6, 0xbf, 0x7a, 0xd6, 0xf3, 0xf9,
|
||||
0xc7, 0xc5, 0x3e, 0xc6, 0xbf, 0x19, 0xc4, 0xc5, 0x7e, 0xc4, 0xe5, 0xd6, 0x91, 0x44, 0xaf, 0xfe, 0x77, 0x5d, 0x42, 0xab,
|
||||
0x7f, 0x25, 0xba, 0x47, 0xc2, 0x5c, 0x0b, 0x9d, 0x90, 0x7f, 0xfc, 0xd2, 0xce, 0x91, 0xcc, 0x60, 0x3c, 0xff, 0xba, 0xa3,
|
||||
0xf6, 0xfa, 0x3d, 0xbb, 0xaf, 0x85, 0xaf, 0xda, 0x69, 0xfe, 0x6c, 0x55, 0xb7, 0x77, 0xd7, 0xbf, 0xdd, 0x3b, 0x03, 0xee,
|
||||
0xc8, 0xbf, 0xe2, 0x78, 0xfb, 0xf9, 0x2f, 0xc7, 0xc4, 0x99, 0xa4, 0xa6, 0x7d, 0x7b, 0xaf, 0xf6, 0xd4, 0xfc, 0x47, 0x8f,
|
||||
0xff, 0x9f, 0x7b, 0xe0, 0xe8, 0xbe, 0xb7, 0x76, 0x9c, 0x6f, 0xfb, 0xbd, 0xd6, 0x9d, 0xd7, 0x57, 0x2b, 0xf9, 0xc7, 0xc1,
|
||||
0xf9, 0x8f, 0xec, 0x5d, 0x74, 0xfb, 0xff, 0xd1, 0xe3, 0x6e, 0x2e, 0xff, 0xba, 0x23, 0xfa, 0xc9, 0xfc, 0xef, 0xb9, 0xfe,
|
||||
0xcb, 0x9e, 0xff, 0x47, 0xce, 0xb4, 0x3f, 0x25, 0xfc, 0x6b, 0x8b, 0xc4, 0x86, 0xf3, 0xff, 0x49, 0xf7, 0x57, 0xd9, 0xfc,
|
||||
0xe3, 0x80, 0xd7, 0x36, 0x76, 0xff, 0x77, 0xd5, 0xa3, 0xf6, 0xf3, 0x6f, 0xaf, 0xc9, 0x3f, 0x92, 0x57, 0x3b, 0x3f, 0x5f,
|
||||
0xa9, 0xde, 0xb5, 0x87, 0x6b, 0xfd, 0x7f, 0xef, 0x9e, 0xe7, 0xdb, 0xf3, 0xbf, 0xbe, 0xff, 0x9b, 0xbb, 0xdf, 0xf9, 0xb4,
|
||||
0xfc, 0x7b, 0x77, 0xbd, 0x6f, 0x3a, 0xff, 0x67, 0xaf, 0xe3, 0xe7, 0xef, 0x54, 0xcf, 0x79, 0xbd, 0xf7, 0xed, 0xe1, 0xbe,
|
||||
0xbb, 0x36, 0xaa, 0x53, 0xb9, 0xeb, 0x7f, 0x49, 0xff, 0x9b, 0xf2, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xcb, 0xf7,
|
||||
0xab, 0x76, 0xe6, 0xeb, 0x63, 0x7b, 0x5b, 0xe6, 0x2b, 0xd9, 0xaf, 0x9f, 0x35, 0x37, 0xda, 0x5b, 0x53, 0xc1, 0x3f, 0xd3,
|
||||
0x82, 0x6d, 0x7a, 0x6b, 0x6f, 0x5c, 0x37, 0x86, 0x5a, 0x79, 0x74, 0x24, 0x7a, 0xb6, 0xd5, 0x47, 0x46, 0xa9, 0x33, 0x23,
|
||||
0xd9, 0x2b, 0xdb, 0xc6, 0x2b, 0x25, 0x6b, 0x2b, 0x36, 0x62, 0x60, 0x2e, 0x42, 0x24, 0xab, 0x26, 0xfa, 0xaf, 0x2f, 0x36,
|
||||
0x56, 0xcd, 0xc4, 0x45, 0xd5, 0xf6, 0x5a, 0x25, 0x72, 0x65, 0xfe, 0x75, 0x75, 0x17, 0xb1, 0xf0, 0xba, 0xa2, 0x33, 0xea,
|
||||
0x1c, 0x5b, 0x12, 0xee, 0xed, 0xcb, 0x5a, 0xd5, 0xcc, 0xae, 0xfc, 0xe7, 0xab, 0x1f, 0x2b, 0xf2, 0x8f, 0xad, 0xa3, 0xd8,
|
||||
0x3f, 0xe7, 0x1f, 0x87, 0xe7, 0xdf, 0x9b, 0x5f, 0x37, 0xd7, 0x5b, 0xae, 0x1c, 0x49, 0xfd, 0x3e, 0x7e, 0xed, 0xfc, 0xbf,
|
||||
0xf7, 0xec, 0x71, 0x5d, 0xd7, 0x9a, 0x49, 0x78, 0xee, 0x9a, 0xa7, 0xfa, 0xf8, 0xdf, 0xd1, 0x8f, 0xe7, 0xab, 0x9f, 0xe7,
|
||||
0xae, 0xcf, 0xee, 0xeb, 0xff, 0xdb, 0x60, 0x5d, 0xf3, 0xe7, 0x9d, 0xff, 0xcf, 0xca, 0xbf, 0x4d, 0x5f, 0xd1, 0x54, 0xce,
|
||||
0x6e, 0xc8, 0xd6, 0x9c, 0xf6, 0xf2, 0x1f, 0x79, 0x57, 0x3f, 0x99, 0x7f, 0xe6, 0x4c, 0xbe, 0x32, 0x8b, 0xa5, 0x2a, 0xff,
|
||||
0x33, 0xaa, 0xcd, 0xce, 0x3f, 0xfe, 0xef, 0xbe, 0x57, 0xcb, 0xe6, 0xbf, 0x67, 0x96, 0xf3, 0xfe, 0xf9, 0x1c, 0x23, 0x73,
|
||||
0xdb, 0xd6, 0xf2, 0x5f, 0x6d, 0xad, 0xfe, 0x27, 0x05, 0x95, 0x9f, 0xd5, 0x8c, 0xcc, 0x62, 0x8c, 0x92, 0x79, 0xa0, 0xe7,
|
||||
0xe4, 0x9f, 0x3b, 0x4a, 0xef, 0xf9, 0xfc, 0x87, 0xbb, 0xaa, 0x9e, 0x65, 0xe1, 0xf3, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0xfb, 0x46, 0x27, 0xfa, 0x55, 0xfe, 0x91, 0x18, 0x83, 0xac, 0xaa, 0xcf, 0xca, 0xd7, 0x42, 0xc4, 0x6f, 0x35, 0xb8,
|
||||
0x31, 0x5d, 0x2b, 0x11, 0xe9, 0xd9, 0x0c, 0xcf, 0x3c, 0x77, 0xbe, 0xf6, 0x73, 0x7d, 0x6b, 0x65, 0x66, 0xf3, 0xf5, 0x0c,
|
||||
0xa3, 0xf3, 0x2b, 0x62, 0x5b, 0x9d, 0xc5, 0xdd, 0x5b, 0xc7, 0x1e, 0xbf, 0x2f, 0xff, 0x76, 0xd3, 0xf1, 0x9f, 0xcd, 0x3f,
|
||||
0xba, 0x33, 0x99, 0xce, 0xcd, 0x3f, 0x53, 0x43, 0xfd, 0xce, 0xfc, 0xf3, 0xab, 0xe2, 0x47, 0xb7, 0x92, 0xfd, 0xc4, 0xfc,
|
||||
0xe3, 0xa6, 0xfc, 0x57, 0x66, 0xeb, 0xb5, 0xe4, 0xb5, 0xc3, 0xbd, 0xf9, 0xb7, 0x6e, 0xc2, 0xb1, 0x90, 0x52, 0xfe, 0x0a,
|
||||
0x68, 0xa5, 0xde, 0xed, 0xa4, 0xe3, 0xff, 0x8e, 0xfe, 0x3f, 0x0a, 0xbe, 0x15, 0x63, 0x47, 0xfe, 0xab, 0xed, 0x93, 0xab,
|
||||
0x86, 0xfc, 0xc6, 0xfc, 0xb3, 0xfd, 0xff, 0xf8, 0xb5, 0xc5, 0x59, 0xf9, 0x8f, 0xcc, 0xcd, 0xfa, 0x9e, 0xfc, 0xdb, 0x4b,
|
||||
0xf3, 0xcf, 0xcf, 0x2d, 0x7a, 0x5b, 0xfe, 0xb1, 0xe1, 0x2c, 0xbc, 0x7a, 0xff, 0xff, 0x54, 0xfe, 0x77, 0xde, 0xff, 0xad,
|
||||
0xaf, 0x7c, 0x50, 0xf5, 0xf9, 0x4f, 0xfd, 0x95, 0xd4, 0xfe, 0xcf, 0x7f, 0xf6, 0xb4, 0x4f, 0x1b, 0xfa, 0x3e, 0x9d, 0xec,
|
||||
0x4c, 0x76, 0x4e, 0x98, 0x1d, 0x82, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xbe, 0x91, 0x89, 0xde, 0xe8, 0x69,
|
||||
0xed, 0x2a, 0x74, 0x63, 0xf3, 0x0e, 0x66, 0xc6, 0xbc, 0x33, 0xe3, 0xe4, 0xd9, 0xfa, 0xc4, 0xec, 0x9a, 0xbc, 0xd5, 0xeb,
|
||||
0xec, 0xb5, 0xb2, 0xf5, 0xff, 0xef, 0xce, 0x7f, 0x74, 0x4c, 0x3e, 0x5b, 0xe9, 0x31, 0xde, 0xea, 0xb3, 0x7f, 0x6f, 0xad,
|
||||
0x0e, 0xa5, 0x76, 0x2d, 0xd5, 0xfc, 0x3a, 0xba, 0x33, 0x09, 0xf6, 0x6b, 0xef, 0xaa, 0xd7, 0xf3, 0xad, 0xca, 0x7f, 0x6d,
|
||||
0xd5, 0xd0, 0x8a, 0x75, 0xa8, 0xdb, 0x62, 0x2d, 0x96, 0xfc, 0xd7, 0xb7, 0xec, 0xe8, 0x2f, 0x33, 0x6b, 0xe2, 0x67, 0xea,
|
||||
0x84, 0x56, 0x7a, 0xc9, 0x3b, 0xf2, 0x6f, 0xa9, 0x6f, 0x0f, 0xca, 0x1f, 0xe7, 0xa7, 0xe7, 0x5f, 0xdd, 0x37, 0x64, 0xaf,
|
||||
0x18, 0xc6, 0x5b, 0x64, 0xf4, 0xe8, 0xce, 0xe4, 0x9f, 0x3d, 0x27, 0xbe, 0x37, 0xff, 0xda, 0xb5, 0xb4, 0x33, 0x73, 0x47,
|
||||
0x6b, 0xf3, 0xbf, 0x7e, 0x6f, 0xbc, 0x2f, 0xff, 0x91, 0xfe, 0x3f, 0xf3, 0x9d, 0x68, 0x2d, 0xbd, 0xce, 0xf6, 0x6a, 0xd5,
|
||||
0xd9, 0x53, 0xf9, 0x57, 0x9f, 0x35, 0x9e, 0xaf, 0xb1, 0xcb, 0x5e, 0x6d, 0xe6, 0xaf, 0x52, 0x2b, 0xce, 0xff, 0xa3, 0xdf,
|
||||
0xff, 0xb3, 0xab, 0x4a, 0x5d, 0xfe, 0xd5, 0xf9, 0xcf, 0xde, 0xf5, 0xc6, 0xc2, 0xb7, 0xdb, 0xad, 0xe4, 0x5f, 0x7b, 0x27,
|
||||
0x75, 0x46, 0xfe, 0xb9, 0x4f, 0x1b, 0xb2, 0xcf, 0x7c, 0x6b, 0x5d, 0x71, 0xb6, 0x0d, 0x7d, 0x9e, 0xfb, 0xae, 0x55, 0x69,
|
||||
0x76, 0xfd, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x37, 0xd4, 0xff, 0xaf, 0xd6, 0x6e, 0x8c, 0xae, 0xc2, 0xfe, 0xff,
|
||||
0x47, 0x73, 0xdf, 0x62, 0x1e, 0x8b, 0xcf, 0x8b, 0xe9, 0x4a, 0x98, 0xb9, 0x91, 0xe7, 0x8a, 0x4a, 0xc1, 0xda, 0x6a, 0xb1,
|
||||
0xe7, 0xf2, 0xcf, 0x55, 0x97, 0x3e, 0x51, 0x6b, 0x97, 0xad, 0xd0, 0xaa, 0xce, 0xbf, 0xbe, 0x55, 0x76, 0x8f, 0x9a, 0xbf,
|
||||
0x23, 0xff, 0x56, 0x56, 0xe3, 0xba, 0x2b, 0xff, 0xfc, 0xfb, 0x74, 0xb6, 0xf2, 0x64, 0xf7, 0x1a, 0xbd, 0x9f, 0x93, 0xff,
|
||||
0x48, 0x6f, 0x73, 0x5f, 0xfe, 0xfd, 0xc7, 0xe7, 0x8f, 0xff, 0x27, 0xd6, 0xe8, 0xff, 0xa4, 0xfc, 0xdb, 0xd0, 0xea, 0xb4,
|
||||
0x9f, 0x79, 0xfc, 0xb7, 0xd2, 0x35, 0xfa, 0xcf, 0x38, 0xff, 0xe7, 0xaf, 0xff, 0xda, 0x0d, 0xfd, 0x7f, 0xfb, 0xcf, 0xb7,
|
||||
0x52, 0xd4, 0xb5, 0xca, 0x7c, 0x25, 0x61, 0x75, 0xfe, 0x77, 0xf5, 0xff, 0x6d, 0x61, 0x55, 0xe6, 0xda, 0xf3, 0x7f, 0x76,
|
||||
0x16, 0xc6, 0xea, 0xbb, 0x6d, 0x75, 0xb6, 0xe1, 0xf3, 0xc7, 0xff, 0x93, 0xd5, 0xa3, 0x95, 0xfb, 0x73, 0x4e, 0xe5, 0xe1,
|
||||
0x67, 0xf5, 0xff, 0xf2, 0x3f, 0xa3, 0x72, 0xb6, 0x3d, 0xfc, 0x1d, 0x1d, 0xdf, 0x59, 0xaf, 0xfe, 0xc9, 0xaf, 0x54, 0xad,
|
||||
0xf5, 0xb7, 0xd7, 0xe6, 0x6b, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x93, 0x47, 0x73, 0x62, 0x72, 0x75, 0xd7, 0xd9,
|
||||
0xfa, 0x9f, 0xf8, 0x65, 0x74, 0x58, 0x9b, 0x7f, 0xce, 0x08, 0x76, 0xcd, 0xaa, 0x8e, 0xd1, 0x7d, 0x97, 0x71, 0x66, 0xfd,
|
||||
0x42, 0x55, 0xfe, 0xdf, 0x56, 0x25, 0xf1, 0x96, 0xea, 0x95, 0xda, 0x55, 0x5d, 0x79, 0xcb, 0x0c, 0x40, 0xf9, 0x9b, 0xff,
|
||||
0xf9, 0xed, 0x95, 0x70, 0xdf, 0x70, 0xfd, 0xef, 0xf8, 0xf7, 0xee, 0x90, 0xbf, 0xfc, 0xe5, 0x2f, 0x7f, 0xf9, 0xcb, 0x5f,
|
||||
0xfe, 0xaa, 0xfd, 0x73, 0xf3, 0x3f, 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, 0x80, 0x8f, 0xf3, 0x17 };
|
||||
|
||||
// Font characters rectangles data
|
||||
static const Rectangle enefeteFontRecs[95] = {
|
||||
{ 4, 4, 4 , 16 },
|
||||
{ 16, 4, 2 , 10 },
|
||||
{ 26, 4, 5 , 3 },
|
||||
{ 39, 4, 7 , 10 },
|
||||
{ 54, 4, 7 , 13 },
|
||||
{ 69, 4, 7 , 10 },
|
||||
{ 84, 4, 7 , 10 },
|
||||
{ 99, 4, 2 , 3 },
|
||||
{ 109, 4, 3 , 12 },
|
||||
{ 120, 4, 3 , 12 },
|
||||
{ 131, 4, 5 , 6 },
|
||||
{ 144, 4, 6 , 5 },
|
||||
{ 158, 4, 2 , 4 },
|
||||
{ 168, 4, 5 , 1 },
|
||||
{ 181, 4, 2 , 2 },
|
||||
{ 191, 4, 4 , 10 },
|
||||
{ 203, 4, 6 , 10 },
|
||||
{ 217, 4, 4 , 10 },
|
||||
{ 229, 4, 6 , 10 },
|
||||
{ 4, 28, 6 , 10 },
|
||||
{ 18, 28, 6 , 10 },
|
||||
{ 32, 28, 6 , 10 },
|
||||
{ 46, 28, 6 , 10 },
|
||||
{ 60, 28, 6 , 10 },
|
||||
{ 74, 28, 6 , 10 },
|
||||
{ 88, 28, 6 , 10 },
|
||||
{ 102, 28, 2 , 6 },
|
||||
{ 112, 28, 2 , 8 },
|
||||
{ 122, 28, 7 , 7 },
|
||||
{ 137, 28, 5 , 3 },
|
||||
{ 150, 28, 7 , 7 },
|
||||
{ 165, 28, 6 , 10 },
|
||||
{ 179, 28, 7 , 12 },
|
||||
{ 194, 28, 7 , 10 },
|
||||
{ 209, 28, 7 , 10 },
|
||||
{ 224, 28, 7 , 10 },
|
||||
{ 239, 28, 7 , 10 },
|
||||
{ 4, 52, 7 , 10 },
|
||||
{ 19, 52, 7 , 10 },
|
||||
{ 34, 52, 7 , 10 },
|
||||
{ 49, 52, 7 , 10 },
|
||||
{ 64, 52, 2 , 10 },
|
||||
{ 74, 52, 5 , 10 },
|
||||
{ 87, 52, 7 , 10 },
|
||||
{ 102, 52, 6 , 10 },
|
||||
{ 116, 52, 9 , 10 },
|
||||
{ 133, 52, 7 , 10 },
|
||||
{ 148, 52, 7 , 10 },
|
||||
{ 163, 52, 7 , 10 },
|
||||
{ 178, 52, 7 , 12 },
|
||||
{ 193, 52, 7 , 10 },
|
||||
{ 208, 52, 7 , 10 },
|
||||
{ 223, 52, 6 , 10 },
|
||||
{ 237, 52, 7 , 10 },
|
||||
{ 4, 76, 7 , 10 },
|
||||
{ 19, 76, 8 , 10 },
|
||||
{ 35, 76, 7 , 10 },
|
||||
{ 50, 76, 6 , 10 },
|
||||
{ 64, 76, 7 , 10 },
|
||||
{ 79, 76, 4 , 12 },
|
||||
{ 91, 76, 4 , 10 },
|
||||
{ 103, 76, 4 , 12 },
|
||||
{ 115, 76, 6 , 3 },
|
||||
{ 129, 76, 7 , 1 },
|
||||
{ 144, 76, 4 , 3 },
|
||||
{ 156, 76, 6 , 7 },
|
||||
{ 170, 76, 6 , 10 },
|
||||
{ 184, 76, 6 , 7 },
|
||||
{ 198, 76, 6 , 10 },
|
||||
{ 212, 76, 6 , 7 },
|
||||
{ 226, 76, 4 , 10 },
|
||||
{ 238, 76, 6 , 9 },
|
||||
{ 4, 100, 6 , 10 },
|
||||
{ 18, 100, 2 , 10 },
|
||||
{ 28, 100, 5 , 12 },
|
||||
{ 41, 100, 6 , 10 },
|
||||
{ 55, 100, 3 , 10 },
|
||||
{ 66, 100, 8 , 7 },
|
||||
{ 82, 100, 6 , 7 },
|
||||
{ 96, 100, 6 , 7 },
|
||||
{ 110, 100, 6 , 9 },
|
||||
{ 124, 100, 6 , 9 },
|
||||
{ 138, 100, 5 , 7 },
|
||||
{ 151, 100, 6 , 7 },
|
||||
{ 165, 100, 4 , 10 },
|
||||
{ 177, 100, 6 , 7 },
|
||||
{ 191, 100, 6 , 7 },
|
||||
{ 205, 100, 8 , 7 },
|
||||
{ 221, 100, 6 , 7 },
|
||||
{ 235, 100, 6 , 9 },
|
||||
{ 4, 124, 6 , 7 },
|
||||
{ 18, 124, 5 , 12 },
|
||||
{ 31, 124, 2 , 12 },
|
||||
{ 41, 124, 5 , 12 },
|
||||
{ 54, 124, 7 , 3 },
|
||||
};
|
||||
|
||||
// Font glyphs info data
|
||||
// NOTE: No glyphs.image data provided
|
||||
static const GlyphInfo enefeteFontChars[95] = {
|
||||
{ 32, 0, 12, 4, { 0 }},
|
||||
{ 33, 0, 2, 3, { 0 }},
|
||||
{ 34, 0, 2, 6, { 0 }},
|
||||
{ 35, 0, 2, 8, { 0 }},
|
||||
{ 36, 0, 1, 8, { 0 }},
|
||||
{ 37, 0, 2, 8, { 0 }},
|
||||
{ 38, 0, 2, 8, { 0 }},
|
||||
{ 39, 0, 2, 3, { 0 }},
|
||||
{ 40, 0, 2, 4, { 0 }},
|
||||
{ 41, 0, 2, 4, { 0 }},
|
||||
{ 42, 0, 4, 6, { 0 }},
|
||||
{ 43, 0, 6, 7, { 0 }},
|
||||
{ 44, 0, 10, 3, { 0 }},
|
||||
{ 45, 0, 8, 6, { 0 }},
|
||||
{ 46, 0, 10, 3, { 0 }},
|
||||
{ 47, 0, 2, 5, { 0 }},
|
||||
{ 48, 0, 2, 7, { 0 }},
|
||||
{ 49, 0, 2, 7, { 0 }},
|
||||
{ 50, 0, 2, 7, { 0 }},
|
||||
{ 51, 0, 2, 7, { 0 }},
|
||||
{ 52, 0, 2, 7, { 0 }},
|
||||
{ 53, 0, 2, 7, { 0 }},
|
||||
{ 54, 0, 2, 7, { 0 }},
|
||||
{ 55, 0, 2, 7, { 0 }},
|
||||
{ 56, 0, 2, 7, { 0 }},
|
||||
{ 57, 0, 2, 7, { 0 }},
|
||||
{ 58, 0, 4, 3, { 0 }},
|
||||
{ 59, 0, 4, 3, { 0 }},
|
||||
{ 60, 0, 4, 8, { 0 }},
|
||||
{ 61, 0, 6, 6, { 0 }},
|
||||
{ 62, 0, 4, 8, { 0 }},
|
||||
{ 63, 0, 2, 7, { 0 }},
|
||||
{ 64, 0, 2, 8, { 0 }},
|
||||
{ 65, 0, 2, 8, { 0 }},
|
||||
{ 66, 0, 2, 8, { 0 }},
|
||||
{ 67, 0, 2, 8, { 0 }},
|
||||
{ 68, 0, 2, 8, { 0 }},
|
||||
{ 69, 0, 2, 8, { 0 }},
|
||||
{ 70, 0, 2, 8, { 0 }},
|
||||
{ 71, 0, 2, 8, { 0 }},
|
||||
{ 72, 0, 2, 8, { 0 }},
|
||||
{ 73, 0, 2, 3, { 0 }},
|
||||
{ 74, 0, 2, 6, { 0 }},
|
||||
{ 75, 0, 2, 8, { 0 }},
|
||||
{ 76, 0, 2, 7, { 0 }},
|
||||
{ 77, 0, 2, 10, { 0 }},
|
||||
{ 78, 0, 2, 8, { 0 }},
|
||||
{ 79, 0, 2, 8, { 0 }},
|
||||
{ 80, 0, 2, 8, { 0 }},
|
||||
{ 81, 0, 2, 8, { 0 }},
|
||||
{ 82, 0, 2, 8, { 0 }},
|
||||
{ 83, 0, 2, 8, { 0 }},
|
||||
{ 84, 0, 2, 7, { 0 }},
|
||||
{ 85, 0, 2, 8, { 0 }},
|
||||
{ 86, 0, 2, 8, { 0 }},
|
||||
{ 87, 0, 2, 9, { 0 }},
|
||||
{ 88, 0, 2, 8, { 0 }},
|
||||
{ 89, 0, 2, 7, { 0 }},
|
||||
{ 90, 0, 2, 8, { 0 }},
|
||||
{ 91, 0, 2, 5, { 0 }},
|
||||
{ 92, 0, 2, 5, { 0 }},
|
||||
{ 93, 0, 2, 5, { 0 }},
|
||||
{ 94, 0, 2, 7, { 0 }},
|
||||
{ 95, 0, 14, 8, { 0 }},
|
||||
{ 96, 0, 2, 5, { 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, 5, { 0 }},
|
||||
{ 103, 0, 5, 7, { 0 }},
|
||||
{ 104, 0, 2, 7, { 0 }},
|
||||
{ 105, 0, 2, 3, { 0 }},
|
||||
{ 106, 0, 2, 6, { 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, 6, { 0 }},
|
||||
{ 115, 0, 5, 7, { 0 }},
|
||||
{ 116, 0, 2, 5, { 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, 0, 2, 6, { 0 }},
|
||||
{ 124, 0, 2, 3, { 0 }},
|
||||
{ 125, 0, 2, 6, { 0 }},
|
||||
{ 126, 0, 6, 8, { 0 }},
|
||||
};
|
||||
|
||||
// Style loading function: enefete
|
||||
static void GuiLoadStyleEnefete(void)
|
||||
{
|
||||
// Load style properties provided
|
||||
// NOTE: Default properties are propagated
|
||||
for (int i = 0; i < ENEFETE_STYLE_PROPS_COUNT; i++)
|
||||
{
|
||||
GuiSetStyle(enefeteStyleProps[i].controlId, enefeteStyleProps[i].propertyId, enefeteStyleProps[i].propertyValue);
|
||||
}
|
||||
|
||||
// Custom font loading
|
||||
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
|
||||
int enefeteFontDataSize = 0;
|
||||
unsigned char *data = DecompressData(enefeteFontData, ENEFETE_COMPRESSED_DATA_SIZE, &enefeteFontDataSize);
|
||||
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, enefeteFontRecs, 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, enefeteFontChars, font.glyphCount*sizeof(GlyphInfo));
|
||||
|
||||
GuiSetFont(font);
|
||||
|
||||
// TODO: Setup a white rectangle on the font to be used on shapes drawing,
|
||||
// this way we make sure all gui can be drawn on a single pass because no texture change is required
|
||||
// NOTE: Setting up this rectangle is a manual process (for the moment)
|
||||
Rectangle whiteChar = { 99, 4, 2, 2 };
|
||||
SetShapesTexture(font.texture, whiteChar);
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
|
||||
// TODO: Custom user style setup: Set specific properties here (if required)
|
||||
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
|
||||
}
|
||||
BIN
styles/enefete/enefete.rgs
Normal file
121
styles/enefete/font_LICENSE.txt
Normal file
@ -0,0 +1,121 @@
|
||||
Creative Commons Legal Code
|
||||
|
||||
CC0 1.0 Universal
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||
HEREUNDER.
|
||||
|
||||
Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||
authorship and/or a database (each, a "Work").
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for
|
||||
the purpose of contributing to a commons of creative, cultural and
|
||||
scientific works ("Commons") that the public can reliably and without fear
|
||||
of later claims of infringement build upon, modify, incorporate in other
|
||||
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||
and for any purposes, including without limitation commercial purposes.
|
||||
These owners may contribute to the Commons to promote the ideal of a free
|
||||
culture and the further production of creative, cultural and scientific
|
||||
works, or to gain reputation or greater distribution for their Work in
|
||||
part through the use and efforts of others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any
|
||||
expectation of additional consideration or compensation, the person
|
||||
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights ("Copyright and
|
||||
Related Rights"). Copyright and Related Rights include, but are not
|
||||
limited to, the following:
|
||||
|
||||
i. the right to reproduce, adapt, distribute, perform, display,
|
||||
communicate, and translate a Work;
|
||||
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||
iii. publicity and privacy rights pertaining to a person's image or
|
||||
likeness depicted in a Work;
|
||||
iv. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(a), below;
|
||||
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||
in a Work;
|
||||
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation
|
||||
thereof, including any amended or successor version of such
|
||||
directive); and
|
||||
vii. other similar, equivalent or corresponding rights throughout the
|
||||
world based on applicable law or treaty, and any national
|
||||
implementations thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||
of action, whether now known or unknown (including existing as well as
|
||||
future claims and causes of action), in the Work (i) in all territories
|
||||
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||
treaty (including future time extensions), (iii) in any current or future
|
||||
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||
including without limitation commercial, advertising or promotional
|
||||
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||
member of the public at large and to the detriment of Affirmer's heirs and
|
||||
successors, fully intending that such Waiver shall not be subject to
|
||||
revocation, rescission, cancellation, termination, or any other legal or
|
||||
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||
as contemplated by Affirmer's express Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||
be judged legally invalid or ineffective under applicable law, then the
|
||||
Waiver shall be preserved to the maximum extent permitted taking into
|
||||
account Affirmer's express Statement of Purpose. In addition, to the
|
||||
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||
maximum duration provided by applicable law or treaty (including future
|
||||
time extensions), (iii) in any current or future medium and for any number
|
||||
of copies, and (iv) for any purpose whatsoever, including without
|
||||
limitation commercial, advertising or promotional purposes (the
|
||||
"License"). The License shall be deemed effective as of the date CC0 was
|
||||
applied by Affirmer to the Work. Should any part of the License for any
|
||||
reason be judged legally invalid or ineffective under applicable law, such
|
||||
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||
of the License, and in such case Affirmer hereby affirms that he or she
|
||||
will not (i) exercise any of his or her remaining Copyright and Related
|
||||
Rights in the Work or (ii) assert any associated claims and causes of
|
||||
action with respect to the Work, in either case contrary to Affirmer's
|
||||
express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
|
||||
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
b. Affirmer offers the Work as-is and makes no representations or
|
||||
warranties of any kind concerning the Work, express, implied,
|
||||
statutory or otherwise, including without limitation warranties of
|
||||
title, merchantability, fitness for a particular purpose, non
|
||||
infringement, or the absence of latent or other defects, accuracy, or
|
||||
the present or absence of errors, whether or not discoverable, all to
|
||||
the greatest extent permissible under applicable law.
|
||||
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without
|
||||
limitation any person's Copyright and Related Rights in the Work.
|
||||
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||
consents, permissions or other rights required for any use of the
|
||||
Work.
|
||||
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to
|
||||
this CC0 or use of the Work.
|
||||
BIN
styles/enefete/screenshot.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
styles/enefete/style_table.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
16
styles/sunny/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
style: sunny
|
||||
-------------
|
||||
Sweet, colorful, sunny! Inspired by the [Playdate](https://play.date/) console and its [pulp](https://play.date/pulp/) editor!
|
||||
|
||||

|
||||
|
||||
screenshot
|
||||
-----------
|
||||
|
||||

|
||||
|
||||
about font
|
||||
-----------
|
||||
"Generic Mobile System" font by Jayvee Enaguas (HarvettFox96).
|
||||
|
||||
CC0 free font, downloaded from dafont.com: [generic-mobile-system](https://www.dafont.com/es/generic-mobile-system.font)
|
||||
@ -1,3 +1,42 @@
|
||||
===| Description |===
|
||||
|
||||
Generic Mobile System is a raster proportional sans serif typeface, extracted from various generic/knockoff mobile devices, created with libre/free font editor software FontForge.
|
||||
|
||||
Source files: https://notabug.org/HarvettFox96/ttf-genericmobile/
|
||||
|
||||
===| Update log |===
|
||||
|
||||
Version 20190323.02:
|
||||
|
||||
- OS/2 and TeX metric fixes.
|
||||
- Updated Panose.
|
||||
|
||||
Version 20190323.01:
|
||||
|
||||
- Added outline variant.
|
||||
- Minor fixes.
|
||||
|
||||
Version 20190103.03:
|
||||
|
||||
- Minor bearing tweaks. (Clásico only)
|
||||
- Minor fixes.
|
||||
|
||||
Version 20190103.02:
|
||||
|
||||
- Bearing tweaks from the different generic mobile phone as Cherry Mobile S5. (Clásico only)
|
||||
- Minor fixes.
|
||||
|
||||
Version 20190103.01:
|
||||
|
||||
- Initial public release.
|
||||
|
||||
===| Copyright/attribution notice |===
|
||||
|
||||
© 2009-2019 Jayvee Enaguas (HarvettFox96). Released under a libre/free public domain licence as Creative Commons Zero (CC0) 1.0. Applies worldwide countries including the Philippines, Spain, etc.
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Creative Commons Legal Code
|
||||
|
||||
CC0 1.0 Universal
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// more info and bugs-report: github.com/raysan5/raygui //
|
||||
// feedback and support: ray[at]raylibtech.com //
|
||||
// //
|
||||
// Copyright (c) 2020-2022 raylib technologies (@raylibtech) //
|
||||
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) //
|
||||
// //
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||