OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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_IMPL_H_ | 5 #ifndef CC_LAYERS_LAYER_IMPL_H_ |
6 #define CC_LAYERS_LAYER_IMPL_H_ | 6 #define CC_LAYERS_LAYER_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
11 #include <map> | 11 #include <map> |
12 #include <memory> | 12 #include <memory> |
13 #include <set> | 13 #include <set> |
14 #include <string> | 14 #include <string> |
15 #include <vector> | 15 #include <vector> |
16 | 16 |
17 #include "base/logging.h" | 17 #include "base/logging.h" |
18 #include "base/macros.h" | 18 #include "base/macros.h" |
19 #include "base/memory/ptr_util.h" | 19 #include "base/memory/ptr_util.h" |
20 #include "base/values.h" | 20 #include "base/values.h" |
21 #include "cc/animation/element_id.h" | |
22 #include "cc/animation/target_property.h" | 21 #include "cc/animation/target_property.h" |
23 #include "cc/base/cc_export.h" | 22 #include "cc/base/cc_export.h" |
24 #include "cc/base/region.h" | 23 #include "cc/base/region.h" |
25 #include "cc/base/synced_property.h" | 24 #include "cc/base/synced_property.h" |
26 #include "cc/input/input_handler.h" | 25 #include "cc/input/input_handler.h" |
27 #include "cc/layers/draw_properties.h" | 26 #include "cc/layers/draw_properties.h" |
28 #include "cc/layers/layer_collections.h" | 27 #include "cc/layers/layer_collections.h" |
29 #include "cc/layers/layer_impl_test_properties.h" | 28 #include "cc/layers/layer_impl_test_properties.h" |
30 #include "cc/layers/layer_position_constraint.h" | 29 #include "cc/layers/layer_position_constraint.h" |
31 #include "cc/layers/performance_properties.h" | 30 #include "cc/layers/performance_properties.h" |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 void SetMasksToBounds(bool masks_to_bounds); | 228 void SetMasksToBounds(bool masks_to_bounds); |
230 bool masks_to_bounds() const { return masks_to_bounds_; } | 229 bool masks_to_bounds() const { return masks_to_bounds_; } |
231 | 230 |
232 void SetContentsOpaque(bool opaque); | 231 void SetContentsOpaque(bool opaque); |
233 bool contents_opaque() const { return contents_opaque_; } | 232 bool contents_opaque() const { return contents_opaque_; } |
234 | 233 |
235 float Opacity() const; | 234 float Opacity() const; |
236 bool OpacityIsAnimating() const; | 235 bool OpacityIsAnimating() const; |
237 bool HasPotentiallyRunningOpacityAnimation() const; | 236 bool HasPotentiallyRunningOpacityAnimation() const; |
238 | 237 |
239 void SetElementId(ElementId element_id); | 238 void SetElementId(uint64_t element_id); |
240 ElementId element_id() const { return element_id_; } | 239 uint64_t element_id() const { return element_id_; } |
241 | 240 |
242 void SetMutableProperties(uint32_t properties); | 241 void SetMutableProperties(uint32_t properties); |
243 uint32_t mutable_properties() const { return mutable_properties_; } | 242 uint32_t mutable_properties() const { return mutable_properties_; } |
244 | 243 |
245 void SetBlendMode(SkXfermode::Mode); | 244 void SetBlendMode(SkXfermode::Mode); |
246 SkXfermode::Mode blend_mode() const { return blend_mode_; } | 245 SkXfermode::Mode blend_mode() const { return blend_mode_; } |
247 void set_draw_blend_mode(SkXfermode::Mode blend_mode) { | 246 void set_draw_blend_mode(SkXfermode::Mode blend_mode) { |
248 if (draw_blend_mode_ == blend_mode) | 247 if (draw_blend_mode_ == blend_mode) |
249 return; | 248 return; |
250 draw_blend_mode_ = blend_mode; | 249 draw_blend_mode_ = blend_mode; |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 friend class TreeSynchronizer; | 612 friend class TreeSynchronizer; |
614 | 613 |
615 // Layers that share a sorting context id will be sorted together in 3d | 614 // Layers that share a sorting context id will be sorted together in 3d |
616 // space. 0 is a special value that means this layer will not be sorted and | 615 // space. 0 is a special value that means this layer will not be sorted and |
617 // will be drawn in paint order. | 616 // will be drawn in paint order. |
618 int sorting_context_id_; | 617 int sorting_context_id_; |
619 | 618 |
620 DrawMode current_draw_mode_; | 619 DrawMode current_draw_mode_; |
621 | 620 |
622 private: | 621 private: |
623 ElementId element_id_; | 622 uint64_t element_id_; |
624 uint32_t mutable_properties_; | 623 uint32_t mutable_properties_; |
625 // Rect indicating what was repainted/updated during update. | 624 // Rect indicating what was repainted/updated during update. |
626 // Note that plugin layers bypass this and leave it empty. | 625 // Note that plugin layers bypass this and leave it empty. |
627 // This is in the layer's space. | 626 // This is in the layer's space. |
628 gfx::Rect update_rect_; | 627 gfx::Rect update_rect_; |
629 | 628 |
630 // Denotes an area that is damaged and needs redraw. This is in the layer's | 629 // Denotes an area that is damaged and needs redraw. This is in the layer's |
631 // space. | 630 // space. |
632 gfx::Rect damage_rect_; | 631 gfx::Rect damage_rect_; |
633 | 632 |
634 // Group of properties that need to be computed based on the layer tree | 633 // Group of properties that need to be computed based on the layer tree |
635 // hierarchy before layers can be drawn. | 634 // hierarchy before layers can be drawn. |
636 DrawProperties draw_properties_; | 635 DrawProperties draw_properties_; |
637 PerformanceProperties<LayerImpl> performance_properties_; | 636 PerformanceProperties<LayerImpl> performance_properties_; |
638 | 637 |
639 std::unique_ptr<base::trace_event::ConvertableToTraceFormat> | 638 std::unique_ptr<base::trace_event::ConvertableToTraceFormat> |
640 owned_debug_info_; | 639 owned_debug_info_; |
641 base::trace_event::ConvertableToTraceFormat* debug_info_; | 640 base::trace_event::ConvertableToTraceFormat* debug_info_; |
642 std::unique_ptr<RenderSurfaceImpl> render_surface_; | 641 std::unique_ptr<RenderSurfaceImpl> render_surface_; |
643 | 642 |
644 bool scrolls_drawn_descendant_; | 643 bool scrolls_drawn_descendant_; |
645 bool has_will_change_transform_hint_; | 644 bool has_will_change_transform_hint_; |
646 | 645 |
647 DISALLOW_COPY_AND_ASSIGN(LayerImpl); | 646 DISALLOW_COPY_AND_ASSIGN(LayerImpl); |
648 }; | 647 }; |
649 | 648 |
650 } // namespace cc | 649 } // namespace cc |
651 | 650 |
652 #endif // CC_LAYERS_LAYER_IMPL_H_ | 651 #endif // CC_LAYERS_LAYER_IMPL_H_ |
OLD | NEW |