summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FL/Fl_Image.H2
-rw-r--r--FL/Fl_SVG_Image.H2
-rw-r--r--src/Fl_Graphics_Driver.cxx7
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);
}
}