From df63dea4b66c61a00e3fca50dd355e4d313aa9b1 Mon Sep 17 00:00:00 2001 From: Andrei Prykhodko Date: Sat, 21 Jul 2018 11:57:01 +0300 Subject: GRAPHICS: MACMENU: added partial unicode support It misses renderSubmenu impl and accelerator rendering --- graphics/macgui/macmenu.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'graphics/macgui/macmenu.h') diff --git a/graphics/macgui/macmenu.h b/graphics/macgui/macmenu.h index c98dd1f0d6..b9d8e0125b 100644 --- a/graphics/macgui/macmenu.h +++ b/graphics/macgui/macmenu.h @@ -25,6 +25,10 @@ #include "common/str-array.h" +namespace Common { +class U32String; +} + namespace Graphics { struct MacMenuItem; @@ -46,12 +50,15 @@ public: static Common::StringArray *readMenuFromResource(Common::SeekableReadStream *res); void setCommandsCallback(void (*callback)(int, Common::String &, void *), void *data) { _ccallback = callback; _cdata = data; } + void setCommandsCallback(void (*callback)(int, Common::U32String &, void *), void *data) { _unicodeccallback = callback; _cdata = data; } void addStaticMenus(const MacMenuData *data); void calcDimensions(); int addMenuItem(const char *name); + int addMenuItem(const Common::U32String &name); void addMenuSubItem(int id, const char *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 createSubMenuFromString(int id, const char *string, int commandId); void clearSubMenu(int id); @@ -60,6 +67,7 @@ public: void enableCommand(int menunum, int action, bool state); void enableCommand(const char *menuitem, const char *menuaction, bool state); + void enableCommand(const Common::U32String &menuitem, const Common::U32String &menuaction, bool state); void disableAllMenus(); void setActive(bool active) { _menuActivated = active; } @@ -99,6 +107,7 @@ private: int _activeSubItem; void (*_ccallback)(int action, Common::String &text, void *data); + void (*_unicodeccallback)(int action, Common::U32String &text, void *data); void *_cdata; }; -- cgit v1.2.3