- add sources.
[platform/framework/web/crosswalk.git] / src / cc / debug / layer_tree_debug_state.cc
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.
4
5 #include "cc/debug/layer_tree_debug_state.h"
6
7 #include "base/logging.h"
8
9 namespace cc {
10
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) {}
30
31 LayerTreeDebugState::~LayerTreeDebugState() {}
32
33 void LayerTreeDebugState::SetRecordRenderingStats(bool enabled) {
34   record_rendering_stats_ = enabled;
35 }
36
37 bool LayerTreeDebugState::RecordRenderingStats() const {
38   return record_rendering_stats_ || continuous_painting;
39 }
40
41 bool LayerTreeDebugState::ShowHudInfo() const {
42   return show_fps_counter || continuous_painting ||
43          ShowHudRects();
44 }
45
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;
52 }
53
54 bool LayerTreeDebugState::ShowMemoryStats() const {
55   return show_fps_counter || continuous_painting;
56 }
57
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_);
82 }
83
84 LayerTreeDebugState LayerTreeDebugState::Unite(const LayerTreeDebugState& a,
85                                                const LayerTreeDebugState& b) {
86   LayerTreeDebugState r(a);
87
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;
91
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;
102
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;
107
108   r.record_rendering_stats_ |= b.record_rendering_stats_;
109
110   return r;
111 }
112
113 }  // namespace cc