raygui/README.md

80 lines
4.3 KiB
Markdown
Raw Normal View History

2018-02-12 12:20:15 +01:00
<img align="left" src="logo/raygui_256x256.png" width=256>
2017-07-02 13:37:07 +02:00
2018-02-12 12:20:15 +01:00
**raygui** is a simple and easy-to-use immediate-mode-gui single-file header-only library.
2016-09-07 18:25:06 +02:00
2018-07-21 13:47:07 +02:00
raygui was initially inspired by [Unity IMGUI](https://docs.unity3d.com/Manual/GUIScriptingGuide.html) (immediate mode GUI API).
2016-09-07 18:25:06 +02:00
2018-02-12 12:20:15 +01:00
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, raylib default font...).
2017-06-21 01:19:38 +02:00
2019-01-11 15:27:31 +01:00
raygui is intended for **tools development**; it has already been used on tools like [rFXGen](https://github.com/raysan5/rfxgen), [rGuiStyler](https://raysan5.itch.io/rguistyler) and [rGuiLayout](https://raysan5.itch.io/rguilayout).
2017-08-06 10:58:09 +02:00
2018-07-21 13:47:07 +02:00
<br>
2018-05-11 11:23:34 +02:00
## raygui styles
2019-01-11 15:27:31 +01:00
raygui comes with a predefined LIGHT colors style but additional custom styles can be created using [rGuiStyler](https://raysan5.itch.io/rguistyler) and loaded at runtime using `GuiLoadStyle()` function.
2018-05-03 00:31:49 +02:00
2018-09-05 23:46:03 +02:00
![raygui light design](styles_design/raygui_style_table_light_REV10.png)
2017-06-21 01:19:38 +02:00
2018-09-05 23:46:03 +02:00
![raygui dark design](styles_design/raygui_style_table_dark_REV9.png)
2016-09-07 18:25:06 +02:00
2018-09-05 23:46:03 +02:00
![raygui candy design](styles_design/raygui_style_table_candy_REV1.png)
2018-05-11 11:23:34 +02:00
2018-09-05 23:46:03 +02:00
![raygui cherry design](styles_design/raygui_style_table_cherry_REV1.png)
2018-05-11 11:23:34 +02:00
2018-05-02 22:15:23 +02:00
## raygui history
2019-01-11 15:27:31 +01:00
raygui development started on December 2014 by two intenship students (Kevin and Daniel) guided by me, the objective was creating a simple and easy-to-use immediate-mode-gui module for raylib, intended for tools development. On June 2015, library was mostly functional (including all basic planned controls) and we started working in the styling options for the library, focusing on an easy way to style some controls properties. Consequently, development of [rGuiStyler](https://raysan5.itch.io/rguistyler) also started at that point but resources were quite limited and project didn't move much during the following year, most of the time was invested in [raylib](https://github.com/raysan5/raylib) development.
2017-06-21 01:19:38 +02:00
2019-01-11 15:27:31 +01:00
On June 2016, project was picked up again and raygui 1.0 was released at the end of that month. During August 2016, raygui was used to develop [rFXGen](https://github.com/raysan5/rfxgen) and also an early protoype of [rGuiLayout](https://raysan5.itch.io/rguilayout), mainly as an usage prove test. After that, raygui project was stopped again for the coming months.
2016-09-07 18:25:06 +02:00
2018-07-21 13:47:07 +02:00
On June 2017, a complete redesign of the library started, almost from scratch, all functions were reviewed and mostly rewritten and a brand new styling system was developed. The objective was using raygui professionally in several tools.
2016-09-07 18:25:06 +02:00
2019-01-11 15:27:31 +01:00
On January 2018, two students (Adria and Jordi) started working on raygui and related tools. Consequently, library and tools evolved A LOT in the following months. [rGuiStyler](https://raysan5.itch.io/rguistyler) was [completely redesigned](https://github.com/raysan5/rguistyler/design) and rewritten from scratch. [rGuiLayout](https://raysan5.itch.io/rguilayout) turned from a protoype into a professional software and raygui reached version 2.0 with plenty of new controls and features.
2016-09-07 18:25:06 +02:00
2018-05-02 21:09:18 +02:00
## raygui 2.0 provided controls
2017-06-21 01:19:38 +02:00
2018-05-02 21:09:18 +02:00
#### Container/separator controls, useful for controls organization
2018-05-03 00:48:46 +02:00
2018-09-05 23:46:03 +02:00
<img align="right" src="images/raygui_messagebox.png">
2018-05-03 00:48:46 +02:00
2018-05-02 21:09:18 +02:00
- WindowBox
- GroupBox
- Line
- Panel
2018-05-02 23:48:31 +02:00
2018-05-02 23:51:13 +02:00
#### Basic controls
2018-05-03 00:31:49 +02:00
2018-09-05 23:46:03 +02:00
<img align="right" src="images/rguistyler_v210_light_shot01.png">
2018-05-03 00:31:49 +02:00
2016-09-07 18:25:06 +02:00
- Label
- Button
2018-02-12 12:20:15 +01:00
- LabelButton
- ImageButton
2019-01-11 15:27:31 +01:00
- Toggle
2016-09-07 18:25:06 +02:00
- ToggleGroup
- CheckBox
2017-06-21 01:19:38 +02:00
- ComboBox
2018-05-02 21:09:18 +02:00
- DropdownBox
2018-02-12 12:20:15 +01:00
- TextBox
2019-01-11 15:27:31 +01:00
- TextBoxMulti
- ValueBox
- Spinner
2016-09-07 18:25:06 +02:00
- Slider
- SliderBar
- ProgressBar
2018-05-02 21:09:18 +02:00
- StatusBar
2019-01-11 15:27:31 +01:00
- ScrollPanel
2018-05-02 21:09:18 +02:00
- DummyRec
2018-05-02 23:51:13 +02:00
#### Advance controls
2018-02-12 12:20:15 +01:00
- ListView
- ColorPicker
2018-05-02 21:09:18 +02:00
- GuiMessageBox
- Grid
2016-09-07 18:25:06 +02:00
2018-05-02 22:15:23 +02:00
## Acknowledgements
2016-09-07 18:25:06 +02:00
The following people has invested their time and effort into raygui project. Big thanks to them!
2018-09-05 23:49:44 +02:00
- [Adria Arranz](https://github.com/Adri102) and [Jordi Jorba](https://github.com/KoroBli) for improving raygui, adding new controls and working hard on [rGuiStyler](https://github.com/raysan5/rguistyler) and [rGuiLayout](https://github.com/raysan5/rguilayout) tools redesign and rewrite.
- [Sergio Martinez](https://github.com/anidealgift) for improving raygui and working on original [rGuiStyler](https://github.com/raysan5/rguistyler) tool.
2018-02-12 12:22:01 +01:00
- Daniel Nicolas and [Kevin Gato](https://github.com/Gatonevermind) for working on initial development.