| Index: cc/layer.h
|
| diff --git a/cc/layer.h b/cc/layer.h
|
| index 87839b484fe795efadd08757425520bd220856f1..4483c32ba8fa02eb5f367a1f52b530a2f623c489 100644
|
| --- a/cc/layer.h
|
| +++ b/cc/layer.h
|
| @@ -13,7 +13,8 @@
|
| #include "cc/cc_export.h"
|
| #include "cc/draw_properties.h"
|
| #include "cc/layer_animation_controller.h"
|
| -#include "cc/layer_animation_observer.h"
|
| +#include "cc/layer_animation_event_observer.h"
|
| +#include "cc/layer_animation_value_observer.h"
|
| #include "cc/occlusion_tracker.h"
|
| #include "cc/region.h"
|
| #include "cc/render_surface.h"
|
| @@ -46,21 +47,14 @@ struct RenderingStats;
|
|
|
| // Base class for composited layers. Special layer types are derived from
|
| // this class.
|
| -class CC_EXPORT Layer : public base::RefCounted<Layer>, public LayerAnimationControllerClient {
|
| +class CC_EXPORT Layer : public base::RefCounted<Layer>,
|
| + public LayerAnimationValueObserver {
|
| public:
|
| typedef std::vector<scoped_refptr<Layer> > LayerList;
|
|
|
| static scoped_refptr<Layer> create();
|
|
|
| - // LayerAnimationControllerClient implementation
|
| - virtual int id() const OVERRIDE;
|
| - virtual void setOpacityFromAnimation(float) OVERRIDE;
|
| - virtual float opacity() const OVERRIDE;
|
| - virtual void setTransformFromAnimation(const gfx::Transform&) OVERRIDE;
|
| - // A layer's transform operates layer space. That is, entirely in logical,
|
| - // non-page-scaled pixels (that is, they have page zoom baked in, but not page scale).
|
| - // The root layer is a special case -- it operates in physical pixels.
|
| - virtual const gfx::Transform& transform() const OVERRIDE;
|
| + int id() const;
|
|
|
| Layer* rootLayer();
|
| Layer* parent() { return m_parent; }
|
| @@ -102,6 +96,7 @@ public:
|
| virtual bool needsDisplay() const;
|
|
|
| void setOpacity(float);
|
| + float opacity() const;
|
| bool opacityIsAnimating() const;
|
|
|
| void setFilters(const WebKit::WebFilterOperations&);
|
| @@ -131,6 +126,7 @@ public:
|
| const gfx::Transform& sublayerTransform() const { return m_sublayerTransform; }
|
|
|
| void setTransform(const gfx::Transform&);
|
| + const gfx::Transform& transform() const;
|
| bool transformIsAnimating() const;
|
|
|
| DrawProperties<Layer, RenderSurface>& drawProperties() { return m_drawProperties; }
|
| @@ -269,8 +265,8 @@ public:
|
| void resumeAnimations(double monotonicTime);
|
|
|
| LayerAnimationController* layerAnimationController() { return m_layerAnimationController.get(); }
|
| - void setLayerAnimationController(scoped_ptr<LayerAnimationController>);
|
| - scoped_ptr<LayerAnimationController> releaseLayerAnimationController();
|
| + void setLayerAnimationController(scoped_refptr<LayerAnimationController>);
|
| + scoped_refptr<LayerAnimationController> releaseLayerAnimationController();
|
|
|
| void setLayerAnimationDelegate(WebKit::WebAnimationDelegate* layerAnimationDelegate) { m_layerAnimationDelegate = layerAnimationDelegate; }
|
|
|
| @@ -279,8 +275,8 @@ public:
|
| virtual void notifyAnimationStarted(const AnimationEvent&, double wallClockTime);
|
| virtual void notifyAnimationFinished(double wallClockTime);
|
|
|
| - void addLayerAnimationObserver(LayerAnimationObserver* animationObserver);
|
| - void removeLayerAnimationObserver(LayerAnimationObserver* animationObserver);
|
| + void addLayerAnimationEventObserver(LayerAnimationEventObserver* animationObserver);
|
| + void removeLayerAnimationEventObserver(LayerAnimationEventObserver* animationObserver);
|
|
|
| virtual Region visibleContentOpaqueRegion() const;
|
|
|
| @@ -336,6 +332,10 @@ private:
|
| // This should only be called from removeFromParent.
|
| void removeChild(Layer*);
|
|
|
| + // LayerAnimationValueObserver implementation.
|
| + virtual void OnOpacityAnimated(float) OVERRIDE;
|
| + virtual void OnTransformAnimated(const gfx::Transform&) OVERRIDE;
|
| +
|
| LayerList m_children;
|
| Layer* m_parent;
|
|
|
| @@ -344,8 +344,9 @@ private:
|
| // updated via setLayerTreeHost() if a layer moves between trees.
|
| LayerTreeHost* m_layerTreeHost;
|
|
|
| - scoped_ptr<LayerAnimationController> m_layerAnimationController;
|
| - ObserverList<LayerAnimationObserver> m_layerAnimationObservers;
|
| + ObserverList<LayerAnimationEventObserver> m_layerAnimationObservers;
|
| +
|
| + scoped_refptr<LayerAnimationController> m_layerAnimationController;
|
|
|
| // Layer properties.
|
| gfx::Size m_bounds;
|
|
|