aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek/graphics.h
diff options
context:
space:
mode:
authorMatthew Stewart2018-05-16 19:52:44 -0400
committerEugene Sandulenko2018-08-09 08:37:30 +0200
commit02485484c31bee3101ecd3ac7ccb86e2db7b029b (patch)
tree368019c8328f6e21dd4941a6dcf3fa47e58d3da6 /engines/startrek/graphics.h
parentedcc80393ab6be8dc946b99d7fdc5132cdbfaaa9 (diff)
downloadscummvm-rg350-02485484c31bee3101ecd3ac7ccb86e2db7b029b.tar.gz
scummvm-rg350-02485484c31bee3101ecd3ac7ccb86e2db7b029b.tar.bz2
scummvm-rg350-02485484c31bee3101ecd3ac7ccb86e2db7b029b.zip
STARTREK: Buffer all changes to the mouse bitmap
Diffstat (limited to 'engines/startrek/graphics.h')
-rw-r--r--engines/startrek/graphics.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/startrek/graphics.h b/engines/startrek/graphics.h
index cba5ddfacd..f58e444a61 100644
--- a/engines/startrek/graphics.h
+++ b/engines/startrek/graphics.h
@@ -70,6 +70,8 @@ public:
void setMouseBitmap(SharedPtr<Bitmap> bitmap);
void lockMousePosition(int16 x, int16 y);
void unlockMousePosition();
+ SharedPtr<Bitmap> getMouseBitmap();
+ void warpMouse(int16 x, int16 y);
void drawSprite(const Sprite &sprite);
void drawSprite(const Sprite &sprite, const Common::Rect &rect);
@@ -102,13 +104,21 @@ private:
Sprite *_sprites[MAX_SPRITES];
int _numSprites;
+ // Any changes to the mouse image are buffered until the next time "drawAllSprites" is
+ // called (since the original game treats it like a sprite).
+ bool _mouseToBeShown;
+ bool _mouseToBeHidden;
+ int16 _mouseWarpX, _mouseWarpY;
+ SharedPtr<Bitmap> _mouseBitmapLastFrame;
+ SharedPtr<Bitmap> _mouseBitmap;
+
// These are used as a workaround for when the mouse position must be locked.
// The mouse is turned into a native game sprite when this happens.
bool _mouseLocked;
Sprite _lockedMouseSprite;
+
public:
- SharedPtr<Bitmap> _mouseBitmap;
};
}