aboutsummaryrefslogtreecommitdiff
path: root/engines/sword25/input/inputengine.h
diff options
context:
space:
mode:
authorPaul Gilbert2010-08-05 10:16:21 +0000
committerEugene Sandulenko2010-10-12 22:23:24 +0000
commit49ea23c532cb0d8ab6e27d290484a1e2daadb347 (patch)
tree97dff77ee4deeb81f600288d30abb3413300180f /engines/sword25/input/inputengine.h
parent1e3b3af5c09ef5b9168436b2276bce612f74c0d2 (diff)
downloadscummvm-rg350-49ea23c532cb0d8ab6e27d290484a1e2daadb347.tar.gz
scummvm-rg350-49ea23c532cb0d8ab6e27d290484a1e2daadb347.tar.bz2
scummvm-rg350-49ea23c532cb0d8ab6e27d290484a1e2daadb347.zip
SWORD25: Fix for void * conversion errors
It turns out that strict C++ doesn't allow function pointers to be converted to void pointers and vice versa. Since there are two callback function pointer types - one with a KEY_COMMANDS enum parameter, and the other with an unsigned char type, I changed all void * occurances to a function pointer type with an 'int' parameter, and changed all implementation methods to take in an int parameter. svn-id: r53208
Diffstat (limited to 'engines/sword25/input/inputengine.h')
-rw-r--r--engines/sword25/input/inputengine.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/engines/sword25/input/inputengine.h b/engines/sword25/input/inputengine.h
index 3cd1ce6e3f..f88f67de38 100644
--- a/engines/sword25/input/inputengine.h
+++ b/engines/sword25/input/inputengine.h
@@ -49,6 +49,7 @@
#include "sword25/kernel/common.h"
#include "sword25/kernel/service.h"
#include "sword25/kernel/persistable.h"
+#include "sword25/kernel/callbackregistry.h"
namespace Sword25 {
@@ -254,7 +255,7 @@ public:
*/
virtual bool WasKeyDown(unsigned int KeyCode) = 0;
- typedef void (*CharacterCallback)(unsigned char Character);
+ typedef CallbackPtr CharacterCallback;
/**
* Registers a callback function for keyboard input.
@@ -268,15 +269,15 @@ public:
* The input of strings by the user through use of callbacks should be implemented.
* @return Returns true if the function was registered, otherwise false.
*/
- virtual bool RegisterCharacterCallback(CharacterCallback Callback) = 0;
+ virtual bool RegisterCharacterCallback(CallbackPtr Callback) = 0;
/**
* De-registeres a previously registered callback function.
* @return Returns true if the function could be de-registered, otherwise false.
*/
- virtual bool UnregisterCharacterCallback(CharacterCallback Callback) = 0;
+ virtual bool UnregisterCharacterCallback(CallbackPtr Callback) = 0;
- typedef void (*CommandCallback)(KEY_COMMANDS Command);
+ typedef CallbackPtr CommandCallback;
/**
* Registers a callback function for the input of commands that can have influence on the string input
@@ -287,7 +288,7 @@ public:
* The input of strings by the user through the use of callbacks should be implemented.
* @return Returns true if the function was registered, otherwise false.
*/
- virtual bool RegisterCommandCallback(CommandCallback Callback) = 0;
+ virtual bool RegisterCommandCallback(CallbackPtr Callback) = 0;
/**
* Un-register a callback function for the input of commands that can have an influence on the string input.