OLD | NEW |
1 // Copyright 2010 The Chromium Authors. All rights reserved. | 1 // Copyright 2010 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 CC_LAYERS_LAYER_H_ | 5 #ifndef CC_LAYERS_LAYER_H_ |
6 #define CC_LAYERS_LAYER_H_ | 6 #define CC_LAYERS_LAYER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 const Layer* replica_layer() const { return replica_layer_.get(); } | 261 const Layer* replica_layer() const { return replica_layer_.get(); } |
262 | 262 |
263 bool has_mask() const { return !!mask_layer_; } | 263 bool has_mask() const { return !!mask_layer_; } |
264 bool has_replica() const { return !!replica_layer_; } | 264 bool has_replica() const { return !!replica_layer_; } |
265 bool replica_has_mask() const { | 265 bool replica_has_mask() const { |
266 return replica_layer_ && (mask_layer_ || replica_layer_->mask_layer_); | 266 return replica_layer_ && (mask_layer_ || replica_layer_->mask_layer_); |
267 } | 267 } |
268 | 268 |
269 // These methods typically need to be overwritten by derived classes. | 269 // These methods typically need to be overwritten by derived classes. |
270 virtual bool DrawsContent() const; | 270 virtual bool DrawsContent() const; |
| 271 virtual void PrepareToUpdate(); |
271 virtual void Update(ResourceUpdateQueue* queue, | 272 virtual void Update(ResourceUpdateQueue* queue, |
272 const OcclusionTracker* occlusion, | 273 const OcclusionTracker* occlusion, |
273 RenderingStats* stats) {} | 274 RenderingStats* stats) {} |
274 virtual bool NeedMoreUpdates(); | 275 virtual bool NeedMoreUpdates(); |
275 virtual void SetIsMask(bool is_mask) {} | 276 virtual void SetIsMask(bool is_mask) {} |
276 | 277 |
277 void SetDebugName(const std::string& debug_name); | 278 void SetDebugName(const std::string& debug_name); |
278 | 279 |
279 virtual void PushPropertiesTo(LayerImpl* layer); | 280 virtual void PushPropertiesTo(LayerImpl* layer); |
280 | 281 |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 | 373 |
373 protected: | 374 protected: |
374 friend class LayerImpl; | 375 friend class LayerImpl; |
375 friend class TreeSynchronizer; | 376 friend class TreeSynchronizer; |
376 virtual ~Layer(); | 377 virtual ~Layer(); |
377 | 378 |
378 Layer(); | 379 Layer(); |
379 | 380 |
380 void SetNeedsCommit(); | 381 void SetNeedsCommit(); |
381 void SetNeedsFullTreeSync(); | 382 void SetNeedsFullTreeSync(); |
| 383 bool IsPropertyChangeAllowed() const; |
382 | 384 |
383 // This flag is set when layer need repainting/updating. | 385 // This flag is set when layer need repainting/updating. |
384 bool needs_display_; | 386 bool needs_display_; |
385 | 387 |
386 // Tracks whether this layer may have changed stacking order with its | 388 // Tracks whether this layer may have changed stacking order with its |
387 // siblings. | 389 // siblings. |
388 bool stacking_order_changed_; | 390 bool stacking_order_changed_; |
389 | 391 |
390 // The update rect is the region of the compositor resource that was | 392 // The update rect is the region of the compositor resource that was |
391 // actually updated by the compositor. For layers that may do updating | 393 // actually updated by the compositor. For layers that may do updating |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
466 // Replica layer used for reflections. | 468 // Replica layer used for reflections. |
467 scoped_refptr<Layer> replica_layer_; | 469 scoped_refptr<Layer> replica_layer_; |
468 | 470 |
469 // Transient properties. | 471 // Transient properties. |
470 float raster_scale_; | 472 float raster_scale_; |
471 bool automatically_compute_raster_scale_; | 473 bool automatically_compute_raster_scale_; |
472 bool bounds_contain_page_scale_; | 474 bool bounds_contain_page_scale_; |
473 | 475 |
474 gfx::Transform impl_transform_; | 476 gfx::Transform impl_transform_; |
475 | 477 |
| 478 // These properties that can change during Update(). |
| 479 gfx::Size last_bounds_; |
| 480 |
476 WebKit::WebLayerScrollClient* layer_scroll_client_; | 481 WebKit::WebLayerScrollClient* layer_scroll_client_; |
477 | 482 |
478 DrawProperties<Layer, RenderSurface> draw_properties_; | 483 DrawProperties<Layer, RenderSurface> draw_properties_; |
479 | 484 |
480 DISALLOW_COPY_AND_ASSIGN(Layer); | 485 DISALLOW_COPY_AND_ASSIGN(Layer); |
481 }; | 486 }; |
482 | 487 |
483 } // namespace cc | 488 } // namespace cc |
484 | 489 |
485 #endif // CC_LAYERS_LAYER_H_ | 490 #endif // CC_LAYERS_LAYER_H_ |
OLD | NEW |