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/layer_tree_debug_state.h"
7 #include "base/logging.h"
11 LayerTreeDebugState::LayerTreeDebugState()
12 : showFPSCounter(false)
13 , showPlatformLayerTree(false)
14 , showDebugBorders(false)
15 , continuousPainting(false)
16 , showPaintRects(false)
17 , showPropertyChangedRects(false)
18 , showSurfaceDamageRects(false)
19 , showScreenSpaceRects(false)
20 , showReplicaScreenSpaceRects(false)
21 , showOccludingRects(false)
22 , showNonOccludingRects(false) { }
24 LayerTreeDebugState::~LayerTreeDebugState() {
27 bool LayerTreeDebugState::showHudInfo() const {
28 return showFPSCounter
|| showPlatformLayerTree
|| showHudRects();
31 bool LayerTreeDebugState::showHudRects() const {
32 return showPaintRects
|| showPropertyChangedRects
|| showSurfaceDamageRects
|| showScreenSpaceRects
|| showReplicaScreenSpaceRects
|| showOccludingRects
|| showNonOccludingRects
;
35 bool LayerTreeDebugState::hudNeedsFont() const {
36 return showFPSCounter
|| showPlatformLayerTree
;
39 bool LayerTreeDebugState::equal(const LayerTreeDebugState
& a
, const LayerTreeDebugState
& b
) {
40 return memcmp(&a
, &b
, sizeof(LayerTreeDebugState
)) == 0;
43 LayerTreeDebugState
LayerTreeDebugState::unite(const LayerTreeDebugState
& a
, const LayerTreeDebugState
& b
) {
44 LayerTreeDebugState
r(a
);
46 r
.showFPSCounter
|= b
.showFPSCounter
;
47 r
.showPlatformLayerTree
|= b
.showPlatformLayerTree
;
48 r
.showDebugBorders
|= b
.showDebugBorders
;
49 r
.continuousPainting
|= b
.continuousPainting
;
51 r
.showPaintRects
|= b
.showPaintRects
;
52 r
.showPropertyChangedRects
|= b
.showPropertyChangedRects
;
53 r
.showSurfaceDamageRects
|= b
.showSurfaceDamageRects
;
54 r
.showScreenSpaceRects
|= b
.showScreenSpaceRects
;
55 r
.showReplicaScreenSpaceRects
|= b
.showReplicaScreenSpaceRects
;
56 r
.showOccludingRects
|= b
.showOccludingRects
;
57 r
.showNonOccludingRects
|= b
.showNonOccludingRects
;