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_occluding_rects(false),
22 show_non_occluding_rects(false),
23 show_touch_event_handler_rects(false),
24 show_wheel_event_handler_rects(false),
25 show_non_fast_scrollable_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_occluding_rects
||
50 show_non_occluding_rects
|| show_touch_event_handler_rects
||
51 show_wheel_event_handler_rects
|| show_non_fast_scrollable_rects
;
54 bool LayerTreeDebugState::ShowMemoryStats() const {
55 return show_fps_counter
|| continuous_painting
;
58 bool LayerTreeDebugState::Equal(const LayerTreeDebugState
& a
,
59 const LayerTreeDebugState
& b
) {
60 return (a
.show_fps_counter
== b
.show_fps_counter
&&
61 a
.show_debug_borders
== b
.show_debug_borders
&&
62 a
.continuous_painting
== b
.continuous_painting
&&
63 a
.show_paint_rects
== b
.show_paint_rects
&&
64 a
.show_property_changed_rects
== b
.show_property_changed_rects
&&
65 a
.show_surface_damage_rects
== b
.show_surface_damage_rects
&&
66 a
.show_screen_space_rects
== b
.show_screen_space_rects
&&
67 a
.show_replica_screen_space_rects
==
68 b
.show_replica_screen_space_rects
&&
69 a
.show_occluding_rects
== b
.show_occluding_rects
&&
70 a
.show_non_occluding_rects
== b
.show_non_occluding_rects
&&
71 a
.show_touch_event_handler_rects
==
72 b
.show_touch_event_handler_rects
&&
73 a
.show_wheel_event_handler_rects
==
74 b
.show_wheel_event_handler_rects
&&
75 a
.show_non_fast_scrollable_rects
==
76 b
.show_non_fast_scrollable_rects
&&
77 a
.slow_down_raster_scale_factor
== b
.slow_down_raster_scale_factor
&&
78 a
.rasterize_only_visible_content
==
79 b
.rasterize_only_visible_content
&&
80 a
.show_picture_borders
== b
.show_picture_borders
&&
81 a
.record_rendering_stats_
== b
.record_rendering_stats_
);
84 LayerTreeDebugState
LayerTreeDebugState::Unite(const LayerTreeDebugState
& a
,
85 const LayerTreeDebugState
& b
) {
86 LayerTreeDebugState
r(a
);
88 r
.show_fps_counter
|= b
.show_fps_counter
;
89 r
.show_debug_borders
|= b
.show_debug_borders
;
90 r
.continuous_painting
|= b
.continuous_painting
;
92 r
.show_paint_rects
|= b
.show_paint_rects
;
93 r
.show_property_changed_rects
|= b
.show_property_changed_rects
;
94 r
.show_surface_damage_rects
|= b
.show_surface_damage_rects
;
95 r
.show_screen_space_rects
|= b
.show_screen_space_rects
;
96 r
.show_replica_screen_space_rects
|= b
.show_replica_screen_space_rects
;
97 r
.show_occluding_rects
|= b
.show_occluding_rects
;
98 r
.show_non_occluding_rects
|= b
.show_non_occluding_rects
;
99 r
.show_touch_event_handler_rects
|= b
.show_touch_event_handler_rects
;
100 r
.show_wheel_event_handler_rects
|= b
.show_wheel_event_handler_rects
;
101 r
.show_non_fast_scrollable_rects
|= b
.show_non_fast_scrollable_rects
;
103 if (b
.slow_down_raster_scale_factor
)
104 r
.slow_down_raster_scale_factor
= b
.slow_down_raster_scale_factor
;
105 r
.rasterize_only_visible_content
|= b
.rasterize_only_visible_content
;
106 r
.show_picture_borders
|= b
.show_picture_borders
;
108 r
.record_rendering_stats_
|= b
.record_rendering_stats_
;