aboutsummaryrefslogtreecommitdiff
path: root/graphics/ilbm.h
diff options
context:
space:
mode:
authorNicola Mettifogo2007-03-27 19:45:09 +0000
committerNicola Mettifogo2007-03-27 19:45:09 +0000
commit4467a25db97acd671c516a09dbf8e0066a4d6300 (patch)
treef2707e64f0adfbf7a16d966959ff26e000f04a6a /graphics/ilbm.h
parent4dd50ee6f466ab22b23fb5ad63db64b2472abf65 (diff)
downloadscummvm-rg350-4467a25db97acd671c516a09dbf8e0066a4d6300.tar.gz
scummvm-rg350-4467a25db97acd671c516a09dbf8e0066a4d6300.tar.bz2
scummvm-rg350-4467a25db97acd671c516a09dbf8e0066a4d6300.zip
- added new subclass ILBMDecoder, to decode ILBM subtype of IFF files
- some bug fixing on the hierarchy svn-id: r26310
Diffstat (limited to 'graphics/ilbm.h')
-rw-r--r--graphics/ilbm.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/graphics/ilbm.h b/graphics/ilbm.h
index 45c01933f5..8c50d9fe5e 100644
--- a/graphics/ilbm.h
+++ b/graphics/ilbm.h
@@ -125,13 +125,14 @@ protected:
uint32 _colorCount;
Surface *_surface;
- byte *_colors;
+ byte **_colors;
virtual bool isTypeSupported(IFF_ID type) = 0;
virtual void readBODY() = 0;
virtual void readBMHD();
virtual void readCMAP();
+ virtual void readCRNG();
};
class PBMDecoder : public IFFDecoder {
@@ -139,7 +140,23 @@ public:
PBMDecoder(Common::ReadStream &input) : IFFDecoder(input) {}
protected:
bool isTypeSupported(IFF_ID type);
- void readBody();
+ void readBODY();
+};
+
+
+
+class ILBMDecoder : public IFFDecoder {
+
+protected:
+ bool isTypeSupported(IFF_ID type);
+ void readBODY();
+ void readCRNG();
+ void expandLine(byte *buf, uint32 width);
+ void fillPlane(byte *out, byte* buf, uint32 width, uint32 plane);
+
+public:
+ ILBMDecoder(Common::ReadStream &input);
+ ~ILBMDecoder();
};
} // End of namespace Graphics