Index: cc/heads_up_display_layer.cc |
diff --git a/cc/heads_up_display_layer.cc b/cc/heads_up_display_layer.cc |
index ef11deecaec42f4ce08121046f0d35e2a4a82da0..a3621e2d4c775b4442216a6c9e546da1f4758272 100644 |
--- a/cc/heads_up_display_layer.cc |
+++ b/cc/heads_up_display_layer.cc |
@@ -10,6 +10,46 @@ |
namespace cc { |
+HeadsUpDisplayLayerSettings::HeadsUpDisplayLayerSettings() |
+ : showFPSCounter(false) |
+ , showPlatformLayerTree(false) |
+ , showPaintRects(false) |
+ , showPropertyChangedRects(false) |
+ , showSurfaceDamageRects(false) |
+ , showScreenSpaceRects(false) |
+ , showReplicaScreenSpaceRects(false) |
+ , showOccludingRects(false) |
+ , showNonOccludingRects(false) |
+{ |
+} |
+ |
+bool HeadsUpDisplayLayerSettings::showDebugInfo() const |
+{ |
+ return showFPSCounter || showPlatformLayerTree || showDebugRects(); |
+} |
+ |
+bool HeadsUpDisplayLayerSettings::showDebugRects() const |
+{ |
+ return showPaintRects || showPropertyChangedRects || showSurfaceDamageRects || showScreenSpaceRects || showReplicaScreenSpaceRects || showOccludingRects || showNonOccludingRects; |
+} |
+ |
+HeadsUpDisplayLayerSettings HeadsUpDisplayLayerSettings::merge(HeadsUpDisplayLayerSettings& other) |
+{ |
+ HeadsUpDisplayLayerSettings settings; |
+ |
+ settings.showFPSCounter = showFPSCounter | other.showFPSCounter; |
+ settings.showPlatformLayerTree = showPlatformLayerTree | other.showPlatformLayerTree; |
+ |
+ settings.showPaintRects = showPaintRects | other.showPaintRects; |
+ settings.showPropertyChangedRects = showPropertyChangedRects | other.showPropertyChangedRects; |
+ settings.showSurfaceDamageRects = showSurfaceDamageRects | other.showSurfaceDamageRects; |
+ settings.showScreenSpaceRects = showScreenSpaceRects | other.showScreenSpaceRects; |
+ settings.showReplicaScreenSpaceRects = showReplicaScreenSpaceRects | other.showReplicaScreenSpaceRects; |
+ settings.showNonOccludingRects = showNonOccludingRects | other.showNonOccludingRects; |
+ |
+ return settings; |
+} |
+ |
scoped_refptr<HeadsUpDisplayLayer> HeadsUpDisplayLayer::create() |
{ |
return make_scoped_refptr(new HeadsUpDisplayLayer()); |
@@ -17,7 +57,6 @@ scoped_refptr<HeadsUpDisplayLayer> HeadsUpDisplayLayer::create() |
HeadsUpDisplayLayer::HeadsUpDisplayLayer() |
: Layer() |
- , m_showFPSCounter(false) |
{ |
setBounds(gfx::Size(256, 128)); |
} |
@@ -28,14 +67,13 @@ HeadsUpDisplayLayer::~HeadsUpDisplayLayer() |
void HeadsUpDisplayLayer::update(ResourceUpdateQueue&, const OcclusionTracker*, RenderingStats&) |
{ |
- const LayerTreeSettings& settings = layerTreeHost()->settings(); |
int maxTextureSize = layerTreeHost()->rendererCapabilities().maxTextureSize; |
gfx::Size bounds; |
WebKit::WebTransformationMatrix matrix; |
matrix.makeIdentity(); |
- if (settings.showPlatformLayerTree || settings.showDebugRects()) { |
+ if (m_settings.showPlatformLayerTree || m_settings.showDebugRects()) { |
int width = std::min(maxTextureSize, layerTreeHost()->deviceViewportSize().width()); |
int height = std::min(maxTextureSize, layerTreeHost()->deviceViewportSize().height()); |
bounds = gfx::Size(width, height); |
@@ -50,7 +88,7 @@ void HeadsUpDisplayLayer::update(ResourceUpdateQueue&, const OcclusionTracker*, |
bool HeadsUpDisplayLayer::drawsContent() const |
{ |
- return true; |
+ return m_settings.showDebugInfo(); |
egraether
2012/11/20 21:30:30
prevent drawing when nothing is displayed.
|
} |
void HeadsUpDisplayLayer::setFontAtlas(scoped_ptr<FontAtlas> fontAtlas) |
@@ -59,12 +97,6 @@ void HeadsUpDisplayLayer::setFontAtlas(scoped_ptr<FontAtlas> fontAtlas) |
setNeedsCommit(); |
} |
-void HeadsUpDisplayLayer::setShowFPSCounter(bool show) |
-{ |
- m_showFPSCounter = show; |
- setNeedsCommit(); |
-} |
- |
scoped_ptr<LayerImpl> HeadsUpDisplayLayer::createLayerImpl() |
{ |
return HeadsUpDisplayLayerImpl::create(m_layerId).PassAs<LayerImpl>(); |
@@ -75,7 +107,7 @@ void HeadsUpDisplayLayer::pushPropertiesTo(LayerImpl* layerImpl) |
Layer::pushPropertiesTo(layerImpl); |
HeadsUpDisplayLayerImpl* hudLayerImpl = static_cast<HeadsUpDisplayLayerImpl*>(layerImpl); |
- hudLayerImpl->setShowFPSCounter(m_showFPSCounter); |
+ hudLayerImpl->setSettings(m_settings); |
if (m_fontAtlas.get()) |
hudLayerImpl->setFontAtlas(m_fontAtlas.Pass()); |