1 /* 2 * Copyright 2016 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkCodecAnimation_DEFINED 9 #define SkCodecAnimation_DEFINED 10 11 #include "SkCodec.h" 12 #include "SkRect.h" 13 14 class SkCodecAnimation { 15 public: 16 /** 17 * This specifies how the next frame is based on this frame. 18 * 19 * Names are based on the GIF 89a spec. 20 * 21 * The numbers correspond to values in a GIF. 22 */ 23 enum DisposalMethod { 24 /** 25 * The next frame should be drawn on top of this one. 26 * 27 * In a GIF, a value of 0 (not specified) is also treated as Keep. 28 */ 29 Keep_DisposalMethod = 1, 30 31 /** 32 * Similar to Keep, except the area inside this frame's rectangle 33 * should be cleared to the BackGround color (transparent) before 34 * drawing the next frame. 35 */ 36 RestoreBGColor_DisposalMethod = 2, 37 38 /** 39 * The next frame should be drawn on top of the previous frame - i.e. 40 * disregarding this one. 41 * 42 * In a GIF, a value of 4 is also treated as RestorePrevious. 43 */ 44 RestorePrevious_DisposalMethod = 3, 45 }; 46 47 private: 48 SkCodecAnimation(); 49 }; 50 #endif // SkCodecAnimation_DEFINED 51