scichart 2.0.2228 → 2.1.2273

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 (199) hide show
  1. package/Charting/ChartModifiers/DataPointSelectionModifier.js +0 -1
  2. package/Charting/ChartModifiers/LegendModifier.d.ts +2 -2
  3. package/Charting/ChartModifiers/RolloverModifier.d.ts +5 -3
  4. package/Charting/ChartModifiers/RolloverModifier.js +38 -80
  5. package/Charting/Drawing/WebGlRenderContext2D.d.ts +1 -0
  6. package/Charting/Drawing/WebGlRenderContext2D.js +4 -1
  7. package/Charting/Model/BaseDataSeries.d.ts +42 -15
  8. package/Charting/Model/BaseDataSeries.js +77 -28
  9. package/Charting/Model/BaseHeatmapDataSeries.d.ts +31 -23
  10. package/Charting/Model/BaseHeatmapDataSeries.js +45 -18
  11. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.d.ts +23 -0
  12. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +122 -0
  13. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.d.ts +57 -0
  14. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.js +2 -0
  15. package/Charting/Model/Filters/OhlcFilterBase.d.ts +2 -2
  16. package/Charting/Model/Filters/XyFilterBase.d.ts +3 -3
  17. package/Charting/Model/Filters/XyMovingAverageFilter.js +1 -1
  18. package/Charting/Model/Filters/XyyFilterBase.d.ts +4 -4
  19. package/Charting/Model/Filters/XyzFilterBase.d.ts +4 -4
  20. package/Charting/Model/IDataSeries.d.ts +37 -5
  21. package/Charting/Model/OhlcDataSeries.d.ts +12 -11
  22. package/Charting/Model/OhlcDataSeries.js +37 -34
  23. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +21 -0
  24. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +56 -0
  25. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +14 -0
  26. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +23 -0
  27. package/Charting/Model/PointSeries/IPointSeries.d.ts +31 -0
  28. package/Charting/Model/PointSeries/IPointSeries.js +2 -0
  29. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.d.ts +13 -0
  30. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +59 -0
  31. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.d.ts +11 -0
  32. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.js +32 -0
  33. package/Charting/Model/PointSeries/XyPointSeriesResampled.d.ts +7 -0
  34. package/Charting/Model/PointSeries/XyPointSeriesResampled.js +27 -0
  35. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +6 -0
  36. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +27 -0
  37. package/Charting/Model/PointSeries/XyyPointSeriesResampled.d.ts +10 -0
  38. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +48 -0
  39. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.d.ts +8 -0
  40. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.js +29 -0
  41. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.d.ts +8 -0
  42. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.js +29 -0
  43. package/Charting/Model/XyDataSeries.d.ts +3 -2
  44. package/Charting/Model/XyDataSeries.js +22 -22
  45. package/Charting/Model/XyyDataSeries.d.ts +5 -5
  46. package/Charting/Model/XyyDataSeries.js +24 -21
  47. package/Charting/Model/XyzDataSeries.d.ts +5 -5
  48. package/Charting/Model/XyzDataSeries.js +24 -21
  49. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +2 -2
  50. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +2 -2
  51. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.d.ts +2 -1
  52. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +6 -2
  53. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.d.ts +2 -1
  54. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +6 -2
  55. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +54 -0
  56. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +234 -0
  57. package/Charting/Numerics/Resamplers/ResamplingMode.d.ts +37 -0
  58. package/Charting/Numerics/Resamplers/ResamplingMode.js +41 -0
  59. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +39 -0
  60. package/Charting/Numerics/Resamplers/ResamplingParams.js +52 -0
  61. package/Charting/Services/RenderPassData.d.ts +6 -1
  62. package/Charting/Services/RenderPassData.js +5 -1
  63. package/Charting/Services/RenderPassInfo.d.ts +18 -0
  64. package/Charting/Services/RenderPassInfo.js +14 -0
  65. package/Charting/Services/SciChartRenderer.d.ts +14 -1
  66. package/Charting/Services/SciChartRenderer.js +125 -31
  67. package/Charting/Visuals/Axis/AxisCore.d.ts +11 -0
  68. package/Charting/Visuals/Axis/AxisCore.js +39 -18
  69. package/Charting/Visuals/Axis/AxisRenderer.d.ts +1 -0
  70. package/Charting/Visuals/Axis/AxisRenderer.js +6 -6
  71. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +52 -0
  72. package/Charting/Visuals/Axis/CategoryAxisBase.js +94 -20
  73. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +5 -0
  74. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +7 -4
  75. package/Charting/Visuals/Axis/NumericAxis.js +2 -2
  76. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  77. package/Charting/Visuals/Axis/constants.js +1 -0
  78. package/Charting/Visuals/Legend/SciChartLegend.d.ts +6 -0
  79. package/Charting/Visuals/Legend/SciChartLegend.js +30 -13
  80. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +20 -6
  81. package/Charting/Visuals/Legend/SciChartLegendBase.js +22 -4
  82. package/Charting/Visuals/Legend/SciChartPieLegend.d.ts +2 -0
  83. package/Charting/Visuals/Legend/SciChartPieLegend.js +17 -6
  84. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  85. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  86. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +3 -3
  87. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  88. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  89. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +6 -6
  90. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  91. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +9 -2
  92. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +45 -1
  93. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +1 -0
  94. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +1 -0
  95. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +1 -0
  96. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +1 -0
  97. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +12 -5
  98. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +113 -0
  99. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +42 -6
  100. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +129 -21
  101. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +36 -4
  102. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +51 -3
  103. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +38 -4
  104. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +54 -3
  105. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -1
  106. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +8 -14
  107. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +4 -3
  108. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +5 -11
  109. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  110. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +31 -19
  111. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +2 -1
  112. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +17 -21
  113. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +6 -12
  114. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +9 -15
  115. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +4 -3
  116. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +16 -21
  117. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +2 -9
  118. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +0 -7
  119. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +11 -2
  120. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +17 -0
  121. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +1 -0
  122. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +1 -0
  123. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.d.ts +1 -0
  124. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +6 -0
  125. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -2
  126. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  127. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +1 -1
  128. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +2 -2
  129. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +2 -2
  130. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +1 -1
  131. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +2 -2
  132. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +1 -1
  133. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +2 -2
  134. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +2 -2
  135. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +6 -6
  136. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +1 -1
  137. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +12 -1
  138. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +38 -2
  139. package/Charting/Visuals/RenderableSeries/ISpline.d.ts +3 -3
  140. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  141. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +5 -5
  142. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +3 -3
  143. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +3 -3
  144. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +3 -3
  145. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +3 -3
  146. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +2 -7
  147. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +1 -1
  148. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +1 -7
  149. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  150. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -0
  151. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +5 -0
  152. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +6 -0
  153. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -3
  154. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +6 -3
  155. package/Charting/Visuals/RenderableSeries/constants.d.ts +3 -0
  156. package/Charting/Visuals/RenderableSeries/constants.js +3 -0
  157. package/Charting/Visuals/SciChartDefaults.d.ts +9 -1
  158. package/Charting/Visuals/SciChartDefaults.js +9 -1
  159. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +4 -2
  160. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +46 -32
  161. package/Charting/Visuals/licenseManager2D.js +21 -20
  162. package/Charting/Visuals/licenseManager2dState.d.ts +4 -0
  163. package/Charting/Visuals/licenseManager2dState.js +12 -0
  164. package/Charting/Visuals/loader.js +2 -0
  165. package/Charting/Visuals/sciChartInitCommon.js +4 -0
  166. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +7 -7
  167. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +3 -3
  168. package/Core/BuildStamp.d.ts +1 -1
  169. package/Core/BuildStamp.js +2 -2
  170. package/Core/OneTimePerformanceWarning.d.ts +6 -0
  171. package/Core/OneTimePerformanceWarning.js +19 -0
  172. package/Core/storage/localStorageApi.d.ts +9 -0
  173. package/Core/storage/localStorageApi.js +32 -0
  174. package/README.md +223 -1
  175. package/_wasm/scichart.browser.js +1 -1
  176. package/_wasm/scichart2d.js +12 -12
  177. package/_wasm/scichart2d.wasm +0 -0
  178. package/_wasm/scichart3d.js +13 -13
  179. package/_wasm/scichart3d.wasm +0 -0
  180. package/constants/performanceWarnings.d.ts +5 -0
  181. package/constants/performanceWarnings.js +8 -0
  182. package/package.json +1 -1
  183. package/types/SearchMode.d.ts +21 -0
  184. package/types/SearchMode.js +25 -0
  185. package/types/TSciChart.d.ts +144 -40
  186. package/types/TSciChart3D.d.ts +66 -28
  187. package/utils/array.d.ts +7 -0
  188. package/utils/array.js +19 -1
  189. package/utils/calcAverage.d.ts +2 -2
  190. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +19 -0
  191. package/utils/ccall/appendDoubleVectorFromJsArray.js +91 -0
  192. package/utils/hash.d.ts +7 -0
  193. package/utils/hash.js +35 -0
  194. package/utils/tooltip.d.ts +42 -0
  195. package/utils/tooltip.js +119 -0
  196. package/utils/ccall/fillDoubleVectorFromJsArray.d.ts +0 -3
  197. package/utils/ccall/fillDoubleVectorFromJsArray.js +0 -33
  198. package/utils/performance.d.ts +0 -5
  199. package/utils/performance.js +0 -11
@@ -1,9 +1,9 @@
1
1
  import { TSciChart } from "../../../../types/TSciChart";
2
2
  import { WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D";
3
3
  import { RenderPassData } from "../../../Services/RenderPassData";
4
+ import { TDpiChangedEventArgs } from "../../TextureManager/DpiHelper";
4
5
  import { BaseLineRenderableSeries } from "../BaseLineRenderableSeries";
5
6
  import { BaseSeriesDrawingProvider } from "./BaseSeriesDrawingProvider";
6
- import { TDpiChangedEventArgs } from "../../TextureManager/DpiHelper";
7
7
  /**
8
8
  * Used internally - a drawing provider performs drawing for a {@link FastLineRenderableSeries} using
9
9
  * our WebAssembly WebGL rendering engine
@@ -11,6 +11,7 @@ import { TDpiChangedEventArgs } from "../../TextureManager/DpiHelper";
11
11
  export declare class LineSeriesDrawingProvider extends BaseSeriesDrawingProvider<BaseLineRenderableSeries> {
12
12
  private linesPenCache;
13
13
  private nativeDrawingProvider;
14
+ private args;
14
15
  /**
15
16
  * Creates an instance of the {@link LineSeriesDrawingProvider}
16
17
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -37,6 +37,7 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
37
37
  function LineSeriesDrawingProvider(webAssemblyContext, parentSeries) {
38
38
  var _this = _super.call(this, webAssemblyContext, parentSeries) || this;
39
39
  _this.linesPenCache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
40
+ _this.args = new webAssemblyContext.SCRTLineDrawingParams();
40
41
  return _this;
41
42
  }
42
43
  /**
@@ -87,22 +88,23 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
87
88
  if (!linesPen) {
88
89
  return;
89
90
  }
90
- // TODO: We need to get truncated pointseries out (viewport culling) for efficient drawing of large datasets
91
- var dataSeries = this.parentSeries.dataSeries;
92
- var args = new this.webAssemblyContext.SCRTLineDrawingParams();
93
- args.SetLinesPen(linesPen);
94
- args.isDigitalLine = this.parentSeries.isDigitalLine;
95
- args.forceShaderMethod = true;
96
- args.lineGaps = dataSeries.containsNaN
91
+ var pointSeries = renderPassData.pointSeries;
92
+ var containsNaN = this.parentSeries.dataSeries.dataDistributionCalculator.containsNaN;
93
+ this.args.Reset();
94
+ this.args.SetLinesPen(linesPen);
95
+ this.args.isDigitalLine = this.parentSeries.isDigitalLine;
96
+ this.args.forceShaderMethod = true;
97
+ this.args.containsNaN = containsNaN;
98
+ this.args.lineGaps = containsNaN
97
99
  ? this.parentSeries.drawNaNAs === WebGlRenderContext2D_1.ELineDrawMode.DiscontinuousLine
98
100
  ? this.webAssemblyContext.SCRTLineGapMode.DrawGaps
99
101
  : this.webAssemblyContext.SCRTLineGapMode.CloseGaps
100
102
  : this.webAssemblyContext.SCRTLineGapMode.Default;
101
- args.verticalChart = renderPassData.isVerticalChart;
103
+ this.args.verticalChart = renderPassData.isVerticalChart;
102
104
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
103
- var xValues = dataSeries.getNativeXValues();
104
- var xDrawValues = isCategoryAxis ? dataSeries.getNativeIndexes() : xValues;
105
- var yDrawValues = dataSeries.getNativeYValues();
105
+ var xValues = pointSeries.xValues;
106
+ var xDrawValues = isCategoryAxis ? pointSeries.indexes : xValues;
107
+ var yDrawValues = pointSeries.yValues;
106
108
  var isSplineLineSeries = this.parentSeries.type === SeriesType_1.ESeriesType.SplineLineSeries && xValues.size() > 1;
107
109
  if (isSplineLineSeries) {
108
110
  var spline = this.parentSeries;
@@ -113,15 +115,14 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
113
115
  xDrawValues = spline.xSplineValues;
114
116
  yDrawValues = spline.ySplineValues;
115
117
  }
116
- args.count = yDrawValues.size();
118
+ this.args.count = yDrawValues.size();
117
119
  // Stroke paletting per point
118
120
  this.applyStrokePaletting(linesPen);
119
121
  if (this.palettingState.palettedColors) {
120
- args.SetPalettedColors(this.palettingState.palettedColors);
122
+ this.args.SetPalettedColors(this.palettingState.palettedColors);
121
123
  }
122
124
  var nativeContext = renderContext.getNativeContext();
123
- this.drawLines(renderContext, nativeContext, xDrawValues, yDrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args, this.parentSeries.parentSurface.seriesViewRect);
124
- args.delete();
125
+ this.drawLines(renderContext, nativeContext, xDrawValues, yDrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args, this.parentSeries.parentSurface.seriesViewRect);
125
126
  };
126
127
  /**
127
128
  * @inheritDoc
@@ -129,16 +130,11 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
129
130
  LineSeriesDrawingProvider.prototype.delete = function () {
130
131
  this.linesPenCache = (0, Deleter_1.deleteSafe)(this.linesPenCache);
131
132
  this.nativeDrawingProvider = (0, Deleter_1.deleteSafe)(this.nativeDrawingProvider);
133
+ this.args = (0, Deleter_1.deleteSafe)(this.args);
132
134
  _super.prototype.delete.call(this);
133
135
  };
134
136
  LineSeriesDrawingProvider.prototype.drawLines = function (renderContext, nativeContext, xValues, yValues, xCoordCalc, yCoordCalc, args, viewRect) {
135
- nativeContext.PushMatrix();
136
- nativeContext.PushState();
137
- nativeContext.Translate(viewRect.x, viewRect.y);
138
- nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
139
137
  this.nativeDrawingProvider.DrawLinesVec(nativeContext, xValues, yValues, xCoordCalc, yCoordCalc, args);
140
- nativeContext.PopMatrix();
141
- nativeContext.PopState();
142
138
  };
143
139
  return LineSeriesDrawingProvider;
144
140
  }(BaseSeriesDrawingProvider_1.BaseSeriesDrawingProvider));
@@ -56,11 +56,11 @@ var MountainSeriesDrawingProvider = /** @class */ (function (_super) {
56
56
  */
57
57
  MountainSeriesDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
58
58
  var _a;
59
- // TODO: We need to get truncated pointseries out (viewport culling) for efficient drawing of large datasets
60
- var dataSeries = this.parentSeries.dataSeries;
59
+ var pointSeries = renderPassData.pointSeries;
60
+ var containsNaN = this.parentSeries.dataSeries.dataDistributionCalculator.containsNaN;
61
61
  var args = new this.webAssemblyContext.SCRTMountainDrawingParams();
62
62
  args.forceShaderMethod = true;
63
- args.lineGaps = dataSeries.containsNaN
63
+ args.lineGaps = containsNaN
64
64
  ? this.parentSeries.drawNaNAs === WebGlRenderContext2D_1.ELineDrawMode.DiscontinuousLine
65
65
  ? this.webAssemblyContext.SCRTLineGapMode.DrawGaps
66
66
  : this.webAssemblyContext.SCRTLineGapMode.CloseGaps
@@ -84,9 +84,9 @@ var MountainSeriesDrawingProvider = /** @class */ (function (_super) {
84
84
  }
85
85
  args.isSmoothColors = this.palettingState.gradientPaletting;
86
86
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
87
- var xValues = dataSeries.getNativeXValues();
88
- var xDrawValues = isCategoryAxis ? dataSeries.getNativeIndexes() : xValues;
89
- var yDrawValues = dataSeries.getNativeYValues();
87
+ var xValues = pointSeries.xValues;
88
+ var xDrawValues = isCategoryAxis ? pointSeries.indexes : xValues;
89
+ var yDrawValues = pointSeries.yValues;
90
90
  var isSplineMountainSeries = this.parentSeries.type === SeriesType_1.ESeriesType.SplineMountainSeries && xValues.size() > 1;
91
91
  if (isSplineMountainSeries) {
92
92
  var rs = this.parentSeries;
@@ -99,13 +99,7 @@ var MountainSeriesDrawingProvider = /** @class */ (function (_super) {
99
99
  args.count = yDrawValues.size();
100
100
  var nativeContext = renderContext.getNativeContext();
101
101
  var viewRect = this.parentSeries.parentSurface.seriesViewRect;
102
- nativeContext.PushMatrix();
103
- nativeContext.PushState();
104
- nativeContext.Translate(viewRect.x, viewRect.y);
105
- nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
106
102
  this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yDrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args);
107
- nativeContext.PopMatrix();
108
- nativeContext.PopState();
109
103
  args.delete();
110
104
  };
111
105
  /**
@@ -95,6 +95,7 @@ var OhlcSeriesDrawingProvider = /** @class */ (function (_super) {
95
95
  * @inheritDoc
96
96
  */
97
97
  OhlcSeriesDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
98
+ var pointSeries = renderPassData.pointSeries;
98
99
  var args = new this.webAssemblyContext.SCRTOhlcDrawingParams();
99
100
  try {
100
101
  // Candles only requires brush up, down
@@ -108,7 +109,7 @@ var OhlcSeriesDrawingProvider = /** @class */ (function (_super) {
108
109
  }
109
110
  var strokeUpPen = (0, Pen2DCache_1.getScrtPenFromCache)(this.strokeUpPenCache);
110
111
  var strokeDownPen = (0, Pen2DCache_1.getScrtPenFromCache)(this.strokeDownPenCache);
111
- // Ohlc and candle both require stroke up, down
112
+ // OHLC and Candle both require stroke up, down
112
113
  if (!strokeUpPen || !strokeDownPen) {
113
114
  return;
114
115
  }
@@ -123,22 +124,15 @@ var OhlcSeriesDrawingProvider = /** @class */ (function (_super) {
123
124
  args.drawAsOhlc = this.drawingMode === EOhlcDrawingMode.Ohlc;
124
125
  var nativeContext = renderContext.getNativeContext();
125
126
  var viewRect = this.parentSeries.parentSurface.seriesViewRect;
126
- // TODO: We need to get truncated pointseries out (viewport culling) for efficient drawing of large datasets
127
- var dataSeries = this.parentSeries.dataSeries;
127
+ // const dataSeries = this.parentSeries.dataSeries as OhlcDataSeries;
128
128
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
129
- var xValues = dataSeries.getNativeXValues();
130
- var openValues = dataSeries.getNativeOpenValues();
131
- var highValues = dataSeries.getNativeHighValues();
132
- var lowValues = dataSeries.getNativeLowValues();
133
- var closeValues = dataSeries.getNativeCloseValues();
129
+ var xValues = pointSeries.xValues;
130
+ var openValues = pointSeries.openValues;
131
+ var highValues = pointSeries.highValues;
132
+ var lowValues = pointSeries.lowValues;
133
+ var closeValues = pointSeries.closeValues;
134
134
  args.count = closeValues.size();
135
- nativeContext.PushMatrix();
136
- nativeContext.PushState();
137
- nativeContext.Translate(viewRect.x, viewRect.y);
138
- nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
139
- this.nativeDrawingProvider.DrawPointsVec(nativeContext, isCategoryAxis ? dataSeries.getNativeIndexes() : xValues, openValues, highValues, lowValues, closeValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args);
140
- nativeContext.PopMatrix();
141
- nativeContext.PopState();
135
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, isCategoryAxis ? pointSeries.indexes : xValues, openValues, highValues, lowValues, closeValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args);
142
136
  }
143
137
  finally {
144
138
  args.delete();
@@ -1,7 +1,7 @@
1
- import { DoubleVector, TSciChart } from "../../../../types/TSciChart";
1
+ import { SCRTDoubleVector, TSciChart } from "../../../../types/TSciChart";
2
2
  import { WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D";
3
- import { IDataSeries } from "../../../Model/IDataSeries";
4
3
  import { IPointMetadata } from "../../../Model/IPointMetadata";
4
+ import { IPointSeries } from "../../../Model/PointSeries/IPointSeries";
5
5
  import { RenderPassData } from "../../../Services/RenderPassData";
6
6
  import { IRenderableSeries } from "../IRenderableSeries";
7
7
  import { ISpline } from "../ISpline";
@@ -16,6 +16,7 @@ export declare class PointMarkerDrawingProvider extends BaseSeriesDrawingProvide
16
16
  private ySplineValuesSelector;
17
17
  private xAnimationPointMarkerValues;
18
18
  private yAnimationPointMarkerValues;
19
+ private args;
19
20
  /**
20
21
  * Creates an instance of the {@link PointMarkerDrawingProvider}
21
22
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -24,7 +25,7 @@ export declare class PointMarkerDrawingProvider extends BaseSeriesDrawingProvide
24
25
  * @param ySelector an optional Y-selector for choosing which y-values to use for drawing points
25
26
  * @param ySplineSelector an optional selector for choosing which y-animation values to use for drawing points
26
27
  */
27
- constructor(webAssemblyContext: TSciChart, parentSeries: IRenderableSeries, ySelector?: (ds: IDataSeries) => DoubleVector, ySplineSelector?: (rs: ISpline) => DoubleVector);
28
+ constructor(webAssemblyContext: TSciChart, parentSeries: IRenderableSeries, ySelector?: (ps: IPointSeries) => SCRTDoubleVector, ySplineSelector?: (rs: ISpline) => SCRTDoubleVector);
28
29
  /**
29
30
  * @inheritDoc
30
31
  */
@@ -34,11 +34,12 @@ var PointMarkerDrawingProvider = /** @class */ (function (_super) {
34
34
  */
35
35
  function PointMarkerDrawingProvider(webAssemblyContext, parentSeries, ySelector, ySplineSelector) {
36
36
  var _this = _super.call(this, webAssemblyContext, parentSeries) || this;
37
- _this.ySelector = ySelector === undefined ? function (ds) { return ds.getNativeYValues(); } : ySelector;
37
+ _this.ySelector = ySelector === undefined ? function (ps) { return ps.yValues; } : ySelector;
38
38
  _this.ySplineValuesSelector = ySplineSelector === undefined ? function (rs) { return rs.ySplineValues; } : ySplineSelector;
39
39
  _this.nativeDrawingProvider = new _this.webAssemblyContext.SCRTScatterSeriesDrawingProvider();
40
- _this.xAnimationPointMarkerValues = new _this.webAssemblyContext.DoubleVector();
41
- _this.yAnimationPointMarkerValues = new _this.webAssemblyContext.DoubleVector();
40
+ _this.xAnimationPointMarkerValues = new _this.webAssemblyContext.SCRTDoubleVector();
41
+ _this.yAnimationPointMarkerValues = new _this.webAssemblyContext.SCRTDoubleVector();
42
+ _this.args = new _this.webAssemblyContext.SCRTPointDrawingParams();
42
43
  return _this;
43
44
  }
44
45
  /**
@@ -67,11 +68,10 @@ var PointMarkerDrawingProvider = /** @class */ (function (_super) {
67
68
  // renderContext.getNativeContext().DrawTexture(spriteTexture.getTexture(), 10, 10, 256, 256);
68
69
  // END DEBUG CODE
69
70
  }
70
- var dataSeries = this.parentSeries.dataSeries;
71
- var args = new this.webAssemblyContext.SCRTPointDrawingParams();
71
+ var pointSeries = renderPassData.pointSeries;
72
72
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
73
- var xValues = dataSeries.getNativeXValues();
74
- var yValues = this.ySelector(dataSeries);
73
+ var xValues = pointSeries.xValues;
74
+ var yValues = this.ySelector(pointSeries);
75
75
  if (this.parentSeries.isSpline) {
76
76
  var spline = this.parentSeries;
77
77
  if (spline.xSplineValues.size() > 0 && spline.ySplineValues.size() > 0) {
@@ -80,19 +80,19 @@ var PointMarkerDrawingProvider = /** @class */ (function (_super) {
80
80
  yValues = this.yAnimationPointMarkerValues;
81
81
  }
82
82
  }
83
- args.count = yValues.size();
84
- args.verticalChart = renderPassData.isVerticalChart;
85
- args.forceShaderMethod = true;
86
- args.SetSpriteTexture(spriteTexture.getTexture());
83
+ this.args.Reset();
84
+ this.args.count = yValues.size();
85
+ this.args.verticalChart = renderPassData.isVerticalChart;
86
+ this.args.forceShaderMethod = true;
87
+ this.args.SetSpriteTexture(spriteTexture.getTexture());
87
88
  if (strokeMaskTexture) {
88
- args.SetStrokeMask(strokeMaskTexture.getTexture());
89
+ this.args.SetStrokeMask(strokeMaskTexture.getTexture());
89
90
  }
90
91
  // Paletting per point
91
92
  _super.prototype.applyStrokeFillPaletting.call(this, pointMarker.stroke, undefined, pointMarker.fill, undefined, this.parentSeries.opacity);
92
- args.SetPalettedColors(this.palettingState.palettedColors);
93
+ this.args.SetPalettedColors(this.palettingState.palettedColors);
93
94
  var nativeContext = renderContext.getNativeContext();
94
- this.drawPoints(nativeContext, isCategoryAxis ? dataSeries.getNativeIndexes() : xValues, yValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args, this.parentSeries.parentSurface.seriesViewRect);
95
- args.delete();
95
+ this.drawPoints(nativeContext, isCategoryAxis ? pointSeries.indexes : xValues, yValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args, this.parentSeries.parentSurface.seriesViewRect);
96
96
  };
97
97
  /**
98
98
  * @inheritDoc
@@ -101,6 +101,7 @@ var PointMarkerDrawingProvider = /** @class */ (function (_super) {
101
101
  this.nativeDrawingProvider = (0, Deleter_1.deleteSafe)(this.nativeDrawingProvider);
102
102
  this.xAnimationPointMarkerValues = (0, Deleter_1.deleteSafe)(this.xAnimationPointMarkerValues);
103
103
  this.yAnimationPointMarkerValues = (0, Deleter_1.deleteSafe)(this.yAnimationPointMarkerValues);
104
+ this.args = (0, Deleter_1.deleteSafe)(this.args);
104
105
  _super.prototype.delete.call(this);
105
106
  };
106
107
  PointMarkerDrawingProvider.prototype.overridePaletteProviderColors = function (rs, xValue, yValue, index, opacity, metadata) {
@@ -116,13 +117,7 @@ var PointMarkerDrawingProvider = /** @class */ (function (_super) {
116
117
  return false;
117
118
  };
118
119
  PointMarkerDrawingProvider.prototype.drawPoints = function (nativeContext, xValues, yValues, xCoordCalc, yCoordCalc, args, viewRect) {
119
- nativeContext.PushMatrix();
120
- nativeContext.PushState();
121
- nativeContext.Translate(viewRect.x, viewRect.y);
122
- nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
123
120
  this.nativeDrawingProvider.DrawPointsVec(nativeContext, xValues, yValues, xCoordCalc, yCoordCalc, args);
124
- nativeContext.PopMatrix();
125
- nativeContext.PopState();
126
121
  };
127
122
  PointMarkerDrawingProvider.prototype.pointMarkerXYValuesFromSpline = function (size, xAnimationValues, yAnimationValues, interpolationPoints) {
128
123
  this.xAnimationPointMarkerValues.resize(size, 0);
@@ -117,19 +117,12 @@ var UniformContoursDrawingProvider = /** @class */ (function (_super) {
117
117
  contourParams.SetParamsBVector(zMin, zMax, 0, 0);
118
118
  // Draw major contour lines
119
119
  var nativeContext = renderContext.getNativeContext();
120
- var viewRect = this.parentSeries.parentSurface.seriesViewRect;
121
- nativeContext.PushMatrix();
122
- nativeContext.PushState();
123
- nativeContext.Translate(viewRect.x, viewRect.y);
124
- nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
125
120
  // console.log(`viewRect: ${viewRect.x}, ${viewRect.y}, ${viewRect.width}, ${viewRect.height}`);
126
121
  // console.log(`contours bounds: ${startX}, ${startY}, ${endX}, ${endY}`);
127
122
  var heightsTexture = this.heightsTextureCache.value;
128
123
  nativeContext.DrawHeatmapRectWithContours(null, heightsTexture, x, y, width, height, floatParams, contourParams);
129
124
  floatParams === null || floatParams === void 0 ? void 0 : floatParams.delete();
130
125
  contourParams === null || contourParams === void 0 ? void 0 : contourParams.delete();
131
- nativeContext.PopMatrix();
132
- nativeContext.PopState();
133
126
  };
134
127
  UniformContoursDrawingProvider.prototype.computeHeightMap = function (textureHeight, textureWidth, zValues, isVerticalChart, xFlipped, yFlipped) {
135
128
  var _a;
@@ -143,8 +136,8 @@ var UniformContoursDrawingProvider = /** @class */ (function (_super) {
143
136
  for (var y = 0; y < textureHeight; y++) {
144
137
  for (var x = 0; x < textureWidth; x++) {
145
138
  var zValue = !isVerticalChart
146
- ? zValues[!yFlipped ? (textureHeight - 1) - y : y][xFlipped ? (textureWidth - x) - 1 : x]
147
- : zValues[!yFlipped ? (textureWidth - 1) - x : x][xFlipped ? (textureHeight - y) - 1 : y];
139
+ ? zValues[!yFlipped ? textureHeight - 1 - y : y][xFlipped ? textureWidth - x - 1 : x]
140
+ : zValues[!yFlipped ? textureWidth - 1 - x : x][xFlipped ? textureHeight - y - 1 : y];
148
141
  // Todo: Set into a javascript array then bulk set the array on heightData
149
142
  this.heightData.set(y * textureWidth + x, isNaN(zValue) ? -1.0 : zValue);
150
143
  }
@@ -110,14 +110,11 @@ var UniformHeatmapDrawingProvider = /** @class */ (function (_super) {
110
110
  var yMax = renderPassData.yCoordinateCalculator.getCoordinate(yRange.max);
111
111
  var nativeContext = renderContext.getNativeContext();
112
112
  var viewRect = this.parentSeries.parentSurface.seriesViewRect;
113
- nativeContext.PushMatrix();
114
- nativeContext.PushState();
115
113
  var textureWidth = Math.abs(xMin - xMax);
116
114
  if (isVerticalChart) {
117
115
  nativeContext.Rotate(-90);
118
116
  var xTrans = hasFlippedXCoordinates ? -viewRect.y - xMin : -textureWidth - viewRect.y - xMin;
119
117
  nativeContext.Translate(xTrans, viewRect.x);
120
- nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
121
118
  var x = hasFlippedXCoordinates ? 0 : textureWidth;
122
119
  var width = hasFlippedXCoordinates ? textureWidth : 0;
123
120
  var y = yMin;
@@ -126,12 +123,8 @@ var UniformHeatmapDrawingProvider = /** @class */ (function (_super) {
126
123
  // Maybe to use nativeContext.Scale(-1, 1);???
127
124
  }
128
125
  else {
129
- nativeContext.Translate(viewRect.x, viewRect.y);
130
- nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
131
126
  this.drawHeatmap(nativeContext, xMin, yMin, xMax, yMax);
132
127
  }
133
- nativeContext.PopMatrix();
134
- nativeContext.PopState();
135
128
  }
136
129
  };
137
130
  UniformHeatmapDrawingProvider.prototype.createPaletteTexture = function (width, height, gradientStops, globalOpacity, hasNaNs) {
@@ -1,5 +1,8 @@
1
1
  import { ESeriesType } from "../../../types/SeriesType";
2
- import { DoubleVector, TSciChart } from "../../../types/TSciChart";
2
+ import { IPointMarkerPaletteProvider } from "../../Model/IPaletteProvider";
3
+ import { SCRTDoubleVector, TSciChart } from "../../../types/TSciChart";
4
+ import { IPointSeries } from "../../Model/PointSeries/IPointSeries";
5
+ import { ResamplingParams } from "../../Numerics/Resamplers/ResamplingParams";
3
6
  import { IThemeProvider } from "../../Themes/IThemeProvider";
4
7
  import { BaseRenderableSeries } from "./BaseRenderableSeries";
5
8
  import { IHitTestProvider } from "./HitTest/IHitTestProvider";
@@ -41,6 +44,10 @@ export declare class FastBubbleRenderableSeries extends BaseRenderableSeries {
41
44
  */
42
45
  constructor(webAssemblyContext: TSciChart, options?: IBubbleRenderableSeriesOptions);
43
46
  /** @inheritDoc */
47
+ get paletteProvider(): IPointMarkerPaletteProvider;
48
+ /** @inheritDoc */
49
+ set paletteProvider(paletteProvider: IPointMarkerPaletteProvider);
50
+ /** @inheritDoc */
44
51
  applyTheme(themeProvider: IThemeProvider): void;
45
52
  /**
46
53
  * Gets the bubble diameter in pixels for the point index, by looking up the Z-value in the
@@ -53,7 +60,9 @@ export declare class FastBubbleRenderableSeries extends BaseRenderableSeries {
53
60
  /**
54
61
  * Returns the {@link XyyDataSeries.getNativeZValues} for the associated {@link dataSeries}
55
62
  */
56
- getNativeZValues(): DoubleVector;
63
+ getNativeZValues(): SCRTDoubleVector;
64
+ /** @inheritDoc */
65
+ toPointSeries(resamplingParams?: ResamplingParams): IPointSeries;
57
66
  /** @inheritDoc */
58
67
  protected newHitTestProvider(): IHitTestProvider;
59
68
  }
@@ -17,6 +17,7 @@ var __extends = (this && this.__extends) || (function () {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.FastBubbleRenderableSeries = void 0;
19
19
  var SeriesType_1 = require("../../../types/SeriesType");
20
+ var XyzPointSeriesWrapped_1 = require("../../Model/PointSeries/XyzPointSeriesWrapped");
20
21
  var EllipsePointMarker_1 = require("../PointMarkers/EllipsePointMarker");
21
22
  var BaseRenderableSeries_1 = require("./BaseRenderableSeries");
22
23
  var BubbleSeriesDrawingProvider_1 = require("./DrawingProviders/BubbleSeriesDrawingProvider");
@@ -69,6 +70,18 @@ var FastBubbleRenderableSeries = /** @class */ (function (_super) {
69
70
  }
70
71
  return _this;
71
72
  }
73
+ Object.defineProperty(FastBubbleRenderableSeries.prototype, "paletteProvider", {
74
+ /** @inheritDoc */
75
+ get: function () {
76
+ return this.paletteProviderProperty;
77
+ },
78
+ /** @inheritDoc */
79
+ set: function (paletteProvider) {
80
+ this.setPaletteProvider(paletteProvider);
81
+ },
82
+ enumerable: false,
83
+ configurable: true
84
+ });
72
85
  /** @inheritDoc */
73
86
  FastBubbleRenderableSeries.prototype.applyTheme = function (themeProvider) {
74
87
  _super.prototype.applyTheme.call(this, themeProvider);
@@ -96,6 +109,10 @@ var FastBubbleRenderableSeries = /** @class */ (function (_super) {
96
109
  return this.dataSeries.getNativeZValues();
97
110
  };
98
111
  /** @inheritDoc */
112
+ FastBubbleRenderableSeries.prototype.toPointSeries = function (resamplingParams) {
113
+ return new XyzPointSeriesWrapped_1.XyzPointSeriesWrapped(this.dataSeries);
114
+ };
115
+ /** @inheritDoc */
99
116
  FastBubbleRenderableSeries.prototype.newHitTestProvider = function () {
100
117
  return new BubbleSeriesHitTestProvider_1.BubbleSeriesHitTestProvider(this, this.webAssemblyContext);
101
118
  };
@@ -83,6 +83,7 @@ export declare class FastColumnRenderableSeries extends BaseRenderableSeries {
83
83
  * @inheritDoc
84
84
  */
85
85
  getYRange(xVisibleRange: NumberRange, isXCategoryAxis?: boolean): NumberRange;
86
+ /** @inheritDoc */
86
87
  toJSON(excludeData?: boolean): import("../../../Builder/buildSeries").TSeriesDefinition;
87
88
  /** @inheritDoc */
88
89
  protected newHitTestProvider(): IHitTestProvider;
@@ -149,6 +149,7 @@ var FastColumnRenderableSeries = /** @class */ (function (_super) {
149
149
  }
150
150
  return new NumberRange_1.NumberRange(Math.min(yRange.min, this.zeroLineY), Math.max(yRange.max, this.zeroLineY));
151
151
  };
152
+ /** @inheritDoc */
152
153
  FastColumnRenderableSeries.prototype.toJSON = function (excludeData) {
153
154
  if (excludeData === void 0) { excludeData = false; }
154
155
  var json = _super.prototype.toJSON.call(this, excludeData);
@@ -33,4 +33,5 @@ export declare class FastLineRenderableSeries extends BaseLineRenderableSeries {
33
33
  * @param options optional parameters of type {@link IFastLineRenderableSeriesOptions} applied when constructing the series type
34
34
  */
35
35
  constructor(webAssemblyContext: TSciChart, options?: IFastLineRenderableSeriesOptions);
36
+ delete(): void;
36
37
  }
@@ -16,6 +16,7 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.FastLineRenderableSeries = void 0;
19
+ var Deleter_1 = require("../../../Core/Deleter");
19
20
  var SeriesType_1 = require("../../../types/SeriesType");
20
21
  var BaseLineRenderableSeries_1 = require("./BaseLineRenderableSeries");
21
22
  /**
@@ -57,6 +58,11 @@ var FastLineRenderableSeries = /** @class */ (function (_super) {
57
58
  }
58
59
  return _this;
59
60
  }
61
+ FastLineRenderableSeries.prototype.delete = function () {
62
+ _super.prototype.delete.call(this);
63
+ this.resamplerHelper = (0, Deleter_1.deleteSafe)(this.resamplerHelper);
64
+ this.pointSeries = (0, Deleter_1.deleteSafe)(this.pointSeries);
65
+ };
60
66
  return FastLineRenderableSeries;
61
67
  }(BaseLineRenderableSeries_1.BaseLineRenderableSeries));
62
68
  exports.FastLineRenderableSeries = FastLineRenderableSeries;
@@ -39,7 +39,7 @@ var BandSeriesHitTestProvider = /** @class */ (function (_super) {
39
39
  var xHitCoord = isVerticalChart ? hitTestPoint.y : hitTestPoint.x;
40
40
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
41
41
  var dataSeries = this.parentSeries.dataSeries;
42
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
42
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
43
43
  var xNativeValues = dataSeries.getNativeXValues();
44
44
  var yNativeValues = dataSeries.getNativeYValues();
45
45
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, 0);
@@ -94,7 +94,7 @@ var BandSeriesHitTestProvider = /** @class */ (function (_super) {
94
94
  var xHitCoord = isVerticalChart ? hitTestPoint.y : hitTestPoint.x;
95
95
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
96
96
  var dataSeries = this.parentSeries.dataSeries;
97
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
97
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
98
98
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, dataSeries.getNativeXValues(), dataSeries.getNativeYValues(), xHitCoord, yHitCoord, nearestPointIndex, 0);
99
99
  if (nearestPointIndex >= 0) {
100
100
  hitTestInfo.isHit = hitTestInfo.isWithinDataBounds;
@@ -71,7 +71,7 @@ var BaseHitTestProvider = /** @class */ (function () {
71
71
  var xHitCoord = isVerticalChart ? hitTestPoint.y : hitTestPoint.x;
72
72
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
73
73
  var dataSeries = this.parentSeries.dataSeries;
74
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
74
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
75
75
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, dataSeries.getNativeXValues(), dataSeries.getNativeYValues(), xHitCoord, yHitCoord, nearestPointIndex, 0);
76
76
  hitTestInfo.isHit = hitTestInfo.isWithinDataBounds;
77
77
  return hitTestInfo;
@@ -89,7 +89,7 @@ var BubbleSeriesHitTestProvider = /** @class */ (function (_super) {
89
89
  var xNativeValues = dataSeries.getNativeXValues();
90
90
  var yNativeValues = dataSeries.getNativeYValues();
91
91
  var zNativeValues = dataSeries.getNativeZValues();
92
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
92
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
93
93
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, 0);
94
94
  if (nearestPointIndex >= 0) {
95
95
  hitTestInfo.zValue = zNativeValues.get(nearestPointIndex);
@@ -40,7 +40,7 @@ var ColumnSeriesHitTestProvider = /** @class */ (function (_super) {
40
40
  var xHitCoord = isVerticalChart ? hitTestPoint.y : hitTestPoint.x;
41
41
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
42
42
  var dataSeries = this.parentSeries.dataSeries;
43
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
43
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
44
44
  var xNativeValues = dataSeries.getNativeXValues();
45
45
  var yNativeValues = dataSeries.getNativeYValues();
46
46
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, 0);
@@ -73,7 +73,7 @@ var ColumnSeriesHitTestProvider = /** @class */ (function (_super) {
73
73
  var dataSeries = this.parentSeries.dataSeries;
74
74
  var xNativeValues = dataSeries.getNativeXValues();
75
75
  var yNativeValues = dataSeries.getNativeYValues();
76
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
76
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
77
77
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, 0);
78
78
  var isCategoryAxis = xCoordinateCalculator.isCategoryCoordinateCalculator;
79
79
  if (nearestPointIndex >= 0) {
@@ -40,7 +40,7 @@ var LineSeriesHitTestProvider = /** @class */ (function (_super) {
40
40
  var isVerticalChart = this.currentRenderPassData.isVerticalChart;
41
41
  var xHitCoord = isVerticalChart ? hitTestPoint.y : hitTestPoint.x;
42
42
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
43
- var isSortedData = this.parentSeries.dataSeries.isSorted;
43
+ var isSortedData = this.parentSeries.dataSeries.dataDistributionCalculator.isSortedAscending;
44
44
  if (isSortedData) {
45
45
  return this.hitTestSorted(xHitCoord, yHitCoord, hitTestRadius);
46
46
  }
@@ -51,7 +51,7 @@ var LineSeriesHitTestProvider = /** @class */ (function (_super) {
51
51
  LineSeriesHitTestProvider.prototype.hitTestSorted = function (xHitCoord, yHitCoord, hitTestRadius) {
52
52
  var _a = this.currentRenderPassData, xCoordinateCalculator = _a.xCoordinateCalculator, yCoordinateCalculator = _a.yCoordinateCalculator, isVerticalChart = _a.isVerticalChart;
53
53
  var dataSeries = this.parentSeries.dataSeries;
54
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
54
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
55
55
  var xNativeValues = dataSeries.getNativeXValues();
56
56
  var yNativeValues = dataSeries.getNativeYValues();
57
57
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, hitTestRadius);
@@ -40,7 +40,7 @@ var MountainSeriesHitTestProvider = /** @class */ (function (_super) {
40
40
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
41
41
  var renderableSeries = this.parentSeries;
42
42
  var dataSeries = renderableSeries.dataSeries;
43
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
43
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
44
44
  var xNativeValues = dataSeries.getNativeXValues();
45
45
  var yNativeValues = dataSeries.getNativeYValues();
46
46
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(renderableSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, 0);
@@ -42,7 +42,7 @@ var OhlcSeriesHitTestProvider = /** @class */ (function (_super) {
42
42
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
43
43
  var renderableSeries = this.parentSeries;
44
44
  var dataSeries = this.parentSeries.dataSeries;
45
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
45
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
46
46
  var xNativeValues = dataSeries.getNativeXValues();
47
47
  var yNativeValues = dataSeries.getNativeYValues();
48
48
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, hitTestRadius);
@@ -80,7 +80,7 @@ var OhlcSeriesHitTestProvider = /** @class */ (function (_super) {
80
80
  var dataSeries = this.parentSeries.dataSeries;
81
81
  var xNativeValues = dataSeries.getNativeXValues();
82
82
  var yNativeValues = dataSeries.getNativeYValues();
83
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
83
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
84
84
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, 0);
85
85
  if (nearestPointIndex >= 0) {
86
86
  hitTestInfo.openValue = dataSeries.getNativeOpenValues().get(nearestPointIndex);
@@ -74,7 +74,7 @@ var ScatterSeriesHitTestProvider = /** @class */ (function (_super) {
74
74
  var dataSeries = this.parentSeries.dataSeries;
75
75
  var xNativeValues = dataSeries.getNativeXValues();
76
76
  var yNativeValues = dataSeries.getNativeYValues();
77
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
77
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
78
78
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, yNativeValues, xHitCoord, yHitCoord, nearestPointIndex, 0);
79
79
  if (nearestPointIndex >= 0) {
80
80
  var isCategoryAxis = xCoordinateCalculator.isCategoryCoordinateCalculator;
@@ -40,7 +40,7 @@ var StackedColumnSeriesHitTestProvider = /** @class */ (function (_super) {
40
40
  var xHitCoord = isVerticalChart ? hitTestPoint.y : hitTestPoint.x;
41
41
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
42
42
  var dataSeries = this.parentSeries.dataSeries;
43
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
43
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
44
44
  var xNativeValues = dataSeries.getNativeXValues();
45
45
  var yNativeValues = dataSeries.getNativeYValues();
46
46
  var _b = this.parentSeries, accumulatedValues = _b.accumulatedValues, getGroupIndex = _b.getGroupIndex, getGroupsCount = _b.getGroupsCount, getColumnWidth = _b.getColumnWidth;
@@ -98,7 +98,7 @@ var StackedColumnSeriesHitTestProvider = /** @class */ (function (_super) {
98
98
  var xHitCoord = isVerticalChart ? hitTestPoint.y : hitTestPoint.x;
99
99
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
100
100
  var dataSeries = this.parentSeries.dataSeries;
101
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
101
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
102
102
  var xNativeValues = dataSeries.getNativeXValues();
103
103
  var yNativeValues = dataSeries.getNativeYValues();
104
104
  var _b = this.parentSeries, accumulatedValues = _b.accumulatedValues, getGroupIndex = _b.getGroupIndex, getGroupsCount = _b.getGroupsCount, getColumnWidth = _b.getColumnWidth;