diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2020-11-12 14:50:45 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2020-11-12 14:50:57 +0100 |
| commit | a4bacf83c44cdad8161af80f55706a5326dd0c0a (patch) | |
| tree | 60f144229f75faf8cb725e1c92002eb364377863 | |
| parent | 231159e16c7bd8438f3e567507f5ad394d00c760 (diff) | |
Fix for issue #155 - continued
Restores proper separation of what is in libfltk and what is in libfltk_images
| -rw-r--r-- | FL/Fl_Image.H | 2 | ||||
| -rw-r--r-- | FL/Fl_SVG_Image.H | 2 | ||||
| -rw-r--r-- | src/Fl_Graphics_Driver.cxx | 7 |
3 files changed, 5 insertions, 6 deletions
diff --git a/FL/Fl_Image.H b/FL/Fl_Image.H index dc09ed7a4..9151977f2 100644 --- a/FL/Fl_Image.H +++ b/FL/Fl_Image.H @@ -302,7 +302,7 @@ private: fl_uintptr_t id_; fl_uintptr_t mask_; int cache_w_, cache_h_; // size of image when cached - + virtual void cache_size(int &width, int &height) {} public: Fl_RGB_Image(const uchar *bits, int W, int H, int D=3, int LD=0); diff --git a/FL/Fl_SVG_Image.H b/FL/Fl_SVG_Image.H index 7ced23cc0..cf76de306 100644 --- a/FL/Fl_SVG_Image.H +++ b/FL/Fl_SVG_Image.H @@ -147,7 +147,7 @@ private: float average_weight_; float svg_scaling_(int W, int H); void rasterize_(int W, int H); - void cache_size(int &width, int &height); + virtual void cache_size(int &width, int &height); void init_(const char *filename, const char *filedata, Fl_SVG_Image *copy_source); Fl_SVG_Image(Fl_SVG_Image *source); public: diff --git a/src/Fl_Graphics_Driver.cxx b/src/Fl_Graphics_Driver.cxx index c5cd9d6c5..607d14847 100644 --- a/src/Fl_Graphics_Driver.cxx +++ b/src/Fl_Graphics_Driver.cxx @@ -29,7 +29,6 @@ #include <FL/Fl_Image_Surface.H> #include <FL/math.h> #include <FL/platform.H> -#include <FL/Fl_SVG_Image.H> FL_EXPORT Fl_Graphics_Driver *fl_graphics_driver; // the current driver of graphics operations @@ -211,9 +210,9 @@ void Fl_Graphics_Driver::cache_size(Fl_Image *img, int &width, int &height) width = (width+1) * scale(); height = (height+1) * scale(); } - if (img->d() == 4 && ((Fl_RGB_Image*)img)->as_svg_image()) { // check for SVG image - Fl_SVG_Image *svg = (Fl_SVG_Image*)img; - svg->cache_size(width, height); + if (img->d() == 4) { // check for depth-4 RGB image + Fl_RGB_Image *rgb = (Fl_RGB_Image*)img; + rgb->cache_size(width, height); } } |
