diff options
| -rw-r--r-- | backends/platform/psp/pspkeyboard.cpp | 28 | ||||
| -rw-r--r-- | backends/platform/psp/pspkeyboard.h | 2 | 
2 files changed, 26 insertions, 4 deletions
diff --git a/backends/platform/psp/pspkeyboard.cpp b/backends/platform/psp/pspkeyboard.cpp index b6f85429ec..0ad5b73cac 100644 --- a/backends/platform/psp/pspkeyboard.cpp +++ b/backends/platform/psp/pspkeyboard.cpp @@ -38,6 +38,8 @@  #include "common/fs.h"  #include "common/unzip.h" +#define PSP_SCREEN_WIDTH 480 +#define PSP_SCREEN_HEIGHT 272  #define K(x)	((short)(Common::KEYCODE_INVALID + (x)))  #define C(x)	((short)(Common::KEYCODE_##x)) @@ -180,13 +182,13 @@ bool PSPKeyboard::processInput(Common::Event &event, SceCtrlData &pad, bool &use  			_dirty = true;  			if (DOWN(PSP_CTRL_DOWN)) -				_moved_y += 5; +				increaseKeyboardLocationY(5);  			else if (DOWN(PSP_CTRL_UP)) -				_moved_y -= 5; +				increaseKeyboardLocationY(-5);  			else if (DOWN(PSP_CTRL_LEFT)) -				_moved_x -= 5; +				increaseKeyboardLocationX(-5);  			else  /* DOWN(PSP_CTRL_RIGHT) */ -				_moved_x += 5; +				increaseKeyboardLocationX(5);  		}  		usedInput = true;	// We used up the input (select was held down)  		goto END; @@ -376,6 +378,24 @@ void PSPKeyboard::moveTo(const int newX, const int newY) {  	_moved_y = newY;  } +/* move the position the keyboard is currently drawn at */ +void PSPKeyboard::increaseKeyboardLocationX(int amount) { +	int newX = _moved_x + amount; +	 +	if (newX > PSP_SCREEN_WIDTH - 5 || newX < 0 - 140)	// clamp +		return; +	_moved_x = newX; +} + +/* move the position the keyboard is currently drawn at */ +void PSPKeyboard::increaseKeyboardLocationY(int amount) { +	int newY = _moved_y + amount; +	 +	if (newY > PSP_SCREEN_HEIGHT - 5 || newY < 0 - 140)	// clamp +		return; +	_moved_y = newY; +} +  /* draw the keyboard at the current position */  void PSPKeyboard::render() {  	_dirty = false; diff --git a/backends/platform/psp/pspkeyboard.h b/backends/platform/psp/pspkeyboard.h index ed0024a30e..063aa6bd5b 100644 --- a/backends/platform/psp/pspkeyboard.h +++ b/backends/platform/psp/pspkeyboard.h @@ -83,6 +83,8 @@ private:  	int get_png_image_size(Common::SeekableReadStream *, uint32 *png_width, uint32 *png_height, u32 *paletteSize);  	uint32 convert_pow2(uint32 size);  	void flipNibbles(gu_surface* surface);		// Convert to PSP 4-bit format +	void increaseKeyboardLocationX(int amount);		// Move keyboard onscreen +	void increaseKeyboardLocationY(int amount);  	static short _modeChar[MODE_COUNT][5][6];  	static const char *_guiStrings[];  | 
