summaryrefslogtreecommitdiffstats
path: root/gfx/skia/skia/include/codec/SkCodecAnimation.h
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/skia/skia/include/codec/SkCodecAnimation.h')
-rw-r--r--gfx/skia/skia/include/codec/SkCodecAnimation.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/gfx/skia/skia/include/codec/SkCodecAnimation.h b/gfx/skia/skia/include/codec/SkCodecAnimation.h
new file mode 100644
index 0000000000..c5883e2af2
--- /dev/null
+++ b/gfx/skia/skia/include/codec/SkCodecAnimation.h
@@ -0,0 +1,61 @@
+/*
+ * 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