summaryrefslogtreecommitdiff
path: root/src/Fl_Window_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_Window_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_Window_Driver.H')
-rw-r--r--src/Fl_Window_Driver.H6
1 files changed, 3 insertions, 3 deletions
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