scichart 3.2.509 → 3.2.525

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/Charting/ChartModifiers/CursorModifier.d.ts +11 -0
  2. package/Charting/ChartModifiers/CursorModifier.js +67 -23
  3. package/Charting/ChartModifiers/RolloverModifier.js +18 -10
  4. package/Charting/ChartModifiers/constants.d.ts +2 -1
  5. package/Charting/ChartModifiers/constants.js +1 -0
  6. package/Charting/Model/ChartData/SeriesInfo.d.ts +1 -0
  7. package/Charting/Model/ChartData/SeriesInfo.js +1 -0
  8. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +1 -2
  9. package/Charting/Visuals/Annotations/BoxAnnotation.js +1 -2
  10. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +35 -6
  11. package/Charting/Visuals/Annotations/CustomAnnotation.js +54 -14
  12. package/Charting/Visuals/Annotations/LineAnnotation.js +1 -2
  13. package/Charting/Visuals/Annotations/NativeTextAnnotation.js +49 -3
  14. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +1 -2
  15. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.d.ts +1 -0
  16. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +9 -5
  17. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +8 -2
  18. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +2 -3
  19. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +42 -0
  20. package/Charting/Visuals/Annotations/TextAnnotation.js +91 -12
  21. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  22. package/Charting/Visuals/Annotations/constants.js +1 -0
  23. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +2 -2
  24. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +1 -1
  25. package/Charting/Visuals/Legend/SciChartLegendBase.js +8 -3
  26. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +4 -4
  27. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -2
  28. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +5 -5
  29. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +4 -4
  30. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  31. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +13 -0
  32. package/Charting/Visuals/RenderableSeries/HitTest/ImpulseSeriesHitTestProvider.js +3 -3
  33. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +4 -4
  34. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +3 -3
  35. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.js +2 -2
  36. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +9 -3
  37. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +39 -56
  38. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.d.ts +3 -0
  39. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.js +12 -0
  40. package/Charting/Visuals/RenderableSeries/RolloverModifier/constants.d.ts +2 -1
  41. package/Charting/Visuals/RenderableSeries/RolloverModifier/constants.js +1 -0
  42. package/Charting/Visuals/SciChartSurface.d.ts +14 -0
  43. package/Charting/Visuals/SciChartSurface.js +18 -0
  44. package/Charting/Visuals/createMaster.d.ts +1 -3
  45. package/Charting/Visuals/createMaster.js +4 -5
  46. package/Core/BuildStamp.d.ts +1 -1
  47. package/Core/BuildStamp.js +2 -2
  48. package/Core/Mouse/MouseManager.js +2 -2
  49. package/README.md +5 -1
  50. package/_wasm/scichart.browser.js +1 -1
  51. package/_wasm/scichart2d.js +1 -1
  52. package/_wasm/scichart2d.wasm +0 -0
  53. package/_wasm/scichart3d.wasm +0 -0
  54. package/index.d.ts +1 -0
  55. package/index.dev.js +425 -178
  56. package/index.js +13 -11
  57. package/index.min.js +1 -1
  58. package/package.json +1 -1
  59. package/types/TSciChart.d.ts +9 -0
@@ -39,6 +39,8 @@ export interface ICursorModifierOptions extends IChartModifierBaseOptions {
39
39
  tooltipContainerBackground?: string;
40
40
  /** Sets the tooltip text color as an HTML Color code */
41
41
  tooltipTextStroke?: string;
42
+ /** Sets the tooltip shadow color as an HTML Color code */
43
+ tooltipShadow?: string;
42
44
  /** Sets whether we should display the tooltip. Default is false */
43
45
  showTooltip?: boolean;
44
46
  /** Sets whether we should display axis labels. Default is true */
@@ -165,6 +167,7 @@ export declare class CursorModifier extends ChartModifierBase2D implements IIncl
165
167
  protected tooltipAnnotation: CursorTooltipSvgAnnotation | undefined;
166
168
  protected mousePosition: EMousePosition;
167
169
  protected crosshairStrokeProperty: string;
170
+ protected tooltipShadowProperty: string;
168
171
  protected tooltipDataTemplateProperty?: TCursorTooltipDataTemplate | undefined;
169
172
  protected includedSeriesMap: Map<IRenderableSeries, boolean>;
170
173
  protected placementDivIdProperty: string | undefined;
@@ -219,6 +222,14 @@ export declare class CursorModifier extends ChartModifierBase2D implements IIncl
219
222
  * Gets or sets the crosshair line Stroke color as an HTML Color code
220
223
  */
221
224
  set crosshairStroke(value: string);
225
+ /**
226
+ * Gets or sets the tooltip shadow color as an HTML Color code
227
+ */
228
+ get tooltipShadow(): string;
229
+ /**
230
+ * Gets or sets the tooltip shadow color as an HTML Color code
231
+ */
232
+ set tooltipShadow(value: string);
222
233
  /**
223
234
  * Gets or sets whether we should display the X Line. Default is true
224
235
  */
@@ -21,6 +21,7 @@ var Deleter_1 = require("../../Core/Deleter");
21
21
  var BaseType_1 = require("../../types/BaseType");
22
22
  var ChartModifierType_1 = require("../../types/ChartModifierType");
23
23
  var MousePosition_1 = require("../../types/MousePosition");
24
+ var parseColor_1 = require("../../utils/parseColor");
24
25
  var translate_1 = require("../../utils/translate");
25
26
  var IDataSeries_1 = require("../Model/IDataSeries");
26
27
  var AnnotationBase_1 = require("../Visuals/Annotations/AnnotationBase");
@@ -53,7 +54,7 @@ var CursorModifier = /** @class */ (function (_super) {
53
54
  */
54
55
  function CursorModifier(options) {
55
56
  var _this = this;
56
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
57
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
57
58
  _this = _super.call(this, options) || this;
58
59
  _this.type = ChartModifierType_1.EChart2DModifierType.Cursor;
59
60
  /**
@@ -125,6 +126,7 @@ var CursorModifier = /** @class */ (function (_super) {
125
126
  _this.hitTestRadius = 0;
126
127
  _this.mousePosition = MousePosition_1.EMousePosition.OutOfCanvas;
127
128
  _this.crosshairStrokeProperty = SciChartSurfaceBase_1.SciChartSurfaceBase.DEFAULT_THEME.cursorLineBrush;
129
+ _this.tooltipShadowProperty = SciChartSurfaceBase_1.SciChartSurfaceBase.DEFAULT_THEME.shadowEffectColor;
128
130
  _this.includedSeriesMap = new Map();
129
131
  _this.showXLineProperty = true;
130
132
  _this.showYLineProperty = true;
@@ -142,15 +144,16 @@ var CursorModifier = /** @class */ (function (_super) {
142
144
  _this.crosshairStroke = (_d = options === null || options === void 0 ? void 0 : options.crosshairStroke) !== null && _d !== void 0 ? _d : _this.crosshairStroke;
143
145
  _this.tooltipContainerBackground = (_e = options === null || options === void 0 ? void 0 : options.tooltipContainerBackground) !== null && _e !== void 0 ? _e : _this.tooltipContainerBackground;
144
146
  _this.tooltipTextStroke = (_f = options === null || options === void 0 ? void 0 : options.tooltipTextStroke) !== null && _f !== void 0 ? _f : _this.tooltipTextStroke;
145
- _this.showTooltip = (_g = options === null || options === void 0 ? void 0 : options.showTooltip) !== null && _g !== void 0 ? _g : _this.showTooltip;
146
- _this.showAxisLabels = (_h = options === null || options === void 0 ? void 0 : options.showAxisLabels) !== null && _h !== void 0 ? _h : _this.showAxisLabels;
147
- _this.axisLabelFill = (_j = options === null || options === void 0 ? void 0 : options.axisLabelFill) !== null && _j !== void 0 ? _j : _this.axisLabelFill;
148
- _this.axisLabelStroke = (_k = options === null || options === void 0 ? void 0 : options.axisLabelStroke) !== null && _k !== void 0 ? _k : _this.axisLabelStroke;
149
- _this.xAxisLabelStroke = (_l = options === null || options === void 0 ? void 0 : options.xAxisLabelStroke) !== null && _l !== void 0 ? _l : _this.xAxisLabelStroke;
150
- _this.xAxisLabelFill = (_m = options === null || options === void 0 ? void 0 : options.xAxisLabelFill) !== null && _m !== void 0 ? _m : _this.xAxisLabelFill;
151
- _this.yAxisLabelStroke = (_o = options === null || options === void 0 ? void 0 : options.yAxisLabelStroke) !== null && _o !== void 0 ? _o : _this.yAxisLabelStroke;
152
- _this.yAxisLabelFill = (_p = options === null || options === void 0 ? void 0 : options.yAxisLabelFill) !== null && _p !== void 0 ? _p : _this.yAxisLabelFill;
153
- _this.placementDivIdProperty = (_q = options === null || options === void 0 ? void 0 : options.placementDivId) !== null && _q !== void 0 ? _q : _this.placementDivIdProperty;
147
+ _this.tooltipShadow = (_g = options === null || options === void 0 ? void 0 : options.tooltipShadow) !== null && _g !== void 0 ? _g : _this.tooltipShadowProperty;
148
+ _this.showTooltip = (_h = options === null || options === void 0 ? void 0 : options.showTooltip) !== null && _h !== void 0 ? _h : _this.showTooltip;
149
+ _this.showAxisLabels = (_j = options === null || options === void 0 ? void 0 : options.showAxisLabels) !== null && _j !== void 0 ? _j : _this.showAxisLabels;
150
+ _this.axisLabelFill = (_k = options === null || options === void 0 ? void 0 : options.axisLabelFill) !== null && _k !== void 0 ? _k : _this.axisLabelFill;
151
+ _this.axisLabelStroke = (_l = options === null || options === void 0 ? void 0 : options.axisLabelStroke) !== null && _l !== void 0 ? _l : _this.axisLabelStroke;
152
+ _this.xAxisLabelStroke = (_m = options === null || options === void 0 ? void 0 : options.xAxisLabelStroke) !== null && _m !== void 0 ? _m : _this.xAxisLabelStroke;
153
+ _this.xAxisLabelFill = (_o = options === null || options === void 0 ? void 0 : options.xAxisLabelFill) !== null && _o !== void 0 ? _o : _this.xAxisLabelFill;
154
+ _this.yAxisLabelStroke = (_p = options === null || options === void 0 ? void 0 : options.yAxisLabelStroke) !== null && _p !== void 0 ? _p : _this.yAxisLabelStroke;
155
+ _this.yAxisLabelFill = (_q = options === null || options === void 0 ? void 0 : options.yAxisLabelFill) !== null && _q !== void 0 ? _q : _this.yAxisLabelFill;
156
+ _this.placementDivIdProperty = (_r = options === null || options === void 0 ? void 0 : options.placementDivId) !== null && _r !== void 0 ? _r : _this.placementDivIdProperty;
154
157
  if (options === null || options === void 0 ? void 0 : options.tooltipLegendTemplate) {
155
158
  if (typeof options.tooltipLegendTemplate === "string") {
156
159
  _this.typeMap.set("tooltipLegendTemplate", options.tooltipLegendTemplate);
@@ -159,9 +162,9 @@ var CursorModifier = /** @class */ (function (_super) {
159
162
  }
160
163
  }
161
164
  _this.tooltipLegendTemplate =
162
- (_r = options === null || options === void 0 ? void 0 : options.tooltipLegendTemplate) !== null && _r !== void 0 ? _r : _this.tooltipLegendTemplate;
163
- _this.tooltipLegendOffsetX = (_s = options === null || options === void 0 ? void 0 : options.tooltipLegendOffsetX) !== null && _s !== void 0 ? _s : _this.tooltipLegendOffsetX;
164
- _this.tooltipLegendOffsetY = (_t = options === null || options === void 0 ? void 0 : options.tooltipLegendOffsetY) !== null && _t !== void 0 ? _t : _this.tooltipLegendOffsetY;
165
+ (_s = options === null || options === void 0 ? void 0 : options.tooltipLegendTemplate) !== null && _s !== void 0 ? _s : _this.tooltipLegendTemplate;
166
+ _this.tooltipLegendOffsetX = (_t = options === null || options === void 0 ? void 0 : options.tooltipLegendOffsetX) !== null && _t !== void 0 ? _t : _this.tooltipLegendOffsetX;
167
+ _this.tooltipLegendOffsetY = (_u = options === null || options === void 0 ? void 0 : options.tooltipLegendOffsetY) !== null && _u !== void 0 ? _u : _this.tooltipLegendOffsetY;
165
168
  if (options === null || options === void 0 ? void 0 : options.tooltipDataTemplate) {
166
169
  if (typeof options.tooltipDataTemplate === "string") {
167
170
  _this.typeMap.set("tooltipDataTemplate", options.tooltipDataTemplate);
@@ -170,10 +173,10 @@ var CursorModifier = /** @class */ (function (_super) {
170
173
  }
171
174
  }
172
175
  _this.tooltipDataTemplateProperty =
173
- (_u = options === null || options === void 0 ? void 0 : options.tooltipDataTemplate) !== null && _u !== void 0 ? _u : _this.tooltipDataTemplateProperty;
174
- _this.showXLine = (_v = options === null || options === void 0 ? void 0 : options.showXLine) !== null && _v !== void 0 ? _v : _this.showXLine;
175
- _this.showYLine = (_w = options === null || options === void 0 ? void 0 : options.showYLine) !== null && _w !== void 0 ? _w : _this.showYLine;
176
- _this.hitTestRadius = (_x = options === null || options === void 0 ? void 0 : options.hitTestRadius) !== null && _x !== void 0 ? _x : _this.hitTestRadius;
176
+ (_v = options === null || options === void 0 ? void 0 : options.tooltipDataTemplate) !== null && _v !== void 0 ? _v : _this.tooltipDataTemplateProperty;
177
+ _this.showXLine = (_w = options === null || options === void 0 ? void 0 : options.showXLine) !== null && _w !== void 0 ? _w : _this.showXLine;
178
+ _this.showYLine = (_x = options === null || options === void 0 ? void 0 : options.showYLine) !== null && _x !== void 0 ? _x : _this.showYLine;
179
+ _this.hitTestRadius = (_y = options === null || options === void 0 ? void 0 : options.hitTestRadius) !== null && _y !== void 0 ? _y : _this.hitTestRadius;
177
180
  return _this;
178
181
  }
179
182
  /**
@@ -183,6 +186,10 @@ var CursorModifier = /** @class */ (function (_super) {
183
186
  if (!this.testPropertyChanged(constants_1.PROPERTY.CROSSHAIR_STROKE)) {
184
187
  this.crosshairStroke = themeProvider.cursorLineBrush;
185
188
  }
189
+ if (!this.testPropertyChanged(constants_1.PROPERTY.TOOLTIP_SHADOW)) {
190
+ console.log();
191
+ this.tooltipShadow = themeProvider.shadowEffectColor;
192
+ }
186
193
  };
187
194
  /**
188
195
  * @inheritDoc
@@ -292,8 +299,29 @@ var CursorModifier = /** @class */ (function (_super) {
292
299
  * Gets or sets the crosshair line Stroke color as an HTML Color code
293
300
  */
294
301
  set: function (value) {
295
- this.crosshairStrokeProperty = value;
296
- this.notifyPropertyChanged(constants_1.PROPERTY.CROSSHAIR_STROKE);
302
+ if (this.crosshairStrokeProperty !== value) {
303
+ this.crosshairStrokeProperty = value;
304
+ this.notifyPropertyChanged(constants_1.PROPERTY.CROSSHAIR_STROKE);
305
+ }
306
+ },
307
+ enumerable: false,
308
+ configurable: true
309
+ });
310
+ Object.defineProperty(CursorModifier.prototype, "tooltipShadow", {
311
+ /**
312
+ * Gets or sets the tooltip shadow color as an HTML Color code
313
+ */
314
+ get: function () {
315
+ return this.tooltipShadowProperty;
316
+ },
317
+ /**
318
+ * Gets or sets the tooltip shadow color as an HTML Color code
319
+ */
320
+ set: function (value) {
321
+ if (this.tooltipShadowProperty !== value) {
322
+ this.tooltipShadowProperty = value;
323
+ this.notifyPropertyChanged(constants_1.PROPERTY.TOOLTIP_SHADOW);
324
+ }
297
325
  },
298
326
  enumerable: false,
299
327
  configurable: true
@@ -487,7 +515,8 @@ var CursorModifier = /** @class */ (function (_super) {
487
515
  tooltipLegendOffsetY: this.tooltipLegendOffsetY,
488
516
  tooltipLegendTemplate: this.typeMap.get("tooltipLegendTemplate"),
489
517
  tooltipSvgTemplate: this.typeMap.get("tooltipSvgTemplate"),
490
- tooltipTextStroke: this.tooltipTextStroke
518
+ tooltipTextStroke: this.tooltipTextStroke,
519
+ tooltipShadow: this.tooltipShadow
491
520
  };
492
521
  Object.assign(json.options, options);
493
522
  return json;
@@ -689,23 +718,38 @@ var defaultTooltipTemplate = function (seriesInfos, svgAnnotation) {
689
718
  return "<svg></svg>";
690
719
  }
691
720
  // tooltip size
692
- var _b = (0, exports.calcTooltipSize)(valuesWithLabels), width = _b.width, height = _b.height;
721
+ var _b = (0, exports.calcTooltipSize)(valuesWithLabels, 13), width = _b.width, height = _b.height;
693
722
  // adjust position
694
723
  (0, exports.adjustTooltipPosition)(width, height, svgAnnotation);
695
724
  var valuesBlock = "";
696
725
  valuesWithLabels.forEach(function (val, index) {
697
726
  valuesBlock += "<tspan x=\"8\" dy=\"1.2em\">".concat(val, "</tspan>");
698
727
  });
728
+ var rectHeight = "95%";
729
+ if (svgAnnotation.yCoordShift < 0) {
730
+ // Fix the issue where the rect would be too small if the height was enormous
731
+ var maxHeight = (0, translate_1.translateToNotScaled)(svgAnnotation.parentSurface.seriesViewRect.height) - svgAnnotation.y1;
732
+ if (height > maxHeight) {
733
+ rectHeight = (height - 5).toFixed(0);
734
+ }
735
+ }
699
736
  var tooltipFill = svgAnnotation.containerBackground;
700
737
  var tooltipStroke = svgAnnotation.textStroke;
701
- return "<svg class=\"scichart__cursor-tooltip\" width=\"".concat(width, "\" height=\"").concat(height, "\">\n <defs>\n <filter id=\"").concat(id, "\" x=\"0\" y=\"0\" width=\"200%\" height=\"200%\">\n <feOffset result=\"offOut\" in=\"SourceAlpha\" dx=\"3\" dy=\"3\" />\n <feGaussianBlur result=\"blurOut\" in=\"offOut\" stdDeviation=\"3\" />\n <feBlend in=\"SourceGraphic\" in2=\"blurOut\" mode=\"normal\" />\n </filter>\n </defs>\n <rect rx=\"4\" ry=\"4\" width=\"95%\" height=\"90%\" fill=\"").concat(tooltipFill, "\" filter=\"url(#").concat(id, ")\" />\n <svg width=\"100%\">\n <text x=\"8\" y=\"3\" font-size=\"13\" font-family=\"Verdana\" dy=\"0\" fill=\"").concat(tooltipStroke, "\">").concat(valuesBlock, "</text>\n </svg>\n </svg>");
738
+ var shadowColor = svgAnnotation.cursorModifier.tooltipShadow;
739
+ console.log(shadowColor);
740
+ var blur = "<feGaussianBlur result=\"blurOut\" in=\"offOut\" stdDeviation=\"3\" />";
741
+ if (shadowColor !== undefined) {
742
+ var shadowRGBA = (0, parseColor_1.parseColorToTArgb)(shadowColor);
743
+ blur = "<feColorMatrix result=\"matrixOut\" in=\"offOut\" type=\"matrix\"\n values=\"0 0 0 0 ".concat(shadowRGBA.red / 255, "\n 0 0 0 0 ").concat(shadowRGBA.green / 255, "\n 0 0 0 0 ").concat(shadowRGBA.blue / 255, "\n 0 0 0 ").concat(shadowRGBA.opacity / 255, " 0\" />\n <feGaussianBlur result=\"blurOut\" in=\"matrixOut\" stdDeviation=\"3\" />");
744
+ }
745
+ return "<svg class=\"scichart__cursor-tooltip\" width=\"".concat(width, "\" height=\"").concat(height, "\">\n <defs>\n <filter id=\"").concat(id, "\" x=\"0\" y=\"0\" width=\"200%\" height=\"200%\">\n <feOffset result=\"offOut\" in=\"SourceAlpha\" dx=\"3\" dy=\"3\" />\n ").concat(blur, "\n <feBlend in=\"SourceGraphic\" in2=\"blurOut\" mode=\"normal\" />\n </filter>\n </defs>\n <rect rx=\"4\" ry=\"4\" width=\"95%\" height=\"").concat(rectHeight, "\" fill=\"").concat(tooltipFill, "\" filter=\"url(#").concat(id, ")\" />\n <svg width=\"100%\">\n <text x=\"8\" y=\"3\" font-size=\"13\" font-family=\"Verdana\" dy=\"0\" fill=\"").concat(tooltipStroke, "\">").concat(valuesBlock, "</text>\n </svg>\n </svg>");
702
746
  };
703
747
  /** Calculate the width and height of the tooltip based on the content array */
704
748
  var calcTooltipSize = function (valuesWithLabels, fontSize) {
705
749
  if (fontSize === void 0) { fontSize = 13; }
706
750
  var textLength = valuesWithLabels.reduce(function (prev, cur) { return (cur.length > prev ? cur.length : prev); }, 0);
707
751
  var width = textLength * 8 + 20;
708
- var height = 17 * valuesWithLabels.length + 16;
752
+ var height = fontSize * 1.2 * valuesWithLabels.length + 16;
709
753
  return { width: width, height: height };
710
754
  };
711
755
  exports.calcTooltipSize = calcTooltipSize;
@@ -585,7 +585,7 @@ var RolloverModifier = /** @class */ (function (_super) {
585
585
  rsList.forEach(function (rs, index) {
586
586
  var hitTestInfo = _this.hitTestRenderableSeries(rs, _this.mousePoint);
587
587
  if (hitTestInfo) {
588
- if (rs.type !== SeriesType_1.ESeriesType.StackedColumnSeries || hitTestInfo.isHit) {
588
+ if ((rs.type !== SeriesType_1.ESeriesType.StackedColumnSeries && _this.hitTestRadius === 0) || hitTestInfo.isHit) {
589
589
  var isVisible = 0 <= hitTestInfo.yCoord && hitTestInfo.yCoord <= height;
590
590
  if (isVisible) {
591
591
  _this.absoluteXCoord = _this.isVerticalChart() ? hitTestInfo.yCoord : hitTestInfo.xCoord;
@@ -607,9 +607,13 @@ var RolloverModifier = /** @class */ (function (_super) {
607
607
  }
608
608
  }
609
609
  });
610
- var orderedTooltipArray = tooltipArray.sort(function (a, b) {
611
- return a.yCoord > b.yCoord ? 1 : b.yCoord > a.yCoord ? -1 : 0;
612
- });
610
+ var orderedTooltipArray;
611
+ if (this.isVerticalChart()) {
612
+ orderedTooltipArray = tooltipArray.sort(function (a, b) { return (a.xCoord > b.xCoord ? 1 : b.xCoord > a.xCoord ? -1 : 0); });
613
+ }
614
+ else {
615
+ orderedTooltipArray = tooltipArray.sort(function (a, b) { return (a.yCoord > b.yCoord ? 1 : b.yCoord > a.yCoord ? -1 : 0); });
616
+ }
613
617
  var tooltipPositions = this.CalculateTooltipPositions(orderedTooltipArray, this.allowTooltipOverlapping, exports.TOOLTIP_SPACING * DpiHelper_1.DpiHelper.PIXEL_RATIO, this.parentSurface.seriesViewRect, DpiHelper_1.DpiHelper.PIXEL_RATIO, this.isVerticalChart());
614
618
  tooltipPositions.forEach(function (el) {
615
619
  var rs = rsList[el.index];
@@ -756,6 +760,15 @@ exports.calcTooltipProps = calcTooltipProps;
756
760
  var calcTooltipPositions = function (tooltipArray, allowTooltipOverlapping, spacing, seriesViewRect, pixelRatio, isVerticalChart) {
757
761
  if (isVerticalChart === void 0) { isVerticalChart = false; }
758
762
  var positionProperties = (0, tooltip_1.getTooltipPositionProperties)(isVerticalChart);
763
+ // centering for vertical charts
764
+ if (isVerticalChart) {
765
+ tooltipArray.forEach(function (tooltip) {
766
+ var halfWidth = tooltip.width / 2 / pixelRatio;
767
+ if (tooltip.xCoord > halfWidth) {
768
+ tooltip[positionProperties.shiftPropertyName] = -(tooltip.width / 2) / pixelRatio;
769
+ }
770
+ });
771
+ }
759
772
  var hasOverlap = (0, tooltip_1.checkHasOverlap)(tooltipArray, spacing, pixelRatio, positionProperties);
760
773
  var length = tooltipArray.length;
761
774
  if (!allowTooltipOverlapping && length >= 2 && hasOverlap) {
@@ -764,12 +777,6 @@ var calcTooltipPositions = function (tooltipArray, allowTooltipOverlapping, spac
764
777
  tooltip[positionProperties.shiftPropertyName] = spreadMap_1.get(tooltip.index);
765
778
  });
766
779
  }
767
- // centering for vertical charts without overlapping
768
- if (isVerticalChart && !hasOverlap) {
769
- tooltipArray.forEach(function (tooltip) {
770
- return (tooltip[positionProperties.shiftPropertyName] = -(tooltip.width / 2) / pixelRatio);
771
- });
772
- }
773
780
  return tooltipArray;
774
781
  };
775
782
  exports.calcTooltipPositions = calcTooltipPositions;
@@ -791,6 +798,7 @@ var createAnnotations = function (rs, rolloverModifierProps, rolloverModifierPro
791
798
  if (!rolloverModifierProps.tooltip) {
792
799
  rolloverModifierProps.tooltipTitle = (_b = (_a = rolloverModifierProps.tooltipTitle) !== null && _a !== void 0 ? _a : rs.getDataSeriesName()) !== null && _b !== void 0 ? _b : "";
793
800
  rolloverModifierProps.tooltipColor = rolloverModifierProps.tooltipColor;
801
+ rolloverModifierProps.shadowColor = rs.parentSurface.themeProvider.shadowEffectColor;
794
802
  rolloverModifierProps.tooltip = new RolloverTooltipSvgAnnotation_1.RolloverTooltipSvgAnnotation(rolloverModifierProps, {
795
803
  seriesType: rs.type,
796
804
  placementDivId: placementDivId
@@ -29,5 +29,6 @@ export declare enum PROPERTY {
29
29
  X_COORDINATE_MODE = "X_COORDINATE_MODE",
30
30
  IS_DRAGGABLE = "IS_DRAGGABLE",
31
31
  LINE_ANNOTATIONS_OPTIONS = "LINE_ANNOTATIONS_OPTIONS",
32
- LINE_SELECTION_COLOR = "LINE_SELECTION_COLOR"
32
+ LINE_SELECTION_COLOR = "LINE_SELECTION_COLOR",
33
+ TOOLTIP_SHADOW = "TOOLTIP_SHADOW"
33
34
  }
@@ -34,4 +34,5 @@ var PROPERTY;
34
34
  PROPERTY["IS_DRAGGABLE"] = "IS_DRAGGABLE";
35
35
  PROPERTY["LINE_ANNOTATIONS_OPTIONS"] = "LINE_ANNOTATIONS_OPTIONS";
36
36
  PROPERTY["LINE_SELECTION_COLOR"] = "LINE_SELECTION_COLOR";
37
+ PROPERTY["TOOLTIP_SHADOW"] = "TOOLTIP_SHADOW";
37
38
  })(PROPERTY = exports.PROPERTY || (exports.PROPERTY = {}));
@@ -35,6 +35,7 @@ export declare class SeriesInfo {
35
35
  point2yCoordinate: number;
36
36
  isHit: boolean;
37
37
  dataSeriesIndex: number;
38
+ distance: number;
38
39
  /**
39
40
  * When true the hit-test operation was within the first and the last DataSeries X-values
40
41
  */
@@ -30,6 +30,7 @@ var SeriesInfo = /** @class */ (function () {
30
30
  this.point2yCoordinate = hitTestInfo.point2yCoord;
31
31
  this.pointMetadata = hitTestInfo.metadata;
32
32
  this.point2metadata = hitTestInfo.point2metadata;
33
+ this.distance = hitTestInfo.distance;
33
34
  if (renderableSeries.type === SeriesType_1.ESeriesType.ColumnSeries) {
34
35
  this.fill = renderableSeries.fill;
35
36
  }
@@ -400,8 +400,7 @@ var AxisMarkerAnnotation = /** @class */ (function (_super) {
400
400
  if (this.isSelected) {
401
401
  var _a = this.getAdornerAnnotationBorders(true, true), x1 = _a.x1, x2 = _a.x2, y1 = _a.y1, y2 = _a.y2;
402
402
  var svgString = this.svgStringAdornerTemplate(x1, y1, x2, y2);
403
- var adornerSvgRoot = this.parentSurface.domSvgAdornerLayer;
404
- this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, adornerSvgRoot);
403
+ this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, this.svgAdornerRoot);
405
404
  }
406
405
  };
407
406
  AxisMarkerAnnotation.prototype.svgStringAdornerTemplate = function (x1, y1, x2, y2) {
@@ -299,12 +299,11 @@ var BoxAnnotation = /** @class */ (function (_super) {
299
299
  }
300
300
  };
301
301
  BoxAnnotation.prototype.updateAdornerInner = function () {
302
- var adornerSvgRoot = this.parentSurface.domSvgAdornerLayer;
303
302
  this.deleteAdorner();
304
303
  if (this.isSelected) {
305
304
  var _a = this.getAdornerAnnotationBorders(true, true), x1 = _a.x1, x2 = _a.x2, y1 = _a.y1, y2 = _a.y2;
306
305
  var svgString = this.svgStringAdornerTemplate(x1, y1, x2, y2);
307
- this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, adornerSvgRoot);
306
+ this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, this.svgAdornerRoot);
308
307
  }
309
308
  };
310
309
  BoxAnnotation.prototype.svgStringAdornerTemplate = function (x1, y1, x2, y2) {
@@ -16,15 +16,46 @@ export interface ICustomAnnotationOptions extends ISvgAnnotationBaseOptions {
16
16
  export declare class CustomAnnotation extends SvgAnnotationBase {
17
17
  /** @inheritDoc */
18
18
  readonly type = EAnnotationType.SVGCustomAnnotation;
19
- /**
20
- * SVG dom element string provided by the user
21
- */
22
- svgStringProperty: string;
19
+ private svgStringProperty;
23
20
  /**
24
21
  * Creates an instance of the {@link CustomAnnotation}
25
22
  * @param options The {@link ICustomAnnotationOptions} which contain optional parameters
26
23
  */
27
24
  constructor(options?: ICustomAnnotationOptions);
25
+ /**
26
+ * SVG dom element string provided by the user
27
+ */
28
+ get svgString(): string;
29
+ /**
30
+ * SVG dom element string provided by the user
31
+ */
32
+ set svgString(value: string);
33
+ /** This is called to get the svg string to use. Override this to customise the svg string for each render */
34
+ getSvgString(annotation: CustomAnnotation): string;
35
+ /**
36
+ * This is called on the svg element immediately after it is created. Use this to do adjustments or additions to it which require knowlege of its size.
37
+ * For instance, this method adds a bounding rectangle to the existing svg
38
+ * ```ts
39
+ * updateSvg(annotation: CustomAnnotation, svg: SVGSVGElement) {
40
+ * const annotationRect = svg.getBoundingClientRect();
41
+ * const padding = 5;
42
+ * // Offset the existing element by the padding
43
+ * (svg.firstChild as SVGElement).setAttribute("x", padding.toString());
44
+ * (svg.firstChild as SVGElement).setAttribute("y", padding.toString());
45
+ * const rectWidth = annotationRect.width + padding + padding;
46
+ * const rectHeight = annotationRect.height + padding + padding;
47
+ * const namespace = "http://www.w3.org/2000/svg";
48
+ * const newRect = document.createElementNS(namespace, "rect");
49
+ * newRect.setAttribute("x", "0");
50
+ * newRect.setAttribute("y", "0");
51
+ * newRect.setAttribute("width", `${rectWidth}`);
52
+ * newRect.setAttribute("height", `${rectHeight}`);
53
+ * newRect.setAttribute("fill", `red`);
54
+ * return svg;
55
+ * }
56
+ * ```
57
+ */
58
+ updateSvg(annotation: CustomAnnotation, svg: SVGSVGElement): SVGSVGElement;
28
59
  /** @inheritDoc */
29
60
  toJSON(): {
30
61
  type: EAnnotationType;
@@ -32,6 +63,4 @@ export declare class CustomAnnotation extends SvgAnnotationBase {
32
63
  };
33
64
  /** @inheritDoc */
34
65
  protected create(xCalc: CoordinateCalculatorBase, yCalc: CoordinateCalculatorBase, xCoordSvgTrans: number, yCoordSvgTrans: number): void;
35
- get svgString(): string;
36
- set svgString(value: string);
37
66
  }
@@ -37,11 +37,61 @@ var CustomAnnotation = /** @class */ (function (_super) {
37
37
  _this.svgStringProperty = (_a = options === null || options === void 0 ? void 0 : options.svgString) !== null && _a !== void 0 ? _a : undefined;
38
38
  return _this;
39
39
  }
40
+ Object.defineProperty(CustomAnnotation.prototype, "svgString", {
41
+ /**
42
+ * SVG dom element string provided by the user
43
+ */
44
+ get: function () {
45
+ return this.svgStringProperty;
46
+ },
47
+ /**
48
+ * SVG dom element string provided by the user
49
+ */
50
+ set: function (value) {
51
+ if (this.svgStringProperty !== value) {
52
+ this.clear();
53
+ this.svgStringProperty = value;
54
+ this.notifyPropertyChanged("svgString");
55
+ }
56
+ },
57
+ enumerable: false,
58
+ configurable: true
59
+ });
60
+ /** This is called to get the svg string to use. Override this to customise the svg string for each render */
61
+ CustomAnnotation.prototype.getSvgString = function (annotation) {
62
+ return annotation.svgString;
63
+ };
64
+ /**
65
+ * This is called on the svg element immediately after it is created. Use this to do adjustments or additions to it which require knowlege of its size.
66
+ * For instance, this method adds a bounding rectangle to the existing svg
67
+ * ```ts
68
+ * updateSvg(annotation: CustomAnnotation, svg: SVGSVGElement) {
69
+ * const annotationRect = svg.getBoundingClientRect();
70
+ * const padding = 5;
71
+ * // Offset the existing element by the padding
72
+ * (svg.firstChild as SVGElement).setAttribute("x", padding.toString());
73
+ * (svg.firstChild as SVGElement).setAttribute("y", padding.toString());
74
+ * const rectWidth = annotationRect.width + padding + padding;
75
+ * const rectHeight = annotationRect.height + padding + padding;
76
+ * const namespace = "http://www.w3.org/2000/svg";
77
+ * const newRect = document.createElementNS(namespace, "rect");
78
+ * newRect.setAttribute("x", "0");
79
+ * newRect.setAttribute("y", "0");
80
+ * newRect.setAttribute("width", `${rectWidth}`);
81
+ * newRect.setAttribute("height", `${rectHeight}`);
82
+ * newRect.setAttribute("fill", `red`);
83
+ * return svg;
84
+ * }
85
+ * ```
86
+ */
87
+ CustomAnnotation.prototype.updateSvg = function (annotation, svg) {
88
+ return svg;
89
+ };
40
90
  /** @inheritDoc */
41
91
  CustomAnnotation.prototype.toJSON = function () {
42
92
  var json = _super.prototype.toJSON.call(this);
43
93
  var options = {
44
- svgString: this.svgStringProperty
94
+ svgString: this.svgString
45
95
  };
46
96
  Object.assign(json.options, options);
47
97
  return json;
@@ -60,9 +110,10 @@ var CustomAnnotation = /** @class */ (function (_super) {
60
110
  this.prevX1Coordinate = this.getX1Coordinate(xCalc, yCalc);
61
111
  this.prevY1Coordinate = this.getY1Coordinate(xCalc, yCalc);
62
112
  if (this.svg) {
63
- this.delete();
113
+ this.clear();
64
114
  }
65
- this.setSvg(annotationHelpers_1.annotationHelpers.createSvg(this.svgStringProperty, this.svgRoot));
115
+ var svg = annotationHelpers_1.annotationHelpers.createSvg(this.getSvgString(this), this.svgRoot);
116
+ this.setSvg(this.updateSvg(this, svg));
66
117
  this.calcAndSetAnnotationBorders(xCalc, yCalc);
67
118
  this.updateAdornerInner();
68
119
  this.prevIsSelected = this.isSelected;
@@ -75,17 +126,6 @@ var CustomAnnotation = /** @class */ (function (_super) {
75
126
  this.prevIsSelected = this.isSelected;
76
127
  }
77
128
  };
78
- Object.defineProperty(CustomAnnotation.prototype, "svgString", {
79
- get: function () {
80
- return this.svgStringProperty;
81
- },
82
- set: function (value) {
83
- this.delete();
84
- this.svgStringProperty = value;
85
- },
86
- enumerable: false,
87
- configurable: true
88
- });
89
129
  return CustomAnnotation;
90
130
  }(SvgAnnotationBase_1.SvgAnnotationBase));
91
131
  exports.CustomAnnotation = CustomAnnotation;
@@ -443,12 +443,11 @@ var LineAnnotation = /** @class */ (function (_super) {
443
443
  }
444
444
  };
445
445
  LineAnnotation.prototype.updateAdornerInner = function () {
446
- var adornerSvgRoot = this.parentSurface.domSvgAdornerLayer;
447
446
  this.deleteAdorner();
448
447
  if (this.isSelected) {
449
448
  var _a = this.getAdornerAnnotationBorders(), x1 = _a.x1, x2 = _a.x2, y1 = _a.y1, y2 = _a.y2;
450
449
  var svgString = this.svgStringAdornerTemplate(x1, y1, x2, y2);
451
- this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, adornerSvgRoot);
450
+ this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, this.svgAdornerRoot);
452
451
  }
453
452
  };
454
453
  LineAnnotation.prototype.svgStringAdornerTemplate = function (x1, y1, x2, y2) {
@@ -88,6 +88,7 @@ var NativeTextAnnotation = /** @class */ (function (_super) {
88
88
  _this.initialWidth = Math.abs(_this.x2 - _this.x1);
89
89
  _this.scaleOnResize = (_m = options === null || options === void 0 ? void 0 : options.scaleOnResize) !== null && _m !== void 0 ? _m : _this.scaleOnResize;
90
90
  return _this;
91
+ // this.fill = options?.fill ?? this.fillProperty;
91
92
  }
92
93
  Object.defineProperty(NativeTextAnnotation.prototype, "textColor", {
93
94
  /**
@@ -107,6 +108,21 @@ var NativeTextAnnotation = /** @class */ (function (_super) {
107
108
  configurable: true
108
109
  });
109
110
  Object.defineProperty(NativeTextAnnotation.prototype, "fontSize", {
111
+ // /**
112
+ // * Gets the fill for the {@link NativeTextAnnotation}
113
+ // * @remarks Acceptable values include RGB format e.g. ```#FF0000```, RGBA format e.g. ```#FF000077`` and RGBA format e.g. ```rgba(255,0,0,0.5)```
114
+ // */
115
+ // public get fill(): string {
116
+ // return this.fillProperty;
117
+ // }
118
+ // /**
119
+ // * Sets the fill for the {@link NativeTextAnnotation}
120
+ // * @remarks Acceptable values include RGB format e.g. ```#FF0000```, RGBA format e.g. ```#FF000077`` and RGBA format e.g. ```rgba(255,0,0,0.5)```
121
+ // */
122
+ // public set fill(htmlColorCode: string) {
123
+ // this.fillProperty = htmlColorCode;
124
+ // this.notifyPropertyChanged(PROPERTY.FILL);
125
+ // }
110
126
  /**
111
127
  * Gets the fontSize for the {@link NativeTextAnnotation}
112
128
  */
@@ -291,10 +307,16 @@ var NativeTextAnnotation = /** @class */ (function (_super) {
291
307
  configurable: true
292
308
  });
293
309
  /** @inheritDoc */
294
- NativeTextAnnotation.prototype.delete = function () { };
310
+ NativeTextAnnotation.prototype.delete = function () {
311
+ // this.fillBrushCache = deleteSafe(this.fillBrushCache);
312
+ };
295
313
  /** @inheritDoc */
296
314
  NativeTextAnnotation.prototype.onAttach = function (scs) {
297
315
  _super.prototype.onAttach.call(this, scs);
316
+ // if (!this.fillBrushCache) {
317
+ // this.fillBrushCache = new BrushCache(scs.webAssemblyContext2D);
318
+ // }
319
+ // createBrushInCache(this.fillBrushCache, this.fill, this.opacity);
298
320
  };
299
321
  /** Calculate the center point for a rotation */
300
322
  NativeTextAnnotation.prototype.getRotationCenter = function (x, y, bounds) {
@@ -371,6 +393,14 @@ var NativeTextAnnotation = /** @class */ (function (_super) {
371
393
  (textBounds.GetLineBounds(0).m_fHeight - textBounds.GetLineBounds(0).m_fOffsetY) *
372
394
  (textBounds.GetLinesCount() - 1);
373
395
  }
396
+ // TODO use for text background when rect rotation is implemented
397
+ // const padding = Thickness.fromNumber(0);
398
+ // const x = x1 + viewRect.x + padding.left;
399
+ // const y = y1 + viewRect.y + padding.top;
400
+ // let borderX1 = x1;
401
+ // let borderY1 = y1 - textBounds.GetLineBounds(0).m_fHeight - padding.top - padding.bottom;
402
+ // let borderX2 = x1 + textBounds.m_fWidth + padding.left + padding.right;
403
+ // let borderY2 = borderY1 + textBounds.m_fHeight + padding.top;
374
404
  var x = x1 + viewRect.x;
375
405
  var y = y1 + viewRect.y;
376
406
  var borderX1 = x1;
@@ -403,6 +433,15 @@ var NativeTextAnnotation = /** @class */ (function (_super) {
403
433
  scaleChanged = true;
404
434
  }
405
435
  this.setAnnotationBorders(borderX1, borderX1 + (borderX2 - borderX1) * this.scale, borderY1, borderY1 + (borderY2 - borderY1) * this.scale);
436
+ // const strokePen: WebGlPen = undefined;
437
+ // const fillBrush = this.fill ? getWebGlBrushFromCache(this.fillBrushCache) : undefined;
438
+ // fillBrush?.setOpacity(this.opacity);
439
+ // const rect = Rect.createWithPoints(new Point(borderX1, borderY1), new Point(borderX2, borderY2));
440
+ // // Temporary HAX! drawRect is rubbish with large strokeThickness, whereas the columnDrawingProvider does a nice
441
+ // // outlined rectangle, but the code is ugly. In 2.3 we will improve the native drawRect to do the outline properly.
442
+ // if (!IS_TEST_ENV) {
443
+ // renderContext.drawRect(rect, viewRect, strokePen, fillBrush);
444
+ // }
406
445
  font.DrawStringAdvanced(text, colorNum, Math.round(x), Math.round(y), rotationVector, alignMode, spacing);
407
446
  if (scaleChanged) {
408
447
  font.SetScale(oldScale);
@@ -532,6 +571,7 @@ var NativeTextAnnotation = /** @class */ (function (_super) {
532
571
  fontFamily: this.fontFamily,
533
572
  fontSize: this.fontSize,
534
573
  textColor: this.textColor,
574
+ // fill: this.fill,
535
575
  rotation: this.rotation,
536
576
  text: this.text
537
577
  };
@@ -542,13 +582,19 @@ var NativeTextAnnotation = /** @class */ (function (_super) {
542
582
  var _a = this.getAnnotationBorders(true), x1 = _a.x1, x2 = _a.x2, y1 = _a.y1, y2 = _a.y2;
543
583
  return (0, pointUtil_1.testIsInBounds)(x, y, x1, y2, x2, y1);
544
584
  };
585
+ // protected notifyPropertyChanged(propertyName: string): void {
586
+ // super.notifyPropertyChanged(propertyName);
587
+ // const fillBrushRelatedProperties = [PROPERTY.FILL, PROPERTY.OPACITY];
588
+ // if (this.fillBrushCache && fillBrushRelatedProperties.includes(propertyName as PROPERTY)) {
589
+ // createBrushInCache(this.fillBrushCache, this.fill, this.opacity);
590
+ // }
591
+ // }
545
592
  NativeTextAnnotation.prototype.updateAdornerInner = function () {
546
- var adornerSvgRoot = this.parentSurface.domSvgAdornerLayer;
547
593
  this.deleteAdorner();
548
594
  if (this.isSelected) {
549
595
  var _a = this.getAdornerAnnotationBorders(), x1 = _a.x1, x2 = _a.x2, y1 = _a.y1, y2 = _a.y2;
550
596
  var svgString = this.svgStringAdornerTemplate(x1, y1, x2, y2);
551
- this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, adornerSvgRoot);
597
+ this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, this.svgAdornerRoot);
552
598
  }
553
599
  };
554
600
  NativeTextAnnotation.prototype.svgStringAdornerTemplate = function (x1, y1, x2, y2) {
@@ -444,9 +444,8 @@ var OverviewCustomResizableAnnotation = /** @class */ (function (_super) {
444
444
  this.deleteAdorner();
445
445
  if (this.adornerSvgStringTemplate) {
446
446
  var _a = this.getAdornerAnnotationBorders(true), x1 = _a.x1, x2 = _a.x2, y1 = _a.y1, y2 = _a.y2;
447
- var adornerSvgRoot = this.parentSurface.domSvgAdornerLayer;
448
447
  var svgString = this.adornerSvgStringTemplate(x1, y1, x2, y2);
449
- this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, adornerSvgRoot);
448
+ this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, this.svgAdornerRoot);
450
449
  }
451
450
  };
452
451
  OverviewCustomResizableAnnotation.prototype.checkIsClickedOnAnnotationInternal = function (x, y) {
@@ -7,6 +7,7 @@ export declare class RolloverMarkerSvgAnnotation extends SvgAnnotationBase {
7
7
  readonly type = EAnnotationType.SVG;
8
8
  private tooltipProps;
9
9
  private previousMousePosition;
10
+ private currentColor;
10
11
  constructor(renderableSeriesProps: RolloverModifierRenderableSeriesProps);
11
12
  /** @inheritDoc */
12
13
  update(xCalc: CoordinateCalculatorBase, yCalc: CoordinateCalculatorBase, xCoordSvgTrans: number, yCoordSvgTrans: number): void;