diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/codec/SkCodec.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/include/codec/SkCodec.h b/include/codec/SkCodec.h index c2519cb840..f2a717c716 100644 --- a/include/codec/SkCodec.h +++ b/include/codec/SkCodec.h @@ -607,8 +607,8 @@ public: /** * Return info about the frames in the image. * - * May require reading through the stream to determine the number of - * frames. + * May require reading through the stream to determine info about the + * frames (including the count). * * As such, future decoding calls may require a rewind. * @@ -618,6 +618,21 @@ public: return this->onGetFrameInfo(); } + static constexpr int kRepetitionCountInfinite = -1; + + /** + * Return the number of times to repeat, if this image is animated. + * + * May require reading the stream to find the repetition count. + * + * As such, future decoding calls may require a rewind. + * + * For single-frame images, this will return 0. + */ + int getRepetitionCount() { + return this->onGetRepetitionCount(); + } + protected: /** * Takes ownership of SkStream* @@ -766,6 +781,10 @@ protected: return {}; } + virtual int onGetRepetitionCount() { + return 0; + } + /** * Used for testing with qcms. * FIXME: Remove this when we are done comparing with qcms. |