Basically, XPLOsion is a loader that takes information given in either files or trees and creates a GUI with it. The GUI can be attached to any GUIElement for it's parent (you don't have to rip it off of the root GUI element every time you use it).
All of the information is stored in two types of files: XML and CSS-type files. The XML files are primarily for arranging the GUI layout, and the CSS-like files are for assigning the parameters to the GUI elements. Hence, this is all very similar to HTML and CSS (and you might just be able to make a standard browser with some of the classes).
What kind of GUI can it load? - Anything that inherits IGUIElement and can be built from IGUIElement::deserializeAttributes() (including custom GUI elements)... well, it can.
There's the issue: I need to implement loading for all of the GUI elements in irrlicht. Believe it or not, this is a beginners job and should be very easy. I've already marked the two (yes, only two) places where stuff needs to be added. There is some debug code (using cout), but those lines can be taken out or ignored if you want.
There's a few other minor bugs that could be worked out, but nothing with the core code so far as I know.
Code:
You can currently find it at the very bottom of this page:
http://chronologicaldot.web44.net/proje ... p_xplosion
I give you this link instead of a direct link to the files, because the documentation is right next to it.
Pardon my emphasis on this:
READ THE DOCUMENTATION.
It's full of information - much more than I can give you in this post.
Picture? Well, I've just been tinkering with it. I've got it to correctly load HTML-div-like GUI elements, buttons (require background to be visible), and edit boxes (require borders to be visible).
![Image](http://chronologicaldot.web44.net/projects/cpp/XPLOsion_docs/images/inheritance_no.png)
Yes, it can draw boxes (Those in the picture are divs).