aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/3ds/sprite.cpp
diff options
context:
space:
mode:
authorMichael Ball2019-10-27 11:59:25 -0700
committerBastien Bouclet2019-11-05 05:51:45 +0100
commit78de5724047f56bd3ecbfb9ab423bb6c943f6589 (patch)
tree907d06ec001443f28c97d2d39d0acaf4c2b6aee2 /backends/platform/3ds/sprite.cpp
parentb342d42ff9b881aa4a719a7079d94fff37705dd6 (diff)
downloadscummvm-rg350-78de5724047f56bd3ecbfb9ab423bb6c943f6589.tar.gz
scummvm-rg350-78de5724047f56bd3ecbfb9ab423bb6c943f6589.tar.bz2
scummvm-rg350-78de5724047f56bd3ecbfb9ab423bb6c943f6589.zip
3DS: Implement magnify mode toggle on L and move keyboard to Y/DRIGHT
Diffstat (limited to 'backends/platform/3ds/sprite.cpp')
-rw-r--r--backends/platform/3ds/sprite.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/backends/platform/3ds/sprite.cpp b/backends/platform/3ds/sprite.cpp
index 1f2c72e2d3..bbccf94fe6 100644
--- a/backends/platform/3ds/sprite.cpp
+++ b/backends/platform/3ds/sprite.cpp
@@ -42,6 +42,8 @@ Sprite::Sprite()
, actualHeight(0)
, posX(0)
, posY(0)
+ , offsetX(0)
+ , offsetY(0)
, scaleX(1.f)
, scaleY(1.f)
{
@@ -85,7 +87,6 @@ void Sprite::create(uint16 width, uint16 height, const Graphics::PixelFormat &f)
memcpy(vertices, tmp, sizeof(vertex) * 4);
}
-
void Sprite::free() {
linearFree(vertices);
linearFree(pixels);
@@ -138,12 +139,18 @@ void Sprite::setPosition(int x, int y) {
}
}
+void Sprite::setOffset(uint16 x, uint16 y) {
+ offsetX = x;
+ offsetY = y;
+ dirtyMatrix = true;
+}
+
C3D_Mtx* Sprite::getMatrix() {
if (dirtyMatrix) {
dirtyMatrix = false;
Mtx_Identity(&modelview);
Mtx_Scale(&modelview, scaleX, scaleY, 1.f);
- Mtx_Translate(&modelview, posX, posY, 0, true);
+ Mtx_Translate(&modelview, posX - offsetX, posY - offsetY, 0, true);
}
return &modelview;
}