yzt
2023-05-26 2f70f6727314edd84d8ec2bfe3ce832803f1ea77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import defaultValue from "../../Core/defaultValue.js";
import JulianDate from "../../Core/JulianDate.js";
 
/**
 * @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 =
        '<span class="cesium-timeline-highlight" style="left: ' +
        highlightLeft.toString() +
        "px; width: " +
        highlightWidth.toString() +
        "px; bottom: " +
        this._base.toString() +
        "px; height: " +
        this._height +
        "px; background-color: " +
        this._color +
        ';"></span>';
    }
  }
  return range;
};
export default TimelineHighlightRange;