mirror of
https://github.com/raysan5/raygui.git
synced 2026-02-01 03:39:18 -05:00
Updated to raygui 2.7
This commit is contained in:
46
src/raygui.h
46
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:
|
* DESCRIPTION:
|
||||||
*
|
*
|
||||||
@ -69,6 +69,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* VERSIONS HISTORY:
|
* VERSIONS HISTORY:
|
||||||
|
* 2.7 (20-Feb-2020) Added possible tooltips API
|
||||||
* 2.6 (09-Sep-2019) ADDED: GuiTextInputBox()
|
* 2.6 (09-Sep-2019) ADDED: GuiTextInputBox()
|
||||||
* REDESIGNED: GuiListView*(), GuiDropdownBox(), GuiSlider*(), GuiProgressBar(), GuiMessageBox()
|
* REDESIGNED: GuiListView*(), GuiDropdownBox(), GuiSlider*(), GuiProgressBar(), GuiMessageBox()
|
||||||
* REVIEWED: GuiTextBox(), GuiSpinner(), GuiValueBox(), GuiLoadStyle()
|
* REVIEWED: GuiTextBox(), GuiSpinner(), GuiValueBox(), GuiLoadStyle()
|
||||||
@ -412,16 +413,16 @@ typedef enum {
|
|||||||
// Module Functions Declaration
|
// Module Functions Declaration
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
// Global gui modification functions
|
// State modification functions
|
||||||
RAYGUIDEF void GuiEnable(void); // Enable gui controls (global state)
|
RAYGUIDEF void GuiEnable(void); // Enable gui controls (global state)
|
||||||
RAYGUIDEF void GuiDisable(void); // Disable gui controls (global state)
|
RAYGUIDEF void GuiDisable(void); // Disable gui controls (global state)
|
||||||
RAYGUIDEF void GuiLock(void); // Lock gui controls (global state)
|
RAYGUIDEF void GuiLock(void); // Lock gui controls (global state)
|
||||||
RAYGUIDEF void GuiUnlock(void); // Unlock 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 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 void GuiSetState(int state); // Set gui state (global state)
|
||||||
RAYGUIDEF int GuiGetState(void); // Get 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 void GuiSetFont(Font font); // Set gui custom font (global state)
|
||||||
RAYGUIDEF Font GuiGetFont(void); // Get 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 GuiDisableTooltip(void); // Disable gui tooltips
|
||||||
RAYGUIDEF void GuiSetTooltip(const char *tooltip); // Set current tooltip for display
|
RAYGUIDEF void GuiSetTooltip(const char *tooltip); // Set current tooltip for display
|
||||||
RAYGUIDEF void GuiClearTooltip(void); // Clear any tooltip registered
|
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
|
// 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
|
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
|
// Split controls text into multiple strings
|
||||||
// Also check for multiple columns (required by GuiToggleGroup())
|
// Also check for multiple columns (required by GuiToggleGroup())
|
||||||
static const char **GuiTextSplit(const char *text, int *count, int *textRow);
|
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
|
// Clear any tooltip registered
|
||||||
void GuiClearTooltip(void) { guiTooltip = NULL; }
|
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
|
// Gui Controls Functions Definition
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user