scichart 3.1.348 → 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 (314) 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/Telemetry.js +4 -6
  286. package/_wasm/scichart.browser.js +1 -1
  287. package/_wasm/scichart2d.data +0 -0
  288. package/_wasm/scichart2d.js +4 -294
  289. package/_wasm/scichart2d.wasm +0 -0
  290. package/_wasm/scichart3d.data +0 -0
  291. package/_wasm/scichart3d.js +4 -294
  292. package/_wasm/scichart3d.wasm +0 -0
  293. package/index.d.ts +43 -2
  294. package/index.js +89 -27
  295. package/index.min.js +1 -1
  296. package/package.json +3 -4
  297. package/types/ChartModifierType.d.ts +2 -0
  298. package/types/ChartModifierType.js +2 -0
  299. package/types/DefaultRenderLayer.d.ts +9 -8
  300. package/types/DefaultRenderLayer.js +9 -8
  301. package/types/NumberArray.d.ts +1 -0
  302. package/types/NumberArray.js +12 -1
  303. package/types/SceneEntityType.d.ts +13 -5
  304. package/types/SceneEntityType.js +13 -5
  305. package/types/TSciChart.d.ts +37 -8
  306. package/types/TSciChart3D.d.ts +126 -7
  307. package/types/licensingClasses.d.ts +2 -1
  308. package/types/licensingClasses.js +1 -0
  309. package/utils/MemoryUsageHelper.d.ts +45 -0
  310. package/utils/MemoryUsageHelper.js +171 -0
  311. package/utils/array.d.ts +8 -0
  312. package/utils/array.js +58 -1
  313. package/utils/logger.d.ts +2 -0
  314. package/utils/logger.js +11 -0
@@ -37,6 +37,7 @@ var BandSeriesDrawingProvider = /** @class */ (function (_super) {
37
37
  */
38
38
  function BandSeriesDrawingProvider(webAssemblyContext, parentSeries, ySelector, y1Selector) {
39
39
  var _this = _super.call(this, webAssemblyContext, parentSeries, ySelector) || this;
40
+ _this.args = new _this.webAssemblyContext.SCRTBandDrawingParams();
40
41
  _this.y1Selector = y1Selector !== null && y1Selector !== void 0 ? y1Selector : (function (ps) { return ps.y1Values; });
41
42
  _this.linesPenCache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
42
43
  _this.strokePenY1Cache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
@@ -68,6 +69,7 @@ var BandSeriesDrawingProvider = /** @class */ (function (_super) {
68
69
  */
69
70
  BandSeriesDrawingProvider.prototype.delete = function () {
70
71
  this.nativeDrawingProvider = (0, Deleter_1.deleteSafe)(this.nativeDrawingProvider);
72
+ this.args = (0, Deleter_1.deleteSafe)(this.args);
71
73
  this.linesPenCache = (0, Deleter_1.deleteSafe)(this.linesPenCache);
72
74
  this.fillBrushCache = (0, Deleter_1.deleteSafe)(this.fillBrushCache);
73
75
  this.strokePenY1Cache = (0, Deleter_1.deleteSafe)(this.strokePenY1Cache);
@@ -78,36 +80,38 @@ var BandSeriesDrawingProvider = /** @class */ (function (_super) {
78
80
  * @inheritDoc
79
81
  */
80
82
  BandSeriesDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
81
- var _a;
83
+ var _a, _b;
82
84
  var pointSeries = renderPassData.pointSeries;
83
85
  var containsNaN = this.parentSeries.dataSeries.dataDistributionCalculator.containsNaN;
84
- var args = new this.webAssemblyContext.SCRTBandDrawingParams();
85
- args.forceShaderMethod = true;
86
- args.verticalChart = renderPassData.isVerticalChart;
87
- args.lineGaps = containsNaN
86
+ this.args.Reset();
87
+ this.args.forceShaderMethod = true;
88
+ this.args.verticalChart = renderPassData.isVerticalChart;
89
+ this.args.lineGaps = containsNaN
88
90
  ? this.parentSeries.drawNaNAs === WebGlRenderContext2D_1.ELineDrawMode.DiscontinuousLine
89
91
  ? this.webAssemblyContext.SCRTLineGapMode.DrawGaps
90
92
  : this.webAssemblyContext.SCRTLineGapMode.CloseGaps
91
93
  : this.webAssemblyContext.SCRTLineGapMode.Default;
92
- args.isDigitalLine = this.parentSeries.isDigitalLine;
94
+ this.args.isDigitalLine = this.parentSeries.isDigitalLine;
93
95
  var fillBrush = (0, BrushCache_1.getScrtBrushFromCache)(this.fillBrushCache);
94
96
  if (fillBrush) {
95
- args.SetFillBrush(fillBrush);
97
+ this.args.SetFillBrush(fillBrush);
96
98
  }
97
99
  var linesPen = (0, Pen2DCache_1.getScrtPenFromCache)(this.linesPenCache);
98
100
  if (linesPen) {
99
- args.SetLinesPen(linesPen);
101
+ this.args.SetLinesPen(linesPen);
100
102
  }
101
103
  var fillBrushY1 = (0, BrushCache_1.getScrtBrushFromCache)(this.fillBrushY1Cache);
102
104
  if (fillBrushY1) {
103
- args.SetFillBrush1(fillBrushY1);
105
+ this.args.SetFillBrush1(fillBrushY1);
104
106
  }
105
107
  var strokePenY1 = (0, Pen2DCache_1.getScrtPenFromCache)(this.strokePenY1Cache);
106
108
  if (strokePenY1) {
107
- args.SetLinesPen1(strokePenY1);
109
+ this.args.SetLinesPen1(strokePenY1);
108
110
  }
109
111
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
110
112
  var xValues = pointSeries.xValues;
113
+ var _c = this.parentSeries.dataSeries, fifoCapacity = _c.fifoCapacity, fifoSweeping = _c.fifoSweeping, fifoSweepingGap = _c.fifoSweepingGap;
114
+ var fifoStartIndex = pointSeries.fifoStartIndex;
111
115
  var xDrawValues = isCategoryAxis ? pointSeries.indexes : xValues;
112
116
  var yDrawValues = this.ySelector(pointSeries);
113
117
  var y1DrawValues = this.y1Selector(pointSeries);
@@ -121,17 +125,32 @@ var BandSeriesDrawingProvider = /** @class */ (function (_super) {
121
125
  yDrawValues = splineBandSeries.ySplineValues;
122
126
  y1DrawValues = splineBandSeries.y1SplineValues;
123
127
  }
124
- args.count = yDrawValues.size();
128
+ if (!isSplineBandSeries && !pointSeries.resampled && ((_a = renderPassData.indexRange) === null || _a === void 0 ? void 0 : _a.diff) > 0) {
129
+ this.args.count = Math.min(renderPassData.indexRange.diff + 1, yDrawValues.size());
130
+ this.args.startIndex = renderPassData.indexRange.min;
131
+ }
132
+ else {
133
+ this.args.count = yDrawValues.size();
134
+ }
135
+ if (fifoCapacity > 0 && fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
136
+ this.args.count = fifoStartIndex;
137
+ }
125
138
  // Paletting per point
126
139
  _super.prototype.applyStrokeFillPaletting.call(this, undefined, undefined, undefined, undefined, this.parentSeries.opacity, true);
127
- var paletteTexture = (_a = this.palettingState.paletteTextureCache) === null || _a === void 0 ? void 0 : _a.value;
140
+ var paletteTexture = (_b = this.palettingState.paletteTextureCache) === null || _b === void 0 ? void 0 : _b.value;
128
141
  if (paletteTexture) {
129
- args.SetPalette(paletteTexture);
142
+ this.args.SetPalette(paletteTexture);
130
143
  }
131
- args.isSmoothColors = this.palettingState.gradientPaletting;
144
+ this.args.isSmoothColors = this.palettingState.gradientPaletting;
132
145
  var nativeContext = renderContext.getNativeContext();
133
- this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yDrawValues, y1DrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args);
134
- args.delete();
146
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yDrawValues, y1DrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args);
147
+ if (fifoCapacity > 0 && fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
148
+ this.args.startIndex = Math.min(yDrawValues.size(), fifoStartIndex + fifoSweepingGap);
149
+ this.args.count = Math.max(0, yDrawValues.size() - fifoStartIndex - fifoSweepingGap);
150
+ if (this.args.count > 0) {
151
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yDrawValues, y1DrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args);
152
+ }
153
+ }
135
154
  };
136
155
  /**
137
156
  * @inheritDoc
@@ -1,3 +1,4 @@
1
+ import { DeletableEntity } from "../../../../Core/DeletableEntity";
1
2
  import { IDeletable } from "../../../../Core/IDeletable";
2
3
  import { SCRTBrush, SCRTDoubleVector, TSciChart, UIntVector } from "../../../../types/TSciChart";
3
4
  import { PaletteCache } from "../../../Drawing/PaletteCache";
@@ -35,7 +36,7 @@ export declare type TPalettingState = {
35
36
  * Used internally - a drawing provider performs drawing for a specific chart-type or series using
36
37
  * our WebAssembly WebGL rendering engine
37
38
  */
38
- export declare abstract class BaseSeriesDrawingProvider<T extends IRenderableSeries> implements ISeriesDrawingProvider {
39
+ export declare abstract class BaseSeriesDrawingProvider<T extends IRenderableSeries> extends DeletableEntity implements ISeriesDrawingProvider {
39
40
  /**
40
41
  * The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
41
42
  * access to our WebGL2 Engine and WebAssembly numerical methods
@@ -1,6 +1,22 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
18
  exports.BaseSeriesDrawingProvider = void 0;
19
+ var DeletableEntity_1 = require("../../../../Core/DeletableEntity");
4
20
  var Deleter_1 = require("../../../../Core/Deleter");
5
21
  var Guard_1 = require("../../../../Core/Guard");
6
22
  var colorUtil_1 = require("../../../../utils/colorUtil");
@@ -14,7 +30,8 @@ var constants_1 = require("../constants");
14
30
  * Used internally - a drawing provider performs drawing for a specific chart-type or series using
15
31
  * our WebAssembly WebGL rendering engine
16
32
  */
17
- var BaseSeriesDrawingProvider = /** @class */ (function () {
33
+ var BaseSeriesDrawingProvider = /** @class */ (function (_super) {
34
+ __extends(BaseSeriesDrawingProvider, _super);
18
35
  /**
19
36
  * Creates an instance of the {@link BaseSeriesDrawingProvider}
20
37
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -22,22 +39,25 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
22
39
  * @param parentSeries the parent {@link IRenderableSeries | Renderable Series} which this drawing provider is attached to
23
40
  */
24
41
  function BaseSeriesDrawingProvider(webAssemblyContext, parentSeries, ySelector, xSelector) {
42
+ var _this = this;
25
43
  var _a;
44
+ _this = _super.call(this) || this;
26
45
  Guard_1.Guard.notNull(webAssemblyContext, "webAssemblyContext");
27
46
  Guard_1.Guard.notNull(parentSeries, "parentSeries");
28
- this.webAssemblyContext = webAssemblyContext;
29
- this.parentSeries = parentSeries;
30
- this.ySelector = ySelector !== null && ySelector !== void 0 ? ySelector : (function (ps) { return ps.yValues; });
31
- this.xSelector = xSelector !== null && xSelector !== void 0 ? xSelector : (function (ps) { return ps.xValues; });
32
- this.palettingState = {
47
+ _this.webAssemblyContext = webAssemblyContext;
48
+ _this.parentSeries = parentSeries;
49
+ _this.ySelector = ySelector !== null && ySelector !== void 0 ? ySelector : (function (ps) { return ps.yValues; });
50
+ _this.xSelector = xSelector !== null && xSelector !== void 0 ? xSelector : (function (ps) { return ps.xValues; });
51
+ _this.palettingState = {
33
52
  palettedColors: undefined,
34
53
  palettedColorsHashCode: 0,
35
54
  gradientPaletting: false,
36
55
  paletteTextureCache: new PaletteCache_1.PaletteCache(webAssemblyContext)
37
56
  };
38
- this.seriesHasDataChanges = this.seriesHasDataChanges.bind(this);
39
- this.parentDataSeries = this.parentSeries.dataSeries;
40
- (_a = this.parentDataSeries) === null || _a === void 0 ? void 0 : _a.dataChanged.subscribe(this.seriesHasDataChanges);
57
+ _this.seriesHasDataChanges = _this.seriesHasDataChanges.bind(_this);
58
+ _this.parentDataSeries = _this.parentSeries.dataSeries;
59
+ (_a = _this.parentDataSeries) === null || _a === void 0 ? void 0 : _a.dataChanged.subscribe(_this.seriesHasDataChanges);
60
+ return _this;
41
61
  }
42
62
  /**
43
63
  * Helper function to apply color-paletting to a {@link UIntVector} - where each element in the vector
@@ -46,7 +66,7 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
46
66
  * @returns the new {@link UIntVector} with ARGB colors
47
67
  */
48
68
  BaseSeriesDrawingProvider.prototype.applyStrokePaletting = function (strokePen) {
49
- var _a, _b, _c;
69
+ var _a, _b, _c, _d;
50
70
  if (this.parentSeries.hasStrokePaletteProvider()) {
51
71
  var strokeColorArgb = (0, colorUtil_1.uintArgbColorMultiplyOpacity)((0, parseColor_1.parseColorToUIntArgb)(this.parentSeries.stroke), this.parentSeries.opacity);
52
72
  if (isNaN(strokeColorArgb)) {
@@ -58,21 +78,26 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
58
78
  var dataSeries = this.parentSeries.dataSeries;
59
79
  var renderPassData = this.parentSeries.getCurrentRenderPassData();
60
80
  var pointSeries = renderPassData === null || renderPassData === void 0 ? void 0 : renderPassData.pointSeries;
61
- var xValues = (_a = pointSeries === null || pointSeries === void 0 ? void 0 : pointSeries.xValues) !== null && _a !== void 0 ? _a : dataSeries.getNativeXValues();
62
- var yValues = (_b = pointSeries === null || pointSeries === void 0 ? void 0 : pointSeries.yValues) !== null && _b !== void 0 ? _b : dataSeries.getNativeYValues();
63
- var dataSize = pointSeries ? pointSeries.indexes.size() : xValues.size();
64
- if (!this.palettingState.palettedColors ||
65
- this.palettingState.palettedColors.size() !== dataSeries.count()) {
66
- (0, Deleter_1.deleteSafe)(this.palettingState.palettedColors);
81
+ var xValues = (_a = (pointSeries ? this.xSelector(pointSeries) : undefined)) !== null && _a !== void 0 ? _a : dataSeries.getNativeXValues();
82
+ var yValues = (_b = (pointSeries ? this.ySelector(pointSeries) : undefined)) !== null && _b !== void 0 ? _b : dataSeries.getNativeYValues();
83
+ var drawCount = pointSeries ? pointSeries.indexes.size() : xValues.size();
84
+ var indexStart = 0;
85
+ if (!(pointSeries === null || pointSeries === void 0 ? void 0 : pointSeries.resampled) && ((_c = renderPassData === null || renderPassData === void 0 ? void 0 : renderPassData.indexRange) === null || _c === void 0 ? void 0 : _c.diff) > 0) {
86
+ drawCount = renderPassData.indexRange.diff + 1;
87
+ indexStart = renderPassData.indexRange.min;
88
+ }
89
+ if (!this.palettingState.palettedColors) {
67
90
  this.palettingState.palettedColors = new this.webAssemblyContext.UIntVector();
68
- this.palettingState.palettedColors.reserve(dataSeries.count());
69
91
  }
92
+ this.palettingState.palettedColors.clear();
93
+ this.palettingState.palettedColors.reserve(drawCount);
70
94
  strokePen.m_bGradient = strokePaletteProvider.strokePaletteMode === IPaletteProvider_1.EStrokePaletteMode.GRADIENT;
71
95
  // For paletted series, we must pass 0xFFFFFFFF (white) to pen line
96
+ this.palettingState.originalPenColor = strokePen.m_uiColor;
72
97
  strokePen.m_uiColor = 0xffffffff;
73
- for (var index = 0; index < dataSize; index++) {
98
+ for (var index = indexStart; index < indexStart + drawCount; index++) {
74
99
  var originalDataIndex = pointSeries ? pointSeries.indexes.get(index) : index;
75
- var overrideColor = strokePaletteProvider.overrideStrokeArgb(xValues.get(index), yValues.get(index), index, this.parentSeries.opacity, dataSeries.getMetadataAt(originalDataIndex));
100
+ var overrideColor = strokePaletteProvider.overrideStrokeArgb(xValues.get(index), yValues.get(index), originalDataIndex, this.parentSeries.opacity, dataSeries.getMetadataAt(originalDataIndex));
76
101
  this.parentSeries.pushPalettedColors(overrideColor ? overrideColor : strokeColorArgb, this.palettingState);
77
102
  }
78
103
  }
@@ -81,7 +106,7 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
81
106
  strokePen.m_uiColor = this.palettingState.originalPenColor;
82
107
  this.palettingState.originalPenColor = undefined;
83
108
  }
84
- (_c = this.palettingState.palettedColors) === null || _c === void 0 ? void 0 : _c.clear();
109
+ (_d = this.palettingState.palettedColors) === null || _d === void 0 ? void 0 : _d.clear();
85
110
  }
86
111
  // Due to pass-by-pointer limitations of WASM binding, we pass an empty vector rather than null
87
112
  if (!this.palettingState.palettedColors) {
@@ -89,7 +114,7 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
89
114
  }
90
115
  };
91
116
  BaseSeriesDrawingProvider.prototype.applyStrokeFillPaletting = function (stroke, strokePen, fill, fillBrush, opacity, usePalette, resetPenBrushColors) {
92
- var _a, _b, _c, _d, _e;
117
+ var _a, _b, _c, _d, _e, _f;
93
118
  if (usePalette === void 0) { usePalette = false; }
94
119
  if (resetPenBrushColors === void 0) { resetPenBrushColors = true; }
95
120
  var hasStrokePaletteProvider = this.parentSeries.hasStrokePaletteProvider();
@@ -123,14 +148,18 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
123
148
  var pointSeries = renderPassData === null || renderPassData === void 0 ? void 0 : renderPassData.pointSeries;
124
149
  var xValues = (_a = pointSeries === null || pointSeries === void 0 ? void 0 : pointSeries.xValues) !== null && _a !== void 0 ? _a : dataSeries.getNativeXValues();
125
150
  var yValues = (_b = pointSeries === null || pointSeries === void 0 ? void 0 : pointSeries.yValues) !== null && _b !== void 0 ? _b : dataSeries.getNativeYValues();
126
- var dataSize = pointSeries ? pointSeries.indexes.size() : xValues.size();
127
- // Recreate palettedColors if the size changed
128
- if (!this.palettingState.palettedColors || this.palettingState.palettedColors.size() !== dataSize) {
129
- (0, Deleter_1.deleteSafe)(this.palettingState.palettedColors);
151
+ var drawCount = pointSeries ? pointSeries.indexes.size() : xValues.size();
152
+ var indexStart = 0;
153
+ if (!(pointSeries === null || pointSeries === void 0 ? void 0 : pointSeries.resampled) && ((_c = renderPassData === null || renderPassData === void 0 ? void 0 : renderPassData.indexRange) === null || _c === void 0 ? void 0 : _c.diff) > 0) {
154
+ drawCount = renderPassData.indexRange.diff + 1;
155
+ indexStart = renderPassData.indexRange.min;
156
+ }
157
+ if (!this.palettingState.palettedColors) {
130
158
  this.palettingState.palettedColors = new this.webAssemblyContext.UIntVector();
131
- this.palettingState.palettedColors.reserve(dataSize * 2);
132
- this.palettingState.paletteTextureCache.reset();
133
159
  }
160
+ this.palettingState.paletteTextureCache.reset();
161
+ this.palettingState.palettedColors.clear();
162
+ this.palettingState.palettedColors.reserve(drawCount * 2);
134
163
  // Commented this code out, because I don't know what this code does
135
164
  if (resetPenBrushColors) {
136
165
  if (strokePen) {
@@ -154,13 +183,13 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
154
183
  }
155
184
  // Override stroke and fill colors
156
185
  var hashCode = 0;
157
- for (var index = 0; index < dataSize; index++) {
186
+ for (var index = indexStart; index < indexStart + drawCount; index++) {
158
187
  var originalDataIndex = pointSeries ? pointSeries.indexes.get(index) : index;
159
188
  var xValue = xValues.get(index);
160
189
  var yValue = yValues.get(index);
161
- var overriddenColors = this.overridePaletteProviderColors(this.parentSeries, xValue, yValue, index, opacity, dataSeries.getMetadataAt(originalDataIndex));
162
- var overrideStrokeColor = (_c = overriddenColors.stroke) !== null && _c !== void 0 ? _c : strokeColor;
163
- var overrideFillColor = (_d = overriddenColors.fill) !== null && _d !== void 0 ? _d : fillColor;
190
+ var overriddenColors = this.overridePaletteProviderColors(this.parentSeries, xValue, yValue, originalDataIndex, opacity, dataSeries.getMetadataAt(originalDataIndex));
191
+ var overrideStrokeColor = (_d = overriddenColors.stroke) !== null && _d !== void 0 ? _d : strokeColor;
192
+ var overrideFillColor = (_e = overriddenColors.fill) !== null && _e !== void 0 ? _e : fillColor;
164
193
  this.palettingState.palettedColors.push_back(overrideStrokeColor);
165
194
  this.palettingState.palettedColors.push_back(overrideFillColor);
166
195
  hashCode = (0, number_1.numericHashCode)(hashCode, overrideStrokeColor);
@@ -177,7 +206,7 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
177
206
  }
178
207
  else {
179
208
  this.palettingState.paletteTextureCache.reset();
180
- (_e = this.palettingState.palettedColors) === null || _e === void 0 ? void 0 : _e.clear();
209
+ (_f = this.palettingState.palettedColors) === null || _f === void 0 ? void 0 : _f.clear();
181
210
  // This was needed for resetPenBrushColors, therefore commented out as well
182
211
  if (strokePen) {
183
212
  if (this.palettingState.originalPenColor) {
@@ -271,5 +300,5 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
271
300
  return false;
272
301
  };
273
302
  return BaseSeriesDrawingProvider;
274
- }());
303
+ }(DeletableEntity_1.DeletableEntity));
275
304
  exports.BaseSeriesDrawingProvider = BaseSeriesDrawingProvider;
@@ -11,6 +11,7 @@ import { BaseSeriesDrawingProvider } from "./BaseSeriesDrawingProvider";
11
11
  */
12
12
  export declare class BubbleSeriesDrawingProvider extends BaseSeriesDrawingProvider<FastBubbleRenderableSeries> {
13
13
  private nativeDrawingProvider;
14
+ private args;
14
15
  /**
15
16
  * Creates an instance of the {@link BubbleSeriesDrawingProvider}
16
17
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -34,6 +34,7 @@ var BubbleSeriesDrawingProvider = /** @class */ (function (_super) {
34
34
  function BubbleSeriesDrawingProvider(webAssemblyContext, parentSeries) {
35
35
  var _this = _super.call(this, webAssemblyContext, parentSeries) || this;
36
36
  _this.nativeDrawingProvider = new _this.webAssemblyContext.SCRTBubbleSeriesDrawingProvider();
37
+ _this.args = new _this.webAssemblyContext.SCRTPointDrawingParams();
37
38
  return _this;
38
39
  }
39
40
  /**
@@ -46,6 +47,7 @@ var BubbleSeriesDrawingProvider = /** @class */ (function (_super) {
46
47
  * @inheritDoc
47
48
  */
48
49
  BubbleSeriesDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
50
+ var _a;
49
51
  var pointMarker = this.parentSeries.pointMarker;
50
52
  if (pointMarker === undefined) {
51
53
  return;
@@ -53,27 +55,46 @@ var BubbleSeriesDrawingProvider = /** @class */ (function (_super) {
53
55
  var spriteTexture = pointMarker.getSprite();
54
56
  var pointSeries = renderPassData.pointSeries;
55
57
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
56
- var args = new this.webAssemblyContext.SCRTPointDrawingParams();
58
+ this.args.Reset();
57
59
  var xValues = pointSeries.xValues;
58
60
  var yValues = pointSeries.yValues;
59
61
  var zValues = pointSeries.zValues;
60
- args.count = yValues.size();
61
- args.verticalChart = renderPassData.isVerticalChart;
62
- args.forceShaderMethod = true;
63
- args.SetSpriteTexture(spriteTexture.getTexture());
62
+ if (!pointSeries.resampled && ((_a = renderPassData.indexRange) === null || _a === void 0 ? void 0 : _a.diff) > 0) {
63
+ this.args.count = Math.min(renderPassData.indexRange.diff + 1, yValues.size());
64
+ this.args.startIndex = renderPassData.indexRange.min;
65
+ }
66
+ else {
67
+ this.args.count = yValues.size();
68
+ }
69
+ var _b = this.parentSeries.dataSeries, fifoCapacity = _b.fifoCapacity, fifoSweeping = _b.fifoSweeping, fifoSweepingGap = _b.fifoSweepingGap;
70
+ var fifoStartIndex = pointSeries.fifoStartIndex;
71
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
72
+ this.args.count = fifoStartIndex;
73
+ }
74
+ this.args.verticalChart = renderPassData.isVerticalChart;
75
+ this.args.forceShaderMethod = true;
76
+ this.args.SetSpriteTexture(spriteTexture.getTexture());
64
77
  // Paletting per point
65
78
  _super.prototype.applyStrokeFillPaletting.call(this, this.parentSeries.stroke, undefined, undefined, undefined, this.parentSeries.opacity);
66
- args.SetPalettedColors(this.palettingState.palettedColors);
67
- args.zMultiplier = this.parentSeries.zMultiplier * DpiHelper_1.DpiHelper.PIXEL_RATIO;
79
+ this.args.SetPalettedColors(this.palettingState.palettedColors);
80
+ this.args.zMultiplier = this.parentSeries.zMultiplier * DpiHelper_1.DpiHelper.PIXEL_RATIO;
81
+ var xDrawValues = isCategoryAxis ? pointSeries.indexes : xValues;
68
82
  var nativeContext = renderContext.getNativeContext();
69
- this.drawPoints(nativeContext, isCategoryAxis ? pointSeries.indexes : xValues, yValues, zValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args, this.parentSeries.parentSurface.seriesViewRect);
70
- args.delete();
83
+ this.drawPoints(nativeContext, xDrawValues, yValues, zValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args, this.parentSeries.parentSurface.seriesViewRect);
84
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
85
+ this.args.startIndex = Math.min(yValues.size(), fifoStartIndex + fifoSweepingGap);
86
+ this.args.count = Math.max(0, yValues.size() - fifoStartIndex - fifoSweepingGap);
87
+ if (this.args.count > 0) {
88
+ this.drawPoints(nativeContext, xDrawValues, yValues, zValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args, this.parentSeries.parentSurface.seriesViewRect);
89
+ }
90
+ }
71
91
  };
72
92
  /**
73
93
  * @inheritDoc
74
94
  */
75
95
  BubbleSeriesDrawingProvider.prototype.delete = function () {
76
96
  this.nativeDrawingProvider = (0, Deleter_1.deleteSafe)(this.nativeDrawingProvider);
97
+ this.args = (0, Deleter_1.deleteSafe)(this.args);
77
98
  _super.prototype.delete.call(this);
78
99
  };
79
100
  BubbleSeriesDrawingProvider.prototype.overridePaletteProviderColors = function (rs, xValue, yValue, index, opacity, metadata) {
@@ -13,6 +13,7 @@ export declare class ColumnSeriesDrawingProvider extends BaseSeriesDrawingProvid
13
13
  private strokePenCache;
14
14
  private strokePenFillColoredCache;
15
15
  private fillBrushCache;
16
+ private args;
16
17
  /**
17
18
  * Creates an instance of the {@link ColumnSeriesDrawingProvider}
18
19
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -37,6 +37,7 @@ var ColumnSeriesDrawingProvider = /** @class */ (function (_super) {
37
37
  function ColumnSeriesDrawingProvider(webAssemblyContext, parentSeries) {
38
38
  var _this = _super.call(this, webAssemblyContext, parentSeries) || this;
39
39
  _this.nativeDrawingProvider = new webAssemblyContext.SCRTColumnSeriesDrawingProvider();
40
+ _this.args = new _this.webAssemblyContext.SCRTColumnDrawingParams();
40
41
  _this.strokePenCache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
41
42
  _this.strokePenFillColoredCache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
42
43
  _this.fillBrushCache = new BrushCache_1.BrushCache(webAssemblyContext);
@@ -54,6 +55,7 @@ var ColumnSeriesDrawingProvider = /** @class */ (function (_super) {
54
55
  */
55
56
  ColumnSeriesDrawingProvider.prototype.delete = function () {
56
57
  this.nativeDrawingProvider = (0, Deleter_1.deleteSafe)(this.nativeDrawingProvider);
58
+ this.args = (0, Deleter_1.deleteSafe)(this.args);
57
59
  this.strokePenCache = (0, Deleter_1.deleteSafe)(this.strokePenCache);
58
60
  this.strokePenFillColoredCache = (0, Deleter_1.deleteSafe)(this.strokePenFillColoredCache);
59
61
  this.fillBrushCache = (0, Deleter_1.deleteSafe)(this.fillBrushCache);
@@ -63,42 +65,61 @@ var ColumnSeriesDrawingProvider = /** @class */ (function (_super) {
63
65
  * @inheritDoc
64
66
  */
65
67
  ColumnSeriesDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
68
+ var _a;
66
69
  var pointSeries = renderPassData.pointSeries;
67
70
  var viewRect = this.parentSeries.parentSurface.seriesViewRect;
68
71
  var strokeThickness = this.parentSeries.strokeThickness;
69
- var args = new this.webAssemblyContext.SCRTColumnDrawingParams();
70
- args.forceShaderMethod = true;
71
- args.verticalChart = renderPassData.isVerticalChart;
72
- args.zeroLineY = this.parentSeries.zeroLineY;
73
- args.columnWidth = this.parentSeries.getDataPointWidth(renderPassData.xCoordinateCalculator, this.parentSeries.dataPointWidth);
74
- args.bottomRadius = this.parentSeries.cornerRadius;
72
+ this.args.Reset();
73
+ this.args.forceShaderMethod = true;
74
+ this.args.verticalChart = renderPassData.isVerticalChart;
75
+ this.args.zeroLineY = this.parentSeries.zeroLineY;
76
+ this.args.columnWidth = this.parentSeries.getDataPointWidth(renderPassData.xCoordinateCalculator, this.parentSeries.dataPointWidth);
77
+ this.args.bottomRadius = this.parentSeries.cornerRadius;
75
78
  var strokePenCache = this.strokePenCache;
76
79
  // ISSUE: If the strokeThickness property is not provided,
77
80
  // the fill will be disappeared with large zoom (when the column width will be small or zero)
78
- if (args.columnWidth === 1 && strokeThickness === 0) {
79
- args.columnWidth = 0;
81
+ if (this.args.columnWidth === 1 && strokeThickness === 0) {
82
+ this.args.columnWidth = 0;
80
83
  strokePenCache = this.strokePenFillColoredCache;
81
84
  }
82
85
  var linesPen = (0, Pen2DCache_1.getScrtPenFromCache)(strokePenCache);
83
86
  if (linesPen) {
84
- args.SetLinesPen(linesPen);
87
+ this.args.SetLinesPen(linesPen);
85
88
  }
86
89
  var fillBrush = (0, BrushCache_1.getScrtBrushFromCache)(this.fillBrushCache);
87
90
  if (fillBrush) {
88
- args.SetFillBrush(fillBrush);
91
+ this.args.SetFillBrush(fillBrush);
89
92
  }
90
- args.viewportWidth = viewRect.width;
91
- args.viewportHeight = viewRect.height;
93
+ this.args.viewportWidth = viewRect.width;
94
+ this.args.viewportHeight = viewRect.height;
92
95
  // Paletting per point
93
96
  _super.prototype.applyStrokeFillPaletting.call(this, this.parentSeries.stroke, linesPen, this.parentSeries.fill, fillBrush, this.parentSeries.opacity, false, this.parentSeries.fillLinearGradient !== undefined);
94
- args.SetPalettedColors(this.palettingState.palettedColors);
97
+ this.args.SetPalettedColors(this.palettingState.palettedColors);
95
98
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
96
99
  var xValues = pointSeries.xValues;
97
100
  var yValues = pointSeries.yValues;
98
- args.count = yValues.size();
101
+ var xDrawValues = isCategoryAxis ? pointSeries.indexes : xValues;
102
+ if (!pointSeries.resampled && ((_a = renderPassData.indexRange) === null || _a === void 0 ? void 0 : _a.diff) > 0) {
103
+ this.args.count = Math.min(renderPassData.indexRange.diff + 1, yValues.size());
104
+ this.args.startIndex = renderPassData.indexRange.min;
105
+ }
106
+ else {
107
+ this.args.count = yValues.size();
108
+ }
109
+ var _b = this.parentSeries.dataSeries, fifoCapacity = _b.fifoCapacity, fifoSweeping = _b.fifoSweeping, fifoSweepingGap = _b.fifoSweepingGap;
110
+ var fifoStartIndex = pointSeries.fifoStartIndex;
111
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
112
+ this.args.count = fifoStartIndex;
113
+ }
99
114
  var nativeContext = renderContext.getNativeContext();
100
- this.nativeDrawingProvider.DrawPointsVec(nativeContext, isCategoryAxis ? pointSeries.indexes : xValues, yValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args);
101
- args.delete();
115
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args);
116
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
117
+ this.args.startIndex = Math.min(yValues.size(), fifoStartIndex + fifoSweepingGap);
118
+ this.args.count = Math.max(0, yValues.size() - fifoStartIndex - fifoSweepingGap);
119
+ if (this.args.count > 0) {
120
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args);
121
+ }
122
+ }
102
123
  };
103
124
  /**
104
125
  * @inheritDoc
@@ -0,0 +1,47 @@
1
+ import { Rect } from "../../../../Core/Rect";
2
+ import { TGradientStop } from "../../../../types/TGradientStop";
3
+ import { TSciChart, UIntVector } from "../../../../types/TSciChart";
4
+ import { TextureCache } from "../../../Drawing/TextureCache";
5
+ export interface IGetColorDataParams {
6
+ xStartInd: number;
7
+ textureWidth: number;
8
+ xInc: number;
9
+ yStartInd: number;
10
+ textureHeight: number;
11
+ yInc: number;
12
+ zValues: number[][];
13
+ webAssemblyContext: TSciChart;
14
+ colorMap: number[];
15
+ opacity: number;
16
+ horCellCount: number;
17
+ vertCellCount: number;
18
+ horCellOffsets: number[];
19
+ vertCellOffsets: number[];
20
+ colorMin: number;
21
+ colorMax: number;
22
+ arrayWidth: number;
23
+ arrayHeight: number;
24
+ fillValuesOutOfRange: boolean;
25
+ useInterpolation: boolean;
26
+ }
27
+ export declare const getColorDataForTexture: (params: IGetColorDataParams, _colorData: UIntVector, precision: number) => UIntVector;
28
+ export declare const getColor: (yIndex: number, xIndex: number, colorPalette: number[], opacity: number, zValues: number[][], webAssemblyContext: TSciChart, colorMin: number, colorMax: number, arrayWidth: number, arrayHeight: number, fillValuesOutOfRange: boolean, precision: number) => number;
29
+ /** @ignore */
30
+ export declare const getCellColor: (value: number, _colorMap: number[], colorMin: number, colorMax: number, fillValuesOutOfRange: boolean, webAssemblyContext: TSciChart, precision: number) => number;
31
+ export declare const createColorMap: (originalGradientStops: TGradientStop[], precision: number) => any[];
32
+ export declare const calculateOffsets: (heatmapRect: Rect, isVerticalChart: boolean, xCellSizes: number[], yCellSizes: number[], horStartInd: number, horCellCount: number, horInc: number, vertStartInd: number, vertCellCount: number, vertInc: number, seriesViewRect: Rect) => {
33
+ horCellOffsets: any[];
34
+ vertCellOffsets: any[];
35
+ };
36
+ /**
37
+ * Calculates absolute coordinates of the heatmap cells
38
+ * @param inputArr relative cell sizes
39
+ * @param dimension texture size
40
+ * @param startInd
41
+ * @param count
42
+ * @param inc
43
+ * @param offset
44
+ * @returns
45
+ */
46
+ export declare const calculateCellCoordinates: (inputArr: number[], dimension: number, startInd: number, count: number, inc: number, offset: number) => any[];
47
+ export declare const calculateHeatmapTexture: (colorDataParams: IGetColorDataParams, intVector: UIntVector, heatTextureCache: TextureCache, precision: number) => import("../../../../types/TSciChart").TSRTexture;