matthiasm wrote:
> 
> Adding to my previous mail, here are a few features I would like to see 
> in the next FLTK:
> 
> - built in table widget
> - built in tree widget (using groups and children)
> - fully featured multi-column browser
These can be add-on widgets, added to the FLTK when matured.

 > - printing support

+ For me this is a MUST. I have played with cairo implementation and 
that is an easiest route not only for printing but also for porting to 
other platforms (where cairo is implemented). I have already working 
patches for fltk-1.1.8 tree with exception of images (which should be 
properly cached using surfaces to speed up drawing if transformation is 
applied) Need also to implement better font caching (which for now uses 
"toy" api and internal caching for 256 font/transformation combinations) 
Stay tuned...

> - callbacks for member functions
> - signals

again, these can be easily done as add-ons. You will end up with 
templated wrappers anyway - for that I am using Fl_Signal library. There 
is no need to add templates to the fltk core.

> - menu structures based on groups and children (already in FLTK2)

+ .. that would be nice, as long as we can assure source compatibility

> - abstraction of underlying OS libraries

not sure what in particular you have in mind, you would be reinventing 
the wheel - there are lot of projects which already do that. It would 
require lot of work (otherwise wrapping existing libraries with fl_ 
prefix or fltk:: namespace would be silly...)

> - support for embedded systems, WindowsCE
> - modularization of additional feature groups
> - plugin support from within FLTK

what do you mean - some wrappers to dlopen() & friends or use in fluid?

> - documentation via Doxygen

++++

> - built in scripting via Python

Although I like Python, we do not want to make fltk dependent on it.
Python bindings and optional scripting should be (and are) separate 
projects.

> - shaped windows (already in FLTK2)

why not, can be added at any time...

> - labels containing images (already in FLTK2)

This can be also done at any time. We can have some generic simple 
hashing mechanism  used for registration not only symbols, images (and 
other drawing functions) to be included in labels using "@". In other 
places hashing could be used for registration of other things, functions 
boxtypes etc.

> - plugin themes and styles

I am more in favor of overloading widget functions so that they can 
accept not only values but also pointers, like:

Fl_Widget::labelsize(int s);
Fl_Widget::Labelsize(const int *);

and an union{int labelsize_; const int * labelsize_p_;} inside widget 
structure for these (with a bit within some flags indicating what it is) 
This is simple to implement, allows global control,  by default it would 
point to some members of global style structure. Even widget labels 
could accept double dereferencing (like additional method 
Fl_Widget::label(const char * *) which would allow easy global 
internationalization of the application.

Highlighting also would be nice which is now a standard feature of other 
toolkits.

> 
> additional widget stuff:
> 
> - higher lever application support
??
> - direct support for communication like TCP/IP and serial ports
no, this should be third party libs again...

> - built in multimedia support (sound, video)
> - simple OS support (threading, pipes, locks, messaging)
> - maybe even a simple scene graph
the same as above... After implementing scene graph people would start 
to bother you wanting additional features, import/export etc. Thats what 
OpenSceneGraph & others are for. Anyway for simple things it is usually 
easier to write some direct code and call gl+glu(+glut) api than 
implementing it in some high-level scenegraph.

Roman
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to