FryGUI is a new, entirely free GUI system for ALL platforms, based on a system of screens, not windows.
Screens?
Well, rather than have your GUI consist of a number of windows, each containing various gadgets, FryGUI replaces that with the concept of Screens, made up of Panels, in which sit your gadgets.
Individual panels can be used in any number of screens, allowing you to have a single title bar at the top of every screen. Or you can have menu panel allowing quick navigation to any other screen.
The GUI system will only concern itself with the current screen, so the program's speed is maintained regardless of how many screens you create.
Perfect for the menu system for an arcade shooter, and perfect for the entire interface for a complex management title.
Events
Each of FryGUI's gadgets generates an event inside the GUI system. In your game's main loop you can poll the event list and react to the events accordingly, rather than checking each individual gadget for a response.
Links
The button gadgets in FryGUI have an optional Link field. By adding a link to the button, FryGUI will automatically change to the required screen when you click the button.
Skinnable
FryGUI's gadgets are fully skinnable by altering the graphics stored in a Skins folder. You can use mutliple skins, and even change on the fly.
OPTIONAL XML generated interface
By using Brucey's libXML module, you can develop your interface without having to get bogged down with code. This provides a quicker way of throwing together the screens, and it also gives the opportunity for any players to tweak the game's skin, or even develop an entirely new one.
Extensible
You can develop new gadgets to suit your individual purposes simply by extending the existing base gadget and adding the features you require.
Gadgets currently supported
FryGUI currently uses a selection of GUI essentials, as follows:
Buttons
Checkboxes
Combo Boxes
Scrollbars
Text Fields
Labels
Progress Bars
Images
Scrollboxes
Tables (or listboxes if you prefer)
Canvases
Date selectors
Search boxes
Changing cursors
I will be expanding upon the existing gadgets to provide more features.
FryGUI can be downloaded from Here
Due to my own shortsightedness, you'll need to put these executable files in the same directory as the source, because I forgot to include the skin data. That'll be rectified in the coming days.
Note - if you do not have Brucey's LibXML module, remove the xmlfrygui.mod folder if you are having difficulties building the module.
This release is still beta, so let me know if there are any errors.
Thanks also go to Diablo. Whilst trying to adapt his GUI to support a screen system, I learned a lot about half-decent code structure, as anyone who's seen my other projects can testify!
Screens?
Well, rather than have your GUI consist of a number of windows, each containing various gadgets, FryGUI replaces that with the concept of Screens, made up of Panels, in which sit your gadgets.
Individual panels can be used in any number of screens, allowing you to have a single title bar at the top of every screen. Or you can have menu panel allowing quick navigation to any other screen.
The GUI system will only concern itself with the current screen, so the program's speed is maintained regardless of how many screens you create.
Perfect for the menu system for an arcade shooter, and perfect for the entire interface for a complex management title.
Events
Each of FryGUI's gadgets generates an event inside the GUI system. In your game's main loop you can poll the event list and react to the events accordingly, rather than checking each individual gadget for a response.
Links
The button gadgets in FryGUI have an optional Link field. By adding a link to the button, FryGUI will automatically change to the required screen when you click the button.
Skinnable
FryGUI's gadgets are fully skinnable by altering the graphics stored in a Skins folder. You can use mutliple skins, and even change on the fly.
OPTIONAL XML generated interface
By using Brucey's libXML module, you can develop your interface without having to get bogged down with code. This provides a quicker way of throwing together the screens, and it also gives the opportunity for any players to tweak the game's skin, or even develop an entirely new one.
Extensible
You can develop new gadgets to suit your individual purposes simply by extending the existing base gadget and adding the features you require.
Gadgets currently supported
FryGUI currently uses a selection of GUI essentials, as follows:
Buttons
Checkboxes
Combo Boxes
Scrollbars
Text Fields
Labels
Progress Bars
Images
Scrollboxes
Tables (or listboxes if you prefer)
Canvases
Date selectors
Search boxes
Changing cursors
I will be expanding upon the existing gadgets to provide more features.
FryGUI can be downloaded from Here
Due to my own shortsightedness, you'll need to put these executable files in the same directory as the source, because I forgot to include the skin data. That'll be rectified in the coming days.
Note - if you do not have Brucey's LibXML module, remove the xmlfrygui.mod folder if you are having difficulties building the module.
This release is still beta, so let me know if there are any errors.
Thanks also go to Diablo. Whilst trying to adapt his GUI to support a screen system, I learned a lot about half-decent code structure, as anyone who's seen my other projects can testify!