FryGUI

BlitzMax Forums/BlitzMax Programming/FryGUI

At long last, I've finally updated this, and it can be downloaded via the link in the sig.

The new gadgets are as follows:

Canvases: actual real, live canvases that work and everything. By declaring the function you want to be called whenever the canvas is due to be redrawn, you can have dynamic graphics integrated right into the GUI.

In addition to being able to alter the graphics, the canvas also registers button presses and cursor location like any other gadget, which makes it ideal for use in any game as the main game display.

Image buttons: Wahey! Icon city! Buttons can now be formed using images, with or without their standard background. The hitboxes for these buttons can be rectangles or circles, depending on your needs.

Date panels: Seeing as I needed date panels for my own use, I figured others might too. They work like a combo box that displays a date, and when clicked a mini-calendar will drop down to allow you to choose a different date.

Dates are stored in the system as Julian Days, with January 1st 1900 (rather than the standard 4713BC, to save on memory usage, though this can be easily altered) as the zero date. Please refer to the fry.frydate module for further information and functions to manipulate and use these dates.

Searchbox: Another gadget similar to a combo box, except this time it comes with a text field built into the drop down menu. Search boxes will call the function of your choice when text is entered, and can be used where you want the ability to narrow down the options in a combo box. Refer to the example contained in the zip file for more information... hopefully it'll be clear.

Cursors: The GUI now supports varying cursors. Nothing too extensive as yet, there are cursors for hovering a mouse over a clickable gadget and pressing down that gadget. Text carets have still to be included.



This GUI should be stable but let me know if you've encountered any errors. The system comes with a number of extra modules which may provide some extra use, but only a few functions are used by the GUI (for example, in fry.frydraw, only fry_SetViewport is used, with the rest being effective WIPs for other projects).

The modules have been pre-built for Mac OS X and Windows.

Hopefully I can get things together over the next while and clean up the loose ends.