scichart 2.0.2195 → 2.1.2261

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 (232) hide show
  1. package/Charting/ChartModifiers/CursorModifier.d.ts +9 -0
  2. package/Charting/ChartModifiers/CursorModifier.js +10 -0
  3. package/Charting/ChartModifiers/DataPointSelectionModifier.js +0 -1
  4. package/Charting/ChartModifiers/RolloverModifier.d.ts +30 -3
  5. package/Charting/ChartModifiers/RolloverModifier.js +46 -80
  6. package/Charting/Drawing/BrushCache.d.ts +8 -2
  7. package/Charting/Drawing/BrushCache.js +16 -8
  8. package/Charting/Drawing/WebGlRenderContext2D.d.ts +1 -0
  9. package/Charting/Drawing/WebGlRenderContext2D.js +4 -1
  10. package/Charting/LayoutManager/BaseAxisLayoutStrategy.d.ts +2 -0
  11. package/Charting/LayoutManager/BaseAxisLayoutStrategy.js +33 -0
  12. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +18 -2
  13. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +19 -2
  14. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +18 -2
  15. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +18 -2
  16. package/Charting/Model/BaseDataSeries.d.ts +42 -15
  17. package/Charting/Model/BaseDataSeries.js +77 -28
  18. package/Charting/Model/BaseHeatmapDataSeries.d.ts +31 -23
  19. package/Charting/Model/BaseHeatmapDataSeries.js +45 -18
  20. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.d.ts +23 -0
  21. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +122 -0
  22. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.d.ts +57 -0
  23. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.js +2 -0
  24. package/Charting/Model/Filters/OhlcFilterBase.d.ts +2 -2
  25. package/Charting/Model/Filters/XyFilterBase.d.ts +3 -3
  26. package/Charting/Model/Filters/XyMovingAverageFilter.js +1 -1
  27. package/Charting/Model/Filters/XyyFilterBase.d.ts +4 -4
  28. package/Charting/Model/Filters/XyzFilterBase.d.ts +4 -4
  29. package/Charting/Model/IDataSeries.d.ts +37 -5
  30. package/Charting/Model/OhlcDataSeries.d.ts +12 -11
  31. package/Charting/Model/OhlcDataSeries.js +47 -44
  32. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +21 -0
  33. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +56 -0
  34. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +14 -0
  35. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +23 -0
  36. package/Charting/Model/PointSeries/IPointSeries.d.ts +31 -0
  37. package/Charting/Model/PointSeries/IPointSeries.js +2 -0
  38. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.d.ts +13 -0
  39. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +59 -0
  40. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.d.ts +11 -0
  41. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.js +32 -0
  42. package/Charting/Model/PointSeries/XyPointSeriesResampled.d.ts +7 -0
  43. package/Charting/Model/PointSeries/XyPointSeriesResampled.js +27 -0
  44. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +6 -0
  45. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +27 -0
  46. package/Charting/Model/PointSeries/XyyPointSeriesResampled.d.ts +10 -0
  47. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +48 -0
  48. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.d.ts +8 -0
  49. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.js +29 -0
  50. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.d.ts +8 -0
  51. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.js +29 -0
  52. package/Charting/Model/XyDataSeries.d.ts +3 -2
  53. package/Charting/Model/XyDataSeries.js +26 -26
  54. package/Charting/Model/XyyDataSeries.d.ts +5 -5
  55. package/Charting/Model/XyyDataSeries.js +30 -27
  56. package/Charting/Model/XyzDataSeries.d.ts +5 -5
  57. package/Charting/Model/XyzDataSeries.js +30 -27
  58. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +2 -2
  59. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +2 -2
  60. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.d.ts +2 -1
  61. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +6 -2
  62. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.d.ts +2 -1
  63. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +6 -2
  64. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +54 -0
  65. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +234 -0
  66. package/Charting/Numerics/Resamplers/ResamplingMode.d.ts +37 -0
  67. package/Charting/Numerics/Resamplers/ResamplingMode.js +41 -0
  68. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +39 -0
  69. package/Charting/Numerics/Resamplers/ResamplingParams.js +52 -0
  70. package/Charting/Services/RenderPassData.d.ts +6 -1
  71. package/Charting/Services/RenderPassData.js +5 -1
  72. package/Charting/Services/RenderPassInfo.d.ts +18 -0
  73. package/Charting/Services/RenderPassInfo.js +14 -0
  74. package/Charting/Services/SciChartRenderer.d.ts +14 -1
  75. package/Charting/Services/SciChartRenderer.js +127 -31
  76. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +1 -1
  77. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +1 -0
  78. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +6 -0
  79. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.d.ts +5 -0
  80. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +12 -1
  81. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.d.ts +6 -8
  82. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +12 -9
  83. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +7 -2
  84. package/Charting/Visuals/Axis/AxisBase2D.d.ts +23 -0
  85. package/Charting/Visuals/Axis/AxisBase2D.js +71 -24
  86. package/Charting/Visuals/Axis/AxisCore.d.ts +11 -0
  87. package/Charting/Visuals/Axis/AxisCore.js +39 -18
  88. package/Charting/Visuals/Axis/AxisRenderer.d.ts +1 -0
  89. package/Charting/Visuals/Axis/AxisRenderer.js +37 -10
  90. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +51 -0
  91. package/Charting/Visuals/Axis/CategoryAxisBase.js +85 -20
  92. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +5 -0
  93. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +2 -2
  94. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +9 -4
  95. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +7 -4
  96. package/Charting/Visuals/Axis/NumericAxis.js +2 -2
  97. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  98. package/Charting/Visuals/Axis/constants.js +1 -0
  99. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  100. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  101. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +3 -3
  102. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  103. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  104. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +6 -6
  105. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  106. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +9 -2
  107. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +45 -1
  108. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +1 -0
  109. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +1 -0
  110. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +1 -0
  111. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +1 -0
  112. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +12 -5
  113. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +113 -0
  114. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +42 -6
  115. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +131 -22
  116. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +36 -4
  117. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +51 -3
  118. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +38 -4
  119. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +54 -3
  120. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -1
  121. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +8 -14
  122. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +4 -3
  123. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +5 -11
  124. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  125. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +31 -19
  126. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +2 -1
  127. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +17 -21
  128. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +16 -15
  129. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +9 -15
  130. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +4 -3
  131. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +16 -21
  132. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +2 -9
  133. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +0 -7
  134. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +11 -2
  135. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +17 -0
  136. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +1 -0
  137. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +1 -0
  138. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.d.ts +1 -0
  139. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +6 -0
  140. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -2
  141. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  142. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +1 -1
  143. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +2 -2
  144. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +2 -2
  145. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +1 -1
  146. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +2 -2
  147. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +1 -1
  148. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +2 -2
  149. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +2 -2
  150. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +6 -6
  151. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +1 -1
  152. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +12 -1
  153. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +38 -2
  154. package/Charting/Visuals/RenderableSeries/ISpline.d.ts +3 -3
  155. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  156. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +5 -5
  157. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +3 -3
  158. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +3 -3
  159. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +3 -3
  160. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +3 -3
  161. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +0 -6
  162. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +1 -1
  163. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +1 -7
  164. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  165. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -0
  166. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +5 -0
  167. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +6 -0
  168. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -3
  169. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +6 -3
  170. package/Charting/Visuals/RenderableSeries/constants.d.ts +3 -0
  171. package/Charting/Visuals/RenderableSeries/constants.js +3 -0
  172. package/Charting/Visuals/SciChartDefaults.d.ts +9 -1
  173. package/Charting/Visuals/SciChartDefaults.js +9 -1
  174. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +1 -0
  175. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +7 -2
  176. package/Charting/Visuals/SciChartSurface.d.ts +4 -4
  177. package/Charting/Visuals/SciChartSurface.js +18 -11
  178. package/Charting/Visuals/SciChartSurfaceBase.d.ts +3 -2
  179. package/Charting/Visuals/SciChartSurfaceBase.js +4 -4
  180. package/Charting/Visuals/createMaster.d.ts +1 -1
  181. package/Charting/Visuals/createMaster.js +11 -6
  182. package/Charting/Visuals/createSingle.d.ts +1 -1
  183. package/Charting/Visuals/createSingle.js +2 -2
  184. package/Charting/Visuals/licenseManager2D.js +24 -21
  185. package/Charting/Visuals/licenseManager2dState.d.ts +4 -0
  186. package/Charting/Visuals/licenseManager2dState.js +12 -0
  187. package/Charting/Visuals/loader.js +2 -0
  188. package/Charting/Visuals/sciChartInitCommon.d.ts +2 -2
  189. package/Charting/Visuals/sciChartInitCommon.js +22 -12
  190. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +7 -7
  191. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +3 -3
  192. package/Charting3D/Visuals/SciChart3DSurface.d.ts +2 -2
  193. package/Charting3D/Visuals/SciChart3DSurface.js +3 -3
  194. package/Charting3D/Visuals/createMaster3d.d.ts +1 -1
  195. package/Charting3D/Visuals/createMaster3d.js +11 -6
  196. package/Charting3D/Visuals/createSingle3d.d.ts +1 -1
  197. package/Charting3D/Visuals/createSingle3d.js +2 -2
  198. package/Core/BuildStamp.d.ts +1 -1
  199. package/Core/BuildStamp.js +2 -2
  200. package/Core/NumberRange.d.ts +1 -0
  201. package/Core/NumberRange.js +8 -0
  202. package/Core/OneTimePerformanceWarning.d.ts +6 -0
  203. package/Core/OneTimePerformanceWarning.js +19 -0
  204. package/Core/storage/localStorageApi.d.ts +9 -0
  205. package/Core/storage/localStorageApi.js +32 -0
  206. package/_wasm/scichart.browser.js +1 -1
  207. package/_wasm/scichart2d.js +95 -95
  208. package/_wasm/scichart2d.wasm +0 -0
  209. package/_wasm/scichart3d.js +96 -96
  210. package/_wasm/scichart3d.wasm +0 -0
  211. package/constants/performanceWarnings.d.ts +5 -0
  212. package/constants/performanceWarnings.js +8 -0
  213. package/package.json +1 -1
  214. package/types/NumberArray.d.ts +1 -0
  215. package/types/NumberArray.js +5 -1
  216. package/types/SearchMode.d.ts +21 -0
  217. package/types/SearchMode.js +25 -0
  218. package/types/TSciChart.d.ts +144 -40
  219. package/types/TSciChart3D.d.ts +66 -28
  220. package/types/TStackedAxisLength.d.ts +4 -0
  221. package/types/TStackedAxisLength.js +4 -0
  222. package/utils/array.d.ts +7 -0
  223. package/utils/array.js +19 -1
  224. package/utils/calcAverage.d.ts +2 -2
  225. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +19 -0
  226. package/utils/ccall/appendDoubleVectorFromJsArray.js +91 -0
  227. package/utils/hash.d.ts +7 -0
  228. package/utils/hash.js +35 -0
  229. package/utils/tooltip.d.ts +42 -0
  230. package/utils/tooltip.js +119 -0
  231. package/utils/ccall/fillDoubleVectorFromJsArray.d.ts +0 -3
  232. package/utils/ccall/fillDoubleVectorFromJsArray.js +0 -33
@@ -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;
@@ -39,7 +39,7 @@ var StackedMountainSeriesHitTestProvider = /** @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 accumulatedValues = this.parentSeries.accumulatedValues;
45
45
  var hitTestInfo = hitTestHelpers_1.hitTestHelpers.createHitTestInfo(this.parentSeries, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, dataSeries, xNativeValues, accumulatedValues, xHitCoord, yHitCoord, nearestPointIndex, 0);
@@ -69,7 +69,7 @@ var StackedMountainSeriesHitTestProvider = /** @class */ (function (_super) {
69
69
  var xHitCoord = isVerticalChart ? hitTestPoint.y : hitTestPoint.x;
70
70
  var yHitCoord = isVerticalChart ? hitTestPoint.x : hitTestPoint.y;
71
71
  var dataSeries = this.parentSeries.dataSeries;
72
- var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.isSorted);
72
+ var nearestPointIndex = hitTestHelpers_1.hitTestHelpers.getNearestXPoint(this.webAssemblyContext, xCoordinateCalculator, dataSeries, xHitCoord, dataSeries.dataDistributionCalculator.isSortedAscending);
73
73
  var xNativeValues = dataSeries.getNativeXValues();
74
74
  var yNativeValues = dataSeries.getNativeYValues();
75
75
  var accumulatedValues = this.parentSeries.accumulatedValues;
@@ -1,4 +1,4 @@
1
- import { DoubleVector, TSciChart } from "../../../../types/TSciChart";
1
+ import { SCRTDoubleVector, TSciChart } from "../../../../types/TSciChart";
2
2
  import { BaseDataSeries } from "../../../Model/BaseDataSeries";
3
3
  import { IDataSeries } from "../../../Model/IDataSeries";
4
4
  import { OhlcDataSeries } from "../../../Model/OhlcDataSeries";
@@ -11,7 +11,7 @@ import { FastColumnRenderableSeries } from "../FastColumnRenderableSeries";
11
11
  import { IRenderableSeries } from "../IRenderableSeries";
12
12
  import { HitTestInfo } from "./HitTestInfo";
13
13
  export declare const hitTestHelpers: {
14
- createHitTestInfo: (renderableSeries: IRenderableSeries, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, isVerticalChart: boolean, dataSeries: BaseDataSeries, xNativeValues: DoubleVector, yNativeValues: DoubleVector, xHitCoord: number, yHitCoord: number, nearestPointIndex: number, hitTestRadius: number) => HitTestInfo;
14
+ createHitTestInfo: (renderableSeries: IRenderableSeries, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, isVerticalChart: boolean, dataSeries: BaseDataSeries, xNativeValues: SCRTDoubleVector, yNativeValues: SCRTDoubleVector, xHitCoord: number, yHitCoord: number, nearestPointIndex: number, hitTestRadius: number) => HitTestInfo;
15
15
  getNearestXPoint: (webAssemblyContext: TSciChart, xCoordinateCalculator: CoordinateCalculatorBase, dataSeries: IDataSeries, xHitCoord: number, isSorted: boolean) => number;
16
16
  getNearestXyPoint: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, dataSeries: IDataSeries, xHitCoord: number, yHitCoord: number) => number;
17
17
  getNearestXyyPoint: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, dataSeries: XyyDataSeries, xHitCoord: number, yHitCoord: number) => number;
@@ -20,16 +20,16 @@ export declare const hitTestHelpers: {
20
20
  yIndex: number;
21
21
  zValue: number;
22
22
  };
23
- testIsHitForPoint: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: DoubleVector, yValues: DoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => boolean;
24
- testIsHitForLine: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: DoubleVector, yValues: DoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => {
23
+ testIsHitForPoint: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => boolean;
24
+ testIsHitForLine: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => {
25
25
  isHit: boolean;
26
26
  secondPointIndex: number;
27
27
  };
28
- testIsHitForBand: (isDigitalLine: boolean, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: DoubleVector, getYValue: (index: number) => number, getY1Value: (index: number) => number, pointIndex: number, xHitCoord: number, yHitCoord: number) => {
28
+ testIsHitForBand: (isDigitalLine: boolean, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: SCRTDoubleVector, getYValue: (index: number) => number, getY1Value: (index: number) => number, pointIndex: number, xHitCoord: number, yHitCoord: number) => {
29
29
  isHit: boolean;
30
30
  secondPointIndex: number;
31
31
  };
32
- testIsHitForColumn: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, renderableSeries: FastColumnRenderableSeries, xValues: DoubleVector, yValues: DoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number) => boolean;
32
+ testIsHitForColumn: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, renderableSeries: FastColumnRenderableSeries, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number) => boolean;
33
33
  testIsHitForOHLC: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, renderableSeries: FastColumnRenderableSeries | BaseOhlcRenderableSeries, dataSeries: OhlcDataSeries, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => {
34
34
  isHit: boolean;
35
35
  openValue: number;
@@ -53,7 +53,7 @@ var createHitTestInfo = function (renderableSeries, xCoordinateCalculator, yCoor
53
53
  hitTestInfo.yValue = yValue;
54
54
  var xFirstValue = isCategoryAxis ? 0 : xNativeValues.get(0);
55
55
  var xLastValue = isCategoryAxis ? xNativeValues.size() - 1 : xNativeValues.get(xNativeValues.size() - 1);
56
- if (!dataSeries.isSorted) {
56
+ if (!dataSeries.dataDistributionCalculator.isSortedAscending) {
57
57
  for (var i = 0; i < dataSeries.count(); i++) {
58
58
  if (xNativeValues.get(i) < xFirstValue) {
59
59
  xFirstValue = xNativeValues.get(i);
@@ -2,6 +2,7 @@ import { TAnimationDefinition, TEffectDefinition, TPaletteProviderDefinition, TP
2
2
  import { ELineDrawMode } from "../../Drawing/WebGlRenderContext2D";
3
3
  import { IDataSeries } from "../../Model/IDataSeries";
4
4
  import { IPaletteProvider } from "../../Model/IPaletteProvider";
5
+ import { EResamplingMode } from "../../Numerics/Resamplers/ResamplingMode";
5
6
  import { IPointMarker } from "../PointMarkers/IPointMarker";
6
7
  import { SeriesAnimation } from "./Animations/SeriesAnimation";
7
8
  import { IRenderableSeries } from "./IRenderableSeries";
@@ -137,7 +138,7 @@ export interface IBaseRenderableSeriesOptions {
137
138
  */
138
139
  drawNaNAs?: ELineDrawMode;
139
140
  /**
140
- * An animation that runs on the start, child class to {@link BaseAnimation}
141
+ * An animation that runs on the start, child class to {@link SeriesAnimation}
141
142
  */
142
143
  animation?: SeriesAnimation | TAnimationDefinition;
143
144
  /**
@@ -156,4 +157,14 @@ export interface IBaseRenderableSeriesOptions {
156
157
  * Optional callback function when hovered changed. Also see {@link IRenderableSeries.hovered} event handler
157
158
  */
158
159
  onHoveredChanged?: TSeriesHoverChangedCallback | string;
160
+ /**
161
+ * Gets or sets the {@link EResamplingMode} used when drawing this series.
162
+ * Default value is AUTO.
163
+ * To disable resampling for this series, set mode to NONE.
164
+ */
165
+ resamplingMode?: EResamplingMode;
166
+ /**
167
+ * Gets or sets the resampling precision for this series
168
+ */
169
+ resamplingPrecision?: number;
159
170
  }