aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/screen.h
diff options
context:
space:
mode:
authorjohndoe1232014-04-04 10:47:39 +0200
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit54bce3d37a852e0d3a674277ff09212a7adfc007 (patch)
tree8c04acffabe11b7894513cd16bc61a7fff4a8182 /engines/illusions/screen.h
parent6d17b40796bf6ff91d4d036a33280e0ec27788f6 (diff)
downloadscummvm-rg350-54bce3d37a852e0d3a674277ff09212a7adfc007.tar.gz
scummvm-rg350-54bce3d37a852e0d3a674277ff09212a7adfc007.tar.bz2
scummvm-rg350-54bce3d37a852e0d3a674277ff09212a7adfc007.zip
ILLUSIONS: Move SpriteDecompressQueue to screen
Diffstat (limited to 'engines/illusions/screen.h')
-rw-r--r--engines/illusions/screen.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/engines/illusions/screen.h b/engines/illusions/screen.h
index 8fa95ecfa6..33a0de3986 100644
--- a/engines/illusions/screen.h
+++ b/engines/illusions/screen.h
@@ -24,12 +24,36 @@
#define ILLUSIONS_SCREEN_H
#include "illusions/spritedrawqueue.h"
-#include "illusions/spritedecompressqueue.h"
+#include "common/list.h"
#include "graphics/surface.h"
namespace Illusions {
class IllusionsEngine;
+class Screen;
+
+struct SpriteDecompressQueueItem {
+ byte *_drawFlags;
+ uint32 _flags;
+ uint32 _field8;
+ WidthHeight _dimensions;
+ byte *_compressedPixels;
+ Graphics::Surface *_surface;
+};
+
+class SpriteDecompressQueue {
+public:
+ SpriteDecompressQueue();
+ ~SpriteDecompressQueue();
+ void insert(byte *drawFlags, uint32 flags, uint32 field8, WidthHeight &dimensions,
+ byte *compressedPixels, Graphics::Surface *surface);
+ void decompressAll();
+protected:
+ typedef Common::List<SpriteDecompressQueueItem*> SpriteDecompressQueueList;
+ typedef SpriteDecompressQueueList::iterator SpriteDecompressQueueListIterator;
+ SpriteDecompressQueueList _queue;
+ void decompress(SpriteDecompressQueueItem *item);
+};
class Screen {
public: