summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H1
-rw-r--r--src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H
index bae351bf4..547f63f2e 100644
--- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H
+++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H
@@ -187,6 +187,7 @@ public:
virtual Fl_Region XRectangleRegion(int x, int y, int w, int h);
virtual void XDestroyRegion(Fl_Region r);
virtual void add_rectangle_to_region(Fl_Region r, int X, int Y, int W, int H);
+ virtual void cache_size(Fl_Image *img, int &width, int &height);
};
#endif // FL_CAIRO_GRAPHICS_DRIVER_H
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
index a991edab1..72a21c432 100644
--- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
+++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
@@ -1298,4 +1298,12 @@ void Fl_Cairo_Graphics_Driver::restore_clip() {
}
}
+
+void Fl_Cairo_Graphics_Driver::cache_size(Fl_Image *unused, int &width, int &height) {
+ cairo_matrix_t matrix;
+ cairo_get_matrix(cairo_, &matrix);
+ width *= matrix.xx;
+ height *= matrix.xx;
+}
+
#endif // USE_PANGO