summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-08-12 19:47:04 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-08-12 19:47:04 +0200
commitd1d3cc9afa169ab4a38063a3f6667ca8c2544d49 (patch)
tree779336149bcdfb3ba8ad7befda3b4fb9f5631614 /src
parentab61c03433423d1744db3550db8e1e281dbdf256 (diff)
Add virtual Fl_Cairo_Graphics_Driver::cache_size() member function.
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