About half of the changes you requested have been done so far. However because the GUI is largely driven by various libraries, which I do not have source for, I have run into a few walls.
Having looked at where the DLL is now, and where it needs to be, I have decided that some radical changes need to be made - BlueGUI version 2.0.0, the main *planned* differences being:
- Written from scratch in C++ using pure Win32 API, this will make it faster, more flexible, and less prone to bugs.
- Command names will be like this: createGadgetButton rather than CREATE GADGET BUTTON, its easier to read, and easier to type
- The commands and interaction system will be different, rather than using a GadgetID, when you create a gadget, a handle is returned, and you pass that handle to other commands.
eg:
newButton=createGadgetButton("OK")
positionGadget newButton,10,10
This makes life easier as you don't have to worry about what IDs you have used, and you don't have to write extra code just to find unused IDs. It also encourages good programming style, and allows me to keep the memory usage down.
- New drawing commands enabling you to draw on gadgets
- Some missing features / basic gadget types such as toolbars, statusbars etc.
- A visual GUI designer
- The ability to save and load GUI layouts
- A neater parent/child system
- More useful operating system commands
It will still be inexpensive, and version 1.x users will get a free or discounted upgrade. Does this sound OK?
I will endeavour to fix any remaining 1.x issues as well.
I'd like to hear any feedback or comments.