| Index: mojo/services/public/interfaces/view_manager/animations.mojom
|
| diff --git a/mojo/services/public/interfaces/view_manager/animations.mojom b/mojo/services/public/interfaces/view_manager/animations.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fad22eab12c37811b501d44dba919a0c89bdffd3
|
| --- /dev/null
|
| +++ b/mojo/services/public/interfaces/view_manager/animations.mojom
|
| @@ -0,0 +1,61 @@
|
| +// Copyright 2014 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 mojo;
|
| +
|
| +import "mojo/services/public/interfaces/geometry/geometry.mojom";
|
| +
|
| +enum AnimationTweenType {
|
| + LINEAR,
|
| + EASE_IN,
|
| + EASE_OUT,
|
| + EASE_IN_OUT,
|
| +};
|
| +
|
| +enum AnimationProperty {
|
| + // Used for pausing.
|
| + NONE,
|
| + OPACITY,
|
| + TRANSFORM,
|
| +};
|
| +
|
| +struct AnimationValue {
|
| + 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;
|
| +};
|
|
|