aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/macmenu.h
diff options
context:
space:
mode:
authorEugene Sandulenko2019-10-04 15:54:01 +0200
committerEugene Sandulenko2019-10-04 15:54:48 +0200
commit35773e76b9835bcd07416c0ffc5d494cb8afe0ee (patch)
tree9a5e9bd297d47b88d8e4adfafe8fc354f0f8e065 /graphics/macgui/macmenu.h
parent48b261cf6b3714ed5e9f224149272e2808e00f09 (diff)
downloadscummvm-rg350-35773e76b9835bcd07416c0ffc5d494cb8afe0ee.tar.gz
scummvm-rg350-35773e76b9835bcd07416c0ffc5d494cb8afe0ee.tar.bz2
scummvm-rg350-35773e76b9835bcd07416c0ffc5d494cb8afe0ee.zip
GRAPHICS: MACGUI: Unify MacMenuItem and MacMenuSubItem
Diffstat (limited to 'graphics/macgui/macmenu.h')
-rw-r--r--graphics/macgui/macmenu.h22
1 files changed, 10 insertions, 12 deletions
diff --git a/graphics/macgui/macmenu.h b/graphics/macgui/macmenu.h
index 3b21647842..49606f1f9a 100644
--- a/graphics/macgui/macmenu.h
+++ b/graphics/macgui/macmenu.h
@@ -34,8 +34,8 @@ class MacResManager;
namespace Graphics {
struct MacMenuItem;
-struct MacMenuSubItem;
struct MacMenuSubMenu;
+typedef Common::Array<MacMenuItem *> ItemArray;
struct MacMenuData {
int menunum;
@@ -59,18 +59,16 @@ public:
void addStaticMenus(const MacMenuData *data);
void calcDimensions();
- MacMenuSubMenu *addSubMenu(MacMenuSubMenu *submenu);
- int addMenuItem(const Common::String &name);
- int addMenuItem(const Common::U32String &name);
- void addMenuSubItem(int id, const Common::String &text, int action, int style = 0, char shortcut = 0, bool enabled = true);
- void addMenuSubItem(int id, const Common::U32String &text, int action, int style = 0, char shortcut = 0, bool enabled = true);
- void addSubMenuItem(MacMenuSubMenu *submenu, const Common::String &text, int action, int style = 0, char shortcut = 0, bool enabled = true);
- void addSubMenuItem(MacMenuSubMenu *submenu, const Common::U32String &text, int action, int style = 0, char shortcut = 0, bool enabled = true);
+ MacMenuSubMenu *addSubMenu(MacMenuSubMenu *submenu, int index = -1);
+ int addMenuItem(MacMenuSubMenu *submenu, const Common::String &text, int action = -1, int style = 0, char shortcut = 0, bool enabled = true);
+ int addMenuItem(MacMenuSubMenu *submenu, const Common::U32String &text, int action = 0, int style = 0, char shortcut = 0, bool enabled = true);
void loadMenuResource(Common::MacResManager *resFork, uint16 id);
void loadMenuBarResource(Common::MacResManager *resFork, uint16 id);
void createSubMenuFromString(int id, const char *string, int commandId);
void clearSubMenu(int id);
+ MacMenuSubMenu *getSubmenu(MacMenuSubMenu *submenu, int index);
+
bool draw(ManagedSurface *g, bool forceRedraw = false);
bool processEvent(Common::Event &event);
@@ -85,6 +83,8 @@ public:
bool isVisible() { return _isVisible; }
void setVisible(bool visible) { _isVisible = visible; _contentIsDirty = true; }
+ void printMenu(int level = 0, MacMenuSubMenu *submenu = nullptr);
+
Common::Rect _bbox;
private:
@@ -93,7 +93,7 @@ private:
private:
const Font *getMenuFont();
- const Common::String getAcceleratorString(MacMenuSubItem *item, const char *prefix);
+ const Common::String getAcceleratorString(MacMenuItem *item, const char *prefix);
int calcSubMenuWidth(MacMenuSubMenu *menu);
void calcSubMenuBounds(MacMenuSubMenu *menu, int x, int y);
void renderSubmenu(MacMenuSubMenu *menu, bool recursive = true);
@@ -107,9 +107,7 @@ private:
void drawSubMenuArrow(ManagedSurface *dst, int x, int y, int color);
- void printMenu(int level = 0, MacMenuSubMenu *submenu = nullptr);
-
- Common::Array<MacMenuItem *> _items;
+ ItemArray _items;
const Font *_font;