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

Unified Diff: include/images/SkImageDecoder.h

Issue 14363003: Updates to skimage tool to use it for testing. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Implement onGetFormat for other decoders. Created 7 years, 8 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
Index: include/images/SkImageDecoder.h
diff --git a/include/images/SkImageDecoder.h b/include/images/SkImageDecoder.h
index 38e77f4df765e7139f0f2507f57fbd4e0c00ae23..47e8a7b426dd5c4a4b3f7ead064614582426d02d 100644
--- a/include/images/SkImageDecoder.h
+++ b/include/images/SkImageDecoder.h
@@ -26,7 +26,6 @@ class SkImageDecoder {
public:
virtual ~SkImageDecoder();
- // Should be consistent with sFormatName
enum Format {
kUnknown_Format,
kBMP_Format,
@@ -37,14 +36,20 @@ public:
kWBMP_Format,
kWEBP_Format,
- kLastKnownFormat = kWEBP_Format
+ kLastKnownFormat = kWEBP_Format,
+ kMultiple_Formats,
scroggo 2013/04/22 22:10:16 Does this seem like the right place for kMultiple_
epoger 2013/04/23 16:03:41 This seems problematic to me. Maybe, instead, the
scroggo 2013/04/24 18:00:05 That seems reasonable to me. For now though, I'll
};
/** Return the format of image this decoder can decode. If this decoder can decode multiple
- formats, kUnknown_Format will be returned.
+ formats, returns kMultiple_Formats.
*/
virtual Format getFormat() const;
+ /** If this decoder can determine the format of stream, return its format. Otherwise return
+ kUnknown_Format.
epoger 2013/04/23 16:03:41 Please indicate what state the SkStream will be le
scroggo 2013/04/24 18:00:05 Done.
+ */
+ Format getFormat(SkStream*) const;
+
/** Return a readable string of the value returned by getFormat().
*/
const char* getFormatName() const;
scroggo 2013/04/22 22:10:16 Derek, does Android call this? (I assume I have ac
djsollen 2013/04/23 16:40:46 It is only used in a debug statement in the Bitmap
@@ -329,6 +334,10 @@ public:
static void SetDeviceConfig(SkBitmap::Config);
protected:
+ // Override this in subclass to read a stream and determine its format.
+ // No need to rewind the stream, which will be handled in getFormat.
+ virtual Format onGetFormat(SkStream*) const;
+
// must be overridden in subclasses. This guy is called by decode(...)
virtual bool onDecode(SkStream*, SkBitmap* bitmap, Mode) = 0;
@@ -416,13 +425,6 @@ private:
mutable bool fShouldCancelDecode;
bool fPreferQualityOverSpeed;
- /** Contains the image format name.
- * This should be consistent with Format.
- *
- * The format name gives a more meaningful error message than enum.
- */
- static const char* sFormatName[];
-
// illegal
SkImageDecoder(const SkImageDecoder&);
SkImageDecoder& operator=(const SkImageDecoder&);
« no previous file with comments | « gyp/images.gyp ('k') | include/images/SkImageEncoder.h » ('j') | src/images/SkImageDecoder.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698