/*global define*/ define([ '../../Core/defaultValue', '../../Core/JulianDate' ], function( defaultValue, JulianDate) { "use strict"; /** * @private */ function TimelineHighlightRange(color, heightInPx, base) { this._color = color; this._height = heightInPx; this._base = defaultValue(base, 0); } TimelineHighlightRange.prototype.getHeight = function() { return this._height; }; TimelineHighlightRange.prototype.getBase = function() { return this._base; }; TimelineHighlightRange.prototype.getStartTime = function() { return this._start; }; TimelineHighlightRange.prototype.getStopTime = function() { return this._stop; }; TimelineHighlightRange.prototype.setRange = function(start, stop) { this._start = start; this._stop = stop; }; TimelineHighlightRange.prototype.render = function(renderState) { var range = ''; if (this._start && this._stop && this._color) { var highlightStart = JulianDate.secondsDifference(this._start, renderState.epochJulian); var highlightLeft = Math.round(renderState.timeBarWidth * renderState.getAlpha(highlightStart)); var highlightStop = JulianDate.secondsDifference(this._stop, renderState.epochJulian); var highlightWidth = Math.round(renderState.timeBarWidth * renderState.getAlpha(highlightStop)) - highlightLeft; if (highlightLeft < 0) { highlightWidth += highlightLeft; highlightLeft = 0; } if ((highlightLeft + highlightWidth) > renderState.timeBarWidth) { highlightWidth = renderState.timeBarWidth - highlightLeft; } if (highlightWidth > 0) { range = ''; } } return range; }; return TimelineHighlightRange; });