summaryrefslogtreecommitdiff
path: root/src/drivers/X11
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/X11')
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.H2
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.cxx11
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$".
//