Quote: "Chris,
Okay, here are my requirements; do you think BBB GUI can do all of this?
1. Must create a borderless form, canvas, or whatever.
"
It should. I say should because it deals with low level windows messages, but I do not use windows forms much.
* BBB Window_Make has two style parameters
* Style parameter is supposed to control the look of the form
* The BBB GUI constant WS_BORDER sets the border as active, therefore it must be possible for it to be borderless
* Even if this failed; BBB GUI has a skins system, but you need to create a windows theme for the application using form resources; not my best topic
Quote: "2. Must be able to set the background image to a single image, or multiple images overlaid on a background image."
The BBB GUI can make image controls. An image control can be used as a form background. BBB GUI can also draw using graphic functions.
Quote: "3. Must be able to load a custom font."
This is trivial for BBB GUI. It can even format the font.
Quote: "4. Must be able to print using the custom font with a transparent background, foreground color."
Do you mean print on paper? I cannot remember how to print a form to a printer; I only know how to do that with WPF.
If you mean display text on your game window to appear as regular text with no background; this is possible but I do not know if it will be double buffered so that it does not flicker all of the time.
I am not sure why you would want to do that since regular text commands would be easier to use.
Quote: "5. Must be able to update this form without inteferring with the DBPro frame rate."
Trivial, DBPro draws onto a form anyway, any updating of an additional form is mostly handled by the operating system.
There is one thing to watch out for and that is the dragging of the form around; I am 100% sure that it will either flicker or temporarily pause your program. This is even the case to a degree with Microsoft's latest window drawing technology, although it is more forgiving.
Unparenting the form may fix the problem, but that is a wild guess.
6. Must be able to set the transparency of the form on the fly.
This tecnically posible, but not briliant with the old forms. You might suffer with flickering, but I could be wrong; the last time I tested this was when I had XP; I think Windows Vista or above are more forgiving with form transparency; note that a forms window is different to a WPF window.
One of the beauties of the old original Blue GUI was its ability to draw DBPro images onto its forms, thus alowing you to make viewports. That is likely not possible with BBB GUI, or at best difficult to hack.
Quote: "Right now, I am using sprites.
1. I first load the bitmap background #1
2. I then load the display overlay bitmap #2
3. I then set my custom font and use the TEXT command to place the aircraft on the BITMAP.
4. I then copy the overlay bitmap #2 over the first. It is a PNG with transparency.
5. I then GET IMAGE of the bitmap.
6. I then create a SPRITE of the image and position it in the upper right of the screen.
Updating the image of the sprite causing a halt of the main game loop until it is done. It is very annoying.
Any ideas? "
Yes, drop bitmaps for render targets. Install Matrix1 utilities and use Draw To Image, followed by Draw To Camera/Bitmap/Target to restore drawing to the screen. Paste the UI image to the screen before the sync call; this is much faster; you can even add some interesting effects to UI using the
ImageKit to create fast rendering drop shadows and whatnot using shaders. Less complicated than it sounds.
TopGUI is not a bad user interface system for DBPro, it adds 7,000 lines of code to your project, but provides you with a great deal of control.