summaryrefslogtreecommitdiff
path: root/src/Fl_Window_Driver.H
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-12-29 09:47:02 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-01-08 09:30:51 +0100
commit222b2ea2e84a9c50a222cce22e19aaba110c6f11 (patch)
treef3f74d890be0e75bb2cfea8226f003b032840d22 /src/Fl_Window_Driver.H
parent6ada45f1f24423c4039a5099fcc6de3b5e2c37f0 (diff)
Wayland: Improved implementation of menu windows
Diffstat (limited to 'src/Fl_Window_Driver.H')
-rw-r--r--src/Fl_Window_Driver.H11
1 files changed, 9 insertions, 2 deletions
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; }
};