Am 02.07.2009 18:04 Uhr schrieb "Gerry Weaver" unter
<[email protected]>:
> Matthias:
>
>> FLA_, Fast Light Abstraction (layer) sounds OK to me.
>
> It seems like fla_/FLA_ is the current favorite. Anyone else?
>
>
> Matthias:
>
>> I mentioned it before: it would really be nice to be able to use two
>> rendering HAL's at once. ...
>
> So... in other words, FLTK would be rendering to multiple FLA backends
> simultaneously? This would seem to imply multiple levels of FLA backends. What
> I mean is, a platform based FLA backend would represent everything but the
> drawing or graphics, which would be a separate proposition. For example, you
> would have libfla_x11/libfla_unix or libfla_gdi/libfla_win32. The libfla_x11
> would be dedicated to drawing/graphics where as libfla_unix would include all
> of the other platform specific code. I guess there would be a wrapper level
> call to select the graphics output backends/devices? This is an interesting
> idea. It would be similar to the output device concept Roman had mentioned
> earlier.
Yes. I identified a few module types:
- input devices (mouse, keyboard, pen, tablet, etc.)
* WIN32: base library, Tablet support, Pen Computer support
* X11: base libraries and possible extensions
* ...
- raw drawing (pixel, colors, fonts, shapes, bitmaps, clipping)
* WIN32 api, DirectX, OpenGL, FrameBuffer, SDL, Cairo, etc.
* but also texture memory, bitmaps, printers
- windowing (windows, fullscreen, decorations, system menus, icons)
* WIN32, X11 WM's
* maybe even an implementation on top of "raw drawing", so FLTK
can be its own window manager on simple devices
- OS support
* timer, simple threading and locking
- image format support (already there, but ability to link in more
dynamically)
- communications (optional)
* serial line, TCP/IP, etc.
>From the list you see that some of them should be able to coexist (rendering
to the screen and rendering to a printer context). Some actually must
coexist, for example the OS X Quartz provides event handling only in
conjunction with window creation... .
But maybe I am just overshooting the goal ;-)
But wouldn't this be nice:
page = new Fl_Printer_Page(0, 0, 210, 297, "HP Deskjet");
page->begin();
fl_color(FL_RED);
fl_draw(10.0, 10.0, 190.0, 277.0);
page->end();
page->flush();
...
> Note: I understand the monolithic lib build requirement. It's just easier for
> me to visualize the code structure when I think in terms of separate libs.
Sure. Same thing. All it needs is a line in the Makfile (pardon me, Cmake
file) that allows for static libraries as well as dynamically linkable ones.
Matthias
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev