DaevsGUI

From DaevsGUI

(Redirected from Main Page)
Jump to: navigation, search

Project pages

Go to back to DaevsGUI's home page or forums

Image:Project.png The project

Image:Users.png Documentation for users

Image:Files.png Files

Description

DaevsGUI is an open-source (BSD-licensed) C++ GUI library designed for platform-independent custom GUI's. It's aim is to be quick and easy to use, but still have a rich set of functions and the flexibility to add new modules / handlers easily. This means a renderer of choice (OpenGL but possibly soon also DirectX, SDL, ...). Also input libraries as well as image loaders and font loaders can be chosen independently. It's transparent design gives you many opportunities for certain solutions, making it easy to be wrapped around or used in for example games.


The library is designed fully modular / object-oriented. It is (or aims to be) also const-correct. It does use exceptions, but only exceptionally, heh. It uses reference counting to save memory in places (two resources can both read the same data) as well as making the library free of memory-leaks in other places. For inter-object communication with no set parent-child relation (to resources and to library-user code) a signal and slot event propagation system is used. Also the use of 'operator' classes, these are classes that can be between a parent-child connection operating on the child's 'output' (quads to be drawn), create a very flexible way of rendering GUI element. Example of such operator classes are the Renderers (drawing the quads) and soon the Cachers (caching quad data), Rotators (rotating quads), Colourizers (colouring quads), etc.


This project was found in late April 2008. However, in the meanwhile I gained a lot of experience, and therefore restarted the project in October 2008. At 2010 Q2 there is the first version available.

The project is in a beta stage. You can use the library, but the site / documentation is incomplete or not up-to-date (yet). Also, the library still needs a lot more added implementations. I would be really great-full to receive some feedback from users, this is necessary for building a usable library.

Views
Personal tools
Other