OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_COMPOSITOR_LAYER_H_ | 5 #ifndef UI_COMPOSITOR_LAYER_H_ |
6 #define UI_COMPOSITOR_LAYER_H_ | 6 #define UI_COMPOSITOR_LAYER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 NON_EXPORTED_BASE(public cc::TextureLayerClient), | 71 NON_EXPORTED_BASE(public cc::TextureLayerClient), |
72 NON_EXPORTED_BASE(public cc::LayerClient), | 72 NON_EXPORTED_BASE(public cc::LayerClient), |
73 NON_EXPORTED_BASE(public cc::LayerAnimationEventObserver) { | 73 NON_EXPORTED_BASE(public cc::LayerAnimationEventObserver) { |
74 public: | 74 public: |
75 Layer(); | 75 Layer(); |
76 explicit Layer(LayerType type); | 76 explicit Layer(LayerType type); |
77 ~Layer() override; | 77 ~Layer() override; |
78 | 78 |
79 static bool UsingPictureLayer(); | 79 static bool UsingPictureLayer(); |
80 | 80 |
| 81 static const cc::LayerSettings& UILayerSettings(); |
| 82 static void SetUILayerSettings(const cc::LayerSettings& settings); |
| 83 |
81 // Retrieves the Layer's compositor. The Layer will walk up its parent chain | 84 // Retrieves the Layer's compositor. The Layer will walk up its parent chain |
82 // to locate it. Returns NULL if the Layer is not attached to a compositor. | 85 // to locate it. Returns NULL if the Layer is not attached to a compositor. |
83 Compositor* GetCompositor() { | 86 Compositor* GetCompositor() { |
84 return const_cast<Compositor*>( | 87 return const_cast<Compositor*>( |
85 const_cast<const Layer*>(this)->GetCompositor()); | 88 const_cast<const Layer*>(this)->GetCompositor()); |
86 } | 89 } |
87 const Compositor* GetCompositor() const; | 90 const Compositor* GetCompositor() const; |
88 | 91 |
89 // Called by the compositor when the Layer is set as its root Layer. This can | 92 // Called by the compositor when the Layer is set as its root Layer. This can |
90 // only ever be called on the root layer. | 93 // only ever be called on the root layer. |
91 void SetCompositor(Compositor* compositor); | 94 void SetCompositor(Compositor* compositor, |
| 95 scoped_refptr<cc::Layer> root_layer); |
| 96 void ResetCompositor(); |
92 | 97 |
93 LayerDelegate* delegate() { return delegate_; } | 98 LayerDelegate* delegate() { return delegate_; } |
94 void set_delegate(LayerDelegate* delegate) { delegate_ = delegate; } | 99 void set_delegate(LayerDelegate* delegate) { delegate_ = delegate; } |
95 | 100 |
96 LayerOwner* owner() { return owner_; } | 101 LayerOwner* owner() { return owner_; } |
97 | 102 |
98 // Adds a new Layer to this Layer. | 103 // Adds a new Layer to this Layer. |
99 void Add(Layer* child); | 104 void Add(Layer* child); |
100 | 105 |
101 // Removes a Layer from this Layer. | 106 // Removes a Layer from this Layer. |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 void SetAnimator(LayerAnimator* animator); | 139 void SetAnimator(LayerAnimator* animator); |
135 | 140 |
136 // Returns the layer's animator. Creates a default animator of one has not | 141 // Returns the layer's animator. Creates a default animator of one has not |
137 // been set. Will not return NULL. | 142 // been set. Will not return NULL. |
138 LayerAnimator* GetAnimator(); | 143 LayerAnimator* GetAnimator(); |
139 | 144 |
140 // The transform, relative to the parent. | 145 // The transform, relative to the parent. |
141 void SetTransform(const gfx::Transform& transform); | 146 void SetTransform(const gfx::Transform& transform); |
142 gfx::Transform transform() const; | 147 gfx::Transform transform() const; |
143 | 148 |
| 149 gfx::PointF position() const { return cc_layer_->position(); } |
| 150 |
144 // Return the target transform if animator is running, or the current | 151 // Return the target transform if animator is running, or the current |
145 // transform otherwise. | 152 // transform otherwise. |
146 gfx::Transform GetTargetTransform() const; | 153 gfx::Transform GetTargetTransform() const; |
147 | 154 |
148 // The bounds, relative to the parent. | 155 // The bounds, relative to the parent. |
149 void SetBounds(const gfx::Rect& bounds); | 156 void SetBounds(const gfx::Rect& bounds); |
150 const gfx::Rect& bounds() const { return bounds_; } | 157 const gfx::Rect& bounds() const { return bounds_; } |
151 | 158 |
152 // The offset from our parent (stored in bounds.origin()) is an integer but we | 159 // The offset from our parent (stored in bounds.origin()) is an integer but we |
153 // may need to be at a fractional pixel offset to align properly on screen. | 160 // may need to be at a fractional pixel offset to align properly on screen. |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 void PaintContents( | 350 void PaintContents( |
344 SkCanvas* canvas, | 351 SkCanvas* canvas, |
345 const gfx::Rect& clip, | 352 const gfx::Rect& clip, |
346 ContentLayerClient::PaintingControlSetting painting_control) override; | 353 ContentLayerClient::PaintingControlSetting painting_control) override; |
347 void PaintContentsToDisplayList( | 354 void PaintContentsToDisplayList( |
348 cc::DisplayItemList* display_list, | 355 cc::DisplayItemList* display_list, |
349 const gfx::Rect& clip, | 356 const gfx::Rect& clip, |
350 ContentLayerClient::PaintingControlSetting painting_control) override; | 357 ContentLayerClient::PaintingControlSetting painting_control) override; |
351 bool FillsBoundsCompletely() const override; | 358 bool FillsBoundsCompletely() const override; |
352 | 359 |
353 cc::Layer* cc_layer() { return cc_layer_; } | 360 cc::Layer* cc_layer_for_testing() { return cc_layer_; } |
354 | 361 |
355 // TextureLayerClient | 362 // TextureLayerClient |
356 bool PrepareTextureMailbox( | 363 bool PrepareTextureMailbox( |
357 cc::TextureMailbox* mailbox, | 364 cc::TextureMailbox* mailbox, |
358 scoped_ptr<cc::SingleReleaseCallback>* release_callback, | 365 scoped_ptr<cc::SingleReleaseCallback>* release_callback, |
359 bool use_shared_memory) override; | 366 bool use_shared_memory) override; |
360 | 367 |
361 float device_scale_factor() const { return device_scale_factor_; } | 368 float device_scale_factor() const { return device_scale_factor_; } |
362 | 369 |
363 // Forces a render surface to be used on this layer. This has no positive | 370 // Forces a render surface to be used on this layer. This has no positive |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 // The size of the frame or texture in DIP, set when SetShowDelegatedContent | 538 // The size of the frame or texture in DIP, set when SetShowDelegatedContent |
532 // or SetTextureMailbox was called. | 539 // or SetTextureMailbox was called. |
533 gfx::Size frame_size_in_dip_; | 540 gfx::Size frame_size_in_dip_; |
534 | 541 |
535 DISALLOW_COPY_AND_ASSIGN(Layer); | 542 DISALLOW_COPY_AND_ASSIGN(Layer); |
536 }; | 543 }; |
537 | 544 |
538 } // namespace ui | 545 } // namespace ui |
539 | 546 |
540 #endif // UI_COMPOSITOR_LAYER_H_ | 547 #endif // UI_COMPOSITOR_LAYER_H_ |
OLD | NEW |