diff options
author | RichieSams | 2013-09-08 15:12:36 -0500 |
---|---|---|
committer | RichieSams | 2013-09-09 11:16:39 -0500 |
commit | 511cb7447e6ebd9a0c54c3e767eb8ea754fd5398 (patch) | |
tree | 3afcb8cf3f47c9ef10c6caebcd8016a8505fdd5e | |
parent | c7358ed4f78437e26aeb05d2113e86ee35d14632 (diff) | |
download | scummvm-rg350-511cb7447e6ebd9a0c54c3e767eb8ea754fd5398.tar.gz scummvm-rg350-511cb7447e6ebd9a0c54c3e767eb8ea754fd5398.tar.bz2 scummvm-rg350-511cb7447e6ebd9a0c54c3e767eb8ea754fd5398.zip |
ZVISION: Create method for converting image space to working window space
-rw-r--r-- | engines/zvision/render_manager.cpp | 13 | ||||
-rw-r--r-- | engines/zvision/render_manager.h | 9 |
2 files changed, 22 insertions, 0 deletions
diff --git a/engines/zvision/render_manager.cpp b/engines/zvision/render_manager.cpp index 3f19cae6fe..c0554dc20a 100644 --- a/engines/zvision/render_manager.cpp +++ b/engines/zvision/render_manager.cpp @@ -338,6 +338,19 @@ const Common::Point RenderManager::screenSpaceToImageSpace(const Common::Point & return newPoint; } +const Common::Point RenderManager::imageSpaceToWorkingWindowSpace(const Common::Point &point) { + Common::Point newPoint(point); + + RenderTable::RenderState state = _renderTable.getRenderState(); + if (state == RenderTable::PANORAMA) { + newPoint += (Common::Point(_screenCenterX, 0) - _backgroundOffset); + } else if (state == RenderTable::TILT) { + newPoint += (Common::Point(0, _screenCenterY) - _backgroundOffset); + } + + return newPoint; +} + RenderTable *RenderManager::getRenderTable() { return &_renderTable; } diff --git a/engines/zvision/render_manager.h b/engines/zvision/render_manager.h index bb673e9929..0294d6a19f 100644 --- a/engines/zvision/render_manager.h +++ b/engines/zvision/render_manager.h @@ -173,6 +173,15 @@ public: * @return Point in image coordinate space */ const Common::Point screenSpaceToImageSpace(const Common::Point &point); + /** + * Converts a point in image coordinate space to ***PRE-WARP*** + * working window coordinate space + * + * @param point Point in image coordinate space + * @return Point in PRE-WARP working window coordinate space + */ + const Common::Point imageSpaceToWorkingWindowSpace(const Common::Point &point); + RenderTable *getRenderTable(); uint32 getCurrentBackgroundOffset(); |