aboutsummaryrefslogtreecommitdiff
path: root/engines/wage
diff options
context:
space:
mode:
authorBorja Lorente2016-07-29 11:18:10 +0200
committerBorja Lorente2016-07-31 14:04:48 +0200
commit68b2d44a0f732aed23afaa96e18b0786fca1d77d (patch)
treebc3b5b1e4feb33452e819742cac7c8dc3a341b2a /engines/wage
parent8a2aeeecc942b6f8991cbdc6577313a6e8f74d9d (diff)
downloadscummvm-rg350-68b2d44a0f732aed23afaa96e18b0786fca1d77d.tar.gz
scummvm-rg350-68b2d44a0f732aed23afaa96e18b0786fca1d77d.tar.bz2
scummvm-rg350-68b2d44a0f732aed23afaa96e18b0786fca1d77d.zip
WAGE: Extract MacMenu
Diffstat (limited to 'engines/wage')
-rw-r--r--engines/wage/gui-console.cpp2
-rw-r--r--engines/wage/gui.cpp2
-rw-r--r--engines/wage/macmenu.h161
-rw-r--r--engines/wage/module.mk1
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 \