| /* | |
| * Copyright 2016 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #ifndef SkCodecAnimation_DEFINED | |
| #define SkCodecAnimation_DEFINED | |
| namespace SkCodecAnimation { | |
| /** | |
| * This specifies how the next frame is based on this frame. | |
| * | |
| * Names are based on the GIF 89a spec. | |
| * | |
| * The numbers correspond to values in a GIF. | |
| */ | |
| enum class DisposalMethod { | |
| /** | |
| * The next frame should be drawn on top of this one. | |
| * | |
| * In a GIF, a value of 0 (not specified) is also treated as Keep. | |
| */ | |
| kKeep = 1, | |
| /** | |
| * Similar to Keep, except the area inside this frame's rectangle | |
| * should be cleared to the BackGround color (transparent) before | |
| * drawing the next frame. | |
| */ | |
| kRestoreBGColor = 2, | |
| /** | |
| * The next frame should be drawn on top of the previous frame - i.e. | |
| * disregarding this one. | |
| * | |
| * In a GIF, a value of 4 is also treated as RestorePrevious. | |
| */ | |
| kRestorePrevious = 3, | |
| }; | |
| /** | |
| * How to blend the current frame. | |
| */ | |
| enum class Blend { | |
| /** | |
| * Blend with the prior frame as if using SkBlendMode::kSrcOver. | |
| */ | |
| kSrcOver, | |
| /** | |
| * Blend with the prior frame as if using SkBlendMode::kSrc. | |
| * | |
| * This frame's pixels replace the destination pixels. | |
| */ | |
| kSrc, | |
| }; | |
| } // namespace SkCodecAnimation | |
| #endif // SkCodecAnimation_DEFINED |