]> Dogcows Code - chaz/openbox/blobdiff - openbox/menu.h
Introducing the icon cache.
[chaz/openbox] / openbox / menu.h
index f4368229ba9964cdb313292acae3ab2590fe3218..7e11545de0d89318631ca9b2c763f6fb10450772 100644 (file)
@@ -19,7 +19,6 @@
 #ifndef __menu_h
 #define __menu_h
 
-#include "action.h"
 #include "window.h"
 #include "geom.h"
 #include "render/render.h"
@@ -65,6 +64,8 @@ struct _ObMenu
     gunichar shortcut;
     /*! The shortcut's position in the string */
     guint shortcut_position;
+    /*! If the shortcut was specified by & and should always be drawn */
+    gboolean shortcut_always_show;
 
     /*! If the shortcut key should be shown in menu entries even when it
       is the first character in the string */
@@ -106,6 +107,8 @@ struct _ObNormalMenuEntry {
     gunichar shortcut;
     /*! The shortcut's position in the string */
     guint shortcut_position;
+    /*! If the shortcut was specified by & and should always be drawn */
+    gboolean shortcut_always_show;
 
     /* state */
     gboolean enabled;
@@ -113,11 +116,9 @@ struct _ObNormalMenuEntry {
     /* List of ObActions */
     GSList *actions;
 
-    /* Icon shit */
-    gint icon_width;
-    gint icon_height;
-    gint icon_alpha;
-    RrPixel32 *icon_data;
+    /* Icon stuff.  If you set this, make sure you RrImageRef() it too. */
+    RrImage *icon;
+    gint     icon_alpha;
 
     /* Mask icon */
     RrPixmapMask *mask;
@@ -161,8 +162,6 @@ void menu_shutdown(gboolean reconfig);
 void menu_entry_ref(ObMenuEntry *self);
 void menu_entry_unref(ObMenuEntry *self);
 
-/*! @param allow_shortcut this should be false when the label is coming from
-           outside data like window or desktop titles */
 ObMenu* menu_new(const gchar *name, const gchar *title,
                  gboolean allow_shortcut_selection, gpointer data);
 void menu_free(ObMenu *menu);
This page took 0.022316 seconds and 4 git commands to generate.