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..daf83a81d04ed4a118980d655ef0a93768f83721 |
| --- /dev/null |
| +++ b/components/mus/public/interfaces/animations.mojom |
| @@ -0,0 +1,61 @@ |
| +// 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, |
| +}; |
| + |
| +enum AnimationProperty { |
| + // Used for pausing. |
| + NONE, |
| + OPACITY, |
| + TRANSFORM, |
| +}; |
| + |
| +struct AnimationValue { |
| + float float_value; |
| + gfx.mojom.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; |
|
sky
2016/06/22 23:21:28
Don't you need the ? here? You kept the logic that
mfomitchev
2016/06/23 14:54:28
Oops, sorry! I was toggling "?" for gfx.mojom.Tran
|
| + |
| + // 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; |
| +}; |