diff options
| author | Marisa-Chan | 2014-07-12 21:52:56 +0000 | 
|---|---|---|
| committer | Marisa-Chan | 2014-07-12 21:52:56 +0000 | 
| commit | 5a870100bd62ce3913bb4a3adb6bd12ce97f1675 (patch) | |
| tree | ff49d1a42c59496f346d75b440938a1d801b37e5 | |
| parent | 7f2d4d9a6c72b4f0e88c86d5fe04eb059ec107a8 (diff) | |
| download | scummvm-rg350-5a870100bd62ce3913bb4a3adb6bd12ce97f1675.tar.gz scummvm-rg350-5a870100bd62ce3913bb4a3adb6bd12ce97f1675.tar.bz2 scummvm-rg350-5a870100bd62ce3913bb4a3adb6bd12ce97f1675.zip  | |
ZVISION: Bool results for keyUp and keyDown events for controls.
| -rw-r--r-- | engines/zvision/scripting/control.h | 4 | ||||
| -rw-r--r-- | engines/zvision/scripting/controls/input_control.cpp | 5 | ||||
| -rw-r--r-- | engines/zvision/scripting/controls/input_control.h | 2 | ||||
| -rw-r--r-- | engines/zvision/scripting/script_manager.cpp | 6 | 
4 files changed, 10 insertions, 7 deletions
diff --git a/engines/zvision/scripting/control.h b/engines/zvision/scripting/control.h index 6ec47c6455..ac245054ee 100644 --- a/engines/zvision/scripting/control.h +++ b/engines/zvision/scripting/control.h @@ -101,13 +101,13 @@ public:  	 *  	 * @param keycode    The key that was pressed  	 */ -	virtual void onKeyDown(Common::KeyState keyState) {} +	virtual bool onKeyDown(Common::KeyState keyState) {return false;}  	/**  	 * Called when a key is released. Default is NOP.  	 *  	 * @param keycode    The key that was pressed  	 */ -	virtual void onKeyUp(Common::KeyState keyState) {} +	virtual bool onKeyUp(Common::KeyState keyState) {return false;}  	/**  	 * Processes the node given the deltaTime since last frame. Default is NOP.  	 * diff --git a/engines/zvision/scripting/controls/input_control.cpp b/engines/zvision/scripting/controls/input_control.cpp index 0bca01bf47..bebf3fae11 100644 --- a/engines/zvision/scripting/controls/input_control.cpp +++ b/engines/zvision/scripting/controls/input_control.cpp @@ -98,9 +98,9 @@ bool InputControl::onMouseUp(const Common::Point &screenSpacePos, const Common::  	return false;  } -void InputControl::onKeyDown(Common::KeyState keyState) { +bool InputControl::onKeyDown(Common::KeyState keyState) {  	if (!_focused) { -		return; +		return false;  	}  	if (keyState.keycode == Common::KEYCODE_BACKSPACE) { @@ -119,6 +119,7 @@ void InputControl::onKeyDown(Common::KeyState keyState) {  			_textChanged = true;  		}  	} +	return false;  }  bool InputControl::process(uint32 deltaTimeInMillis) { diff --git a/engines/zvision/scripting/controls/input_control.h b/engines/zvision/scripting/controls/input_control.h index 6fcdb2ca54..91fcd364cd 100644 --- a/engines/zvision/scripting/controls/input_control.h +++ b/engines/zvision/scripting/controls/input_control.h @@ -55,7 +55,7 @@ public:  		_focused = false;  	}  	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos); -	void onKeyDown(Common::KeyState keyState); +	bool onKeyDown(Common::KeyState keyState);  	bool process(uint32 deltaTimeInMillis);  }; diff --git a/engines/zvision/scripting/script_manager.cpp b/engines/zvision/scripting/script_manager.cpp index ada06a5b51..53fa5832d9 100644 --- a/engines/zvision/scripting/script_manager.cpp +++ b/engines/zvision/scripting/script_manager.cpp @@ -471,7 +471,8 @@ void ScriptManager::onKeyDown(Common::KeyState keyState) {  	if (!_activeControls)  		return;  	for (ControlList::iterator iter = _activeControls->begin(); iter != _activeControls->end(); ++iter) { -		(*iter)->onKeyDown(keyState); +		if ((*iter)->onKeyDown(keyState)) +			return;  	}  } @@ -479,7 +480,8 @@ void ScriptManager::onKeyUp(Common::KeyState keyState) {  	if (!_activeControls)  		return;  	for (ControlList::iterator iter = _activeControls->begin(); iter != _activeControls->end(); ++iter) { -		(*iter)->onKeyUp(keyState); +		if ((*iter)->onKeyUp(keyState)) +			return;  	}  }  | 
