aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codec/SkBmpCodec.h
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-02-11 13:29:36 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-02-11 13:29:36 -0800
commit9b9497ef14f23562a95afe989d1efe41c603a6f6 (patch)
tree73bcf52cd5174899c13c816d02092faccdc8453d /src/codec/SkBmpCodec.h
parentf8289d9bd1faff400728cb8e1ac0b1aa68bfbc32 (diff)
Implement onSkipScanlines() for bmp and wbmp
Diffstat (limited to 'src/codec/SkBmpCodec.h')
-rw-r--r--src/codec/SkBmpCodec.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/codec/SkBmpCodec.h b/src/codec/SkBmpCodec.h
index 5d77ca3fc8..a54734f431 100644
--- a/src/codec/SkBmpCodec.h
+++ b/src/codec/SkBmpCodec.h
@@ -81,6 +81,7 @@ protected:
*/
uint16_t bitsPerPixel() const { return fBitsPerPixel; }
SkScanlineOrder onGetScanlineOrder() const override { return fRowOrder; }
+ size_t srcRowBytes() const { return fSrcRowBytes; }
/*
* To be overriden by bmp subclasses, which provide unique implementations.
@@ -127,15 +128,18 @@ private:
virtual int decodeRows(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes,
const Options& opts) = 0;
+ virtual bool skipRows(int count);
+
Result onStartScanlineDecode(const SkImageInfo& dstInfo, const SkCodec::Options&,
SkPMColor inputColorPtr[], int* inputColorCount) override;
int onGetScanlines(void* dst, int count, size_t rowBytes) override;
- // TODO(msarett): Override default skipping with something more clever.
+ bool onSkipScanlines(int count) override;
const uint16_t fBitsPerPixel;
const SkScanlineOrder fRowOrder;
+ const size_t fSrcRowBytes;
typedef SkCodec INHERITED;
};