From 222b2ea2e84a9c50a222cce22e19aaba110c6f11 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Thu, 29 Dec 2022 09:47:02 +0100 Subject: Wayland: Improved implementation of menu windows --- src/Fl_Window_Driver.H | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/Fl_Window_Driver.H') diff --git a/src/Fl_Window_Driver.H b/src/Fl_Window_Driver.H index ad2e41dc5..c65d0ebb4 100644 --- a/src/Fl_Window_Driver.H +++ b/src/Fl_Window_Driver.H @@ -187,11 +187,18 @@ public: static inline Fl_Window_Driver* driver(const Fl_Window *win) {return win->pWindowDriver;} // --- support for menu windows - // the default implementation of next 2 members is most probably enough + // The default implementation of next 2 virtual members is enough if the + // position of a window in a screen is known. Next static members may be useful + // when that's not the case, as with Wayland. virtual void reposition_menu_window(int x, int y); virtual void menu_window_area(int &X, int &Y, int &W, int &H, int nscreen = -1); static Fl_Window *menu_parent(); - const Fl_Menu_Item *current_menu(); + static Fl_Window *menu_leftorigin(Fl_Window*); + static Fl_Window *menu_title(Fl_Window*); + static int menu_itemheight(Fl_Window*); + static int menu_bartitle(Fl_Window*); + static int menu_selected(Fl_Window*); + static Fl_Window *extra_menutitle(Fl_Window *old, int Y); virtual fl_uintptr_t os_id() { return 0; } }; -- cgit v1.2.3