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

Side by Side Diff: cc/heads_up_display_layer_impl.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 unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/heads_up_display_layer_impl.h" 5 #include "cc/heads_up_display_layer_impl.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "cc/debug_colors.h" 10 #include "cc/debug_colors.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 paint.setColorFilter(new SkColorMatrixFilter(swizzleMatrix))->unref(); 42 paint.setColorFilter(new SkColorMatrixFilter(swizzleMatrix))->unref();
43 43
44 return paint; 44 return paint;
45 } 45 }
46 46
47 HeadsUpDisplayLayerImpl::HeadsUpDisplayLayerImpl(int id) 47 HeadsUpDisplayLayerImpl::HeadsUpDisplayLayerImpl(int id)
48 : LayerImpl(id) 48 : LayerImpl(id)
49 , m_averageFPS(0) 49 , m_averageFPS(0)
50 , m_minFPS(0) 50 , m_minFPS(0)
51 , m_maxFPS(0) 51 , m_maxFPS(0)
52 , m_showFPSCounter(false)
53 { 52 {
54 } 53 }
55 54
56 HeadsUpDisplayLayerImpl::~HeadsUpDisplayLayerImpl() 55 HeadsUpDisplayLayerImpl::~HeadsUpDisplayLayerImpl()
57 { 56 {
58 } 57 }
59 58
60 void HeadsUpDisplayLayerImpl::setFontAtlas(scoped_ptr<FontAtlas> fontAtlas) 59 void HeadsUpDisplayLayerImpl::setFontAtlas(scoped_ptr<FontAtlas> fontAtlas)
61 { 60 {
62 m_fontAtlas = fontAtlas.Pass(); 61 m_fontAtlas = fontAtlas.Pass();
63 } 62 }
64 63
65 void HeadsUpDisplayLayerImpl::setShowFPSCounter(bool show) 64 void HeadsUpDisplayLayerImpl::setSettings(HeadsUpDisplayLayerSettings settings)
66 { 65 {
67 m_showFPSCounter = show; 66 m_settings = settings;
68 } 67 }
69 68
70 void HeadsUpDisplayLayerImpl::willDraw(ResourceProvider* resourceProvider) 69 void HeadsUpDisplayLayerImpl::willDraw(ResourceProvider* resourceProvider)
71 { 70 {
72 LayerImpl::willDraw(resourceProvider); 71 LayerImpl::willDraw(resourceProvider);
73 72
74 if (!m_hudTexture) 73 if (!m_hudTexture)
75 m_hudTexture = ScopedResource::create(resourceProvider); 74 m_hudTexture = ScopedResource::create(resourceProvider);
76 75
77 // FIXME: Scale the HUD by deviceScale to make it more friendly under high D PI. 76 // FIXME: Scale the HUD by deviceScale to make it more friendly under high D PI.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 m_hudTexture.reset(); 140 m_hudTexture.reset();
142 } 141 }
143 142
144 bool HeadsUpDisplayLayerImpl::layerIsAlwaysDamaged() const 143 bool HeadsUpDisplayLayerImpl::layerIsAlwaysDamaged() const
145 { 144 {
146 return true; 145 return true;
147 } 146 }
148 147
149 void HeadsUpDisplayLayerImpl::drawHudContents(SkCanvas* canvas) 148 void HeadsUpDisplayLayerImpl::drawHudContents(SkCanvas* canvas)
150 { 149 {
151 const LayerTreeSettings& settings = layerTreeHostImpl()->settings(); 150 if (m_settings.showPlatformLayerTree) {
152
153 if (settings.showPlatformLayerTree) {
154 SkPaint paint = createPaint(); 151 SkPaint paint = createPaint();
155 paint.setColor(SkColorSetARGB(192, 0, 0, 0)); 152 paint.setColor(SkColorSetARGB(192, 0, 0, 0));
156 canvas->drawRect(SkRect::MakeXYWH(0, 0, bounds().width(), bounds().heigh t()), paint); 153 canvas->drawRect(SkRect::MakeXYWH(0, 0, bounds().width(), bounds().heigh t()), paint);
157 } 154 }
158 155
159 int platformLayerTreeTop = 0; 156 int platformLayerTreeTop = 0;
160 157
161 if (m_showFPSCounter) 158 if (m_settings.showFPSCounter)
162 platformLayerTreeTop = drawFPSCounter(canvas, layerTreeHostImpl()->fpsCo unter()); 159 platformLayerTreeTop = drawFPSCounter(canvas, layerTreeHostImpl()->fpsCo unter());
163 160
164 if (settings.showPlatformLayerTree && m_fontAtlas.get()) { 161 if (m_settings.showPlatformLayerTree && m_fontAtlas.get()) {
165 std::string layerTree = layerTreeHostImpl()->layerTreeAsText(); 162 std::string layerTree = layerTreeHostImpl()->layerTreeAsText();
166 m_fontAtlas->drawText(canvas, createPaint(), layerTree, gfx::Point(2, pl atformLayerTreeTop), bounds()); 163 m_fontAtlas->drawText(canvas, createPaint(), layerTree, gfx::Point(2, pl atformLayerTreeTop), bounds());
167 } 164 }
168 165
169 if (settings.showDebugRects()) 166 if (m_settings.showDebugRects())
170 drawDebugRects(canvas, layerTreeHostImpl()->debugRectHistory()); 167 drawDebugRects(canvas, layerTreeHostImpl()->debugRectHistory());
171 } 168 }
172 169
173 int HeadsUpDisplayLayerImpl::drawFPSCounter(SkCanvas* canvas, FrameRateCounter* fpsCounter) 170 int HeadsUpDisplayLayerImpl::drawFPSCounter(SkCanvas* canvas, FrameRateCounter* fpsCounter)
174 { 171 {
175 const int padding = 4; 172 const int padding = 4;
176 const int gap = 6; 173 const int gap = 6;
177 174
178 const int fontHeight = m_fontAtlas.get() ? m_fontAtlas->fontHeight() : 0; 175 const int fontHeight = m_fontAtlas.get() ? m_fontAtlas->fontHeight() : 0;
179 176
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 canvas->drawRect(skRect, paint); 368 canvas->drawRect(skRect, paint);
372 } 369 }
373 } 370 }
374 371
375 const char* HeadsUpDisplayLayerImpl::layerTypeAsString() const 372 const char* HeadsUpDisplayLayerImpl::layerTypeAsString() const
376 { 373 {
377 return "HeadsUpDisplayLayer"; 374 return "HeadsUpDisplayLayer";
378 } 375 }
379 376
380 } // namespace cc 377 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698