Reviewed examples for latest raygui/raylib

This commit is contained in:
raysan5 2021-10-05 14:10:35 +02:00
parent 0ed765cd8b
commit 7c63e389b8
11 changed files with 73 additions and 52 deletions

View File

@ -37,11 +37,8 @@
#include "raylib.h" #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "../../src/raygui.h" #include "../../src/raygui.h"
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
// Program main entry point // Program main entry point
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
@ -49,8 +46,8 @@ int main()
{ {
// Initialization // Initialization
//--------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------
int screenWidth = 690; const int screenWidth = 690;
int screenHeight = 560; const int screenHeight = 560;
InitWindow(screenWidth, screenHeight, "raygui - controls test suite"); InitWindow(screenWidth, screenHeight, "raygui - controls test suite");
SetExitKey(0); SetExitKey(0);

View File

@ -3,26 +3,24 @@
* raygui - custom file dialog to load image * raygui - custom file dialog to load image
* *
* DEPENDENCIES: * DEPENDENCIES:
* raylib 2.6-dev - Windowing/input management and drawing. * raylib 4.0 - Windowing/input management and drawing.
* raygui 2.6-dev - Immediate-mode GUI controls. * raygui 3.0 - Immediate-mode GUI controls.
* *
* COMPILATION (Windows - MinGW): * COMPILATION (Windows - MinGW):
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99 * gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2020 Ramon Santamaria (@raysan5) * Copyright (c) 2016-2021 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
#include "raylib.h" #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "../../src/raygui.h" #include "../../src/raygui.h"
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again #undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
#define GUI_FILE_DIALOG_IMPLEMENTATION #define GUI_FILE_DIALOG_IMPLEMENTATION
#include "gui_file_dialog.h" #include "gui_file_dialog.h"

View File

@ -18,7 +18,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2019-2020 Ramon Santamaria (@raysan5) * Copyright (c) 2019-2021 Ramon Santamaria (@raysan5)
* *
* This software is provided "as-is", without any express or implied warranty. In no event * This software is provided "as-is", without any express or implied warranty. In no event
* will the authors be held liable for any damages arising from the use of this software. * will the authors be held liable for any damages arising from the use of this software.
@ -257,7 +257,7 @@ void GuiFileDialog(GuiFileDialogState *state)
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)), 0.85f)); 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#LuaJIT | Select File Dialog"); state->fileDialogActive = !GuiWindowBox((Rectangle){ state->position.x + 0, state->position.y + 0, winWidth, winHeight }, "#198# Select File Dialog");
if (GuiButton((Rectangle){ state->position.x + winWidth - 50, state->position.y + 35, 40, 25 }, "< ..")) // || IsKeyReleased(KEY_DPAD_Y)) if (GuiButton((Rectangle){ state->position.x + winWidth - 50, state->position.y + 35, 40, 25 }, "< ..")) // || IsKeyReleased(KEY_DPAD_Y))
{ {

View File

@ -3,25 +3,23 @@
* raygui - image exporter * raygui - image exporter
* *
* DEPENDENCIES: * DEPENDENCIES:
* raylib 2.1 - Windowing/input management and drawing. * raylib 4.0 - Windowing/input management and drawing.
* raygui 2.0 - Immediate-mode GUI controls. * raygui 3.0 - Immediate-mode GUI controls.
* *
* COMPILATION (Windows - MinGW): * COMPILATION (Windows - MinGW):
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99 * gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2020 Ramon Santamaria (@raysan5) * Copyright (c) 2015-2021 Ramon Santamaria (@raysan5)
* *
********************************************************************************************/ ********************************************************************************************/
#include "raylib.h" #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "../../src/raygui.h" #include "../../src/raygui.h"
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
// Program main entry point // Program main entry point
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------

View File

@ -3,22 +3,21 @@
* raygui - image raw importer * raygui - image raw importer
* *
* DEPENDENCIES: * DEPENDENCIES:
* raylib 2.1 - Windowing/input management and drawing. * raylib 4.0 - Windowing/input management and drawing.
* raygui 2.0 - Immediate-mode GUI controls. * raygui 3.0 - Immediate-mode GUI controls.
* *
* COMPILATION (Windows - MinGW): * COMPILATION (Windows - MinGW):
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99 * gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2020 Ramon Santamaria (@raysan5) * Copyright (c) 2015-2021 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
#include "raylib.h" #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "../../src/raygui.h" #include "../../src/raygui.h"
#include <string.h> // Required for: strcpy() #include <string.h> // Required for: strcpy()

View File

@ -3,22 +3,21 @@
* raygui - portable window * raygui - portable window
* *
* DEPENDENCIES: * DEPENDENCIES:
* raylib 2.1 - Windowing/input management and drawing. * raylib 4.0 - Windowing/input management and drawing.
* raygui 2.0 - Immediate-mode GUI controls. * raygui 3.0 - Immediate-mode GUI controls.
* *
* COMPILATION (Windows - MinGW): * COMPILATION (Windows - MinGW):
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99 * gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2020 Ramon Santamaria (@raysan5) * Copyright (c) 2016-2021 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
#include "raylib.h" #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "../../src/raygui.h" #include "../../src/raygui.h"
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
@ -28,8 +27,8 @@ int main()
{ {
// Initialization // Initialization
//--------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------
int screenWidth = 800; const int screenWidth = 800;
int screenHeight = 600; const int screenHeight = 600;
SetConfigFlags(FLAG_WINDOW_UNDECORATED); SetConfigFlags(FLAG_WINDOW_UNDECORATED);
InitWindow(screenWidth, screenHeight, "raygui - portable window"); InitWindow(screenWidth, screenHeight, "raygui - portable window");

View File

@ -1,24 +1,23 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raygui - a custom property list control * raygui - custom property list control
* *
* DEPENDENCIES: * DEPENDENCIES:
* raylib 3.0 * raylib 4.0 - Windowing/input management and drawing.
* raygui 2.7 * raygui 3.0 - Immediate-mode GUI controls.
* *
* COMPILATION (Windows - MinGW): * COMPILATION (Windows - MinGW):
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99 * gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2020 Vlad Adrian (@Demizdor - https://github.com/Demizdor) * Copyright (c) 2020-2021 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
#include "raylib.h" #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "../../src/raygui.h" #include "../../src/raygui.h"
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again #undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
@ -26,8 +25,6 @@
#define GUI_PROPERTY_LIST_IMPLEMENTATION #define GUI_PROPERTY_LIST_IMPLEMENTATION
#include "dm_property_list.h" #include "dm_property_list.h"
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 450
#define SIZEOF(A) (sizeof(A)/sizeof(A[0])) #define SIZEOF(A) (sizeof(A)/sizeof(A[0]))
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
@ -37,6 +34,10 @@ int main()
{ {
// Initialization // Initialization
//--------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raygui - property list");
GuiDMProperty prop[] = { GuiDMProperty prop[] = {
PBOOL("Bool", 0, true), PBOOL("Bool", 0, true),
@ -52,17 +53,17 @@ int main()
PVEC4("Vec4", 0, 12, 13, 14, 15), PVEC4("Vec4", 0, 12, 13, 14, 15),
PCOLOR("Color", 0, 0, 255, 0, 255), PCOLOR("Color", 0, 0, 255, 0, 255),
}; };
int focus = 0, scroll = 0; // needed by GuiDMPropertyList()
InitWindow(SCREEN_WIDTH, SCREEN_HEIGHT, "raygui - property list"); int focus = 0, scroll = 0; // Needed by GuiDMPropertyList()
SetTargetFPS(60);
GuiLoadStyleDefault(); GuiLoadStyleDefault();
// adjust the default raygui style a bit
// Tweak the default raygui style a bit
GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, 24); GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, 24);
GuiSetStyle(LISTVIEW, SCROLLBAR_WIDTH, 12); GuiSetStyle(LISTVIEW, SCROLLBAR_WIDTH, 12);
//--------------------------------------------------------------------------------------
SetTargetFPS(60);
//--------------------------------------------------------------------------------------
// Main game loop // Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key while (!WindowShouldClose()) // Detect window close button or ESC key
@ -70,11 +71,12 @@ int main()
// Draw // Draw
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
BeginDrawing(); BeginDrawing();
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR))); ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
GuiGrid((Rectangle){0,0,SCREEN_WIDTH,SCREEN_HEIGHT},20.0f, 2); // draw a fancy grid GuiGrid((Rectangle){0, 0, screenWidth, screenHeight},20.0f, 2); // Draw a fancy grid
GuiDMPropertyList((Rectangle){(SCREEN_WIDTH - 180)/2, (SCREEN_HEIGHT - 280)/2, 180, 280}, prop, SIZEOF(prop), &focus, &scroll); GuiDMPropertyList((Rectangle){(screenWidth - 180)/2, (screenHeight - 280)/2, 180, 280}, prop, SIZEOF(prop), &focus, &scroll);
if (prop[0].value.vbool >= 1) if (prop[0].value.vbool >= 1)
{ {
@ -85,8 +87,12 @@ int main()
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
} }
// De-Initialization
//--------------------------------------------------------------------------------------
GuiDMSaveProperties("test.props", prop, SIZEOF(prop)); // Save properties to `test.props` file at exit GuiDMSaveProperties("test.props", prop, SIZEOF(prop)); // Save properties to `test.props` file at exit
CloseWindow(); // Close window and OpenGL context
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0; return 0;
} }

View 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 1 Hello! 30
l Select 0 ONE;TWO;THREE;FOUR 3
i Int Range 0 32 0 100 1
r Rect 1 0 0 100 200
v2 Vec2 1 20.000000 20.000000
v3 Vec3 1 12.000000 13.000000 14.000000
v4 Vec4 1 12.000000 13.000000 14.000000 15.000000
c Color 1 94 68 197 160

View File

@ -6,18 +6,18 @@
* - GuiScrollPanel() * - GuiScrollPanel()
* *
* DEPENDENCIES: * DEPENDENCIES:
* raylib 2.4 - Windowing/input management and drawing. * raylib 4.0 - Windowing/input management and drawing.
* raygui 2.0 - Immediate-mode GUI controls. * raygui 3.0 - Immediate-mode GUI controls.
* *
* COMPILATION (Windows - MinGW): * COMPILATION (Windows - MinGW):
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99 * gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
* *
* COMPILATION (Linux - gcc): * COMPILATION (Linux - gcc):
* gcc -o $(NAME_PART) $(FILE_NAME) -I../../src -lraylib -std=c99 * gcc -o $(NAME_PART) $(FILE_NAME) -I../../src -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -std=c99
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2019 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5) * Copyright (c) 2019-2021 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/

View File

@ -24,7 +24,6 @@
#include "raylib.h" #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "../../src/raygui.h" #include "../../src/raygui.h"
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again #undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again

View File

@ -21,10 +21,8 @@
#include "raylib.h" #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "../../src/raygui.h" #include "../../src/raygui.h"
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
// Defines and Macros // Defines and Macros
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------