I've been looking at all kinds of GUI libraries different people have written for Blitz3D. Some have editors, some don't. Some are sprite-based co-existing with your 3D world, others have their own, while yet others draw on the screen directly. Yada yada yada.
But they all seem to have some really annoying features in common:
You need to poll controls directly in your code.
I.e. they pollute your main event loop.
Has anyone written a control library where, at least in theory, you can:
1) Instance the controls (once) -- preferably using a resource file created with a GUI interface editor.
2) Call Update_GUI() once in your main event loop.
And everything just works?
There's one obvious obstacle to getting this working completely: how do you make a control do something?
Well suppose you have a routine called DoConsoleCommand(Command$) that does whatever you like based on Command$ (like a console, of course -- indeed, this would be the same backend your console uses). It should be possible to attach commands to controls when you instance them (e.g. attach a command to a control's MouseUp event).
(The one ugly side of this is that you need to write DoConsoleCommand yourself or your library won't run.)
The reason I'm asking this, is that if someone has written such a library, I'd rather use it than write one from scratch. Otherwise, I'll continue working on my own GUI library.
But they all seem to have some really annoying features in common:
You need to poll controls directly in your code.
I.e. they pollute your main event loop.
Has anyone written a control library where, at least in theory, you can:
1) Instance the controls (once) -- preferably using a resource file created with a GUI interface editor.
2) Call Update_GUI() once in your main event loop.
And everything just works?
There's one obvious obstacle to getting this working completely: how do you make a control do something?
Well suppose you have a routine called DoConsoleCommand(Command$) that does whatever you like based on Command$ (like a console, of course -- indeed, this would be the same backend your console uses). It should be possible to attach commands to controls when you instance them (e.g. attach a command to a control's MouseUp event).
(The one ugly side of this is that you need to write DoConsoleCommand yourself or your library won't run.)
The reason I'm asking this, is that if someone has written such a library, I'd rather use it than write one from scratch. Otherwise, I'll continue working on my own GUI library.