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

Side by Side Diff: cc/heads_up_display_layer_impl.h

Issue 11820014: cc: PaintTimeCounter display on the HudLayer in continuous painting mode (Closed) Base URL: http://git.chromium.org/chromium/src.git@paint
Patch Set: Updated to size_t Created 7 years, 11 months 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
« no previous file with comments | « no previous file | cc/heads_up_display_layer_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef CC_HEADS_UP_DISPLAY_LAYER_IMPL_H_ 5 #ifndef CC_HEADS_UP_DISPLAY_LAYER_IMPL_H_
6 #define CC_HEADS_UP_DISPLAY_LAYER_IMPL_H_ 6 #define CC_HEADS_UP_DISPLAY_LAYER_IMPL_H_
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/time.h" 9 #include "base/time.h"
10 #include "cc/cc_export.h" 10 #include "cc/cc_export.h"
11 #include "cc/font_atlas.h" 11 #include "cc/font_atlas.h"
12 #include "cc/layer_impl.h" 12 #include "cc/layer_impl.h"
13 #include "cc/scoped_resource.h" 13 #include "cc/scoped_resource.h"
14 14
15 class SkCanvas; 15 class SkCanvas;
16 class SkPaint; 16 class SkPaint;
17 struct SkRect; 17 struct SkRect;
18 18
19 namespace cc { 19 namespace cc {
20 20
21 class DebugRectHistory; 21 class DebugRectHistory;
22 class FontAtlas; 22 class FontAtlas;
23 class FrameRateCounter; 23 class FrameRateCounter;
24 class PaintTimeCounter;
24 25
25 class CC_EXPORT HeadsUpDisplayLayerImpl : public LayerImpl { 26 class CC_EXPORT HeadsUpDisplayLayerImpl : public LayerImpl {
26 public: 27 public:
27 static scoped_ptr<HeadsUpDisplayLayerImpl> create(LayerTreeImpl* treeImpl, i nt id) 28 static scoped_ptr<HeadsUpDisplayLayerImpl> create(LayerTreeImpl* treeImpl, i nt id)
28 { 29 {
29 return make_scoped_ptr(new HeadsUpDisplayLayerImpl(treeImpl, id)); 30 return make_scoped_ptr(new HeadsUpDisplayLayerImpl(treeImpl, id));
30 } 31 }
31 virtual ~HeadsUpDisplayLayerImpl(); 32 virtual ~HeadsUpDisplayLayerImpl();
32 33
33 void setFontAtlas(scoped_ptr<FontAtlas>); 34 void setFontAtlas(scoped_ptr<FontAtlas>);
34 35
35 virtual void willDraw(ResourceProvider*) OVERRIDE; 36 virtual void willDraw(ResourceProvider*) OVERRIDE;
36 virtual void appendQuads(QuadSink&, AppendQuadsData&) OVERRIDE; 37 virtual void appendQuads(QuadSink&, AppendQuadsData&) OVERRIDE;
37 void updateHudTexture(ResourceProvider*); 38 void updateHudTexture(ResourceProvider*);
38 virtual void didDraw(ResourceProvider*) OVERRIDE; 39 virtual void didDraw(ResourceProvider*) OVERRIDE;
39 40
40 virtual void didLoseOutputSurface() OVERRIDE; 41 virtual void didLoseOutputSurface() OVERRIDE;
41 42
42 virtual bool layerIsAlwaysDamaged() const OVERRIDE; 43 virtual bool layerIsAlwaysDamaged() const OVERRIDE;
43 44
44 private: 45 private:
46 struct Graph {
47 Graph(double indicatorValue, double startHigh);
48
49 // Eases the high value, which is the upper limit of what is currently v isible in the graph,
50 // so that the graph always scales to either it's max or defaultHigh.
51 static double updateHigh(Graph&);
shawnsingh 2013/01/15 22:48:52 If Graph is supposed to be non-const, let's use a
52
53 double current;
54 double min;
55 double max;
56 double high;
57
58 const double defaultHigh;
59 const double indicator;
60 };
61
45 HeadsUpDisplayLayerImpl(LayerTreeImpl* treeImpl, int id); 62 HeadsUpDisplayLayerImpl(LayerTreeImpl* treeImpl, int id);
46 63
47 virtual const char* layerTypeAsString() const OVERRIDE; 64 virtual const char* layerTypeAsString() const OVERRIDE;
48 65
49 void drawHudContents(SkCanvas*); 66 void drawHudContents(SkCanvas*);
50 int drawFPSCounter(SkCanvas*, FrameRateCounter*); 67
51 void drawFPSCounterText(SkCanvas*, SkPaint&, FrameRateCounter*, SkRect); 68 void drawTextLeftAligned(SkCanvas*, SkPaint&, SkRect bounds, std::string tex t);
shawnsingh 2013/01/15 22:48:52 same here and for all the following functions - ei
52 void drawFPSCounterGraphAndHistogram(SkCanvas* canvas, SkPaint& paint, Frame RateCounter* fpsCounter, SkRect graphBounds, SkRect histogramBounds); 69 void drawTextRightAligned(SkCanvas*, SkPaint&, SkRect bounds, std::string te xt);
70
71 void drawGraphBackground(SkCanvas*, SkPaint&, SkRect bounds);
72 void drawGraphLines(SkCanvas*, SkPaint&, SkRect bounds, Graph&);
73
74 int drawFPSDisplay(SkCanvas*, FrameRateCounter*, int top);
75 int drawPaintTimeDisplay(SkCanvas*, PaintTimeCounter*, int top);
76
53 void drawDebugRects(SkCanvas*, DebugRectHistory*); 77 void drawDebugRects(SkCanvas*, DebugRectHistory*);
54 78
55 scoped_ptr<FontAtlas> m_fontAtlas; 79 scoped_ptr<FontAtlas> m_fontAtlas;
56 scoped_ptr<ScopedResource> m_hudTexture; 80 scoped_ptr<ScopedResource> m_hudTexture;
57 scoped_ptr<SkCanvas> m_hudCanvas; 81 scoped_ptr<SkCanvas> m_hudCanvas;
58 82
59 double m_averageFPS; 83 Graph m_fpsGraph;
60 double m_minFPS; 84 Graph m_paintTimeGraph;
61 double m_maxFPS;
62 85
63 base::TimeTicks textUpdateTime; 86 base::TimeTicks m_lastGraphNumbersUpdate;
shawnsingh 2013/01/15 22:48:52 more nitpickyness - perhaps this is more clear na
64 }; 87 };
65 88
66 } // namespace cc 89 } // namespace cc
67 90
68 #endif // CC_HEADS_UP_DISPLAY_LAYER_IMPL_H_ 91 #endif // CC_HEADS_UP_DISPLAY_LAYER_IMPL_H_
OLDNEW
« no previous file with comments | « no previous file | cc/heads_up_display_layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698