10 Commits

Author SHA1 Message Date
Ray
fd8d0f1b17 REVIEWED: Styles to new vertical line spacing approach 2026-01-29 21:00:31 +01:00
1c2365a20c Fix: left_align text in GuiTextInputBox() (#510) 2026-01-28 20:33:20 +01:00
7f842d85ba Disable unsafe warnings on CRT scanf functions in MSVC (#519) 2026-01-28 20:31:00 +01:00
Ray
0f5f0f7d00 Update raygui.h 2026-01-20 21:02:08 +01:00
Ray
9a1c183d85 Update raylib.vcxproj 2026-01-11 16:57:48 +01:00
Ray
51e6bcb393 Update raygui.h 2026-01-09 20:07:07 +01:00
Ray
04282d1763 Update year to 2026 2026-01-02 13:40:53 +01:00
Ray
0b94b80c92 Update raygui.h 2025-12-20 22:09:03 +01:00
Ray
867ca4bf8d Update raygui.h 2025-12-11 21:41:33 +01:00
367e169ad3 initializ some variables to prevent warnings (#515) 2025-12-02 23:31:24 +01:00
16 changed files with 32 additions and 28 deletions

View File

@ -1,6 +1,6 @@
zlib License
Copyright (c) 2014-2025 Ramon Santamaria (@raysan5)
Copyright (c) 2014-2026 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.

View File

@ -311,7 +311,6 @@
<ClCompile Include="$(ProjectDir)..\..\..\..\raylib\src\rshapes.c" />
<ClCompile Include="$(ProjectDir)..\..\..\..\raylib\src\rtext.c" />
<ClCompile Include="$(ProjectDir)..\..\..\..\raylib\src\rtextures.c" />
<ClCompile Include="$(ProjectDir)..\..\..\..\raylib\src\utils.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(ProjectDir)..\..\..\..\raylib\src\external\cgltf.h" />
@ -331,7 +330,6 @@
<ClInclude Include="$(ProjectDir)..\..\..\..\raylib\src\raylib.h" />
<ClInclude Include="$(ProjectDir)..\..\..\..\raylib\src\raymath.h" />
<ClInclude Include="$(ProjectDir)..\..\..\..\raylib\src\rlgl.h" />
<ClInclude Include="$(ProjectDir)..\..\..\..\raylib\src\utils.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\..\raylib\src\raylib.dll.rc" />

View File

@ -316,7 +316,7 @@
*
* LICENSE: zlib/libpng
*
* Copyright (c) 2014-2025 Ramon Santamaria (@raysan5)
* Copyright (c) 2014-2026 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.
@ -351,10 +351,11 @@
// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll
#if defined(_WIN32)
#if defined(BUILD_LIBTYPE_SHARED)
#define RAYGUIAPI __declspec(dllexport) // We are building the library as a Win32 shared library (.dll)
#define RAYGUIAPI __declspec(dllexport) // Building the library as a Win32 shared library (.dll)
#elif defined(USE_LIBTYPE_SHARED)
#define RAYGUIAPI __declspec(dllimport) // We are using the library as a Win32 shared library (.dll)
#define RAYGUIAPI __declspec(dllimport) // Using the library as a Win32 shared library (.dll)
#endif
#define _CRT_SECURE_NO_WARNINGS // disable unsafe warnings on scanf functions in MSVC
#endif
// Function specifiers definition
@ -369,9 +370,9 @@
// NOTE: Avoiding those calls, also avoids const strings memory usage
#define RAYGUI_SUPPORT_LOG_INFO
#if defined(RAYGUI_SUPPORT_LOG_INFO)
#define RAYGUI_LOG(...) printf(__VA_ARGS__)
#define RAYGUI_LOG(...) printf(__VA_ARGS__)
#else
#define RAYGUI_LOG(...)
#define RAYGUI_LOG(...)
#endif
//----------------------------------------------------------------------------------
@ -2692,8 +2693,8 @@ int GuiTextBox(Rectangle bounds, char *text, int textSize, bool editMode)
{
int offset = textBoxCursorIndex;
int accCodepointSize = 0;
int prevCodepointSize;
int prevCodepoint;
int prevCodepointSize = 0;
int prevCodepoint = 0;
// Check whitespace to delete (ASCII only)
while (offset > 0)
@ -2744,8 +2745,8 @@ int GuiTextBox(Rectangle bounds, char *text, int textSize, bool editMode)
{
int offset = textBoxCursorIndex;
//int accCodepointSize = 0;
int prevCodepointSize;
int prevCodepoint;
int prevCodepointSize = 0;
int prevCodepoint = 0;
// Check whitespace to skip (ASCII only)
while (offset > 0)
@ -4198,6 +4199,9 @@ int GuiTextInputBox(Rectangle bounds, const char *title, const char *message, co
GuiSetStyle(LABEL, TEXT_ALIGNMENT, prevTextAlignment);
}
int prevTextBoxAlignment = GuiGetStyle(TEXTBOX, TEXT_ALIGNMENT);
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
if (secretViewActive != NULL)
{
static char stars[] = "****************";
@ -4211,6 +4215,8 @@ int GuiTextInputBox(Rectangle bounds, const char *title, const char *message, co
if (GuiTextBox(textBoxBounds, text, textMaxSize, textEditMode)) textEditMode = !textEditMode;
}
GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, prevTextBoxAlignment);
int prevBtnTextAlignment = GuiGetStyle(BUTTON, TEXT_ALIGNMENT);
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
@ -4231,7 +4237,7 @@ int GuiTextInputBox(Rectangle bounds, const char *title, const char *message, co
// Grid control
// NOTE: Returns grid mouse-hover selected cell
// About drawing lines at subpixel spacing, simple put, not easy solution:
// Ref: https://stackoverflow.com/questions/4435450/2d-opengl-drawing-lines-that-dont-exactly-fit-pixel-raster
// REF: https://stackoverflow.com/questions/4435450/2d-opengl-drawing-lines-that-dont-exactly-fit-pixel-raster
int GuiGrid(Rectangle bounds, const char *text, float spacing, int subdivs, Vector2 *mouseCell)
{
// Grid lines alpha amount
@ -5076,12 +5082,12 @@ static const char **GetTextLines(const char *text, int *count)
static const char *lines[RAYGUI_MAX_TEXT_LINES] = { 0 };
for (int i = 0; i < RAYGUI_MAX_TEXT_LINES; i++) lines[i] = NULL; // Init NULL pointers to substrings
int textSize = (int)strlen(text);
int textLength = (int)strlen(text);
lines[0] = text;
*count = 1;
for (int i = 0, k = 0; (i < textSize) && (*count < RAYGUI_MAX_TEXT_LINES); i++)
for (int i = 0, k = 0; (i < textLength) && (*count < RAYGUI_MAX_TEXT_LINES); i++)
{
if (text[i] == '\n')
{

View File

@ -30,7 +30,7 @@ static const GuiStyleProp amberStyleProps[AMBER_STYLE_PROPS_COUNT] = {
{ 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 18, (int)0xef922aff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x333333ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 8, (int)0xe7e0d4ff }, // LABEL_TEXT_COLOR_PRESSED
{ 4, 8, (int)0xf1cf9dff }, // SLIDER_TEXT_COLOR_PRESSED
};

View File

@ -30,7 +30,7 @@ static const GuiStyleProp ashesStyleProps[ASHES_STYLE_PROPS_COUNT] = {
{ 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 18, (int)0x9dadb1ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x6b6b6bff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "v5loxical.ttf" (size: 16, spacing: 1)

View File

@ -31,7 +31,7 @@ static const GuiStyleProp candyStyleProps[CANDY_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0xd77575ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0xfff5e1ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000016 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000007 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "v5easter.ttf" (size: 15, spacing: 0)

View File

@ -31,7 +31,7 @@ static const GuiStyleProp cherryStyleProps[CHERRY_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0xfb8170ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x3a1720ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000016 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000007 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "Westington.ttf" (size: 15, spacing: 0)

View File

@ -31,7 +31,7 @@ static const GuiStyleProp cyberStyleProps[CYBER_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0x81c0d0ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x00222bff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000015 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000007 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "Kyrou7Wide.ttf" (size: 14, spacing: 0)

View File

@ -31,7 +31,7 @@ static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0x9d9d9dff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 5, (int)0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED
{ 1, 8, (int)0x898989ff }, // LABEL_TEXT_COLOR_PRESSED
{ 4, 5, (int)0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED

View File

@ -31,7 +31,7 @@ static const GuiStyleProp enefeteStyleProps[ENEFETE_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0x1d3f6cff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x29c9e5ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "GMSN.ttf" (size: 16, spacing: 0)

View File

@ -31,7 +31,7 @@ static const GuiStyleProp genesisStyleProps[GENESIS_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0x96a3b4ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x292c33ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 5, (int)0x97a9aeff }, // LABEL_TEXT_COLOR_FOCUSED
{ 4, 5, (int)0xa69a9aff }, // SLIDER_TEXT_COLOR_FOCUSED
{ 4, 6, (int)0xc3ccd5ff }, // SLIDER_BORDER_COLOR_PRESSED

View File

@ -31,7 +31,7 @@ static const GuiStyleProp jungleStyleProps[JUNGLE_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0x638465ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x2b3a3aff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000012 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000006 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "PixelIntv.otf" (size: 12, spacing: 0)

View File

@ -30,7 +30,7 @@ static const GuiStyleProp lavandaStyleProps[LAVANDA_STYLE_PROPS_COUNT] = {
{ 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 18, (int)0x84adb7ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x5b5b81ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "Cartridge.ttf" (size: 16, spacing: 1)

View File

@ -29,7 +29,7 @@ static const GuiStyleProp rltechStyleProps[RLTECH_STYLE_PROPS_COUNT] = {
{ 0, 11, (int)0xb3b3b3ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 18, (int)0x352c2cff }, // DEFAULT_LINE_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "2a03.ttf" (size: 16, spacing: 1)

View File

@ -31,7 +31,7 @@ static const GuiStyleProp sunnyStyleProps[SUNNY_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0x725706ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0xf0be4bff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 2, (int)0x504506ff }, // LABEL_TEXT_COLOR_NORMAL
{ 1, 5, (int)0xfdeb9bff }, // LABEL_TEXT_COLOR_FOCUSED
{ 1, 8, (int)0xf5e8a4ff }, // LABEL_TEXT_COLOR_PRESSED

View File

@ -31,7 +31,7 @@ static const GuiStyleProp terminalStyleProps[TERMINAL_STYLE_PROPS_COUNT] = {
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0xe6fce3ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x0c1505ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 0, 20, (int)0x00000008 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "Mecha.ttf" (size: 16, spacing: 0)