summaryrefslogtreecommitdiff
path: root/src/actionmanager.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-03-24 04:26:57 +0300
committerAndrei Karas <akaras@inbox.ru>2012-03-26 21:45:24 +0300
commit36e5d21fe06709ba4d12a8619af07b86a676cf8c (patch)
treea9209e16e6f31cd74047f86ef1e642f467e128e2 /src/actionmanager.h
parent0921a130f0241a17ffcedf92d602808e18f1614b (diff)
downloadplus-36e5d21fe06709ba4d12a8619af07b86a676cf8c.tar.gz
plus-36e5d21fe06709ba4d12a8619af07b86a676cf8c.tar.bz2
plus-36e5d21fe06709ba4d12a8619af07b86a676cf8c.tar.xz
plus-36e5d21fe06709ba4d12a8619af07b86a676cf8c.zip
Redesign input handling.
Diffstat (limited to 'src/actionmanager.h')
-rw-r--r--src/actionmanager.h114
1 files changed, 114 insertions, 0 deletions
diff --git a/src/actionmanager.h b/src/actionmanager.h
new file mode 100644
index 000000000..f0dcb9d77
--- /dev/null
+++ b/src/actionmanager.h
@@ -0,0 +1,114 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2010 The Mana Developers
+ * Copyright (C) 2011-2012 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * 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
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef ACTIONMANAGER_H
+#define ACTIONMANAGER_H
+
+#include <string>
+#include <map>
+
+#define decHandler(name) bool name(InputEvent &event)
+
+struct InputEvent;
+class Window;
+
+namespace ActionManager
+{
+ decHandler(moveUp);
+ decHandler(moveDown);
+ decHandler(moveLeft);
+ decHandler(moveRight);
+ decHandler(emote);
+ decHandler(mouseClick);
+ decHandler(ok);
+ decHandler(shortcut);
+ decHandler(toggleChat);
+ decHandler(prevChatTab);
+ decHandler(nextChatTab);
+ decHandler(closeChatTab);
+ decHandler(prevSocialTab);
+ decHandler(nextSocialTab);
+ decHandler(scrollChatUp);
+ decHandler(scrollChatDown);
+ decHandler(quit);
+ decHandler(dropItem0);
+ decHandler(dropItem);
+ decHandler(switchQuickDrop);
+ decHandler(heal);
+ decHandler(crazyMoves);
+ decHandler(itenplz);
+ decHandler(changeCrazyMove);
+ decHandler(changePickupType);
+ decHandler(moveToTarget);
+ decHandler(moveToHome);
+ decHandler(setHome);
+ decHandler(changeMoveType);
+ decHandler(changeAttackWeaponType);
+ decHandler(changeAttackType);
+ decHandler(changeFollowMode);
+ decHandler(changeImitationMode);
+ decHandler(magicAttack);
+ decHandler(changeMagicAttack);
+ decHandler(changePvpMode);
+ decHandler(changeMoveToTarget);
+ decHandler(copyEquippedToOutfit);
+ decHandler(changeGameModifier);
+ decHandler(changeAudio);
+ decHandler(away);
+ decHandler(camera);
+ decHandler(pickup);
+ decHandler(sit);
+ decHandler(changeMapMode);
+ decHandler(changeTrade);
+ decHandler(screenshot);
+ decHandler(ignoreInput);
+ decHandler(directUp);
+ decHandler(directDown);
+ decHandler(directLeft);
+ decHandler(directRight);
+ decHandler(talk);
+
+ decHandler(hideWindows);
+ decHandler(helpWindowShow);
+ decHandler(setupWindowShow);
+ decHandler(statusWindowShow);
+ decHandler(inventoryWindowShow);
+ decHandler(equipmentWindowShow);
+ decHandler(skillDialogShow);
+ decHandler(minimapWindowShow);
+ decHandler(chatWindowShow);
+ decHandler(shortcutWindowShow);
+ decHandler(debugWindowShow);
+ decHandler(socialWindowShow);
+ decHandler(emoteShortcutWindowShow);
+ decHandler(outfitWindowShow);
+ decHandler(shopWindowShow);
+ decHandler(dropShortcutWindowShow);
+ decHandler(killStatsWindowShow);
+ decHandler(spellShortcutWindowShow);
+ decHandler(botcheckerWindowShow);
+ decHandler(whoIsOnlineWindowShow);
+ decHandler(didYouKnowWindowShow);
+}
+
+typedef bool (*ActionFuncPtr) (InputEvent &event);
+
+#endif