summaryrefslogtreecommitdiff
path: root/src/Fl_Screen_Driver.H
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-02-05 12:39:10 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-02-05 12:39:10 +0100
commit676e976cb6de59fb12059cdf5a8ef99f8e8ee53f (patch)
treeb56a71f21ed4c2b3062f54c30dae51878ab30218 /src/Fl_Screen_Driver.H
parent0da00995a8052119228e7a84e2a34440142504fb (diff)
Fl_Window_Driver::set_popup_window(), Fl_Screen_Driver::screen_boundaries_known()
Fl_Window_Driver::set_popup_window() is to be used to declare a window should be positioned relatively to a previously mapped other window. This allows a platform to process such windows differently from other windows if needed. Menu and tooltip windows are so declared. A call to Fl_Window_Driver::set_popup_window() also allows to distinguish a real menu or tooltip window from a window marked by Fl_Window::set_menu_window() or by Fl_Window::set_tooltip_window() but that's not a real menu or tooltip. New member function bool Fl_Screen_Driver::screen_boundaries_known() returns true by default. A platform where the position of windows inside a screen is hidden (e.g., Wayland) returns false. This allows FLTK to refrain from trying to make sure a computed position is inside a screen.
Diffstat (limited to 'src/Fl_Screen_Driver.H')
-rw-r--r--src/Fl_Screen_Driver.H3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Fl_Screen_Driver.H b/src/Fl_Screen_Driver.H
index bfff5b03d..f6da764a7 100644
--- a/src/Fl_Screen_Driver.H
+++ b/src/Fl_Screen_Driver.H
@@ -1,7 +1,7 @@
//
// All screen related calls in a driver style class.
//
-// Copyright 1998-2022 by Bill Spitzak and others.
+// Copyright 1998-2024 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -123,6 +123,7 @@ public:
H = 600;
}
void screen_xywh(int &X, int &Y, int &W, int &H, int mx, int my, int mw, int mh);
+ virtual bool screen_boundaries_known() { return true; }
virtual int screen_num(int x, int y);
virtual int screen_num(int x, int y, int w, int h);
virtual void screen_dpi(float &h, float &v, int n = 0) { // FL_OVERRIDE in driver!