OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 | 257 |
258 _calculateVisibleIndexes: function() | 258 _calculateVisibleIndexes: function() |
259 { | 259 { |
260 var calculator = this._timelinePanel.calculator; | 260 var calculator = this._timelinePanel.calculator; |
261 var start = calculator.minimumBoundary() * 1000; | 261 var start = calculator.minimumBoundary() * 1000; |
262 var end = calculator.maximumBoundary() * 1000; | 262 var end = calculator.maximumBoundary() * 1000; |
263 function comparator(value, sample) | 263 function comparator(value, sample) |
264 { | 264 { |
265 return value - sample.time; | 265 return value - sample.time; |
266 } | 266 } |
267 var firstIndex = binarySearch(start, this._counters, comparator); | |
268 var lastIndex = binarySearch(end, this._counters, comparator); | |
269 if (firstIndex < 0) | |
270 firstIndex = Math.max(0, -firstIndex - 2); | |
271 if (lastIndex < 0) | |
272 lastIndex = Math.min(-lastIndex - 1, this._counters.length - 1); | |
273 | 267 |
274 // Maximum index of element whose time <= start. | 268 // Maximum index of element whose time <= start. |
275 this._minimumIndex = firstIndex; | 269 this._minimumIndex = Number.constrain(this._counters.upperBound(start, c
omparator) - 1, 0, this._counters.length - 1); |
276 | 270 |
277 // Minimum index of element whose time >= end. | 271 // Minimum index of element whose time >= end. |
278 this._maximumIndex = lastIndex; | 272 this._maximumIndex = Number.constrain(this._counters.lowerBound(end, com
parator), 0, this._counters.length - 1); |
279 | 273 |
280 // Current window bounds. | 274 // Current window bounds. |
281 this._minTime = start; | 275 this._minTime = start; |
282 this._maxTime = end; | 276 this._maxTime = end; |
283 }, | 277 }, |
284 | 278 |
285 /** | 279 /** |
286 * @param {MouseEvent} event | 280 * @param {MouseEvent} event |
287 */ | 281 */ |
288 _onClick: function(event) | 282 _onClick: function(event) |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height); | 433 ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height); |
440 this._discardImageUnderMarker(); | 434 this._discardImageUnderMarker(); |
441 }, | 435 }, |
442 | 436 |
443 _discardImageUnderMarker: function() | 437 _discardImageUnderMarker: function() |
444 { | 438 { |
445 throw new Error("Not implemented"); | 439 throw new Error("Not implemented"); |
446 } | 440 } |
447 } | 441 } |
448 | 442 |
OLD | NEW |