| 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;
|
| };
|
|
|