Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(226)

Unified Diff: ui/gfx/compositor/layer_animation_element.h

Issue 10365007: ui: Move compositor/ directory out of gfx/, up to ui/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix DEPS Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/compositor/layer_animation_delegate.h ('k') | ui/gfx/compositor/layer_animation_element.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/compositor/layer_animation_element.h
diff --git a/ui/gfx/compositor/layer_animation_element.h b/ui/gfx/compositor/layer_animation_element.h
deleted file mode 100644
index 798772f1f5fe8d3b7dcc281765dc932416db7984..0000000000000000000000000000000000000000
--- a/ui/gfx/compositor/layer_animation_element.h
+++ /dev/null
@@ -1,134 +0,0 @@
-// Copyright (c) 2012 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.
-
-#ifndef UI_GFX_COMPOSITOR_LAYER_ANIMATION_ELEMENT_H_
-#define UI_GFX_COMPOSITOR_LAYER_ANIMATION_ELEMENT_H_
-#pragma once
-
-#include <set>
-
-#include "base/time.h"
-#include "ui/base/animation/tween.h"
-#include "ui/gfx/compositor/compositor_export.h"
-#include "ui/gfx/rect.h"
-#include "ui/gfx/transform.h"
-
-namespace ui {
-
-class InterpolatedTransform;
-class LayerAnimationDelegate;
-class Transform;
-
-// LayerAnimationElements represent one segment of an animation between two
-// keyframes. They know how to update a LayerAnimationDelegate given a value
-// between 0 and 1 (0 for initial, and 1 for final).
-class COMPOSITOR_EXPORT LayerAnimationElement {
- public:
- enum AnimatableProperty {
- TRANSFORM = 0,
- BOUNDS,
- OPACITY,
- VISIBILITY
- };
-
- struct COMPOSITOR_EXPORT TargetValue {
- TargetValue();
- // Initializes the target value to match the delegate. NULL may be supplied.
- explicit TargetValue(const LayerAnimationDelegate* delegate);
-
- gfx::Rect bounds;
- Transform transform;
- float opacity;
- bool visibility;
- };
-
- typedef std::set<AnimatableProperty> AnimatableProperties;
-
- LayerAnimationElement(const AnimatableProperties& properties,
- base::TimeDelta duration);
- virtual ~LayerAnimationElement();
-
- // Creates an element that transitions to the given transform. The caller owns
- // the return value.
- static LayerAnimationElement* CreateTransformElement(
- const Transform& transform,
- base::TimeDelta duration);
-
- // Creates an element that transitions to another in a way determined by an
- // interpolated transform. The element accepts ownership of the interpolated
- // transform. NB: at every step, the interpolated transform clobbers the
- // existing transform. That is, it does not interpolate between the existing
- // transform and the last value the interpolated transform will assume. It is
- // therefore important that the value of the interpolated at time 0 matches
- // the current transform.
- static LayerAnimationElement* CreateInterpolatedTransformElement(
- InterpolatedTransform* interpolated_transform,
- base::TimeDelta duration);
-
- // Creates an element that transitions to the given bounds. The caller owns
- // the return value.
- static LayerAnimationElement* CreateBoundsElement(
- const gfx::Rect& bounds,
- base::TimeDelta duration);
-
- // Creates an element that transitions to the given opacity. The caller owns
- // the return value.
- static LayerAnimationElement* CreateOpacityElement(
- float opacity,
- base::TimeDelta duration);
-
- // Creates an element that sets visibily following a delay. The caller owns
- // the return value.
- static LayerAnimationElement* CreateVisibilityElement(
- bool visibility,
- base::TimeDelta duration);
-
- // Creates an element that pauses the given properties. The caller owns the
- // return value.
- static LayerAnimationElement* CreatePauseElement(
- const AnimatableProperties& properties,
- base::TimeDelta duration);
-
- // Updates the delegate to the appropriate value for |t|, which is in the
- // range [0, 1] (0 for initial, and 1 for final). If the animation is not
- // aborted, it is guaranteed that Progress will eventually be called with
- // t = 1.0. Returns true if a redraw is required.
- bool Progress(double t, LayerAnimationDelegate* delegate);
-
- // Called if the animation is not allowed to complete. This may be called
- // before OnStarted or Progress.
- void Abort();
-
- // Assigns the target value to |target|.
- void GetTargetValue(TargetValue* target) const;
-
- // The properties that the element modifies.
- const AnimatableProperties& properties() const { return properties_; }
-
- // The duration of the animation
- base::TimeDelta duration() const { return duration_; }
-
- Tween::Type tween_type() const { return tween_type_; }
- void set_tween_type(Tween::Type tween_type) { tween_type_ = tween_type;}
-
- protected:
- // Called once each time the animation element is run before any call to
- // OnProgress.
- virtual void OnStart(LayerAnimationDelegate* delegate) = 0;
- virtual bool OnProgress(double t, LayerAnimationDelegate* delegate) = 0;
- virtual void OnGetTarget(TargetValue* target) const = 0;
- virtual void OnAbort() = 0;
-
- private:
- bool first_frame_;
- const AnimatableProperties properties_;
- const base::TimeDelta duration_;
- Tween::Type tween_type_;
-
- DISALLOW_COPY_AND_ASSIGN(LayerAnimationElement);
-};
-
-} // namespace ui
-
-#endif // UI_GFX_COMPOSITOR_LAYER_ANIMATION_ELEMENT_H_
« no previous file with comments | « ui/gfx/compositor/layer_animation_delegate.h ('k') | ui/gfx/compositor/layer_animation_element.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698