aboutsummaryrefslogtreecommitdiff
path: root/engines/director/score.h
diff options
context:
space:
mode:
authorEugene Sandulenko2019-12-10 00:32:35 +0100
committerEugene Sandulenko2019-12-10 00:32:54 +0100
commit303b418dda38c4d4b88411c0a73ce387911b8ccb (patch)
tree80a22de56ab99a618e0c94c77d876fab25000d2d /engines/director/score.h
parent080c2b8410c6c2d48f72a156a43710776872b9c3 (diff)
downloadscummvm-rg350-303b418dda38c4d4b88411c0a73ce387911b8ccb.tar.gz
scummvm-rg350-303b418dda38c4d4b88411c0a73ce387911b8ccb.tar.bz2
scummvm-rg350-303b418dda38c4d4b88411c0a73ce387911b8ccb.zip
DIRECTOR: Implement zoomBox rendering
Diffstat (limited to 'engines/director/score.h')
-rw-r--r--engines/director/score.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/director/score.h b/engines/director/score.h
index 5f9b79cb31..388c14e73b 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -46,6 +46,15 @@ struct Label;
class Lingo;
class Sprite;
+struct ZoomBox {
+ Common::Rect start;
+ Common::Rect end;
+ int delay;
+ int step;
+ uint32 startTime;
+ uint32 nextTime;
+};
+
enum ScriptType {
kMovieScript = 0,
kSpriteScript = 1,
@@ -94,6 +103,9 @@ public:
int getCurrentLabelNumber();
int getNextLabelNumber(int referenceFrame);
+ void addZoomBox(ZoomBox *box);
+ void renderZoomBox(bool redraw = false);
+
private:
void update();
void readVersion(uint32 rid);
@@ -123,6 +135,7 @@ public:
Common::HashMap<uint16, Common::String> _fontMap;
Graphics::ManagedSurface *_surface;
Graphics::ManagedSurface *_trailSurface;
+ Graphics::ManagedSurface *_backSurface;
Graphics::Font *_font;
Archive *_movieArchive;
Common::Rect _movieRect;
@@ -158,6 +171,8 @@ private:
Lingo *_lingo;
DirectorSound *_soundManager;
DirectorEngine *_vm;
+
+ Common::Array<ZoomBox *> _zoomBoxes;
};
} // End of namespace Director