Background

HoboBen

Hag (Half A Gui) was my (n+1)th attempt at a GUI for Cobra. My (n-1)st attempt was too specialised, my (n)th was far too generalised (and therefore bloated and unmaintainable!).

Hag is simple, and that's the strength of it. Beyond the management of GUI elements, everything else (tooltips, the mouse, etc) is left in your full control.

Hag doesn't have a window manager (therefore it's only "Half" a GUI), but it should be relatively easy to extend hag to use one, if you need it.

Hag is fully skinnable too, so you can use it for applications, level editors, in-game menus, etc.

My aim was to create something that would have gui elements that at least matched native gui elements in terms of features. This meant that I couldn't be statisfied with a simple text-box: I needed something where you could use the mouse to highlight text, use a clipboard, etc. If a hag gui element can't do what a native implementation can do, consider it a bug and report it.

I also wanted hag to be customisable enough that you could create a passable imitiation of Windows XP, Vista, OS X, GTK+, Qt and any existing (or imaginable) gui environment or toolkit by changing only the themes. Currently there is only the single theme but if you cannot use hag to fully imitate a particular existing GUI implementation, consider it a bug and report it.

As you can probably tell, I'm commited to making this the ultimate GUI library for Cobra. While other implementations may be easier to use, quicker to implement, or perhaps even faster than hag, it think it would be difficult to match hag for the quantity and full-implementation of features. If there's something missing, that's a bug - report it!

Enjoy!