On 18.04.2010, at 08:06, manolo gouy wrote:

[Matthias wrote]
>> Fl_Plugin
>>   |
>>   +-->  Fl_Device
>>         |
>>         +->  Fl_Surface_Device
>>         |    | * points to a Window Manager
>>         |    | * points to possible Graphics Devices
>>         |    |
>>         |    +->  Fl_Screen_Device
>>         |    |
>>         |    +->  Fl_Printer_Device
>>         |    |    |
>>         |    |    +->  Fl_System_Printer
>>         |    |    |
>>         |    |    +->  Fl_Postscript_Printer
>>         |    |
>>         |    +->  Fl_Bitmap_Device
>>         |=20
>>         +->  Fl_Window_Manager
>>         |      * points to a list of System_Windows
>>         |      * System_Windows can have their own Graphics Device
>>         |
>>         +->  Fl_Graphics_Device
>>              | * contains all FLTK rendering functions
>>              |
>>              +->  Fl_Bitmap_Graphics_Device
>>              |
>>              +->  Fl_Cocoa_Graphics_Device
>>              |
>>              +->  Fl_X11_Graphics_Device
>>              |
>>              +->  Fl_GDI_Graphics_Device
>>              |
>>              +->  Fl_OpenGL_Graphics_Device
>>              |
>>              +->  Fl_DirectX_Graphics_Device
>>              |
>>              +->  Fl_Ciro_Graphics_Device
>>
>>
>
> Matthias:  That's just great! It gives a way to share
> graphics drivers between different devices without multiple
> inheritance. I'll try and implement a simplified version of that
> (on the FLTK-1.3-Fl_Printer development branch this time).

Manolo, whatever you do, please try to avoid changing the class
hierarchy depending on the platform this time. A clean class
hierarchy is better than any trickery with #ifdef's and faking
something different for documentation (#ifdef FL_DOXYGEN). IMHO
it would be better to have all platform dependent classes on all
platforms, even if they are compiled to be "empty" implementations.

It would also be useful if you share your thoughts and plans how
to do your simplified version (class hierarchy and notes) before
doing all the implementation work. Maybe someone of us could
contribute some ideas or improvements?

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

Reply via email to