From 676e976cb6de59fb12059cdf5a8ef99f8e8ee53f Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Mon, 5 Feb 2024 12:39:10 +0100 Subject: 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. --- src/Fl_Screen_Driver.H | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/Fl_Screen_Driver.H') 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! -- cgit v1.2.3