raygui/README.md
2019-08-24 21:06:51 +02:00

4.9 KiB

raygui is a simple and easy-to-use immediate-mode-gui library.

raygui was initially inspired by Unity IMGUI (immediate mode GUI API).

raygui was originated as an auxiliar module for raylib to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders, raylib default font...).

raygui is intended for tools development; it has already been used to develop the following tools: rFXGen, rTexViewer, rGuiStyler and rGuiLayout.


raygui styles

raygui comes with a default style automatically loaded at runtime:

raygui default style

Some additional styles are also provided for convenience, just check styles directory.

Custom styles can also be created very easily using rGuiStyler tool.

Styles can be loaded at runtime using raygui GuiLoadStyle() function. Simple and easy-to-use.

raygui history

raygui development started on December 2014 by two internship students (Kevin and Daniel) guided by me, 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 basic controls) and we started working in the styling posibilities for the library, focusing on an easy way to style controls properties. Consequently, development of rGuiStyler also started at that point... but resources were quite limited and project was stopped for several months, most of the time was invested in raylib development.

On June 2016, project was picked up again and raygui 1.0 was released by the end of that month. During August 2016, raygui was used to develop rFXGen and also an early protoype of rGuiLayout, those tools were a testbed for the library. By the end of 2016, raygui project development was stopped again for several months.

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. It was the beginning of raygui 2.0.

On January 2018, two students (Adria and Jordi) started working on raygui and related tools; library evolved considerably in the following months. rGuiStyler was completely redesigned and rewritten from scratch (rGuiStyler v2.0). rGuiLayout turned from a protoype into a professional software and raygui reached version 2.0 with plenty of new controls and features.

On July 2018, I started working full time on raygui and its tools, improving the library considerably. On October 2018 Sergio joined the project and focused efforts on rGuiLayout tool redesign. We reached 2019 with continuous improvement and redesigns of mostly all raygui functions along rGuiLayout 2.0 and rGuiStyler 3.0.

On March 2019, the first set of new raygui tools was published: rFXGen 2.0, rTexViewer 1.0 and rIconPacker 1.0.

From March 2019 to June 2019 raygui development decelerated, Sergio left the project and efforts were focused on raylib 2.5, during this time one external contributor, Vlad Adrian, completely redesigned GuiTextBox() and related controls and version was bumped to raygui 2.5.

During summer 2019 lots of raygui functions were reviewed, breaking compatibility to any previous version and pointing to a raygui 2.6 update.

raygui 2.6 provided controls

Container/separator controls, useful for controls organization

  • WindowBox
  • GroupBox
  • Line
  • Panel

Basic controls

  • Label
  • Button
  • LabelButton
  • ImageButton
  • Toggle
  • ToggleGroup
  • CheckBox
  • ComboBox
  • DropdownBox
  • TextBox
  • TextBoxMulti
  • ValueBox
  • Spinner
  • Slider
  • SliderBar
  • ProgressBar
  • StatusBar
  • ScrollBar
  • ScrollPanel
  • DummyRec
  • Grid

Advance controls

  • ListView
  • ColorPicker
  • MessageBox
  • TextInputBox

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 for further details.