| Index: src/codec/SkCodec_libbmp.h
|
| diff --git a/src/codec/SkCodec_libbmp.h b/src/codec/SkCodec_libbmp.h
|
| index fb23716f77a1d0ad2ff44462c24246b186771756..4dda117d5a1e6529d4504bdfdb693997d7259984 100644
|
| --- a/src/codec/SkCodec_libbmp.h
|
| +++ b/src/codec/SkCodec_libbmp.h
|
| @@ -7,7 +7,6 @@
|
|
|
| #include "SkCodec.h"
|
| #include "SkColorTable.h"
|
| -#include "SkEncodedFormat.h"
|
| #include "SkImageInfo.h"
|
| #include "SkMaskSwizzler.h"
|
| #include "SkStream.h"
|
| @@ -36,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*);
|
| @@ -44,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,
|
| @@ -62,11 +69,12 @@ protected:
|
| int*) SK_OVERRIDE;
|
|
|
| SkEncodedFormat onGetEncodedFormat() const SK_OVERRIDE { return kBMP_SkEncodedFormat; }
|
| +
|
| private:
|
|
|
| /*
|
| *
|
| - * Used to define the input format of the bitmap
|
| + * Used to define the input format of the bmp
|
| *
|
| */
|
| enum BitmapInputFormat {
|
| @@ -85,6 +93,14 @@ private:
|
|
|
| /*
|
| *
|
| + * Creates a bmp decoder
|
| + * Reads enough of the stream to determine the image format
|
| + *
|
| + */
|
| + static SkCodec* NewFromStream(SkStream*, bool isIco);
|
| +
|
| + /*
|
| + *
|
| * Performs the bitmap decoding for bit masks input format
|
| *
|
| */
|
| @@ -149,7 +165,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;
|
| @@ -161,6 +178,7 @@ private:
|
| const uint32_t fOffset;
|
| const RowOrder fRowOrder;
|
| const size_t fRLEBytes;
|
| + const bool fIsIco;
|
|
|
| typedef SkCodec INHERITED;
|
| };
|
|
|