|
@@ -1,35 +1,45 @@
|
|
<img align="left" src="logo/raygui_256x256.png" width=256>
|
|
<img align="left" src="logo/raygui_256x256.png" width=256>
|
|
|
|
|
|
-**raygui** is a simple and easy-to-use immediate-mode-gui library.
|
|
|
|
|
|
+**raygui is a simple and easy-to-use immediate-mode-gui library.**
|
|
|
|
|
|
-raygui was initially inspired by [Unity IMGUI](https://docs.unity3d.com/Manual/GUIScriptingGuide.html) (immediate mode GUI API).
|
|
|
|
|
|
+`raygui` was initially inspired by [Unity IMGUI](https://docs.unity3d.com/Manual/GUIScriptingGuide.html) (immediate mode GUI API).
|
|
|
|
|
|
-raygui was originated as an auxiliar module for [raylib](https://github.com/raysan5/raylib) to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders...).
|
|
|
|
|
|
+`raygui` was originated as an auxiliar module for [raylib](https://github.com/raysan5/raylib) to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders...).
|
|
|
|
|
|
-raygui is intended for **tools development**; it has already been used to develop the following tools: [rFXGen](https://github.com/raysan5/rfxgen), [rTexViewer](https://raylibtech.itch.io/rtexviewer), [rTexPacker](https://raylibtech.itch.io/rtexpacker) [rGuiStyler](https://raylibtech.itch.io/rguistyler), [rGuiLayout](https://raylibtech.itch.io/rguilayout) and [rGuiIcons](https://raylibtech.itch.io/rguiicons)
|
|
|
|
|
|
+`raygui` is intended for **tools development**; it has already been used to develop [multiple publised tools](https://raylibtech.itch.io/rguiicons).
|
|
|
|
|
|
|
|
+<br>
|
|
<br>
|
|
<br>
|
|
|
|
|
|
-## raygui provided controls
|
|
|
|
|
|
+## features
|
|
|
|
|
|
-#### Container/separator controls
|
|
|
|
-```
|
|
|
|
-WindowBox | GroupBox | Line | Panel
|
|
|
|
-```
|
|
|
|
-#### Basic controls
|
|
|
|
|
|
+ - Immediate-mode gui, no retained data
|
|
|
|
+ - +28 basic and advance controls provided
|
|
|
|
+ - Powerful styling system for colors, font and metrics
|
|
|
|
+ - Standalone usage mode supported (for other graphic libs)
|
|
|
|
+ - Icons support, embedding a complete 1-bit icons pack
|
|
|
|
+ - Multiple tools provided for raygui development
|
|
|
|
+
|
|
|
|
+## raygui controls
|
|
|
|
+
|
|
|
|
+### basic controls
|
|
```
|
|
```
|
|
Label | Button | LabelButton | ImageButton | Toggle | ToggleGroup | CheckBox
|
|
Label | Button | LabelButton | ImageButton | Toggle | ToggleGroup | CheckBox
|
|
ComboBox | DropdownBox | TextBox | TextBoxMulti | ValueBox | Spinner | Slider
|
|
ComboBox | DropdownBox | TextBox | TextBoxMulti | ValueBox | Spinner | Slider
|
|
SliderBar | ProgressBar | StatusBar | ScrollBar | ScrollPanel | DummyRec | Grid
|
|
SliderBar | ProgressBar | StatusBar | ScrollBar | ScrollPanel | DummyRec | Grid
|
|
```
|
|
```
|
|
-#### Advance controls
|
|
|
|
|
|
+### advance controls
|
|
```
|
|
```
|
|
ListView | ColorPicker | MessageBox | TextInputBox
|
|
ListView | ColorPicker | MessageBox | TextInputBox
|
|
```
|
|
```
|
|
|
|
+### container/separator controls
|
|
|
|
+```
|
|
|
|
+WindowBox | GroupBox | Line | Panel
|
|
|
|
+```
|
|
|
|
|
|
## raygui styles
|
|
## raygui styles
|
|
|
|
|
|
-raygui comes with a [default](styles/default) style automatically loaded at runtime:
|
|
|
|
|
|
+`raygui` comes with a [default](styles/default) style automatically loaded at runtime:
|
|
|
|
|
|

|
|

|
|
|
|
|
|
@@ -41,10 +51,6 @@ Custom styles can also be created very easily using [rGuiStyler](https://raylibt
|
|
|
|
|
|
Styles can be loaded at runtime using raygui `GuiLoadStyle()` function. Simple and easy-to-use.
|
|
Styles can be loaded at runtime using raygui `GuiLoadStyle()` function. Simple and easy-to-use.
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-*rGuiStyler v3.1 - raygui styles editor, useful to create custom styles*
|
|
|
|
-
|
|
|
|
## raygui icons
|
|
## raygui icons
|
|
|
|
|
|
`raygui` supports custom icons provided as an external array of data. To support icons just define `RAYGUI_SUPPORT_RICONS` before including `raygui`.
|
|
`raygui` supports custom icons provided as an external array of data. To support icons just define `RAYGUI_SUPPORT_RICONS` before including `raygui`.
|
|
@@ -67,14 +73,33 @@ or use the provided `GuiIconText()` function to prepend it automatically, using
|
|
if (GuiButton(rec, GuiIconText(RICON_FILE_OPEN, "Open Image"))) { /* ACTION */ }
|
|
if (GuiButton(rec, GuiIconText(RICON_FILE_OPEN, "Open Image"))) { /* ACTION */ }
|
|
```
|
|
```
|
|
|
|
|
|
-## building as shared library
|
|
|
|
|
|
+## raygui support tools
|
|
|
|
+
|
|
|
|
+### [rGuiStyler](https://raylibtech.itch.io/rguistyler)
|
|
|
|
+
|
|
|
|
+A simple and easy-to-use raygui styles editor.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### [rGuiIcons](https://raylibtech.itch.io/rguiicons)
|
|
|
|
+
|
|
|
|
+A simple and easy-to-use raygui icons editor.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### [rGuiLayout](https://raylibtech.itch.io/rguilayout)
|
|
|
|
+
|
|
|
|
+A simple and easy-to-use raygui layouts editor.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## building
|
|
|
|
|
|
-`raygui` is intended to be used as a portable library to be integrated in code form into the target project but some users could require a shared/dynamic version of the library, for example, to create bindings. In that case, `raygui` can be built as a shared library using:
|
|
|
|
|
|
+`raygui` is intended to be used as a portable single-file header-only library, to be directly integrated into any C/C++ codebas but some users could require a shared/dynamic version of the library, for example, to create bindings. In that case, `raygui` can be built as a (Linux) shared library using:
|
|
```
|
|
```
|
|
mv src/raygui.h src/raygui.c && gcc -shared -fpic -DRAYGUI_SUPPORT_RICONS -DRAYGUI_IMPLEMENTATION -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 src/raygui.c -o raygui.so
|
|
mv src/raygui.h src/raygui.c && gcc -shared -fpic -DRAYGUI_SUPPORT_RICONS -DRAYGUI_IMPLEMENTATION -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 src/raygui.c -o raygui.so
|
|
```
|
|
```
|
|
|
|
|
|
-license
|
|
|
|
--------
|
|
|
|
|
|
+## license
|
|
|
|
|
|
raygui is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check [LICENSE](LICENSE) for further details.
|
|
raygui is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check [LICENSE](LICENSE) for further details.
|