diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 8 |
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 |
