diff options
Diffstat (limited to 'src/drivers/X11')
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.H | 2 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.cxx | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.H b/src/drivers/X11/Fl_X11_Screen_Driver.H index 8f3638718..2be26a1ee 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.H +++ b/src/drivers/X11/Fl_X11_Screen_Driver.H @@ -87,6 +87,8 @@ public: virtual void disable_im(); virtual void open_display(); virtual void close_display(); + // --- compute dimensions of an Fl_Offscreen + virtual void offscreen_size(Fl_Offscreen o, int &width, int &height); }; diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx index d28859949..7095ea948 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx @@ -1143,6 +1143,17 @@ Fl_RGB_Image *Fl_X11_Screen_Driver::read_win_rectangle(uchar *p, int X, int Y, i return rgb; } + +void Fl_X11_Screen_Driver::offscreen_size(Fl_Offscreen off, int &width, int &height) +{ + int px, py; + unsigned w, h, b, d; + Window root; + XGetGeometry(fl_display, off, &root, &px, &py, &w, &h, &b, &d); + width = (int)w; + height = (int)h; +} + // // End of "$Id$". // |
