I have begun to separate graphics system-specific devices. The objective would be to have an Xlib-supporting device, a Quartz one, a GDI device,... I have started with the image-drawing part (Fl_Bitmap, Fl_Pixmap, Fl_RGB_Image), and realized our device hierarchy was wrong. On mac and MSWin, we want the same graphics function, say Fl_Device::rect(), to be called for both the display and the printer, because both use the same graphics model (Quartz and GDI, respectively). With the present device hierarchy, that is not possible, unless this function supports all 3 platforms which is against the objective of separating the code for each device.
Thus, I have changed the device hierarchy, and committed that. This change introduces two classes with double inheritance. There's no change to the APIs whatsoever, nor to the logic that fl_xxx() functions do nothing but calling Fl_Device::xxx() virtual functions for the current device instance. _______________________________________________ fltk-dev mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk-dev
