OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 Copyright (c) 2014 The Chromium Authors. All rights reserved. | 3 Copyright (c) 2014 The Chromium Authors. All rights reserved. |
4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
5 found in the LICENSE file. | 5 found in the LICENSE file. |
6 --> | 6 --> |
7 | 7 |
8 <link rel="import" href="/tracing/ui/tracks/highlighter.html"> | |
9 <link rel="import" href="/tracing/ui/timeline_track_view.html"> | 8 <link rel="import" href="/tracing/ui/timeline_track_view.html"> |
10 <link rel="import" href="/tracing/ui/timeline_viewport.html"> | 9 <link rel="import" href="/tracing/ui/timeline_viewport.html"> |
| 10 <link rel="import" href="/tracing/ui/tracks/highlighter.html"> |
11 <link rel="import" href="/tracing/ui/tracks/model_track.html"> | 11 <link rel="import" href="/tracing/ui/tracks/model_track.html"> |
12 | 12 |
13 <script> | 13 <script> |
14 'use strict'; | 14 'use strict'; |
15 | 15 |
16 /** | 16 /** |
17 * @fileoverview Provides the VSyncHighlighter class. | 17 * @fileoverview Provides the VSyncHighlighter class. |
18 */ | 18 */ |
19 tr.exportTo('tr.ui.e.highlighter', function() { | 19 tr.exportTo('tr.ui.e.highlighter', function() { |
20 | 20 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 this.times_ = model.device.vSyncTimestamps; | 74 this.times_ = model.device.vSyncTimestamps; |
75 }, | 75 }, |
76 | 76 |
77 drawHighlight: function(ctx, dt, viewLWorld, viewRWorld, viewHeight) { | 77 drawHighlight: function(ctx, dt, viewLWorld, viewRWorld, viewHeight) { |
78 if (!this.viewport_.highlightVSync) { | 78 if (!this.viewport_.highlightVSync) { |
79 return; | 79 return; |
80 } | 80 } |
81 | 81 |
82 var stripes = VSyncHighlighter.generateStripes( | 82 var stripes = VSyncHighlighter.generateStripes( |
83 this.times_, viewLWorld, viewRWorld); | 83 this.times_, viewLWorld, viewRWorld); |
84 if (stripes.length == 0) { | 84 if (stripes.length === 0) { |
85 return; | 85 return; |
86 } | 86 } |
87 | 87 |
88 var stripeRange = stripes[stripes.length - 1][1] - stripes[0][0]; | 88 var stripeRange = stripes[stripes.length - 1][1] - stripes[0][0]; |
89 var stripeDensity = stripes.length / (dt.scaleX * stripeRange); | 89 var stripeDensity = stripes.length / (dt.scaleX * stripeRange); |
90 var clampedStripeDensity = tr.b.clamp(stripeDensity, | 90 var clampedStripeDensity = tr.b.clamp(stripeDensity, |
91 VSyncHighlighter.VSYNC_DENSITY_OPAQUE, | 91 VSyncHighlighter.VSYNC_DENSITY_OPAQUE, |
92 VSyncHighlighter.VSYNC_DENSITY_TRANSPARENT); | 92 VSyncHighlighter.VSYNC_DENSITY_TRANSPARENT); |
93 var opacity = | 93 var opacity = |
94 (VSyncHighlighter.VSYNC_DENSITY_TRANSPARENT - clampedStripeDensity) / | 94 (VSyncHighlighter.VSYNC_DENSITY_TRANSPARENT - clampedStripeDensity) / |
95 VSyncHighlighter.VSYNC_DENSITY_RANGE; | 95 VSyncHighlighter.VSYNC_DENSITY_RANGE; |
96 if (opacity == 0) { | 96 if (opacity === 0) { |
97 return; | 97 return; |
98 } | 98 } |
99 | 99 |
100 var pixelRatio = window.devicePixelRatio || 1; | 100 var pixelRatio = window.devicePixelRatio || 1; |
101 var height = viewHeight * pixelRatio; | 101 var height = viewHeight * pixelRatio; |
102 | 102 |
103 var c = VSyncHighlighter.VSYNC_HIGHLIGHT_COLOR; | 103 var c = VSyncHighlighter.VSYNC_HIGHLIGHT_COLOR; |
104 ctx.fillStyle = c.toStringWithAlphaOverride( | 104 ctx.fillStyle = c.toStringWithAlphaOverride( |
105 VSyncHighlighter.VSYNC_HIGHLIGHT_ALPHA * opacity); | 105 VSyncHighlighter.VSYNC_HIGHLIGHT_ALPHA * opacity); |
106 | 106 |
107 for (var i = 0; i < stripes.length; i++) { | 107 for (var i = 0; i < stripes.length; i++) { |
108 var xLeftView = dt.xWorldToView(stripes[i][0]); | 108 var xLeftView = dt.xWorldToView(stripes[i][0]); |
109 var xRightView = dt.xWorldToView(stripes[i][1]); | 109 var xRightView = dt.xWorldToView(stripes[i][1]); |
110 ctx.fillRect(xLeftView, 0, xRightView - xLeftView, height); | 110 ctx.fillRect(xLeftView, 0, xRightView - xLeftView, height); |
111 } | 111 } |
112 } | 112 } |
113 }; | 113 }; |
114 | 114 |
115 // Register the highlighter. | 115 // Register the highlighter. |
116 tr.ui.tracks.Highlighter.register(VSyncHighlighter); | 116 tr.ui.tracks.Highlighter.register(VSyncHighlighter); |
117 | 117 |
118 return { | 118 return { |
119 VSyncHighlighter: VSyncHighlighter | 119 VSyncHighlighter: VSyncHighlighter |
120 }; | 120 }; |
121 }); | 121 }); |
122 </script> | 122 </script> |
OLD | NEW |