]> Dogcows Code - chaz/openbox/blobdiff - openbox/menu.h
menus grab the keyboard and pointer, thus making only one menu visible at a time...
[chaz/openbox] / openbox / menu.h
index 49a79fb4d266ccd2bc8cb126201375372d1882d9..ea5d7454e714c1631daaaf5d3ca58cf33039cb1a 100644 (file)
@@ -16,6 +16,7 @@ typedef void(*menu_controller_mouseover)(struct MenuEntry *self,
                                          gboolean enter);
 
 extern GHashTable *menu_hash;
+extern GSList *menu_visible;
 
 typedef struct Menu {
     ObWindow obwin;
@@ -46,10 +47,10 @@ typedef struct Menu {
     Client *client;
     Window frame;
     Window title;
-    Appearance *a_title;
+    RrAppearance *a_title;
     int title_min_w, title_h;
     Window items;
-    Appearance *a_items;
+    RrAppearance *a_items;
     int bullet_w;
     int item_h;
     Point location;
@@ -69,7 +70,7 @@ typedef enum MenuEntryRenderType {
     MenuEntryRenderType_Other = 1 << 7
 } MenuEntryRenderType;
 
-typedef struct {
+typedef struct MenuEntry {
     char *label;
     Menu *parent;
 
@@ -84,9 +85,9 @@ typedef struct {
 
     /* render stuff */
     Window item;
-    Appearance *a_item;
-    Appearance *a_disabled;
-    Appearance *a_hilite;
+    RrAppearance *a_item;
+    RrAppearance *a_disabled;
+    RrAppearance *a_hilite;
     int y;
     int min_w;
 } MenuEntry;
@@ -131,6 +132,7 @@ void menu_entry_set_submenu(MenuEntry *entry, Menu *submenu);
 void menu_add_entry(Menu *menu, MenuEntry *entry);
 
 MenuEntry *menu_find_entry(Menu *menu, Window win);
+MenuEntry *menu_find_entry_by_pos(Menu *menu, int x, int y);
 
 void menu_entry_render(MenuEntry *self);
 
This page took 0.026045 seconds and 4 git commands to generate.