From 6f80bfbbd1cbe2206a44f7774c8f95e933a7d410 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 20 Feb 2020 16:43:24 +0100 Subject: [PATCH] Updated to raygui 2.7 --- src/raygui.h | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/raygui.h b/src/raygui.h index f4db7b0..5030ca0 100644 --- a/src/raygui.h +++ b/src/raygui.h @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raygui v2.7-dev - A simple and easy-to-use immediate-mode gui library +* raygui v2.7 - A simple and easy-to-use immediate-mode gui library * * DESCRIPTION: * @@ -69,6 +69,7 @@ * * * VERSIONS HISTORY: +* 2.7 (20-Feb-2020) Added possible tooltips API * 2.6 (09-Sep-2019) ADDED: GuiTextInputBox() * REDESIGNED: GuiListView*(), GuiDropdownBox(), GuiSlider*(), GuiProgressBar(), GuiMessageBox() * REVIEWED: GuiTextBox(), GuiSpinner(), GuiValueBox(), GuiLoadStyle() @@ -412,16 +413,16 @@ typedef enum { // Module Functions Declaration //---------------------------------------------------------------------------------- -// Global gui modification functions +// State modification functions RAYGUIDEF void GuiEnable(void); // Enable gui controls (global state) RAYGUIDEF void GuiDisable(void); // Disable gui controls (global state) RAYGUIDEF void GuiLock(void); // Lock gui controls (global state) RAYGUIDEF void GuiUnlock(void); // Unlock gui controls (global state) RAYGUIDEF void GuiFade(float alpha); // Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f - RAYGUIDEF void GuiSetState(int state); // Set gui state (global state) RAYGUIDEF int GuiGetState(void); // Get gui state (global state) +// Font set/get functions RAYGUIDEF void GuiSetFont(Font font); // Set gui custom font (global state) RAYGUIDEF Font GuiGetFont(void); // Get gui custom font (global state) @@ -434,7 +435,6 @@ RAYGUIDEF void GuiEnableTooltip(void); // Enabl RAYGUIDEF void GuiDisableTooltip(void); // Disable gui tooltips RAYGUIDEF void GuiSetTooltip(const char *tooltip); // Set current tooltip for display RAYGUIDEF void GuiClearTooltip(void); // Clear any tooltip registered -RAYGUIDEF void GuiDrawTooltip(Rectangle bounds); // Draw tooltip relatively to bounds // Container/separator controls, useful for controls organization RAYGUIDEF bool GuiWindowBox(Rectangle bounds, const char *title); // Window Box control, shows a window that can be closed @@ -773,6 +773,25 @@ static void GuiDrawText(const char *text, Rectangle bounds, int alignment, Color } } +// Draw tooltip relatively to bounds +static void GuiDrawTooltip(Rectangle bounds) +{ + //static int tooltipFramesCounter = 0; // Not possible gets reseted at second function call! + + if (guiTooltipEnabled && (guiTooltip != NULL) && CheckCollisionPointRec(GetMousePosition(), bounds)) + { + Vector2 mousePosition = GetMousePosition(); + Vector2 textSize = MeasureTextEx(guiFont, guiTooltip, GuiGetStyle(DEFAULT, TEXT_SIZE), GuiGetStyle(DEFAULT, TEXT_SPACING)); + Rectangle tooltipBounds = { mousePosition.x, mousePosition.y, textSize.x + 20, textSize.y*2 }; + + DrawRectangleRec(tooltipBounds, Fade(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)), guiAlpha)); + DrawRectangleLinesEx(tooltipBounds, 1, Fade(GetColor(GuiGetStyle(DEFAULT, LINE_COLOR)), guiAlpha)); + + tooltipBounds.x += 10; + GuiLabel(tooltipBounds, guiTooltip); + } +} + // Split controls text into multiple strings // Also check for multiple columns (required by GuiToggleGroup()) static const char **GuiTextSplit(const char *text, int *count, int *textRow); @@ -862,25 +881,6 @@ void GuiSetTooltip(const char *tooltip) { guiTooltip = tooltip; } // Clear any tooltip registered void GuiClearTooltip(void) { guiTooltip = NULL; } -// Draw tooltip relatively to bounds -void GuiDrawTooltip(Rectangle bounds) -{ - //static int tooltipFramesCounter = 0; // Not possible gets reseted at second function call! - - if (guiTooltipEnabled && (guiTooltip != NULL) && CheckCollisionPointRec(GetMousePosition(), bounds)) - { - Vector2 mousePosition = GetMousePosition(); - Vector2 textSize = MeasureTextEx(guiFont, guiTooltip, GuiGetStyle(DEFAULT, TEXT_SIZE), GuiGetStyle(DEFAULT, TEXT_SPACING)); - Rectangle tooltipBounds = { mousePosition.x, mousePosition.y, textSize.x + 20, textSize.y*2 }; - - DrawRectangleRec(tooltipBounds, Fade(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)), guiAlpha)); - DrawRectangleLinesEx(tooltipBounds, 1, Fade(GetColor(GuiGetStyle(DEFAULT, LINE_COLOR)), guiAlpha)); - - tooltipBounds.x += 10; - GuiLabel(tooltipBounds, guiTooltip); - } -} - //---------------------------------------------------------------------------------- // Gui Controls Functions Definition //----------------------------------------------------------------------------------