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

Unified Diff: include/codec/SkScanlineDecoder.h

Issue 1260673002: SkScaledCodec class (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: changing scaleToDimensions() name to nativelyScaleToDimensions() Created 5 years, 5 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/codec/SkScanlineDecoder.h
diff --git a/include/codec/SkScanlineDecoder.h b/include/codec/SkScanlineDecoder.h
index 8376e57c09d84bb48c1d7ae295ccd441a7feab48..2dd63639bebc755b4659115175fe2df8e5d9623f 100644
--- a/include/codec/SkScanlineDecoder.h
+++ b/include/codec/SkScanlineDecoder.h
@@ -75,6 +75,17 @@ public:
return this->onReallyHasAlpha();
}
+ /**
+ * returns true if the image type is hard to sample and must be scaled after reading, not during
+ * An example is interlaced pngs, where calling getScanlines once (regardless of the count
+ * used) needs to read the entire image, therefore it is inefficient to call
+ * getScanlines more than once. Instead, it should only ever be called with all the
+ * rows needed.
+ */
+ bool isHardToSample() {
djsollen 2015/08/03 13:13:59 isInterlaced?
emmaleer 2015/08/03 14:29:41 This function return's whether we can sample norma
+ return this->onIsHardToSample();
+ }
+
protected:
SkScanlineDecoder(const SkImageInfo& requested)
: fDstInfo(requested)
@@ -82,6 +93,12 @@ protected:
virtual bool onReallyHasAlpha() const { return false; }
+ /**
+ * returns true if the image type is hard to sample and must be scaled after reading, not during
+ * An example is interlaced pngs, where the entire image must be read for each decode
+ */
+ virtual bool onIsHardToSample() { return false; }
+
const SkImageInfo& dstInfo() const { return fDstInfo; }
private:

Powered by Google App Engine
This is Rietveld 408576698