Skip to content
Skinnable GUI with useful widget collection. Fork of GWEN.
Branch: gwork
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
attic
ci/travis pre-commit fixes Nov 5, 2017
cmake Renamed `Gwk::Input::OpenGL` to `Gwk::Input::GLFW3`. May 20, 2018
docs Bump copyright year. May 22, 2018
source Remove double backslash Aug 6, 2018
.appveyor.yml pre-commit fixes Nov 5, 2017
.editorconfig Add editor config. Aug 13, 2016
.gitattributes pre-commit fixes Nov 5, 2017
.gitignore
.travis.yml pre-commit fixes Nov 5, 2017
CHANGELOG.md Fix find. Jul 12, 2018
CMakeLists.txt pre-commit fixes Nov 5, 2017
LICENSE.md Bump copyright year. May 22, 2018
README.md

README.md

GWork

Linux & MacOS status: Build Status Windows: Build status

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 gwork or
  • 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:

cd 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:

ninja                       # build project
bin/GworkAllegro5Sample     # run sample
You can’t perform that action at this time.