diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-12-29 09:47:02 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2023-01-08 09:30:51 +0100 |
| commit | 222b2ea2e84a9c50a222cce22e19aaba110c6f11 (patch) | |
| tree | f3f74d890be0e75bb2cfea8226f003b032840d22 /src/Fl_Window_Driver.H | |
| parent | 6ada45f1f24423c4039a5099fcc6de3b5e2c37f0 (diff) | |
Wayland: Improved implementation of menu windows
Diffstat (limited to 'src/Fl_Window_Driver.H')
| -rw-r--r-- | src/Fl_Window_Driver.H | 11 |
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; } }; |
