Hi, Here're Michael's answers: Cheers Jorge.- ---------- Forwarded message ---------- Date: Fri, 17 Oct 2003 08:40:53 -0400 From: Michael Sweet <mike@easysw.com> To: Jorge Arellano Cid <jcid@dillo.org> Subject: Re: FLTK and Dillo Jorge Arellano Cid wrote:
... 1.- C bindings. Dillo is written in C while FLTK in C++, is there a way to bind C code with FLTK?
Not directly; since FLTK is based heavily on C++, the easiest way to bind C code to a FLTK-based UI is to do the UI in C++ and provide specific C bindings to/from that UI interface. It might also be possible to generate a whole C binding library to FLTK, but that would be a rather large project and keeping things in sync would be a bitch.
2.- Unicode, UTF-8. This was the main reason for considering GTK2. Is FLTK ready to render Unicode characters?
The patched version is, and FLTK 2.0 will fully embrace UTF-8. Rendering of certain languages will likely need work, since the initial version will not likely support the rewriting rules needed for languages like Arabic, Hindi, Vietnamese, etc. Those add a lot of bloat, and coming up with a space/time efficient solution will be a challenge for another day...
3.- Antialiasing. Is it possible?
Text, yes on all platforms, graphics, yes on OSX.
4.- Tables, layout? and extensibility This is maybe the core of it. Currently dillo not only uses GTK1's widgets, but has its own set: dillo widgets or Dw. These Dw are embedded into GTK1 widgets, and Dw can also embedd GTK1 widgets.
Can we do something alike with FLTK?
Yes, via subclassing (which actually makes it a lot simpler than GTK and other toolkits...) There is an excellent table widget in the links pages that Erco has been working on and which will eventually be part of FLTK. The current FLTK layout mechanism is infinitely flexible, but takes a little getting used to since there are no layout "hints", just resizeable widgets inside groups. In short, you group widgets (and sometimes create empty "box" widgets) to get the layout behavior you want. This is actually a lot faster than the older Motif-style layout stuff that GTK+ uses... There are specialized group widgets (Fl_Pack, Fl_Tile, etc.) that provide for special positioning/resizing capabilities separate from the user resizing the window. There is currently no support in 1.x for dynamically-sized labels (e.g. resize a button to hold the localized text), so right now you need to design your UI to leave enough space. FLTK 2.x CVS has some support for this via the specialized Layout widget.
5.- Keyboard bindings Is it possible to customize keyboard bindings?
Keyboard bindings are generally "compiled in", but your app can override them quite easily. There isn't anything like the GTK1 "press your new shortcut while the menu item is selected" feature, something which was (IIRC) removed from GTK2... :(
6.- Copy&Paste (clipboard) Does FLTK provide this? Can it be extended with our custom widgets inside Dillo?
Yes and yes. There is also drag-n-drop support, FWIW... -- ______________________________________________________________________ Michael Sweet, Easy Software Products mike at easysw dot com Printing Software for UNIX http://www.easysw.com
There isn't anything like the GTK1 "press your new shortcut while the menu item is selected" feature, something which was (IIRC) removed from GTK2... :(
It is not removed but disabled by default: you have to add gtk-can-change-accels = 1 to ~/.gtkrc-2.0 -- Melvin Hadasht
participants (2)
-
Jorge Arellano Cid
-
Melvin Hadasht