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 <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
13 #include "base/observer_list.h" | 13 #include "base/observer_list.h" |
14 #include "cc/animation/layer_animation_controller.h" | 14 #include "cc/animation/layer_animation_controller.h" |
15 #include "cc/animation/layer_animation_value_observer.h" | 15 #include "cc/animation/layer_animation_value_observer.h" |
16 #include "cc/animation/layer_animation_value_provider.h" | 16 #include "cc/animation/layer_animation_value_provider.h" |
17 #include "cc/base/cc_export.h" | 17 #include "cc/base/cc_export.h" |
18 #include "cc/base/region.h" | 18 #include "cc/base/region.h" |
19 #include "cc/base/scoped_ptr_vector.h" | 19 #include "cc/base/scoped_ptr_vector.h" |
20 #include "cc/debug/micro_benchmark.h" | 20 #include "cc/debug/micro_benchmark.h" |
21 #include "cc/layers/compositing_reasons.h" | |
22 #include "cc/layers/draw_properties.h" | 21 #include "cc/layers/draw_properties.h" |
23 #include "cc/layers/layer_lists.h" | 22 #include "cc/layers/layer_lists.h" |
24 #include "cc/layers/layer_position_constraint.h" | 23 #include "cc/layers/layer_position_constraint.h" |
25 #include "cc/layers/paint_properties.h" | 24 #include "cc/layers/paint_properties.h" |
26 #include "cc/layers/render_surface.h" | 25 #include "cc/layers/render_surface.h" |
27 #include "cc/output/filter_operations.h" | 26 #include "cc/output/filter_operations.h" |
28 #include "cc/trees/occlusion_tracker.h" | 27 #include "cc/trees/occlusion_tracker.h" |
29 #include "skia/ext/refptr.h" | 28 #include "skia/ext/refptr.h" |
30 #include "third_party/skia/include/core/SkColor.h" | 29 #include "third_party/skia/include/core/SkColor.h" |
31 #include "third_party/skia/include/core/SkImageFilter.h" | 30 #include "third_party/skia/include/core/SkImageFilter.h" |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 virtual bool NeedMoreUpdates(); | 360 virtual bool NeedMoreUpdates(); |
362 virtual void SetIsMask(bool is_mask) {} | 361 virtual void SetIsMask(bool is_mask) {} |
363 virtual void ReduceMemoryUsage() {} | 362 virtual void ReduceMemoryUsage() {} |
364 virtual void OnOutputSurfaceCreated() {} | 363 virtual void OnOutputSurfaceCreated() {} |
365 | 364 |
366 virtual std::string DebugName(); | 365 virtual std::string DebugName(); |
367 virtual scoped_refptr<base::debug::ConvertableToTraceFormat> TakeDebugInfo(); | 366 virtual scoped_refptr<base::debug::ConvertableToTraceFormat> TakeDebugInfo(); |
368 | 367 |
369 void SetLayerClient(LayerClient* client) { client_ = client; } | 368 void SetLayerClient(LayerClient* client) { client_ = client; } |
370 | 369 |
371 void SetCompositingReasons(CompositingReasons reasons); | |
372 | |
373 virtual void PushPropertiesTo(LayerImpl* layer); | 370 virtual void PushPropertiesTo(LayerImpl* layer); |
374 | 371 |
375 void CreateRenderSurface(); | 372 void CreateRenderSurface(); |
376 void ClearRenderSurface(); | 373 void ClearRenderSurface(); |
377 | 374 |
378 // The contents scale converts from logical, non-page-scaled pixels to target | 375 // The contents scale converts from logical, non-page-scaled pixels to target |
379 // pixels. The contents scale is 1 for the root layer as it is already in | 376 // pixels. The contents scale is 1 for the root layer as it is already in |
380 // physical pixels. By default contents scale is forced to be 1 except for | 377 // physical pixels. By default contents scale is forced to be 1 except for |
381 // subclasses of ContentsScalingLayer. | 378 // subclasses of ContentsScalingLayer. |
382 float contents_scale_x() const { return draw_properties_.contents_scale_x; } | 379 float contents_scale_x() const { return draw_properties_.contents_scale_x; } |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
587 bool double_sided_ : 1; | 584 bool double_sided_ : 1; |
588 bool preserves_3d_ : 1; | 585 bool preserves_3d_ : 1; |
589 bool use_parent_backface_visibility_ : 1; | 586 bool use_parent_backface_visibility_ : 1; |
590 bool draw_checkerboard_for_missing_tiles_ : 1; | 587 bool draw_checkerboard_for_missing_tiles_ : 1; |
591 bool force_render_surface_ : 1; | 588 bool force_render_surface_ : 1; |
592 Region non_fast_scrollable_region_; | 589 Region non_fast_scrollable_region_; |
593 Region touch_event_handler_region_; | 590 Region touch_event_handler_region_; |
594 gfx::PointF position_; | 591 gfx::PointF position_; |
595 gfx::PointF anchor_point_; | 592 gfx::PointF anchor_point_; |
596 SkColor background_color_; | 593 SkColor background_color_; |
597 CompositingReasons compositing_reasons_; | |
598 float opacity_; | 594 float opacity_; |
599 SkXfermode::Mode blend_mode_; | 595 SkXfermode::Mode blend_mode_; |
600 FilterOperations filters_; | 596 FilterOperations filters_; |
601 FilterOperations background_filters_; | 597 FilterOperations background_filters_; |
602 float anchor_point_z_; | 598 float anchor_point_z_; |
603 LayerPositionConstraint position_constraint_; | 599 LayerPositionConstraint position_constraint_; |
604 Layer* scroll_parent_; | 600 Layer* scroll_parent_; |
605 scoped_ptr<std::set<Layer*> > scroll_children_; | 601 scoped_ptr<std::set<Layer*> > scroll_children_; |
606 | 602 |
607 Layer* clip_parent_; | 603 Layer* clip_parent_; |
(...skipping 17 matching lines...) Expand all Loading... |
625 DrawProperties<Layer> draw_properties_; | 621 DrawProperties<Layer> draw_properties_; |
626 | 622 |
627 PaintProperties paint_properties_; | 623 PaintProperties paint_properties_; |
628 | 624 |
629 DISALLOW_COPY_AND_ASSIGN(Layer); | 625 DISALLOW_COPY_AND_ASSIGN(Layer); |
630 }; | 626 }; |
631 | 627 |
632 } // namespace cc | 628 } // namespace cc |
633 | 629 |
634 #endif // CC_LAYERS_LAYER_H_ | 630 #endif // CC_LAYERS_LAYER_H_ |
OLD | NEW |