The Beginner Guide - Overview to CEGUI

From CEGUI Wiki - Crazy Eddie's GUI System (Open Source)
Jump to: navigation, search

Written for CEGUI 0.7

Works with versions 0.7.x (obsolete)

The Beginner Guide series

This page is part of a series, use links above to easily navigate through all chapters of the series.

This tutorial is for CEGUI versions up to 0.7.7. For later releases, see the tutorials in the main documentation.

CEGUI is a GUI library so it's job is to create your GUI. CEGUI makes use of some libraries and is divided in a number of subprojects. This article should just give you a simple overview.

Creating your GUI

There are different options to create/discribe your GUI (more in the next Guide).

  • constuct it from c++ code
  • constuct it using Lua or python code
  • constuct it using XML (and the events from code)


CEGUI uses different files/fileformats to load your stuff.

  • imageset to use images and imagesets
  • font for fonts ;)
  • scheme discribes the look
  • layout discribes your GUI windows and their parts
  • config a configuration (you do not need this)
  • animation animations for advanced behavior
  • falagard xml falagard files provide lookAndFeel for advanced behavior or completely new window types

CEGUI subprojects

CEGUI divides into the following subprojects:

  • Render modules (discussed in the next Guide)
  • falagard window renderer
  • image codecs
    • tga image codec
    • silly image codec
    • devil image codec
    • freeimage image codec
    • corona image codec
    • stb image codec
  • XML parser
    • expat parser
    • xerces parser
    • tinyxml parser
    • rapidxml parser
    • libxml parser
  • Scripting modules
    • Lua (comming with tolua++)
    • Python

You can choose what module to use in the build-config file (projects/premake/config.lua).
You need a renderer to display your GUI. Which one to use depends on your Engine/Application you want to programm.
You also need an image codec and a XML parser. The main differences of the modules are in performance so default should be fine for you as a Beginner.
You can use Lua or Python scripting module or none depending on what you like most.
The Falagard window renderer will be necessary for advanced features like new window forms and behavior. Falagard is the "factory" that combines the engine(rendererset) with the layout (the LooknFeel). With Falagard WR you can make something like "blueprints" of windows.


This provides a very basic overview to CEGUI.

User:DEvil HUnter 19:30, 28 August 2012 (MEZ)