summaryrefslogtreecommitdiff
path: root/riscos/menus.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/menus.c')
-rw-r--r--riscos/menus.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/riscos/menus.c b/riscos/menus.c
index 0ac15431a..12dbd1cb5 100644
--- a/riscos/menus.c
+++ b/riscos/menus.c
@@ -144,6 +144,21 @@ void ro_gui_create_menu(wimp_menu *menu, int x, int y, gui_window *g)
/**
+ * Display a pop-up menu next to the specified icon.
+ */
+
+void ro_gui_popup_menu(wimp_menu *menu, wimp_w w, wimp_i i)
+{
+ wimp_window_state state = { w };
+ wimp_icon_state icon_state = { w, i };
+ wimp_get_window_state(&state);
+ wimp_get_icon_state(&icon_state);
+ ro_gui_create_menu(menu, state.visible.x0 + icon_state.icon.extent.x1,
+ state.visible.y1 + icon_state.icon.extent.y1, 0);
+}
+
+
+/**
* Handle menu selection.
*/