Index: src/images/SkDecodingImageGenerator.h |
diff --git a/src/images/SkDecodingImageGenerator.h b/src/images/SkDecodingImageGenerator.h |
index 49f1295bf3538cdd69451c8f86cb383eea44596a..c47555e4f85d1d7432d502f5e9fa43c68cb2a0ed 100644 |
--- a/src/images/SkDecodingImageGenerator.h |
+++ b/src/images/SkDecodingImageGenerator.h |
@@ -10,8 +10,10 @@ |
#include "SkDiscardableMemory.h" |
#include "SkImageGenerator.h" |
+#include "SkImageInfo.h" |
class SkBitmap; |
+class SkStreamRewindable; |
/** |
* Calls into SkImageDecoder::DecodeMemoryToTarget to implement a |
@@ -23,7 +25,13 @@ public: |
* The constructor will take a reference to the SkData. The |
* destructor will unref() it. |
*/ |
- SkDecodingImageGenerator(SkData* data); |
+ explicit SkDecodingImageGenerator(SkData* data); |
+ |
+ /* |
+ * This constructor will duplicate this stream. |
+ */ |
+ explicit SkDecodingImageGenerator(SkStreamRewindable* stream); |
+ |
virtual ~SkDecodingImageGenerator(); |
virtual SkData* refEncodedData() SK_OVERRIDE; |
@@ -52,8 +60,14 @@ public: |
*/ |
static bool Install(SkData* data, SkBitmap* destination, |
SkDiscardableMemory::Factory* factory = NULL); |
+ static bool Install(SkStreamRewindable* stream, SkBitmap* destination, |
+ SkDiscardableMemory::Factory* factory = NULL); |
private: |
- SkData* fData; |
+ SkData* fData; |
+ SkStreamRewindable* fStream; |
+ SkImageInfo fInfo; |
+ bool fHasInfo; |
+ bool fDoCopyTo; |
}; |
#endif // SkDecodingImageGenerator_DEFINED |