Chromium Code Reviews| 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()); |