aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/psp/image_viewer.cpp
diff options
context:
space:
mode:
authorYotam Barnoy2010-10-14 22:33:32 +0000
committerYotam Barnoy2010-10-14 22:33:32 +0000
commit6fc10aeeac5551d9402456e4f1e4df7c9bb2ab2c (patch)
tree6a0b5ae654e9de7340269646f2e11d1ff0039d76 /backends/platform/psp/image_viewer.cpp
parent06c2b6bace8af0ddcbaff9a032c0f6eabddd22e8 (diff)
downloadscummvm-rg350-6fc10aeeac5551d9402456e4f1e4df7c9bb2ab2c.tar.gz
scummvm-rg350-6fc10aeeac5551d9402456e4f1e4df7c9bb2ab2c.tar.bz2
scummvm-rg350-6fc10aeeac5551d9402456e4f1e4df7c9bb2ab2c.zip
PSP: made image in viewer movable by pushing nub continuously
svn-id: r53462
Diffstat (limited to 'backends/platform/psp/image_viewer.cpp')
-rw-r--r--backends/platform/psp/image_viewer.cpp31
1 files changed, 23 insertions, 8 deletions
diff --git a/backends/platform/psp/image_viewer.cpp b/backends/platform/psp/image_viewer.cpp
index e3fb786774..f3bcd988a2 100644
--- a/backends/platform/psp/image_viewer.cpp
+++ b/backends/platform/psp/image_viewer.cpp
@@ -159,6 +159,7 @@ void ImageViewer::loadNextImage() {
if (!load(_imageNum)) // we failed, so reload the current image
setVisible(false); // just hide
}
+ setDirty();
}
void ImageViewer::loadLastImage() {
@@ -167,6 +168,7 @@ void ImageViewer::loadLastImage() {
if (!load(_imageNum))
setVisible(false); // we can't even show the old image so hide
}
+ setDirty();
}
void ImageViewer::setFullScreenImageParams() {
@@ -188,7 +190,24 @@ void ImageViewer::setFullScreenImageParams() {
void ImageViewer::render() {
assert(_buffer);
assert(_renderer);
-
+
+ // move the image slightly. Note that we count on the renderer's timing
+ switch (_movement) {
+ case EVENT_MOVE_LEFT:
+ moveImageX(-2);
+ break;
+ case EVENT_MOVE_UP:
+ moveImageY(-2);
+ break;
+ case EVENT_MOVE_RIGHT:
+ moveImageX(2);
+ break;
+ case EVENT_MOVE_DOWN:
+ moveImageY(2);
+ break;
+ default:
+ break;
+ }
_renderer->render();
}
@@ -239,6 +258,7 @@ void ImageViewer::setOffsetParams() {
int offsetY = _centerY - (int)(_visibleHeight * 0.5f);
_renderer->setOffsetOnScreen(offsetX, offsetY);
+ setDirty();
}
// Handler events coming in from the inputHandler
@@ -260,16 +280,11 @@ void ImageViewer::handleEvent(uint32 event) {
modifyZoom(false);
break;
case EVENT_MOVE_LEFT:
- moveImageX(-5);
- break;
case EVENT_MOVE_UP:
- moveImageY(-5);
- break;
case EVENT_MOVE_RIGHT:
- moveImageX(5);
- break;
case EVENT_MOVE_DOWN:
- moveImageY(5);
+ case EVENT_MOVE_STOP:
+ _movement = (Event)event;
break;
case EVENT_NEXT_IMAGE:
loadNextImage();