Home | History | Annotate | Download | only in codec
      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