skia2/samplecode
Leon Scroggins III 42ee284567 Use SkAndroidCodec in SkAnimatedImage
Bug: b/63909536
Bug: b/63908092

SkAnimatedImage is designed around a specific Android use case, so move
it into the android folders.

Make SkAnimatedImage hold an SkAndroidCodec (instead of an SkCodec).
Expose fCodec so that SkAnimatedImage can animate by using the internal
SkCodec.

Update the sample to use SkAndroidCodec.

Allow webp to decode a scaled down animation. For RestoreBG frames,
adjust the frameRect (which is erased) to account for the scaling. Add
a test to verify that we decode a webp with a RestoreBG frame
successfully. Disable scaling for later frames in other formats (GIF,
for now), since the code for erasing a RestoreBG frame is currently
unaware of the sampling.

Change-Id: I5dd2b86138f2c7f6adcd08dce1bd49040f7dc224
Reviewed-on: https://skia-review.googlesource.com/94621
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2018-01-16 20:36:09 +00:00
..
ClockFaceView.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
DecodeFile.h use unique_ptr for codec factories 2017-07-25 15:35:23 +00:00
PerlinPatch.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
Sample2PtRadial.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleAAClip.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleAAGeometry.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleAARectModes.cpp Use SkBlendMode_Name rather than one-off tables 2017-03-15 16:52:49 +00:00
SampleAARects.cpp Revert "efficiently dash very large rectangles and very long lines" 2017-12-19 20:20:17 +00:00
SampleAll.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleAndroidShadows.cpp Fix alpha contribution to tonal color. 2017-12-19 19:27:06 +00:00
SampleAnimatedImage.cpp Use SkAndroidCodec in SkAnimatedImage 2018-01-16 20:36:09 +00:00
SampleAnimatedText.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleAnimator.cpp SkFontData to use smart pointers. 2016-09-16 06:24:20 -07:00
SampleAnimBlur.cpp switch maskfilters to sk_sp 2016-04-04 10:02:58 -07:00
SampleArc.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleAtlas.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleBigBlur.cpp switch maskfilters to sk_sp 2016-04-04 10:02:58 -07:00
SampleBigGradient.cpp turn on extended Clang warnings on Windows too 2017-12-04 19:29:51 +00:00
SampleBitmapRect.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleBlur.cpp remove unneeded code for index8 imagse 2017-07-03 19:07:25 +00:00
SampleCamera.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleCCPRGeometry.cpp CCPR: Rename GrCCPR* -> GrCC* 2018-01-08 22:51:11 +00:00
SampleChart.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleChineseFling.cpp resources: resource identifiers don't begin with leading slash 2017-12-08 20:03:18 +00:00
SampleCircle.cpp Factor code to rotate a canvas about a point. 2016-07-12 15:01:19 -07:00
SampleClamp.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleClip.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleClipDrawMatch.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleClock.cpp Add samples to Viewer. 2016-06-16 09:52:35 -07:00
SampleCode.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleCode.h Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleColorFilter.cpp remove xfermode from public api 2016-10-28 20:06:17 +00:00
SampleComplexClip.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleConcavePaths.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleCowboy.cpp Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
SampleDash.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleDegenerateTwoPtRadials.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleDither.cpp Revert "efficiently dash very large rectangles and very long lines" 2017-12-19 20:20:17 +00:00
SampleEffects.cpp Alloc glyph image correctly for SkMask::k3D_Format. 2017-11-14 17:38:34 +00:00
SampleEmboss.cpp Revert "Revert "make it illegal to include SkXfermode.h"" 2016-11-23 22:17:17 +00:00
SampleFatBits.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleFillType.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleFilter2.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleFilterFuzz.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleFilterQuality.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleFontCache.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleFontScalerTest.cpp Remove internal use of SkTypeface::Style. 2017-07-27 21:30:45 +00:00
SampleFuzz.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleGradients.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleHairCurves.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleHairline.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleHairModes.cpp Use SkBlendMode_Name rather than one-off tables 2017-03-15 16:52:49 +00:00
SampleHT.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleIdentityScale.cpp Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
SampleLayerMask.cpp Revert "Revert "Reland: Remove SkLights include from SkCanvas.h"" 2017-05-03 19:17:11 +00:00
SampleLayers.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleLCD.cpp Rein in the use of SkDevice.h 2016-04-20 05:29:51 -07:00
SampleLines.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleLua.cpp Fix SampleLua build 2017-12-11 17:15:40 +00:00
SampleManyRects.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleMeasure.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleMegaStroke.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SamplePatch.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePath.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathClip.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathEffects.cpp begin to hide details of SkPathEffect 2017-02-26 18:36:11 +00:00
SamplePathFill.cpp stop using SkScalarMul 2017-02-14 19:45:24 +00:00
SamplePathFinder.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathFuzz.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathOverstroke.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SamplePathText.cpp Add analytic clip FPs that read from the CCPR atlas 2017-12-05 18:06:18 +00:00
SamplePdfFileViewer.cpp Revert "Revert "make it illegal to include SkXfermode.h"" 2016-11-23 22:17:17 +00:00
SamplePoints.cpp Revert "Revert "make it illegal to include SkXfermode.h"" 2016-11-23 22:17:17 +00:00
SamplePolyToPoly.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleQuadStroker.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleRectanizer.cpp Fix leak in GM:Rectanizer 2017-12-24 17:06:42 +00:00
SampleRegion.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleRepeatTile.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleSGInval.cpp [sksg] Fix paint inval 2017-12-29 00:41:00 +00:00
SampleShaders.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleShaderText.cpp use Make instead of Create to return a shared shader 2016-03-08 18:50:00 -08:00
SampleShadowColor.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleShadowReference.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleShadowUtils.cpp Fix alpha contribution to tonal color. 2017-12-19 19:27:06 +00:00
SampleShip.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleSlides.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleStringArt.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleStrokePath.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleStrokeRect.cpp Rein in the use of SkDevice.h 2016-04-20 05:29:51 -07:00
SampleSubpixelTranslate.cpp Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
SampleSVGFile.cpp Mark overridden destructors with 'override' and remove 'virtual' 2017-03-22 16:06:18 +00:00
SampleSVGPong.cpp Fix SVGPong slide crash in Viewer 2017-12-03 01:15:32 +00:00
SampleText.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleTextAlpha.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleTextBox.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleTextOnPath.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleTextureDomain.cpp hide lockpixels api behind flag 2017-04-17 15:33:36 +00:00
SampleTiling.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
SampleUnpremul.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
SampleVertices.cpp Delete even more unused views code 2017-11-29 18:12:35 +00:00
SampleWritePixels.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
SampleXfer.cpp Remove more views code, just to simplify things 2017-12-01 17:12:49 +00:00
SampleXfermodesBlur.cpp add drawString helper to canvas 2017-04-28 20:41:04 +00:00
vertexdump.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00