GWork
Skinnable GUI with useful widget collection. Fork of GWEN.
GWork is a skinnable, embeddable GUI library with an extensive control set. Control rendering is abstracted, and can be implemented by any application wishing to use the library. Gwork (*pronounced "gw-orc"*) is a fork of the GUI library [GWEN][gwen]. It was forked to fix issues with GWEN and add new features. The project is written primarily in C++, distributed under the Other license, first published in 2013. Key topics include: allegro5, c-plus-plus, cross-platform, directx11, game-ui.
GWork
Linux & MacOS status: Windows:
GWork is a skinnable, embeddable GUI library with an extensive control set. Control rendering
is abstracted, and can be implemented by any application wishing to use the library.
Gwork (pronounced "gw-orc") is a fork of the GUI library GWEN. It was forked
to fix issues with GWEN and add new features.
A number of rendering backends are provided for use, or as an example for your own:
- Allegro5 (cross-platform).
- DirectX 11 (Windows 7+).
- Irrlicht3D (cross-platform).
- OpenGL2 (cross-platform. Uses GLFW).
- OpenGL Core Profile (cross-platform. Uses GLM, GLEW, GLFW).
- SDL2 (cross-platform).
- SFML2 (cross-platform).
- Software (cross-platform). Render to texture.
Note that the software renderer can be used on any platform, but, obviously, with the penalty of
not having hardware acceleration. For more information see the documentation.
Documentation
Changes
- See CHANGELOG for changes to Gwork, and the differences from GWEN.
Issues
Please report problems to Github or they'll get lost.
Build
Get source code:
- From git:
git clone https://github.com/billyquith/GWork.git gworkor - Download zip & unzip
CMake is used to generate the project files. See cmake -h to see all the generators for
your platform. Only have one renderer per build directory. Choose renderer:
-DRENDER_ALLEGRO5=ON-DRENDER_DIRECTX11=ON-DRENDER_IRRLICHT=ON-DRENDER_OPENGL=ON-DRENDER_OPENGL_CORE=ON-DRENDER_SDL2=ON-DRENDER_SFML2=ON-DRENDER_SW=ON
For example to build Allegro 5 renderer using Ninja:
bashcd gwork mkdir build && cd build # put build files in subdirectory cmake -GNinja -DRENDER_ALLEGRO5=ON .. # create Ninja project files
Providing the dependencies are present, this will create a sample executable. When run it will
demonstrate all of the controls available:
bashninja # build project bin/GworkAllegro5Sample # run sample
Contributors
Showing top 12 contributors by commit count.