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_Window_Driver.H | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/Fl_Window_Driver.H') diff --git a/src/Fl_Window_Driver.H b/src/Fl_Window_Driver.H index c85cc84d8..b7c8a6d07 100644 --- a/src/Fl_Window_Driver.H +++ b/src/Fl_Window_Driver.H @@ -2,7 +2,7 @@ // A base class for platform specific window handling code // for the Fast Light Tool Kit (FLTK). // -// Copyright 2010-2023 by Bill Spitzak and others. +// Copyright 2010-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 @@ -129,6 +129,8 @@ public: } void resize_after_scale_change(int ns, float old_f, float new_f); + void set_popup_window() { pWindow->set_flag(Fl_Window::POPUP); } + bool popup_window() const {return pWindow->flags() & Fl_Window::POPUP;} // --- window data virtual int decorated_w() { return w(); } // default, should be overidden by driver @@ -213,8 +215,6 @@ public: static void scroll_to_selected_item(Fl_Window *); virtual fl_uintptr_t os_id() { return 0; } - virtual void popup_window(bool v) {} - virtual bool popup_window() { return false; } }; #endif // FL_WINDOW_DRIVER_H -- cgit v1.2.3