Thanks Levia, this is closer to what I'm looking for, but it's still missing the mark a bit for me. Maybe if I start with what I know, people can fill in the gaps?
As I understand it, CEGUI strictly by itself is a collection of widget classes that can operate with themselves and each other to form a GUI. CEGUI (magically? Maybe voodoo? It's never clear) manages to get its widgets rendered in various graphics APIs. The user "injects" inputs into CEGUI, which sends that data to all the widgets. From what I gather, widgets are organized into groups called pages, which I guess are flipped between like in a book (using magic?
Some (Wiccan?) plugin called Falagard allows XML specification of pages, and probably a bunch of other fun things.
I have no idea how events, in the classic GUI sense of the word, get propogated to members. I have no idea how widgets are built. For instance, in another GUI library I'm familiar with FoxGUI
, widgets are built up by inheriting from more base members, such as the FXWindow class.
While I'm on the subject of FoxGUI, this
is exactly what I'm looking for for an intro to CEGUI. I found that page quickly brought me up to speed on how FoxGUI operated.
I have no idea how different visual styles are interpreted to or from the core library (for instance, how buttons are spaced based on the fact that different visual styles may have different sized buttons). I have no idea how the widgets get converted from logical entity to physical construct on the user's screen. I have no idea what sort of art assets a GUI uses, or how its used.
There's probably a whole host of other details I don't even know I don't know. If someone could take what I have so far, and fill in some of the details, I'd be closer to a proper understanding of what's going on.