Index: mojo/services/public/interfaces/view_manager/view_manager_constants.mojom |
diff --git a/mojo/services/public/interfaces/view_manager/view_manager_constants.mojom b/mojo/services/public/interfaces/view_manager/view_manager_constants.mojom |
index 14bd36348f1a63040d6dd915c6d686d5166eac25..c00bda5641022f1d745b8c7b79937797cc0dfb1b 100644 |
--- a/mojo/services/public/interfaces/view_manager/view_manager_constants.mojom |
+++ b/mojo/services/public/interfaces/view_manager/view_manager_constants.mojom |
@@ -4,7 +4,63 @@ |
module mojo; |
+import "mojo/services/public/interfaces/geometry/geometry.mojom"; |
+ |
enum OrderDirection { |
ABOVE = 1, |
BELOW, |
}; |
+ |
+enum AnimationTweenType { |
+ LINEAR, |
+ EASE_IN, |
+ EASE_OUT, |
+ EASE_IN_OUT, |
+}; |
+ |
+enum AnimationProperty { |
+ // Used for pausing. |
+ NONE, |
+ OPACITY, |
+ TRANSFORM, |
+}; |
+ |
+struct AnimationValue { |
Elliot Glaysher
2014/12/03 23:49:59
You may want to have these in a different file; if
sky
2014/12/04 00:21:23
Done.
|
+ float float_value; |
+ Transform transform; |
+}; |
+ |
+// Identifies how a particular property should be animated between a start and |
+// target value. |
+struct AnimationElement { |
+ AnimationProperty property; |
+ |
+ // Duration is in microseconds. |
+ int64 duration; |
+ |
+ AnimationTweenType tween_type; |
+ |
+ // If not specified the start value is taken from either the current value |
+ // (for the first element) or the target_value of the previous element. |
+ AnimationValue? start_value; |
+ |
+ // target_value may be null when property is NONE. |
+ AnimationValue? target_value; |
+}; |
+ |
+// An AnimationSequence consists of a number of AnimationElements to animate. |
+// Each element is animated serially. |
+struct AnimationSequence { |
+ // Number of times to run the sequence. Value of 0 means run until |
+ // explicitly stopped. |
+ uint32 cycle_count; |
+ |
+ array<AnimationElement> elements; |
+}; |
+ |
+// AnimationGroup identifies a view and a set of AnimationSequences to apply |
+// to the view. Each sequence is run in parallel. |
+struct AnimationGroup { |
+ uint32 view_id; |
+ array<AnimationSequence> sequences; |
+}; |