summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-11-02 21:08:15 +0000
committerManolo Gouy <Manolo>2016-11-02 21:08:15 +0000
commitd3f1a3c167954a4c874162ed4986a2235109ac33 (patch)
treebfa8483e0ddf24ca20678e6a9eae80cc879e6c33 /FL
parent5c2a7d9fed465403758edda57acc59a4879cae56 (diff)
Replace declarations such as "friend class Fl_Xlib_Graphics_Driver;" by platform-independent declarations.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Bitmap.H5
-rw-r--r--FL/Fl_Graphics_Driver.H16
-rw-r--r--FL/Fl_Image.H7
-rw-r--r--FL/Fl_Pixmap.H5
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:
&lt;FL/Fl_RGB_Image.H&gt; 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);