| Index: cc/layer.h
|
| diff --git a/cc/layer.h b/cc/layer.h
|
| index 3d63e74db8f1c2b238f88f431d44e777c60cc948..91a7cdbcd94c76b89476ea9473909f1bd46f4f60 100644
|
| --- a/cc/layer.h
|
| +++ b/cc/layer.h
|
| @@ -44,13 +44,21 @@ struct RenderingStats;
|
|
|
| // Base class for composited layers. Special layer types are derived from
|
| // this class.
|
| -class CC_EXPORT Layer : public base::RefCounted<Layer> {
|
| +class CC_EXPORT Layer : public base::RefCounted<Layer>, public LayerAnimationControllerClient {
|
| public:
|
| typedef std::vector<scoped_refptr<Layer> > LayerList;
|
|
|
| static scoped_refptr<Layer> create();
|
|
|
| - int id() const;
|
| + // 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;
|
|
|
| Layer* rootLayer();
|
| Layer* parent() { return m_parent; }
|
| @@ -91,7 +99,6 @@ public:
|
| virtual bool needsDisplay() const;
|
|
|
| void setOpacity(float);
|
| - float opacity() const;
|
| bool opacityIsAnimating() const;
|
|
|
| void setFilters(const WebKit::WebFilterOperations&);
|
| @@ -121,7 +128,6 @@ 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; }
|
| @@ -261,8 +267,8 @@ public:
|
| void resumeAnimations(double monotonicTime);
|
|
|
| LayerAnimationController* layerAnimationController() { return m_layerAnimationController.get(); }
|
| - void setLayerAnimationController(scoped_refptr<LayerAnimationController>);
|
| - scoped_refptr<LayerAnimationController> releaseLayerAnimationController();
|
| + void setLayerAnimationController(scoped_ptr<LayerAnimationController>);
|
| + scoped_ptr<LayerAnimationController> releaseLayerAnimationController();
|
|
|
| void setLayerAnimationDelegate(WebKit::WebAnimationDelegate* layerAnimationDelegate) { m_layerAnimationDelegate = layerAnimationDelegate; }
|
|
|
| @@ -333,7 +339,7 @@ private:
|
| // updated via setLayerTreeHost() if a layer moves between trees.
|
| LayerTreeHost* m_layerTreeHost;
|
|
|
| - scoped_refptr<LayerAnimationController> m_layerAnimationController;
|
| + scoped_ptr<LayerAnimationController> m_layerAnimationController;
|
|
|
| // Layer properties.
|
| gfx::Size m_bounds;
|
| @@ -351,6 +357,7 @@ private:
|
| gfx::PointF m_anchorPoint;
|
| SkColor m_backgroundColor;
|
| std::string m_debugName;
|
| + float m_opacity;
|
| skia::RefPtr<SkImageFilter> m_filter;
|
| WebKit::WebFilterOperations m_filters;
|
| WebKit::WebFilterOperations m_backgroundFilters;
|
| @@ -367,6 +374,7 @@ private:
|
| bool m_drawCheckerboardForMissingTiles;
|
| bool m_forceRenderSurface;
|
|
|
| + gfx::Transform m_transform;
|
| gfx::Transform m_sublayerTransform;
|
|
|
| // Replica layer used for reflections.
|
|
|