Index: src/codec/SkCodec_libbmp.h |
diff --git a/src/codec/SkCodec_libbmp.h b/src/codec/SkCodec_libbmp.h |
index e6620d275d538558b595c561a2ef4deffaf8a38c..9c5deac8e51aa8c1dcee63c82f9017201e3b28e1 100644 |
--- a/src/codec/SkCodec_libbmp.h |
+++ b/src/codec/SkCodec_libbmp.h |
@@ -35,7 +35,7 @@ public: |
/* |
* |
- * Checks the start of the stream to see if the image is a bitmap |
+ * Checks the start of the stream to see if the image is a bmp |
* |
*/ |
static bool IsBmp(SkStream*); |
@@ -43,17 +43,25 @@ public: |
/* |
* |
* Assumes IsBmp was called and returned true |
- * Creates a bitmap decoder |
+ * Creates a bmp decoder |
* Reads enough of the stream to determine the image format |
* |
*/ |
static SkCodec* NewFromStream(SkStream*); |
+ /* |
+ * |
+ * Creates a bmp decoder for a bmp embedded in ico |
+ * Reads enough of the stream to determine the image format |
+ * |
+ */ |
+ static SkCodec* NewFromIco(SkStream*); |
+ |
protected: |
/* |
* |
- * Initiates the bitmap decode |
+ * Initiates the bmp decode |
* |
*/ |
virtual Result onGetPixels(const SkImageInfo& dstInfo, void* dst, |
@@ -64,7 +72,7 @@ private: |
/* |
* |
- * Used to define the input format of the bitmap |
+ * Used to define the input format of the bmp |
* |
*/ |
enum BitmapInputFormat { |
@@ -83,6 +91,14 @@ private: |
/* |
* |
+ * Creates a bmp decoder |
+ * Reads enough of the stream to determine the image format |
+ * |
+ */ |
+ static SkCodec* NewFromStream(SkStream*, const bool isIco); |
+ |
+ /* |
+ * |
* Performs the bitmap decoding for bit masks input format |
* |
*/ |
@@ -147,7 +163,8 @@ private: |
SkBmpCodec(const SkImageInfo& srcInfo, SkStream* stream, |
uint16_t bitsPerPixel, BitmapInputFormat format, |
SkMasks* masks, uint32_t numColors, uint32_t bytesPerColor, |
- uint32_t offset, RowOrder rowOrder, size_t RLEByes); |
+ uint32_t offset, RowOrder rowOrder, size_t RLEBytes, |
+ bool isIco); |
// Fields |
const uint16_t fBitsPerPixel; |
@@ -158,7 +175,8 @@ private: |
const uint32_t fBytesPerColor; |
const uint32_t fOffset; |
const RowOrder fRowOrder; |
- const size_t fRLEBytes; |
+ const uint32_t fRLEBytes; |
+ const bool fIsIco; |
typedef SkCodec INHERITED; |
}; |