Submitted by , posted on 12 September 2000

Image Description, by

Here's another taste of the next revision of my GUI system. Some of you may remember my last IOTD of the GUI system You can check it out here.

I had made a huge mistake in my initial design, so unfortunately I had to recode most of the underlying structure from scratch. There's a big difference in appearance this time as well. YES it looks like windoze, but it's a familiar interface, and it's easier to debug and get an idea of how things should be work. Anyway feel free to give me feedback.

Features finished
  • Fully customizable menus (top level, and submenu levels) Right now the menus can only go one level deep
  • Window and Control clipping.
  • Textbox
  • Progress bar
  • buttons (the buttons change appearance when clicked and only execute the click code when the user releases the mouse button over the GUI button.. ala win9x)
  • Status bar
  • fully functional console. (parameterized commands, cvars (via set command), etc..)
  • commands in the console can be executed like "command(param1, param2)" or "command param1 param2"
  • resizing and z ordering of windows
  • dynamic background in main window.. you can specify an image or a UDF rendering function
  • proportional fonts, (even a tool to create the textures on the fly) The text is a little fuzzy right now.. It's dude mostly to scaling the texture. This is on my list of things to fix.
  • Each control/window has User Defined Function support for several events as well.

    I'm working on getting the rest of the controls done now.. Also I plan to implement a very basic scripting system for the GUI as well. The scripting system is low priority right now though. I'm also working on getting it running under linux.. this could take a while though. The whole thing is done in C++, and uses classes extensively

    Joe Silver
    Axe Software

    Image of the Day Gallery



    Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
    Please read our Terms, Conditions, and Privacy information.