Hi,
Every time I want to post something on FengGUI-matter I’m not sure in which sub-forum I am supposed to put it… Anyway.
This is just a brief note on some progress we made with FengGUI lately. Basically, we improved existing but rudimentary widgets. The following list tries to outline the main points:
- XML theme loader: We had that laying around for quite some time but managed only recently to get in shape. It is now possible to describe the theme of pretty much every widget in FengGUI with a few lines in XML. We implemented a QtCurve clone as a proof-of-concept. The QtCurve theme file can be found here if you are interested in how you can describe widget appearance in FengGUI. A final XSD schema is still pending though.
- mouse cursors: Adding mouse cursors was a simple thing. The text cursor, hand cursors and all resize cursors are available per default. But users may add their own cursors as well. While we can rely on AWT’s standard cursors for JOGL, we provide simple bitmaps displaying the cursors for LWJGL to keep both bindings absolutely separated as already mentioned in the past.
- text editor enhancements: There have been some complaints about missing functionality in the text editor. Essentially the mouse support has been critizied. One can now select and edit parts of a text as in common text editors. However, it appeared that the text editor requires a lot of love and effort. Some minor bugs as a hidden text cursor for one-line text fields and missing key handlings for the “home” and “end” key wil be dealt with in the future. Actually we tried to use the bug tracker provided by the java.net platform but it is so slow that it takes long to enter the bug than to solve it.
- font: The process of rendering fonts into a texture is now encapsulated into a so-called font factory. The font factory is basically a list of render stages where each stage is responsible for drawing or modifying the font, such as applying a fill-pattern or drawing an outline. After all characters of some alphabet have been rendered, the texture is uploaded to video mem or saved to the hard drive. Fonts are now saved as two files: one plain PNG keeping the rendered character and one .font file that keeps the description of where which character is located on the texture according to some alphabet. Both information was kept in one file previously but people requested to be able to modify the character texture manually which is why we separated the image from the character locations.
We also enhanced several structural but minor things mainly to improve robustness. Some smaller usuability issues have been improved as well such as better scrolling behaviour. The next (downloadable) alpha release can be expected to come in the next couple of days.
Johannes
PS: Here is a screenshot that shows the QtCurve theme in action (click to enlarge):

