| /* |
| * 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 |