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
3 // found in the LICENSE file.
5 #include "cc/debug/layer_tree_debug_state.h"
7 #include "base/logging.h"
11 // IMPORTANT: new fields must be added to Equal() and Unite()
12 LayerTreeDebugState::LayerTreeDebugState()
13 : show_fps_counter(false),
14 show_debug_borders(false),
15 continuous_painting(false),
16 show_paint_rects(false),
17 show_property_changed_rects(false),
18 show_surface_damage_rects(false),
19 show_screen_space_rects(false),
20 show_replica_screen_space_rects(false),
21 show_touch_event_handler_rects(false),
22 show_wheel_event_handler_rects(false),
23 show_scroll_event_handler_rects(false),
24 show_non_fast_scrollable_rects(false),
25 show_layer_animation_bounds_rects(false),
26 slow_down_raster_scale_factor(0),
27 rasterize_only_visible_content(false),
28 show_picture_borders(false),
29 record_rendering_stats_(false) {}
31 LayerTreeDebugState::~LayerTreeDebugState() {}
33 void LayerTreeDebugState::SetRecordRenderingStats(bool enabled
) {
34 record_rendering_stats_
= enabled
;
37 bool LayerTreeDebugState::RecordRenderingStats() const {
38 return record_rendering_stats_
|| continuous_painting
;
41 bool LayerTreeDebugState::ShowHudInfo() const {
42 return show_fps_counter
|| continuous_painting
||
46 bool LayerTreeDebugState::ShowHudRects() const {
47 return show_paint_rects
|| show_property_changed_rects
||
48 show_surface_damage_rects
|| show_screen_space_rects
||
49 show_replica_screen_space_rects
|| show_touch_event_handler_rects
||
50 show_wheel_event_handler_rects
|| show_scroll_event_handler_rects
||
51 show_non_fast_scrollable_rects
|| show_layer_animation_bounds_rects
;
54 bool LayerTreeDebugState::ShowMemoryStats() const {
55 return show_fps_counter
|| continuous_painting
;
58 bool LayerTreeDebugState::Equal(const LayerTreeDebugState
& a
,
59 const LayerTreeDebugState
& b
) {
61 a
.show_fps_counter
== b
.show_fps_counter
&&
62 a
.show_debug_borders
== b
.show_debug_borders
&&
63 a
.continuous_painting
== b
.continuous_painting
&&
64 a
.show_paint_rects
== b
.show_paint_rects
&&
65 a
.show_property_changed_rects
== b
.show_property_changed_rects
&&
66 a
.show_surface_damage_rects
== b
.show_surface_damage_rects
&&
67 a
.show_screen_space_rects
== b
.show_screen_space_rects
&&
68 a
.show_replica_screen_space_rects
== b
.show_replica_screen_space_rects
&&
69 a
.show_touch_event_handler_rects
== b
.show_touch_event_handler_rects
&&
70 a
.show_wheel_event_handler_rects
== b
.show_wheel_event_handler_rects
&&
71 a
.show_scroll_event_handler_rects
== b
.show_scroll_event_handler_rects
&&
72 a
.show_non_fast_scrollable_rects
== b
.show_non_fast_scrollable_rects
&&
73 a
.show_layer_animation_bounds_rects
==
74 b
.show_layer_animation_bounds_rects
&&
75 a
.slow_down_raster_scale_factor
== b
.slow_down_raster_scale_factor
&&
76 a
.rasterize_only_visible_content
== b
.rasterize_only_visible_content
&&
77 a
.show_picture_borders
== b
.show_picture_borders
&&
78 a
.record_rendering_stats_
== b
.record_rendering_stats_
);
81 LayerTreeDebugState
LayerTreeDebugState::Unite(const LayerTreeDebugState
& a
,
82 const LayerTreeDebugState
& b
) {
83 LayerTreeDebugState
r(a
);
85 r
.show_fps_counter
|= b
.show_fps_counter
;
86 r
.show_debug_borders
|= b
.show_debug_borders
;
87 r
.continuous_painting
|= b
.continuous_painting
;
89 r
.show_paint_rects
|= b
.show_paint_rects
;
90 r
.show_property_changed_rects
|= b
.show_property_changed_rects
;
91 r
.show_surface_damage_rects
|= b
.show_surface_damage_rects
;
92 r
.show_screen_space_rects
|= b
.show_screen_space_rects
;
93 r
.show_replica_screen_space_rects
|= b
.show_replica_screen_space_rects
;
94 r
.show_touch_event_handler_rects
|= b
.show_touch_event_handler_rects
;
95 r
.show_wheel_event_handler_rects
|= b
.show_wheel_event_handler_rects
;
96 r
.show_scroll_event_handler_rects
|= b
.show_scroll_event_handler_rects
;
97 r
.show_non_fast_scrollable_rects
|= b
.show_non_fast_scrollable_rects
;
98 r
.show_layer_animation_bounds_rects
|= b
.show_layer_animation_bounds_rects
;
100 if (b
.slow_down_raster_scale_factor
)
101 r
.slow_down_raster_scale_factor
= b
.slow_down_raster_scale_factor
;
102 r
.rasterize_only_visible_content
|= b
.rasterize_only_visible_content
;
103 r
.show_picture_borders
|= b
.show_picture_borders
;
105 r
.record_rendering_stats_
|= b
.record_rendering_stats_
;