scichart 3.1.346 → 3.2.0-beta

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 (316) hide show
  1. package/Charting/ChartModifiers/ChartModifierBase.d.ts +15 -1
  2. package/Charting/ChartModifiers/ChartModifierBase.js +65 -7
  3. package/Charting/ChartModifiers/CursorModifier.js +13 -1
  4. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  5. package/Charting/ChartModifiers/LegendModifier.js +8 -6
  6. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
  7. package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
  8. package/Charting/ChartModifiers/RolloverModifier.js +10 -3
  9. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  10. package/Charting/ChartModifiers/SeriesSelectionModifier.js +32 -24
  11. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
  12. package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
  13. package/Charting/Drawing/BaseCache.d.ts +2 -1
  14. package/Charting/Drawing/BaseCache.js +40 -7
  15. package/Charting/Drawing/RenderSurface.d.ts +1 -0
  16. package/Charting/Drawing/RenderSurface.js +5 -1
  17. package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
  18. package/Charting/Drawing/SolidBrushCache.js +23 -3
  19. package/Charting/Drawing/WebGlBrush.d.ts +2 -1
  20. package/Charting/Drawing/WebGlBrush.js +22 -3
  21. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  22. package/Charting/Drawing/WebGlPen.js +23 -4
  23. package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
  24. package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
  25. package/Charting/Model/BaseDataSeries.d.ts +67 -2
  26. package/Charting/Model/BaseDataSeries.js +193 -42
  27. package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
  28. package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
  29. package/Charting/Model/ChartData/SeriesInfo.js +7 -0
  30. package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
  31. package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
  32. package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
  33. package/Charting/Model/DoubleVectorProvider.js +95 -0
  34. package/Charting/Model/HlcDataSeries.d.ts +3 -0
  35. package/Charting/Model/HlcDataSeries.js +44 -15
  36. package/Charting/Model/IDataSeries.d.ts +23 -0
  37. package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
  38. package/Charting/Model/OhlcDataSeries.d.ts +3 -0
  39. package/Charting/Model/OhlcDataSeries.js +56 -24
  40. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
  41. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
  42. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
  43. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
  44. package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
  45. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
  46. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
  47. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
  48. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
  49. package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
  50. package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
  51. package/Charting/Model/XyDataSeries.d.ts +0 -8
  52. package/Charting/Model/XyDataSeries.js +21 -5
  53. package/Charting/Model/XyTextDataSeries.d.ts +2 -0
  54. package/Charting/Model/XyTextDataSeries.js +35 -4
  55. package/Charting/Model/XyyDataSeries.d.ts +2 -0
  56. package/Charting/Model/XyyDataSeries.js +35 -10
  57. package/Charting/Model/XyzDataSeries.d.ts +3 -0
  58. package/Charting/Model/XyzDataSeries.js +36 -10
  59. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
  60. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
  61. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
  62. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
  63. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
  64. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
  65. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
  66. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
  67. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
  68. package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
  69. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
  70. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
  71. package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
  72. package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
  73. package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
  74. package/Charting/Services/SciChartRenderer.js +15 -5
  75. package/Charting/Services/TitleRenderer.d.ts +2 -1
  76. package/Charting/Services/TitleRenderer.js +35 -14
  77. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
  78. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
  79. package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
  80. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +8 -0
  81. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
  82. package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
  83. package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
  84. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
  85. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
  86. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
  87. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  88. package/Charting/Visuals/Annotations/constants.js +1 -0
  89. package/Charting/Visuals/Axis/AxisBase2D.d.ts +20 -5
  90. package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
  91. package/Charting/Visuals/Axis/AxisCore.d.ts +4 -1
  92. package/Charting/Visuals/Axis/AxisCore.js +100 -54
  93. package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
  94. package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
  95. package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
  96. package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
  97. package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
  98. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
  99. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
  100. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
  101. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
  102. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
  103. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
  104. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
  105. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
  106. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
  107. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
  108. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
  109. package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
  110. package/Charting/Visuals/HeatmapLegend.js +33 -12
  111. package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
  112. package/Charting/Visuals/Helpers/NativeObject.js +42 -21
  113. package/Charting/Visuals/Helpers/drawLabel.js +3 -1
  114. package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
  115. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +3 -1
  116. package/Charting/Visuals/Legend/SciChartLegendBase.js +35 -14
  117. package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
  118. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
  119. package/Charting/Visuals/PointMarkers/BasePointMarker.js +72 -19
  120. package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
  121. package/Charting/Visuals/PointMarkers/Constants.js +1 -0
  122. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
  123. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
  124. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
  125. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
  126. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
  127. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
  128. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
  129. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +2 -1
  130. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
  131. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +13 -4
  132. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
  133. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
  134. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
  135. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
  136. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
  137. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
  138. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
  139. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
  140. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
  141. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
  142. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +2 -1
  143. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +62 -33
  144. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
  145. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
  146. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  147. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
  148. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
  149. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
  150. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
  151. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
  152. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
  153. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
  154. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
  155. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
  156. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
  157. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
  158. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
  159. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
  160. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
  161. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
  162. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
  163. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
  164. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
  165. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  166. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
  167. package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
  168. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
  169. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +7 -0
  170. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +7 -0
  171. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +7 -0
  172. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
  173. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
  174. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
  175. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
  176. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
  177. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
  178. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
  179. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +3 -1
  180. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +30 -10
  181. package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
  182. package/Charting/Visuals/SciChartDefaults.js +10 -0
  183. package/Charting/Visuals/SciChartOverview.d.ts +2 -1
  184. package/Charting/Visuals/SciChartOverview.js +28 -8
  185. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +10 -3
  186. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +118 -60
  187. package/Charting/Visuals/SciChartSurface.d.ts +4 -36
  188. package/Charting/Visuals/SciChartSurface.js +48 -61
  189. package/Charting/Visuals/SciChartSurfaceBase.d.ts +99 -13
  190. package/Charting/Visuals/SciChartSurfaceBase.js +155 -32
  191. package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
  192. package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
  193. package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
  194. package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
  195. package/Charting/Visuals/createMaster.d.ts +4 -2
  196. package/Charting/Visuals/createMaster.js +92 -28
  197. package/Charting/Visuals/createSingle.d.ts +0 -2
  198. package/Charting/Visuals/createSingle.js +44 -9
  199. package/Charting/Visuals/licenseManager2D.d.ts +7 -5
  200. package/Charting/Visuals/licenseManager2D.js +105 -53
  201. package/Charting/Visuals/loader.js +3 -1
  202. package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
  203. package/Charting/Visuals/sciChartInitCommon.js +5 -1
  204. package/Charting3D/CameraController.d.ts +1 -1
  205. package/Charting3D/CameraController.js +21 -7
  206. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
  207. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
  208. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
  209. package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
  210. package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
  211. package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
  212. package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +87 -0
  213. package/Charting3D/ChartModifiers/TooltipModifier3D.js +391 -0
  214. package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
  215. package/Charting3D/I3DSurfaceOptions.js +2 -0
  216. package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
  217. package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
  218. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
  219. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
  220. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
  221. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
  222. package/Charting3D/Vector3.d.ts +5 -0
  223. package/Charting3D/Vector3.js +7 -0
  224. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
  225. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
  226. package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +21 -2
  227. package/Charting3D/Visuals/Axis/AxisBase3D.js +48 -18
  228. package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
  229. package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
  230. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
  231. package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
  232. package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
  233. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
  234. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
  235. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
  236. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
  237. package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
  238. package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
  239. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
  240. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +188 -0
  241. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
  242. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
  243. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
  244. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +18 -0
  245. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
  246. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +15 -0
  247. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +16 -1
  248. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +64 -12
  249. package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
  250. package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
  251. package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
  252. package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
  253. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
  254. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
  255. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
  256. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
  257. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
  258. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
  259. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
  260. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
  261. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
  262. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
  263. package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
  264. package/Charting3D/Visuals/RootSceneEntity.js +3 -8
  265. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +2 -0
  266. package/Charting3D/Visuals/SciChart3DRenderer.js +49 -0
  267. package/Charting3D/Visuals/SciChart3DSurface.d.ts +44 -3
  268. package/Charting3D/Visuals/SciChart3DSurface.js +103 -9
  269. package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
  270. package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
  271. package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
  272. package/Charting3D/Visuals/createMaster3d.js +76 -14
  273. package/Charting3D/Visuals/createSingle3d.js +34 -4
  274. package/Charting3D/Visuals/licenseManager3D.js +29 -25
  275. package/Core/BuildStamp.d.ts +1 -1
  276. package/Core/BuildStamp.js +2 -2
  277. package/Core/DeletableEntity.d.ts +28 -0
  278. package/Core/DeletableEntity.js +141 -0
  279. package/Core/Globals.d.ts +11 -0
  280. package/Core/Globals.js +13 -0
  281. package/Core/Guard.d.ts +6 -0
  282. package/Core/Guard.js +10 -0
  283. package/Core/Mouse/MouseManager.d.ts +23 -0
  284. package/Core/Mouse/MouseManager.js +47 -0
  285. package/Core/ObservableArray.d.ts +11 -5
  286. package/Core/ObservableArray.js +25 -6
  287. package/Core/Telemetry.js +4 -6
  288. package/_wasm/scichart.browser.js +1 -1
  289. package/_wasm/scichart2d.data +0 -0
  290. package/_wasm/scichart2d.js +4 -294
  291. package/_wasm/scichart2d.wasm +0 -0
  292. package/_wasm/scichart3d.data +0 -0
  293. package/_wasm/scichart3d.js +4 -294
  294. package/_wasm/scichart3d.wasm +0 -0
  295. package/index.d.ts +43 -2
  296. package/index.js +89 -27
  297. package/index.min.js +1 -1
  298. package/package.json +3 -4
  299. package/types/ChartModifierType.d.ts +2 -0
  300. package/types/ChartModifierType.js +2 -0
  301. package/types/DefaultRenderLayer.d.ts +9 -8
  302. package/types/DefaultRenderLayer.js +9 -8
  303. package/types/NumberArray.d.ts +1 -0
  304. package/types/NumberArray.js +12 -1
  305. package/types/SceneEntityType.d.ts +13 -5
  306. package/types/SceneEntityType.js +13 -5
  307. package/types/TSciChart.d.ts +37 -8
  308. package/types/TSciChart3D.d.ts +126 -7
  309. package/types/licensingClasses.d.ts +2 -1
  310. package/types/licensingClasses.js +1 -0
  311. package/utils/MemoryUsageHelper.d.ts +45 -0
  312. package/utils/MemoryUsageHelper.js +171 -0
  313. package/utils/array.d.ts +8 -0
  314. package/utils/array.js +58 -1
  315. package/utils/logger.d.ts +2 -0
  316. package/utils/logger.js +11 -0
@@ -30,13 +30,12 @@ exports.NonUniformHeatmapDrawingProvider = void 0;
30
30
  var Deleter_1 = require("../../../../Core/Deleter");
31
31
  var NumberRange_1 = require("../../../../Core/NumberRange");
32
32
  var Rect_1 = require("../../../../Core/Rect");
33
- var colorUtil_1 = require("../../../../utils/colorUtil");
34
33
  var memoize_1 = require("../../../../utils/memoize");
35
- var parseColor_1 = require("../../../../utils/parseColor");
36
34
  var TextureCache_1 = require("../../../Drawing/TextureCache");
37
35
  var BaseHeatmapRenderableSeries_1 = require("../BaseHeatmapRenderableSeries");
38
36
  var constants_1 = require("../constants");
39
37
  var BaseSeriesDrawingProvider_1 = require("./BaseSeriesDrawingProvider");
38
+ var HeatmapHelpers_1 = require("./HeatmapHelpers");
40
39
  // TODO figure out if other value is needed
41
40
  var precision = 100;
42
41
  /**
@@ -79,7 +78,7 @@ var NonUniformHeatmapDrawingProvider = /** @class */ (function (_super) {
79
78
  propertyName === constants_1.PROPERTY.OPACITY;
80
79
  if (recreateGradientColorScale) {
81
80
  // TODO check case when colormap is passed via setter
82
- this.colorGradientScale = createColorMap(this.parentSeries.colorMap.gradientStops, precision);
81
+ this.colorGradientScale = (0, HeatmapHelpers_1.createColorMap)(this.parentSeries.colorMap.gradientStops, precision);
83
82
  }
84
83
  };
85
84
  /**
@@ -202,7 +201,7 @@ var NonUniformHeatmapDrawingProvider = /** @class */ (function (_super) {
202
201
  var visibleTextureHeight = Math.ceil(Math.abs(yMinCoordinate - yMaxCoordinate));
203
202
  var heatmapRect = new Rect_1.Rect(heatmapStartX, heatmapStartY, heatmapWidth, heatmapHeight);
204
203
  // calculates cell offsets in pixels from cell sizes
205
- var _a = calculateOffsets(heatmapRect, isVerticalChart, xCellSizes, yCellSizes, horStartInd, horCellCount, horInc, vertStartInd, vertCellCount, vertInc, seriesViewRect), horCellOffsets = _a.horCellOffsets, vertCellOffsets = _a.vertCellOffsets;
204
+ var _a = (0, HeatmapHelpers_1.calculateOffsets)(heatmapRect, isVerticalChart, xCellSizes, yCellSizes, horStartInd, horCellCount, horInc, vertStartInd, vertCellCount, vertInc, seriesViewRect), horCellOffsets = _a.horCellOffsets, vertCellOffsets = _a.vertCellOffsets;
206
205
  var texture = this.calculateHeatmapTexture({
207
206
  xStartInd: horStartInd,
208
207
  textureWidth: visibleTextureWidth,
@@ -257,237 +256,13 @@ var NonUniformHeatmapDrawingProvider = /** @class */ (function (_super) {
257
256
  areArraysEqual(currentHorCellOffsets, prevHorCellOffsets) &&
258
257
  areArraysEqual(currVertCellOffsets, prevVertCellOffsets));
259
258
  };
260
- this.getMemoizedHeatmapTexture = (0, memoize_1.memoize)(calculateHeatmapTexture, customCompare);
259
+ this.getMemoizedHeatmapTexture = (0, memoize_1.memoize)(HeatmapHelpers_1.calculateHeatmapTexture, customCompare);
261
260
  }
262
261
  var areArraysEqual = function (arr1, arr2) {
263
262
  return !arr1.some(function (value, index) { return value !== arr2[index]; });
264
263
  };
265
- return this.getMemoizedHeatmapTexture(colorDataParams, this.colorDataVector, this.heatTextureCache);
264
+ return this.getMemoizedHeatmapTexture(colorDataParams, this.colorDataVector, this.heatTextureCache, precision);
266
265
  };
267
266
  return NonUniformHeatmapDrawingProvider;
268
267
  }(BaseSeriesDrawingProvider_1.BaseSeriesDrawingProvider));
269
268
  exports.NonUniformHeatmapDrawingProvider = NonUniformHeatmapDrawingProvider;
270
- var getColorDataForTexture = function (params, _colorData) {
271
- var xStartInd = params.xStartInd, textureWidth = params.textureWidth, xInc = params.xInc, yStartInd = params.yStartInd, textureHeight = params.textureHeight, yInc = params.yInc, zValues = params.zValues, webAssemblyContext = params.webAssemblyContext, colorMap = params.colorMap, opacity = params.opacity, horCellCount = params.horCellCount, vertCellCount = params.vertCellCount, horCellOffsets = params.horCellOffsets, vertCellOffsets = params.vertCellOffsets, colorMin = params.colorMin, colorMax = params.colorMax, arrayWidth = params.arrayWidth, arrayHeight = params.arrayHeight, fillValuesOutOfRange = params.fillValuesOutOfRange;
272
- // const _colorData = new webAssemblyContext.UIntVector();
273
- _colorData.resize(textureWidth * textureHeight, 0);
274
- // const _colorData = Array.from(Array(textureWidth * textureHeight));
275
- var yOffsetInd = 0;
276
- var yCellEnd = vertCellOffsets[yOffsetInd];
277
- var cachedColors = new Array(horCellCount);
278
- var hasCachedColors = false;
279
- var xCellIndex = xStartInd;
280
- var yCellIndex = yStartInd;
281
- var color;
282
- for (var y = 0; y < textureHeight; y++) {
283
- var xOffsetInd = 0;
284
- var xCellEnd = horCellOffsets[xOffsetInd];
285
- if (y > yCellEnd) {
286
- // New cell - need to refill the cache
287
- hasCachedColors = false;
288
- // Get the end coord of the next cell and a color for it
289
- yOffsetInd++;
290
- yCellEnd = vertCellOffsets[yOffsetInd];
291
- // If yCellEnd falls inside a pixel, reiterate and get the next color
292
- var yDiff = y - yCellEnd;
293
- if (yDiff > Number.EPSILON && Math.floor(yCellEnd) + 1 === y) {
294
- y--;
295
- continue;
296
- }
297
- }
298
- if (hasCachedColors) {
299
- // Get color cached on previous iteration
300
- color = cachedColors[xOffsetInd];
301
- }
302
- else {
303
- xCellIndex = xStartInd + xOffsetInd * xInc;
304
- yCellIndex = yStartInd + yOffsetInd * yInc;
305
- color = getColor(yCellIndex, xCellIndex, colorMap, opacity, zValues, webAssemblyContext, colorMin, colorMax, arrayWidth, arrayHeight, fillValuesOutOfRange);
306
- // New cell - refill the cache
307
- cachedColors[xOffsetInd] = color;
308
- }
309
- for (var x = 0; x < textureWidth; x++) {
310
- if (x > xCellEnd) {
311
- // Get the end coord of the next cell and a color for it
312
- xOffsetInd++;
313
- xCellEnd = horCellOffsets[xOffsetInd];
314
- // If xCellEnd falls inside a pixel, reiterate and get the next color
315
- var xDiff = x - xCellEnd;
316
- if (xDiff > Number.EPSILON && Math.floor(xCellEnd) + 1 === x) {
317
- x--;
318
- continue;
319
- }
320
- if (hasCachedColors) {
321
- // Get color cached on previous iteration
322
- color = cachedColors[xOffsetInd];
323
- }
324
- else {
325
- xCellIndex = xStartInd + xOffsetInd * xInc;
326
- color = getColor(yCellIndex, xCellIndex, colorMap, opacity, zValues, webAssemblyContext, colorMin, colorMax, arrayWidth, arrayHeight, fillValuesOutOfRange);
327
- cachedColors[xOffsetInd] = color;
328
- }
329
- }
330
- // Fill a texture pixel
331
- // _colorData[y * textureWidth + x] = color;
332
- _colorData.set(y * textureWidth + x, color);
333
- }
334
- hasCachedColors = true;
335
- }
336
- return _colorData;
337
- };
338
- var getColor = function (yIndex, xIndex, colorPalette, opacity,
339
- // zValues: SCRTDoubleVector,
340
- zValues, webAssemblyContext, colorMin, colorMax, arrayWidth, arrayHeight, fillValuesOutOfRange) {
341
- // TODO is this check needed?
342
- if (yIndex >= arrayHeight || xIndex >= arrayWidth) {
343
- // transparent
344
- return 0;
345
- }
346
- // const zValue = zValues.get(yIndex * arrayWidth + xIndex);
347
- var zValue = zValues[yIndex][xIndex];
348
- var cellColor = getCellColor(zValue, colorPalette, colorMin, colorMax, fillValuesOutOfRange, webAssemblyContext);
349
- return (0, colorUtil_1.uintArgbColorMultiplyOpacity)(cellColor, opacity);
350
- };
351
- /** @ignore */
352
- var getCellColor = function (value, _colorMap, colorMin, colorMax, fillValuesOutOfRange, webAssemblyContext) {
353
- if (isNaN(value)) {
354
- // transparent
355
- return 0;
356
- }
357
- // comment from the original C# code
358
- // TODO move this to DataSeries.GetZAsDoubles(min, max) to avoid it here
359
- if (fillValuesOutOfRange) {
360
- // Clip to ColorMap.Min, Max
361
- value = value < colorMin ? colorMin : value;
362
- value = value > colorMax ? colorMax : value;
363
- }
364
- else if (value < colorMin || value > colorMax) {
365
- // transparent
366
- return 0;
367
- }
368
- var _scaleFactor = (precision - 1) / Math.abs(colorMax - colorMin);
369
- var colorMapValue = (value - colorMin) * _scaleFactor;
370
- // Round to the nearest integer
371
- var colorIndex = Math.floor(colorMapValue + Math.sign(value) * 0.5);
372
- colorIndex = webAssemblyContext.NumberUtil.Constrain(colorIndex, 0, _colorMap.length - 1);
373
- return _colorMap[colorIndex];
374
- };
375
- // TODO configure precision
376
- var createColorMap = function (gradientStops, precision) {
377
- var colorMap = Array.from(Array(precision));
378
- var count = gradientStops.length;
379
- var first = gradientStops[0].offset;
380
- var last = gradientStops[gradientStops.length - 1].offset;
381
- var diff = last - first;
382
- var change = diff / (precision - 1);
383
- // let prevColor = ApplyOpacity(gradientStops[0].color, _opacity);
384
- var prevColor = gradientStops[0].color;
385
- var prevOffset = gradientStops[0].offset;
386
- var nextColor = prevColor;
387
- var nextOffset = prevOffset;
388
- if (count > 1) {
389
- // nextColor = ApplyOpacity(gradientStops[1].color, _opacity);
390
- nextColor = gradientStops[1].color;
391
- nextOffset = gradientStops[1].offset;
392
- }
393
- diff = nextOffset - prevOffset;
394
- var offsetInd = 0;
395
- for (var i = 0; i < precision; ++i) {
396
- var offset = first + i * change;
397
- if (offset >= nextOffset) {
398
- offsetInd++;
399
- prevOffset = nextOffset;
400
- prevColor = nextColor;
401
- if (offsetInd + 1 < count) {
402
- // nextColor = ApplyOpacity(gradientStops[offsetInd + 1].color, _opacity);
403
- nextColor = gradientStops[offsetInd + 1].color;
404
- nextOffset = gradientStops[offsetInd + 1].offset;
405
- }
406
- diff = nextOffset - prevOffset;
407
- }
408
- var color = void 0;
409
- if (prevColor === nextColor || diff <= Number.EPSILON) {
410
- color = Number.parseInt((0, parseColor_1.parseColorToHexStringArgb)(nextColor), 16);
411
- }
412
- else {
413
- var coef = (offset - prevOffset) / diff;
414
- color = getInterpolatedColor(prevColor, nextColor, coef);
415
- }
416
- colorMap[i] = color;
417
- }
418
- return colorMap;
419
- };
420
- var getInterpolatedColor = function (htmlColor1, htmlColor2, coef) {
421
- var color1 = (0, parseColor_1.parseColorToTArgb)(htmlColor1);
422
- var color2 = (0, parseColor_1.parseColorToTArgb)(htmlColor2);
423
- var a1 = color1.opacity;
424
- var a2 = color2.opacity;
425
- var r1 = color1.red;
426
- var r2 = color2.red;
427
- var g1 = color1.green;
428
- var g2 = color2.green;
429
- var b1 = color1.blue;
430
- var b2 = color2.blue;
431
- var r = r1 + Math.floor((r2 - r1) * coef);
432
- var g = g1 + Math.floor((g2 - g1) * coef);
433
- var b = b1 + Math.floor((b2 - b1) * coef);
434
- var a = a1 + Math.floor((a2 - a1) * coef);
435
- return Number.parseInt("0x" + (0, parseColor_1.toHex)(a) + (0, parseColor_1.toHex)(r) + (0, parseColor_1.toHex)(g) + (0, parseColor_1.toHex)(b), 16);
436
- // return (a << 24) | (r << 16) | (g << 8) | b;
437
- };
438
- var calculateOffsets = function (heatmapRect, isVerticalChart, xCellSizes, yCellSizes, horStartInd, horCellCount, horInc, vertStartInd, vertCellCount, vertInc, seriesViewRect) {
439
- // TODO can be optimized - no need to recalculate these offsets at every redraw
440
- // TODO can be optimized for large heatmaps - skip cells that
441
- // falls within a single pixel & count them for the iteration in ComputeColorMap()
442
- // Find heatmap cells positions
443
- var offsetX = heatmapRect.left < 0 ? -heatmapRect.left : 0;
444
- var offsetY = heatmapRect.top < 0 ? -heatmapRect.top : 0;
445
- if (isVerticalChart) {
446
- // consider that heatmap texture is rotated
447
- offsetX = heatmapRect.right > seriesViewRect.bottom ? heatmapRect.right - seriesViewRect.bottom : 0;
448
- }
449
- // Horizontal offsets == X offsets on texture, vertical offsets == Y offsets on texture
450
- var horCellOffsets = calculateCellCoordinates(xCellSizes, heatmapRect.width, horStartInd, horCellCount, horInc, -offsetX);
451
- var vertCellOffsets = calculateCellCoordinates(yCellSizes, heatmapRect.height, vertStartInd, vertCellCount, vertInc, -offsetY);
452
- return { horCellOffsets: horCellOffsets, vertCellOffsets: vertCellOffsets };
453
- };
454
- /**
455
- * Calculates absolute coordinates of the heatmap cells
456
- * @param inputArr relative cell sizes
457
- * @param dimension texture size
458
- * @param startInd
459
- * @param count
460
- * @param inc
461
- * @param offset
462
- * @returns
463
- */
464
- var calculateCellCoordinates = function (inputArr, dimension, startInd, count, inc, offset) {
465
- // Find a stretch coef
466
- var sum = 0;
467
- var ind = startInd;
468
- for (var i = 0; i < count; i++, ind += inc) {
469
- sum += inputArr[ind];
470
- }
471
- var coef = 1 / sum;
472
- var offsets = new Array(count);
473
- var length = offset;
474
- for (var i = 0; i < count - 1; i++) {
475
- var index = i * inc + startInd;
476
- var cellSize = inputArr[index] * coef * dimension;
477
- length = length + cellSize;
478
- offsets[i] = length;
479
- }
480
- offsets[count - 1] = dimension + offset;
481
- return offsets;
482
- };
483
- var calculateHeatmapTexture = function (colorDataParams, intVector, heatTextureCache) {
484
- var textureWidth = colorDataParams.textureWidth, textureHeight = colorDataParams.textureHeight, webAssemblyContext = colorDataParams.webAssemblyContext, useInterpolation = colorDataParams.useInterpolation;
485
- // calculate colors from zValues
486
- // per pixel colors
487
- var colorArray = getColorDataForTexture(colorDataParams, intVector);
488
- // create and fill texture
489
- var texture = heatTextureCache.create(textureWidth, textureHeight, webAssemblyContext.eTSRTextureFormat.TSR_TEXTUREFORMAT_A8B8G8R8);
490
- webAssemblyContext.SCRTSetTextureLinearSamplerEnabled(texture, useInterpolation);
491
- webAssemblyContext.SCRTFillTextureAbgr(texture, textureWidth, textureHeight, colorArray);
492
- return texture;
493
- };
@@ -19,6 +19,7 @@ export declare class OhlcSeriesDrawingProvider extends BaseSeriesDrawingProvider
19
19
  private brushUpCache;
20
20
  private brushDownCache;
21
21
  private drawingMode;
22
+ private args;
22
23
  /**
23
24
  * Creates an instance of the {@link OhlcSeriesDrawingProvider}
24
25
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -43,6 +43,7 @@ var OhlcSeriesDrawingProvider = /** @class */ (function (_super) {
43
43
  var _this = _super.call(this, webAssemblyContext, parentSeries) || this;
44
44
  _this.drawingMode = drawingMode;
45
45
  _this.nativeDrawingProvider = new _this.webAssemblyContext.SCRTCandlestickSeriesDrawingProvider();
46
+ _this.args = new _this.webAssemblyContext.SCRTOhlcDrawingParams();
46
47
  var strokeThickness = parentSeries.strokeThickness, strokeUp = parentSeries.strokeUp, strokeDown = parentSeries.strokeDown, opacity = parentSeries.opacity;
47
48
  var candlestickSeries = parentSeries;
48
49
  _this.strokeUpPenCache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
@@ -95,47 +96,70 @@ var OhlcSeriesDrawingProvider = /** @class */ (function (_super) {
95
96
  * @inheritDoc
96
97
  */
97
98
  OhlcSeriesDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
99
+ var _a;
98
100
  var pointSeries = renderPassData.pointSeries;
99
- var args = new this.webAssemblyContext.SCRTOhlcDrawingParams();
100
- try {
101
- // Candles only requires brush up, down
102
- if (this.drawingMode === EOhlcDrawingMode.Candles) {
103
- var brushUp = (0, BrushCache_1.getScrtBrushFromCache)(this.brushUpCache);
104
- var brushDown = (0, BrushCache_1.getScrtBrushFromCache)(this.brushDownCache);
105
- if (!brushUp || !brushDown) {
106
- return;
107
- }
108
- args.SetBrushes(brushUp, brushDown);
109
- }
110
- var strokeUpPen = (0, Pen2DCache_1.getScrtPenFromCache)(this.strokeUpPenCache);
111
- var strokeDownPen = (0, Pen2DCache_1.getScrtPenFromCache)(this.strokeDownPenCache);
112
- // OHLC and Candle both require stroke up, down
113
- if (!strokeUpPen || !strokeDownPen) {
101
+ this.args.Reset();
102
+ // Candles only requires brush up, down
103
+ if (this.drawingMode === EOhlcDrawingMode.Candles) {
104
+ var brushUp = (0, BrushCache_1.getScrtBrushFromCache)(this.brushUpCache);
105
+ var brushDown = (0, BrushCache_1.getScrtBrushFromCache)(this.brushDownCache);
106
+ if (!brushUp || !brushDown) {
114
107
  return;
115
108
  }
116
- args.SetPens(strokeUpPen, strokeDownPen);
117
- // Paletting per point
118
- var neutralColor = "#ffffffff";
119
- _super.prototype.applyStrokeFillPaletting.call(this, neutralColor, undefined, neutralColor, undefined, this.parentSeries.opacity);
120
- args.SetPalettedColors(this.palettingState.palettedColors);
121
- args.forceShaderMethod = true;
122
- args.verticalChart = renderPassData.isVerticalChart;
123
- args.candleWidth = this.parentSeries.getDataPointWidth(renderPassData.xCoordinateCalculator, this.parentSeries.dataPointWidth);
124
- args.drawAsOhlc = this.drawingMode === EOhlcDrawingMode.Ohlc;
125
- var nativeContext = renderContext.getNativeContext();
126
- var viewRect = this.parentSeries.parentSurface.seriesViewRect;
127
- // const dataSeries = this.parentSeries.dataSeries as OhlcDataSeries;
128
- var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
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
- args.count = closeValues.size();
135
- this.nativeDrawingProvider.DrawPointsVec(nativeContext, isCategoryAxis ? pointSeries.indexes : xValues, openValues, highValues, lowValues, closeValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args);
109
+ this.args.SetBrushes(brushUp, brushDown);
110
+ }
111
+ var strokeUpPen = (0, Pen2DCache_1.getScrtPenFromCache)(this.strokeUpPenCache);
112
+ var strokeDownPen = (0, Pen2DCache_1.getScrtPenFromCache)(this.strokeDownPenCache);
113
+ // OHLC and Candle both require stroke up, down
114
+ if (!strokeUpPen || !strokeDownPen) {
115
+ return;
116
+ }
117
+ this.args.SetPens(strokeUpPen, strokeDownPen);
118
+ // Paletting per point
119
+ var neutralColor = "#ffffffff";
120
+ _super.prototype.applyStrokeFillPaletting.call(this, neutralColor, undefined, neutralColor, undefined, this.parentSeries.opacity);
121
+ this.args.SetPalettedColors(this.palettingState.palettedColors);
122
+ this.args.forceShaderMethod = true;
123
+ this.args.verticalChart = renderPassData.isVerticalChart;
124
+ this.args.candleWidth = this.parentSeries.getDataPointWidth(renderPassData.xCoordinateCalculator, this.parentSeries.dataPointWidth);
125
+ this.args.drawAsOhlc = this.drawingMode === EOhlcDrawingMode.Ohlc;
126
+ var nativeContext = renderContext.getNativeContext();
127
+ var viewRect = this.parentSeries.parentSurface.seriesViewRect;
128
+ var dataSeries = this.parentSeries.dataSeries;
129
+ var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
130
+ var xValues = pointSeries.xValues;
131
+ var openValues = pointSeries.openValues;
132
+ var highValues = pointSeries.highValues;
133
+ var lowValues = pointSeries.lowValues;
134
+ var closeValues = pointSeries.closeValues;
135
+ if (!pointSeries.resampled && ((_a = renderPassData.indexRange) === null || _a === void 0 ? void 0 : _a.diff) > 0) {
136
+ this.args.count = Math.min(renderPassData.indexRange.diff + 1, closeValues.size());
137
+ this.args.startIndex = renderPassData.indexRange.min;
136
138
  }
137
- finally {
138
- args.delete();
139
+ else {
140
+ this.args.count = closeValues.size();
141
+ }
142
+ var _b = this.parentSeries.dataSeries, fifoCapacity = _b.fifoCapacity, fifoSweeping = _b.fifoSweeping, fifoSweepingGap = _b.fifoSweepingGap;
143
+ var fifoStartIndex = pointSeries.fifoStartIndex;
144
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
145
+ this.args.count = fifoStartIndex;
146
+ }
147
+ // let sx = "";
148
+ // let sy = "";
149
+ // for (let i = 0; i < closeValues.size(); i++) {
150
+ // sx += pointSeries.indexes.get(i) + ",";
151
+ // sy += closeValues.get(i).toFixed(2) + ",";
152
+ // }
153
+ // console.log(sx);
154
+ // console.log(sy);
155
+ var xDrawValues = isCategoryAxis ? pointSeries.indexes : xValues;
156
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, openValues, highValues, lowValues, closeValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args);
157
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
158
+ this.args.startIndex = Math.min(closeValues.size(), fifoStartIndex + fifoSweepingGap);
159
+ this.args.count = Math.max(0, closeValues.size() - fifoStartIndex - fifoSweepingGap);
160
+ if (this.args.count > 0) {
161
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, openValues, highValues, lowValues, closeValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args);
162
+ }
139
163
  }
140
164
  };
141
165
  /**
@@ -147,6 +171,7 @@ var OhlcSeriesDrawingProvider = /** @class */ (function (_super) {
147
171
  this.brushUpCache = (0, Deleter_1.deleteSafe)(this.brushUpCache);
148
172
  this.brushDownCache = (0, Deleter_1.deleteSafe)(this.brushDownCache);
149
173
  this.nativeDrawingProvider = (0, Deleter_1.deleteSafe)(this.nativeDrawingProvider);
174
+ this.args = (0, Deleter_1.deleteSafe)(this.args);
150
175
  _super.prototype.delete.call(this);
151
176
  };
152
177
  return OhlcSeriesDrawingProvider;
@@ -54,7 +54,7 @@ var PointMarkerDrawingProvider = /** @class */ (function (_super) {
54
54
  * @inheritDoc
55
55
  */
56
56
  PointMarkerDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
57
- var _a;
57
+ var _a, _b;
58
58
  var pointMarker = (_a = this.getProperties(this.parentSeries)) === null || _a === void 0 ? void 0 : _a.pointMarker;
59
59
  if (pointMarker === undefined) {
60
60
  return;
@@ -84,18 +84,45 @@ var PointMarkerDrawingProvider = /** @class */ (function (_super) {
84
84
  }
85
85
  }
86
86
  this.args.Reset();
87
- this.args.count = yValues.size();
88
87
  this.args.verticalChart = renderPassData.isVerticalChart;
89
88
  this.args.forceShaderMethod = true;
90
89
  this.args.SetSpriteTexture(spriteTexture.getTexture());
91
90
  if (strokeMaskTexture) {
92
91
  this.args.SetStrokeMask(strokeMaskTexture.getTexture());
93
92
  }
93
+ var _c = this.parentSeries.dataSeries, fifoCapacity = _c.fifoCapacity, fifoSweeping = _c.fifoSweeping, fifoSweepingGap = _c.fifoSweepingGap;
94
+ var fifoStartIndex = pointSeries.fifoStartIndex;
95
+ if (pointMarker.lastPointOnly && yValues.size() > 0) {
96
+ this.args.count = 1;
97
+ this.args.startIndex =
98
+ fifoSweeping && this.parentSeries.dataSeries.count() === fifoCapacity
99
+ ? fifoStartIndex - 1
100
+ : yValues.size() - 1;
101
+ }
102
+ else {
103
+ if (!pointSeries.resampled && ((_b = renderPassData.indexRange) === null || _b === void 0 ? void 0 : _b.diff) > 0) {
104
+ this.args.count = Math.min(renderPassData.indexRange.diff + 1, yValues.size());
105
+ this.args.startIndex = renderPassData.indexRange.min;
106
+ }
107
+ else {
108
+ this.args.count = yValues.size();
109
+ }
110
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
111
+ this.args.count = fifoStartIndex;
112
+ }
113
+ }
94
114
  // Paletting per point
95
- _super.prototype.applyStrokeFillPaletting.call(this, pointMarker.stroke, undefined, pointMarker.fill, undefined, this.parentSeries.opacity);
115
+ this.applyStrokeFillPaletting(pointMarker.stroke, undefined, pointMarker.fill, undefined, this.parentSeries.opacity);
96
116
  this.args.SetPalettedColors(this.palettingState.palettedColors);
97
117
  var nativeContext = renderContext.getNativeContext();
98
118
  this.drawPoints(nativeContext, isCategoryAxis ? pointSeries.indexes : xValues, yValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args, this.parentSeries.parentSurface.seriesViewRect);
119
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count() && !pointMarker.lastPointOnly) {
120
+ this.args.startIndex = Math.min(yValues.size(), fifoStartIndex + fifoSweepingGap);
121
+ this.args.count = Math.max(0, yValues.size() - fifoStartIndex - fifoSweepingGap);
122
+ if (this.args.count > 0) {
123
+ this.drawPoints(nativeContext, isCategoryAxis ? pointSeries.indexes : xValues, yValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args, this.parentSeries.parentSurface.seriesViewRect);
124
+ }
125
+ }
99
126
  };
100
127
  /**
101
128
  * @inheritDoc
@@ -29,6 +29,7 @@ export declare class UniformHeatmapDrawingProvider extends BaseSeriesDrawingProv
29
29
  * @inheritDoc
30
30
  */
31
31
  onSeriesPropertyChange(propertyName: string): void;
32
+ protected seriesHasDataChanges(): void;
32
33
  /**
33
34
  * @inheritDoc
34
35
  */
@@ -59,7 +59,7 @@ var UniformHeatmapDrawingProvider = /** @class */ (function (_super) {
59
59
  var recreatePalette = propertyName === constants_1.PROPERTY.COLOR_MAP ||
60
60
  propertyName.includes(BaseHeatmapRenderableSeries_1.COLOR_MAP_PREFIX) ||
61
61
  propertyName === constants_1.PROPERTY.OPACITY;
62
- var recreateHeat = propertyName === constants_1.PROPERTY.DATA_SERIES || constants_1.PROPERTY.USE_LINEAR_TEXTURE_FILTERING;
62
+ var recreateHeat = propertyName === constants_1.PROPERTY.DATA_SERIES || propertyName === constants_1.PROPERTY.USE_LINEAR_TEXTURE_FILTERING;
63
63
  if (recreatePalette) {
64
64
  this.recreatePalette();
65
65
  }
@@ -75,6 +75,9 @@ var UniformHeatmapDrawingProvider = /** @class */ (function (_super) {
75
75
  }
76
76
  }
77
77
  };
78
+ UniformHeatmapDrawingProvider.prototype.seriesHasDataChanges = function () {
79
+ this.onSeriesPropertyChange(constants_1.PROPERTY.DATA_SERIES);
80
+ };
78
81
  /**
79
82
  * @inheritDoc
80
83
  */
@@ -74,8 +74,6 @@ export declare class FastBubbleRenderableSeries extends BaseRenderableSeries {
74
74
  * @param pointIndex
75
75
  */
76
76
  getBubbleDiameter(pointIndex: number): number;
77
- /** @inheritDoc */
78
- delete(): void;
79
77
  /**
80
78
  * Returns the {@link XyyDataSeries.getNativeZValues} for the associated {@link dataSeries}
81
79
  */
@@ -124,10 +124,6 @@ var FastBubbleRenderableSeries = /** @class */ (function (_super) {
124
124
  FastBubbleRenderableSeries.prototype.getBubbleDiameter = function (pointIndex) {
125
125
  return this.dataSeries.getNativeZValues().get(pointIndex);
126
126
  };
127
- /** @inheritDoc */
128
- FastBubbleRenderableSeries.prototype.delete = function () {
129
- _super.prototype.delete.call(this);
130
- };
131
127
  /**
132
128
  * Returns the {@link XyyDataSeries.getNativeZValues} for the associated {@link dataSeries}
133
129
  */
@@ -1,5 +1,6 @@
1
1
  import { ESeriesType } from "../../../types/SeriesType";
2
2
  import { TSciChart } from "../../../types/TSciChart";
3
+ import { ResamplingParams } from "../../Numerics/Resamplers/ResamplingParams";
3
4
  import { BaseRenderableSeries } from "./BaseRenderableSeries";
4
5
  import { ITextDataLabelProviderOptions } from "./DataLabels/TextDataLabelProvider";
5
6
  import { IHitTestProvider } from "./HitTest/IHitTestProvider";
@@ -13,5 +14,7 @@ export interface ITextRenderableSeriesOptions extends IBaseRenderableSeriesOptio
13
14
  export declare class FastTextRenderableSeries extends BaseRenderableSeries {
14
15
  type: ESeriesType;
15
16
  constructor(webAssemblyContext: TSciChart, options?: ITextRenderableSeriesOptions);
17
+ /** @inheritDoc */
18
+ needsResampling(rp: ResamplingParams): boolean;
16
19
  protected newHitTestProvider(): IHitTestProvider;
17
20
  }
@@ -17,6 +17,7 @@ var __extends = (this && this.__extends) || (function () {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.FastTextRenderableSeries = void 0;
19
19
  var SeriesType_1 = require("../../../types/SeriesType");
20
+ var ResamplingMode_1 = require("../../Numerics/Resamplers/ResamplingMode");
20
21
  var BaseRenderableSeries_1 = require("./BaseRenderableSeries");
21
22
  var TextDataLabelProvider_1 = require("./DataLabels/TextDataLabelProvider");
22
23
  var PointMarkerDrawingProvider_1 = require("./DrawingProviders/PointMarkerDrawingProvider");
@@ -37,6 +38,15 @@ var FastTextRenderableSeries = /** @class */ (function (_super) {
37
38
  }
38
39
  return _this;
39
40
  }
41
+ /** @inheritDoc */
42
+ FastTextRenderableSeries.prototype.needsResampling = function (rp) {
43
+ if (this.dataSeries.fifoCapacity) {
44
+ rp.resamplingMode = ResamplingMode_1.EResamplingMode.None;
45
+ this.resamplerHelper.resetAndFillBasicNativeArgs(rp, this.getNativeXValues());
46
+ return true;
47
+ }
48
+ return false;
49
+ };
40
50
  FastTextRenderableSeries.prototype.newHitTestProvider = function () {
41
51
  return new TextSeriesHitTestProvider_1.TextSeriesHitTestProvider(this, this.webAssemblyContext);
42
52
  };
@@ -9,6 +9,10 @@ export declare class BubbleSeriesHitTestProvider extends BaseHitTestProvider<Fas
9
9
  * @inheritDoc
10
10
  */
11
11
  hitTest(x: number, y: number, hitTestRadius?: number): HitTestInfo;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ hitTestDataPoint(x: number, y: number, hitTestRadius?: number): HitTestInfo;
12
16
  /**
13
17
  * @inheritDoc
14
18
  */
@@ -77,6 +77,13 @@ var BubbleSeriesHitTestProvider = /** @class */ (function (_super) {
77
77
  }
78
78
  return hitTestInfo;
79
79
  };
80
+ /**
81
+ * @inheritDoc
82
+ */
83
+ BubbleSeriesHitTestProvider.prototype.hitTestDataPoint = function (x, y, hitTestRadius) {
84
+ if (hitTestRadius === void 0) { hitTestRadius = BaseHitTestProvider_1.BaseHitTestProvider.DEFAULT_HIT_TEST_RADIUS; }
85
+ return this.hitTest(x, y, hitTestRadius);
86
+ };
80
87
  /**
81
88
  * @inheritDoc
82
89
  */
@@ -10,6 +10,10 @@ export declare class HitTestInfo {
10
10
  * The default empty {@link HitTestInfo} instance
11
11
  */
12
12
  static empty(): HitTestInfo;
13
+ /**
14
+ * Euclidean distance between the hitTestPoint and the nearest data-point
15
+ */
16
+ getEuclideanDistance(): number;
13
17
  /**
14
18
  * Gets the associated series that this {@link HitTestInfo} was generated by
15
19
  */
@@ -16,6 +16,15 @@ var HitTestInfo = /** @class */ (function () {
16
16
  HitTestInfo.empty = function () {
17
17
  return new HitTestInfo(undefined, true);
18
18
  };
19
+ /**
20
+ * Euclidean distance between the hitTestPoint and the nearest data-point
21
+ */
22
+ HitTestInfo.prototype.getEuclideanDistance = function () {
23
+ var _a, _b;
24
+ var dx = ((_a = this.hitTestPoint) === null || _a === void 0 ? void 0 : _a.x) - this.xCoord;
25
+ var dy = ((_b = this.hitTestPoint) === null || _b === void 0 ? void 0 : _b.y) - this.yCoord;
26
+ return Math.sqrt(dx * dx + dy * dy);
27
+ };
19
28
  return HitTestInfo;
20
29
  }());
21
30
  exports.HitTestInfo = HitTestInfo;
@@ -5,6 +5,7 @@ import { PropertyChangedEventArgs } from "../../../Core/PropertyChangedEventArgs
5
5
  import { EShaderEffectType } from "../../../types/ShaderEffectType";
6
6
  import { SCRTSeriesEffect, TSciChart } from "../../../types/TSciChart";
7
7
  import { IDeletable } from "../../../Core/IDeletable";
8
+ import { DeletableEntity } from "../../../Core/DeletableEntity";
8
9
  export interface IShaderEffectOptions {
9
10
  intensity?: number;
10
11
  range?: number;
@@ -15,13 +16,13 @@ export interface IShaderEffectOptions {
15
16
  * A {@link ShaderEffect} can be applied to a {@link BaseRenderableSeries | RenderableSeries} via the
16
17
  * {@link BaseRenderableSeries.effect} property. The effect modifies the render output of the chart type.
17
18
  */
18
- export declare abstract class ShaderEffect implements IDeletable {
19
+ export declare abstract class ShaderEffect extends DeletableEntity implements IDeletable {
19
20
  abstract readonly type: EShaderEffectType;
20
21
  /**
21
22
  * Event handler for when properties change, signalling that the parent {@link SciChartSurface} needs to redraw
22
23
  */
23
24
  propertyChanged: EventHandler<PropertyChangedEventArgs>;
24
- private readonly webAssemblyContext;
25
+ private webAssemblyContext;
25
26
  private nativeEffect;
26
27
  private offsetProperty;
27
28
  private colorProperty;