Progress on FengGUI

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):


https://fenggui.dev.java.net/images/screenshot9Thumb.jpg

Can you post your screenshot as a PNG - seems like theres a lot of furr on the fonts - I suspect that’s because of the JPG.

Kev

I suspect that’s because of the JPG.

Of course. PNG would be cleaner and smaller.

Do you know how hard it is to get furr effects? :wink:

Endolf

[quote]Can you post your screenshot as a PNG - seems like theres a lot of furr on the fonts - I suspect that’s because of the JPG.
[/quote]
sure.

Johannes

edit: For those who cannot open the attachment for some reason, here is the same picture as a PNG again.

I uploaded a new alpha release this afternoon (you can download it from here). It contains all the new features and enhancements mentioned above.

We also updated the webstart demo to show some of the new features such as the (widget sensitive) cursors and new theme model based on XML.

I hope you like it :slight_smile:

Johannes

I must say it’s really impressive… did you finally get it running (with the getGL() bug fix) with Xith3D ? It seems like a really nice plus to have.

I’m to lazy to start searching but does this work with jnode?

Uh, err, sorry for getting back on you so late! My non-FengGUI live keeps me on edge lately which is why I had to withdraw some time frames from FengGUI (mostly reading and answering to forum posts).

[quote]I must say it’s really impressive… did you finally get it running (with the getGL() bug fix) with Xith3D ? It seems like a really nice plus to have.
[/quote]
Thanks for your compliment!

Not yet I am afraid. We had several urgent feature requests in the past few weeks such that I had to postpone this rather personal (though important) idea. However, I still intend to get FengGUI running with Xith, but there is too much going on at the moment. Thus I believe it wont be before January that I resume this issue. I hope you are not disappointed :slight_smile:

[quote]I’m to lazy to start searching but does this work with jnode?
[/quote]
No, currently it does not. And I am not so much in JNode to estimate how much effort it would be to get FengGUI run with JNode. However, inspired by your question I will contact the JNode guys and check out.

Johannes