diff options
author | Borja Lorente | 2016-07-29 11:18:10 +0200 |
---|---|---|
committer | Borja Lorente | 2016-07-31 14:04:48 +0200 |
commit | 68b2d44a0f732aed23afaa96e18b0786fca1d77d (patch) | |
tree | bc3b5b1e4feb33452e819742cac7c8dc3a341b2a /engines | |
parent | 8a2aeeecc942b6f8991cbdc6577313a6e8f74d9d (diff) | |
download | scummvm-rg350-68b2d44a0f732aed23afaa96e18b0786fca1d77d.tar.gz scummvm-rg350-68b2d44a0f732aed23afaa96e18b0786fca1d77d.tar.bz2 scummvm-rg350-68b2d44a0f732aed23afaa96e18b0786fca1d77d.zip |
WAGE: Extract MacMenu
Diffstat (limited to 'engines')
-rw-r--r-- | engines/wage/gui-console.cpp | 2 | ||||
-rw-r--r-- | engines/wage/gui.cpp | 2 | ||||
-rw-r--r-- | engines/wage/macmenu.h | 161 | ||||
-rw-r--r-- | engines/wage/module.mk | 1 |
4 files changed, 2 insertions, 164 deletions
diff --git a/engines/wage/gui-console.cpp b/engines/wage/gui-console.cpp index d06b8daf63..87c84adc64 100644 --- a/engines/wage/gui-console.cpp +++ b/engines/wage/gui-console.cpp @@ -52,11 +52,11 @@ #include "graphics/fonts/bdf.h" #include "graphics/palette.h" #include "graphics/macgui/macwindow.h" +#include "graphics/macgui/macmenu.h" #include "wage/wage.h" #include "wage/design.h" #include "wage/entities.h" -#include "wage/macmenu.h" #include "wage/gui.h" #include "wage/world.h" diff --git a/engines/wage/gui.cpp b/engines/wage/gui.cpp index 7d329d245d..f8971e13bc 100644 --- a/engines/wage/gui.cpp +++ b/engines/wage/gui.cpp @@ -51,12 +51,12 @@ #include "graphics/primitives.h" #include "graphics/macgui/macwindowmanager.h" #include "graphics/macgui/macwindow.h" +#include "graphics/macgui/macmenu.h" #include "wage/wage.h" #include "wage/design.h" #include "wage/entities.h" #include "wage/gui.h" -#include "wage/macmenu.h" #include "wage/world.h" namespace Wage { diff --git a/engines/wage/macmenu.h b/engines/wage/macmenu.h deleted file mode 100644 index e0309b25e6..0000000000 --- a/engines/wage/macmenu.h +++ /dev/null @@ -1,161 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * MIT License: - * - * Copyright (c) 2009 Alexei Svitkine, Eugene Sandulenko - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef GRAPHICS_MACMENU_H -#define GRAPHICS_MACMENU_H - -namespace Graphics { - -struct MenuItem; -struct MenuSubItem; - -enum { - kFontStyleBold = 1, - kFontStyleItalic = 2, - kFontStyleUnderline = 4, - kFontStyleOutline = 8, - kFontStyleShadow = 16, - kFontStyleCondensed = 32, - kFontStyleExtended = 64 -}; - -enum { - kMenuHighLevel = -1, - kMenuAbout = 0, - kMenuFile = 1, - kMenuEdit = 2, - kMenuCommands = 3, - kMenuWeapons = 4 -}; - -enum { - kMenuActionAbout, - kMenuActionNew, - kMenuActionOpen, - kMenuActionClose, - kMenuActionSave, - kMenuActionSaveAs, - kMenuActionRevert, - kMenuActionQuit, - - kMenuActionUndo, - kMenuActionCut, - kMenuActionCopy, - kMenuActionPaste, - kMenuActionClear, - - kMenuActionCommand -}; - -struct MenuData { - int menunum; - const char *title; - int action; - byte shortcut; - bool enabled; -}; - -class Menu : public BaseMacWindow { -public: - Menu(int id, const Common::Rect &bounds, MacWindowManager *wm); - ~Menu(); - - void setCommandsCallback(void (*callback)(int, Common::String &, void *), void *data) { _ccallback = callback; _cdata = data; } - - void addStaticMenus(const MenuData *data); - void calcDimensions(); - - int addMenuItem(const char *name); - void addMenuSubItem(int id, const char *text, int action, int style = 0, char shortcut = 0, bool enabled = true); - void createSubMenuFromString(int id, const char *string); - void clearSubMenu(int id); - - bool draw(ManagedSurface *g, bool forceRedraw = false); - bool processEvent(Common::Event &event); - - void enableCommand(int menunum, int action, bool state); - void disableAllMenus(); - - void setActive(bool active) { _menuActivated = active; } - bool hasAllFocus() { return _menuActivated; } - - Common::Rect _bbox; - -private: - ManagedSurface _screen; - ManagedSurface _tempSurface; - -private: - const Font *getMenuFont(); - const char *getAcceleratorString(MenuSubItem *item, const char *prefix); - int calculateMenuWidth(MenuItem *menu); - void calcMenuBounds(MenuItem *menu); - void renderSubmenu(MenuItem *menu); - - bool keyEvent(Common::Event &event); - bool mouseClick(int x, int y); - bool mouseRelease(int x, int y); - bool mouseMove(int x, int y); - - bool processMenuShortCut(byte flags, uint16 ascii); - - Common::Array<MenuItem *> _items; - - const Font *_font; - - bool _menuActivated; - - int _activeItem; - int _activeSubItem; - - void (*_ccallback)(int action, Common::String &text, void *data); - void *_cdata; -}; - -} // End of namespace Graphics - -#endif diff --git a/engines/wage/module.mk b/engines/wage/module.mk index 46d3980704..be148dd439 100644 --- a/engines/wage/module.mk +++ b/engines/wage/module.mk @@ -9,7 +9,6 @@ MODULE_OBJS := \ entities.o \ gui.o \ gui-console.o \ - macmenu.o \ randomhat.o \ saveload.o \ script.o \ |