mirror of
https://github.com/raysan5/raygui.git
synced 2026-02-08 07:09:18 -05:00
REVIEWED: Header info
This commit is contained in:
37
src/raygui.h
37
src/raygui.h
@ -3,12 +3,26 @@
|
|||||||
* raygui v3.5-dev - A simple and easy-to-use immediate-mode gui library
|
* raygui v3.5-dev - A simple and easy-to-use immediate-mode gui library
|
||||||
*
|
*
|
||||||
* DESCRIPTION:
|
* DESCRIPTION:
|
||||||
*
|
|
||||||
* raygui is a tools-dev-focused immediate-mode-gui library based on raylib but also
|
* raygui is a tools-dev-focused immediate-mode-gui library based on raylib but also
|
||||||
* available as a standalone library, as long as input and drawing functions are provided.
|
* available as a standalone library, as long as input and drawing functions are provided.
|
||||||
*
|
*
|
||||||
* Controls provided:
|
* FEATURES:
|
||||||
|
* - Immediate-mode gui, minimal retained data
|
||||||
|
* - +25 controls provided (basic and advanced)
|
||||||
|
* - Styling system for colors, font and metrics
|
||||||
|
* - Icons supported, embeds a complete 1-bit icons pack
|
||||||
|
* - Standalone usage mode option (custom graphics backends)
|
||||||
|
* - Multiple tools provided for raygui development
|
||||||
*
|
*
|
||||||
|
* POSSIBLE IMPROVEMENTS:
|
||||||
|
* - Allow some controls to work in exclusive mode: GuiSlider(), GuiScrollBar()
|
||||||
|
* - Better standalone mode API for easy plug of custom backends
|
||||||
|
*
|
||||||
|
* LIMITATIONS:
|
||||||
|
* - No auto-layout mechanism provided, up to the user to define controls position and size
|
||||||
|
* - Standalone mode requires library modification and some user work to plug another backend.
|
||||||
|
*
|
||||||
|
* CONTROLS PROVIDED:
|
||||||
* # Container/separators Controls
|
* # Container/separators Controls
|
||||||
* - WindowBox --> StatusBar, Panel
|
* - WindowBox --> StatusBar, Panel
|
||||||
* - GroupBox --> Line
|
* - GroupBox --> Line
|
||||||
@ -46,7 +60,6 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* RAYGUI STYLE (guiStyle):
|
* RAYGUI STYLE (guiStyle):
|
||||||
*
|
|
||||||
* raygui uses a global data array for all gui style properties (allocated on data segment by default),
|
* raygui uses a global data array for all gui style properties (allocated on data segment by default),
|
||||||
* when a new style is loaded, it is loaded over the global style... but a default gui style could always be
|
* when a new style is loaded, it is loaded over the global style... but a default gui style could always be
|
||||||
* recovered with GuiLoadStyleDefault() function, that overwrites the current style to the default one
|
* recovered with GuiLoadStyleDefault() function, that overwrites the current style to the default one
|
||||||
@ -67,11 +80,10 @@
|
|||||||
*
|
*
|
||||||
* Custom control properties can be defined using the EXTENDED properties for each independent control.
|
* Custom control properties can be defined using the EXTENDED properties for each independent control.
|
||||||
*
|
*
|
||||||
* TOOL: rGuiStyler is a visual tool to customize raygui style.
|
* TOOL: rGuiStyler is a visual tool to customize raygui style: github.com/raysan5/rguistyler
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* RAYGUI ICONS (guiIcons):
|
* RAYGUI ICONS (guiIcons):
|
||||||
*
|
|
||||||
* raygui could use a global array containing icons data (allocated on data segment by default),
|
* raygui could use a global array containing icons data (allocated on data segment by default),
|
||||||
* a custom icons set could be loaded over this array using GuiLoadIcons(), but loaded icons set
|
* a custom icons set could be loaded over this array using GuiLoadIcons(), but loaded icons set
|
||||||
* must be same RAYGUI_ICON_SIZE and no more than RAYGUI_ICON_MAX_ICONS will be loaded
|
* must be same RAYGUI_ICON_SIZE and no more than RAYGUI_ICON_MAX_ICONS will be loaded
|
||||||
@ -87,11 +99,15 @@
|
|||||||
*
|
*
|
||||||
* guiIcons size is by default: 256*(16*16/32) = 2048*4 = 8192 bytes = 8 KB
|
* guiIcons size is by default: 256*(16*16/32) = 2048*4 = 8192 bytes = 8 KB
|
||||||
*
|
*
|
||||||
* TOOL: rGuiIcons is a visual tool to customize raygui icons and create new ones.
|
* TOOL: rGuiIcons is a visual tool to customize/create raygui icons: github.com/raysan5/rguiicons
|
||||||
*
|
*
|
||||||
|
* RAYGUI LAYOUT:
|
||||||
|
* raygui currently does not provide an auto-layout mechanism like other libraries,
|
||||||
|
* layouts must be defined manually on controls drawing, providing the right bounds Rectangle for it.
|
||||||
|
*
|
||||||
|
* TOOL: rGuiLayout is a visual tool to create raygui layouts: github.com/raysan5/rguilayout
|
||||||
*
|
*
|
||||||
* CONFIGURATION:
|
* CONFIGURATION:
|
||||||
*
|
|
||||||
* #define RAYGUI_IMPLEMENTATION
|
* #define RAYGUI_IMPLEMENTATION
|
||||||
* Generates the implementation of the library into the included file.
|
* Generates the implementation of the library into the included file.
|
||||||
* If not defined, the library is in header only mode and can be included in other headers
|
* If not defined, the library is in header only mode and can be included in other headers
|
||||||
@ -165,9 +181,13 @@
|
|||||||
* 0.9 (07-Mar-2016) Reviewed and tested by Albert Martos, Ian Eito, Sergio Martinez and Ramon Santamaria.
|
* 0.9 (07-Mar-2016) Reviewed and tested by Albert Martos, Ian Eito, Sergio Martinez and Ramon Santamaria.
|
||||||
* 0.8 (27-Aug-2015) Initial release. Implemented by Kevin Gato, Daniel Nicolás and Ramon Santamaria.
|
* 0.8 (27-Aug-2015) Initial release. Implemented by Kevin Gato, Daniel Nicolás and Ramon Santamaria.
|
||||||
*
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
|
* raylib 4.6-dev Inputs reading (keyboard/mouse), shapes drawing, font loading and text drawing
|
||||||
|
*
|
||||||
|
* By default raygui depends on raylib mostly for the inputs and the drawing funtionality but that dependency can be disabled
|
||||||
|
* with the config flag RAYGUI_STANDALONE. In that case is up to the user to provide another backend to cover library needs.
|
||||||
*
|
*
|
||||||
* CONTRIBUTORS:
|
* CONTRIBUTORS:
|
||||||
*
|
|
||||||
* Ramon Santamaria: Supervision, review, redesign, update and maintenance
|
* Ramon Santamaria: Supervision, review, redesign, update and maintenance
|
||||||
* Vlad Adrian: Complete rewrite of GuiTextBox() to support extended features (2019)
|
* Vlad Adrian: Complete rewrite of GuiTextBox() to support extended features (2019)
|
||||||
* Sergio Martinez: Review, testing (2015) and redesign of multiple controls (2018)
|
* Sergio Martinez: Review, testing (2015) and redesign of multiple controls (2018)
|
||||||
@ -1183,6 +1203,7 @@ static unsigned int guiIconScale = 1; // Gui icon default scale (if icons
|
|||||||
static bool guiTooltip = false; // Tooltip enabled/disabled
|
static bool guiTooltip = false; // Tooltip enabled/disabled
|
||||||
static const char *guiTooltipPtr = NULL; // Tooltip string pointer (string provided by user)
|
static const char *guiTooltipPtr = NULL; // Tooltip string pointer (string provided by user)
|
||||||
|
|
||||||
|
static unsigned int sharedCursorIndex = 0; // Cursor index, shared by all GuiTextBox*()
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Style data array for all gui style properties (allocated on data segment by default)
|
// Style data array for all gui style properties (allocated on data segment by default)
|
||||||
|
|||||||
Reference in New Issue
Block a user