Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(872)

Unified Diff: src/codec/SkCodec_libbmp.h

Issue 1011343003: Enabling ico decoding with use of png and bmp decoders (Closed) Base URL: https://skia.googlesource.com/skia.git@swizzle
Patch Set: Removed additional blacklist items Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/codec/SkCodec.cpp ('k') | src/codec/SkCodec_libbmp.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
};
« no previous file with comments | « src/codec/SkCodec.cpp ('k') | src/codec/SkCodec_libbmp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698