diff options
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Bitmap.H | 5 | ||||
| -rw-r--r-- | FL/Fl_Graphics_Driver.H | 16 | ||||
| -rw-r--r-- | FL/Fl_Image.H | 7 | ||||
| -rw-r--r-- | FL/Fl_Pixmap.H | 5 |
4 files changed, 20 insertions, 13 deletions
diff --git a/FL/Fl_Bitmap.H b/FL/Fl_Bitmap.H index 3bb6f23d1..bea76a309 100644 --- a/FL/Fl_Bitmap.H +++ b/FL/Fl_Bitmap.H @@ -32,10 +32,7 @@ struct Fl_Menu_Item; (bitmap) images. Images are drawn using the current color. */ class FL_EXPORT Fl_Bitmap : public Fl_Image { - friend class Fl_Quartz_Graphics_Driver; - friend class Fl_GDI_Graphics_Driver; - friend class Fl_GDI_Printer_Graphics_Driver; - friend class Fl_Xlib_Graphics_Driver; + friend class Fl_Graphics_Driver; public: /** pointer to raw bitmap data */ diff --git a/FL/Fl_Graphics_Driver.H b/FL/Fl_Graphics_Driver.H index 2f550124b..3530d4423 100644 --- a/FL/Fl_Graphics_Driver.H +++ b/FL/Fl_Graphics_Driver.H @@ -135,6 +135,22 @@ protected: virtual Fl_Bitmask create_bitmask(int w, int h, const uchar *array) {return 0; } /** Support function for image drawing */ virtual void delete_bitmask(Fl_Bitmask bm) {} + // accessor functions to protected image members + static fl_uintptr_t* id(Fl_RGB_Image *rgb) {return &(rgb->id_);} + static fl_uintptr_t* id(Fl_Pixmap *pm) {return &(pm->id_);} + static fl_uintptr_t* id(Fl_Bitmap *bm) {return &(bm->id_);} + static fl_uintptr_t* mask(Fl_RGB_Image *rgb) {return &(rgb->mask_);} + static fl_uintptr_t* mask(Fl_Pixmap *pm) {return &(pm->mask_);} + static Fl_Color* pixmap_bg_color(Fl_Pixmap *pm) {return &(pm->pixmap_bg_color);} + static void draw_empty(Fl_Image* img, int X, int Y) {img->draw_empty(X, Y);} + static int start(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int &cx, int &cy, + int &X, int &Y, int &W, int &H) { + return bm->start(XP,YP,WP,HP,cx,cy,X,Y,W,H); + } + static int prepare(Fl_Pixmap *pm, int XP, int YP, int WP, int HP, int &cx, int &cy, + int &X, int &Y, int &W, int &H) { + return pm->prepare(XP,YP,WP,HP,cx,cy,X,Y,W,H); + } public: Fl_Graphics_Driver(); diff --git a/FL/Fl_Image.H b/FL/Fl_Image.H index 09d84a6de..4e0663bfd 100644 --- a/FL/Fl_Image.H +++ b/FL/Fl_Image.H @@ -55,7 +55,7 @@ enum Fl_RGB_Scaling { a box with an X in it being drawn instead. */ class FL_EXPORT Fl_Image { - + friend class Fl_Graphics_Driver; public: static const int ERR_NO_IMAGE = -1; static const int ERR_FILE_ACCESS = -2; @@ -208,10 +208,7 @@ public: <FL/Fl_RGB_Image.H> should be included. */ class FL_EXPORT Fl_RGB_Image : public Fl_Image { - friend class Fl_Quartz_Graphics_Driver; - friend class Fl_GDI_Graphics_Driver; - friend class Fl_GDI_Printer_Graphics_Driver; - friend class Fl_Xlib_Graphics_Driver; + friend class Fl_Graphics_Driver; static size_t max_size_; public: diff --git a/FL/Fl_Pixmap.H b/FL/Fl_Pixmap.H index 671457c5f..acfa7e62b 100644 --- a/FL/Fl_Pixmap.H +++ b/FL/Fl_Pixmap.H @@ -36,10 +36,7 @@ struct Fl_Menu_Item; (pixmap) images, including transparency. */ class FL_EXPORT Fl_Pixmap : public Fl_Image { - friend class Fl_Quartz_Graphics_Driver; - friend class Fl_GDI_Graphics_Driver; - friend class Fl_GDI_Printer_Graphics_Driver; - friend class Fl_Xlib_Graphics_Driver; + friend class Fl_Graphics_Driver; void copy_data(); void delete_data(); void set_data(const char * const *p); |
