diff options
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Graphics_Driver.H | 6 | ||||
| -rw-r--r-- | FL/fl_draw.H | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/FL/Fl_Graphics_Driver.H b/FL/Fl_Graphics_Driver.H index c91489d61..0adf8ca87 100644 --- a/FL/Fl_Graphics_Driver.H +++ b/FL/Fl_Graphics_Driver.H @@ -79,8 +79,8 @@ class FL_EXPORT Fl_Graphics_Driver { friend class Fl_Bitmap; friend class Fl_RGB_Image; friend class Fl_SVG_Image; - friend FL_EXPORT void fl_draw_image(const uchar* buf, int X,int Y,int W,int H, int D, int L); - friend FL_EXPORT void fl_draw_image_mono(const uchar* buf, int X,int Y,int W,int H, int D, int L); + friend void fl_draw_image(const uchar* buf, int X,int Y,int W,int H, int D, int L); + friend void fl_draw_image_mono(const uchar* buf, int X,int Y,int W,int H, int D, int L); friend void fl_draw_image_mono(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D); friend void fl_draw_image(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D); friend void fl_copy_offscreen(int x, int y, int w, int h, Fl_Offscreen pixmap, int srcx, int srcy); @@ -137,6 +137,8 @@ private: virtual void make_unused_color_(unsigned char &r, unsigned char &g, unsigned char &b, int color_count, void **data); // some platforms may need to reimplement this virtual void set_current_(); + void draw_image_general_(const uchar *buf, int X, int Y, int W, int H, int D, int L); + void draw_image_mono_general_(const uchar *buf, int X, int Y, int W, int H, int D, int L); float scale_; // scale between FLTK and drawing coordinates: drawing = FLTK * scale_ public: /** Creates the graphics driver that is used for core operations. */ diff --git a/FL/fl_draw.H b/FL/fl_draw.H index 3ecd02f30..22a4374c1 100644 --- a/FL/fl_draw.H +++ b/FL/fl_draw.H @@ -1078,13 +1078,17 @@ FL_EXPORT void fl_draw_radio(int x, int y, int d, Fl_Color color); any visual of 8 bits or less, and all common TrueColor visuals up to 32 bits. */ -FL_EXPORT void fl_draw_image(const uchar *buf, int X, int Y, int W, int H, int D = 3, int L = 0); +inline void fl_draw_image(const uchar *buf, int X, int Y, int W, int H, int D = 3, int L = 0) { + fl_graphics_driver->draw_image_general_(buf, X, Y, W, H, D, L); +} /** Draw a gray-scale (1 channel) image. \see fl_draw_image(const uchar* buf, int X,int Y,int W,int H, int D, int L) */ -FL_EXPORT void fl_draw_image_mono(const uchar *buf, int X, int Y, int W, int H, int D = 1, int L = 0); +inline void fl_draw_image_mono(const uchar *buf, int X, int Y, int W, int H, int D = 1, int L = 0) { + fl_graphics_driver->draw_image_mono_general_(buf, X, Y, W, H, D, L); +} /** Draw an image using a callback function to generate image data. |
