Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3314)

Unified Diff: cc/heads_up_display_layer.cc

Issue 11414017: cc: handling debug settings in new LayerTreeDebugState structure (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: global and local hudLayerSettings in layerTreeHost Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698