Chromium Code Reviews| Index: components/mus/public/interfaces/animations.mojom |
| diff --git a/components/mus/public/interfaces/animations.mojom b/components/mus/public/interfaces/animations.mojom |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e7bd0afa8c8a77fbe23ca017944eb05918b1a0c4 |
| --- /dev/null |
| +++ b/components/mus/public/interfaces/animations.mojom |
| @@ -0,0 +1,62 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +module mus.mojom; |
| + |
| +import "ui/gfx/mojo/transform.mojom"; |
| + |
| +enum AnimationTweenType { |
| + LINEAR, |
| + EASE_IN, |
| + EASE_OUT, |
| + EASE_IN_OUT, |
| +}; |
| +//import "ui/gfx/geometry/mojo/geometry.mojom"; |
|
sky
2016/06/16 16:36:33
?
mfomitchev
2016/06/22 21:59:35
Done.
|
| + |
| +enum AnimationProperty { |
| + // Used for pausing. |
| + NONE, |
| + OPACITY, |
| + TRANSFORM, |
| +}; |
| + |
| +struct AnimationValue { |
| + float float_value; |
| + gfx.mojom.Transform transform; |
|
sky
2016/06/16 16:36:33
Shouldn't this be a ? as it isn't applicable to al
mfomitchev
2016/06/22 21:59:35
Done. Note that we still always return true for tr
|
| +}; |
| + |
| +// 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 window and a set of AnimationSequences to apply |
| +// to the window. Each sequence is run in parallel. |
| +struct AnimationGroup { |
| + uint32 window_id; |
| + array<AnimationSequence> sequences; |
| +}; |