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

Unified Diff: cc/layer.h

Issue 11443004: Maintain global lists of animation controllers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years 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
« cc/animation_registrar.h ('K') | « cc/cc.gyp ('k') | cc/layer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layer.h
diff --git a/cc/layer.h b/cc/layer.h
index 86cc650c9a7645b19ab156a2dcaff46eb722e93b..8d12058d8fa29db9d039ecae8fe95cdeddc468aa 100644
--- a/cc/layer.h
+++ b/cc/layer.h
@@ -42,21 +42,13 @@ 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:
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; }
@@ -97,6 +89,7 @@ public:
virtual bool needsDisplay() const;
void setOpacity(float);
+ float opacity() const;
bool opacityIsAnimating() const;
void setFilters(const WebKit::WebFilterOperations&);
@@ -126,6 +119,7 @@ public:
const gfx::Transform& sublayerTransform() const { return m_sublayerTransform; }
void setTransform(const gfx::Transform&);
+ const gfx::Transform& transform() const;
bool transformIsAnimating() const;
const gfx::Rect& visibleContentRect() const { return m_visibleContentRect; }
@@ -285,8 +279,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; }
@@ -352,7 +346,7 @@ private:
// updated via setLayerTreeHost() if a layer moves between trees.
LayerTreeHost* m_layerTreeHost;
- scoped_ptr<LayerAnimationController> m_layerAnimationController;
+ scoped_refptr<LayerAnimationController> m_layerAnimationController;
// Layer properties.
gfx::Size m_bounds;
@@ -373,7 +367,6 @@ 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;
@@ -390,7 +383,6 @@ private:
bool m_drawCheckerboardForMissingTiles;
bool m_forceRenderSurface;
- gfx::Transform m_transform;
gfx::Transform m_sublayerTransform;
// Replica layer used for reflections.
« cc/animation_registrar.h ('K') | « cc/cc.gyp ('k') | cc/layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698