scichart 3.1.348 → 3.2.434

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 (358) hide show
  1. package/Builder/buildSurface.d.ts +2 -2
  2. package/Builder/chartBuilder.d.ts +4 -4
  3. package/Charting/ChartModifiers/ChartModifierBase.d.ts +19 -5
  4. package/Charting/ChartModifiers/ChartModifierBase.js +64 -7
  5. package/Charting/ChartModifiers/CursorModifier.d.ts +9 -9
  6. package/Charting/ChartModifiers/CursorModifier.js +13 -1
  7. package/Charting/ChartModifiers/DataPointSelectionModifier.d.ts +1 -0
  8. package/Charting/ChartModifiers/DataPointSelectionModifier.js +6 -1
  9. package/Charting/ChartModifiers/LegendModifier.d.ts +10 -25
  10. package/Charting/ChartModifiers/LegendModifier.js +10 -20
  11. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +20 -11
  12. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +5 -5
  13. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
  14. package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
  15. package/Charting/ChartModifiers/RolloverModifier.js +10 -3
  16. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +4 -7
  17. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +6 -8
  18. package/Charting/ChartModifiers/SeriesSelectionModifier.js +39 -29
  19. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  20. package/Charting/ChartModifiers/XAxisDragModifier.js +3 -3
  21. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +2 -4
  22. package/Charting/ChartModifiers/YAxisDragModifier.js +7 -8
  23. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
  24. package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
  25. package/Charting/Drawing/BaseCache.d.ts +2 -1
  26. package/Charting/Drawing/BaseCache.js +45 -7
  27. package/Charting/Drawing/RenderSurface.d.ts +1 -0
  28. package/Charting/Drawing/RenderSurface.js +5 -1
  29. package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
  30. package/Charting/Drawing/SolidBrushCache.js +23 -3
  31. package/Charting/Drawing/WebGlBrush.d.ts +2 -1
  32. package/Charting/Drawing/WebGlBrush.js +22 -3
  33. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  34. package/Charting/Drawing/WebGlPen.js +23 -4
  35. package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
  36. package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
  37. package/Charting/Model/BaseDataSeries.d.ts +67 -2
  38. package/Charting/Model/BaseDataSeries.js +193 -42
  39. package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
  40. package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
  41. package/Charting/Model/ChartData/SeriesInfo.js +7 -0
  42. package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
  43. package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
  44. package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
  45. package/Charting/Model/DoubleVectorProvider.js +95 -0
  46. package/Charting/Model/Filters/HlcFilterBase.d.ts +6 -2
  47. package/Charting/Model/Filters/HlcFilterBase.js +17 -1
  48. package/Charting/Model/Filters/IFilterBase.d.ts +24 -0
  49. package/Charting/Model/Filters/IFilterBase.js +2 -0
  50. package/Charting/Model/Filters/OhlcFilterBase.d.ts +6 -2
  51. package/Charting/Model/Filters/OhlcFilterBase.js +17 -1
  52. package/Charting/Model/Filters/XyFilterBase.d.ts +6 -5
  53. package/Charting/Model/Filters/XyFilterBase.js +17 -1
  54. package/Charting/Model/Filters/XyyFilterBase.d.ts +6 -2
  55. package/Charting/Model/Filters/XyyFilterBase.js +17 -1
  56. package/Charting/Model/Filters/XyzFilterBase.d.ts +6 -2
  57. package/Charting/Model/Filters/XyzFilterBase.js +17 -1
  58. package/Charting/Model/HlcDataSeries.d.ts +3 -0
  59. package/Charting/Model/HlcDataSeries.js +44 -15
  60. package/Charting/Model/IDataSeries.d.ts +23 -0
  61. package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
  62. package/Charting/Model/OhlcDataSeries.d.ts +3 -0
  63. package/Charting/Model/OhlcDataSeries.js +56 -24
  64. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
  65. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
  66. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
  67. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
  68. package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
  69. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
  70. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
  71. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
  72. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
  73. package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
  74. package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
  75. package/Charting/Model/XyDataSeries.d.ts +0 -8
  76. package/Charting/Model/XyDataSeries.js +21 -5
  77. package/Charting/Model/XyTextDataSeries.d.ts +2 -0
  78. package/Charting/Model/XyTextDataSeries.js +35 -4
  79. package/Charting/Model/XyyDataSeries.d.ts +2 -0
  80. package/Charting/Model/XyyDataSeries.js +50 -26
  81. package/Charting/Model/XyzDataSeries.d.ts +3 -0
  82. package/Charting/Model/XyzDataSeries.js +36 -10
  83. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
  84. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
  85. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
  86. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
  87. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
  88. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
  89. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
  90. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
  91. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
  92. package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
  93. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
  94. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
  95. package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
  96. package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
  97. package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
  98. package/Charting/Services/SciChartRenderer.js +15 -5
  99. package/Charting/Services/TitleRenderer.d.ts +2 -1
  100. package/Charting/Services/TitleRenderer.js +35 -14
  101. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
  102. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
  103. package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
  104. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +4 -0
  105. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
  106. package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
  107. package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
  108. package/Charting/Visuals/Annotations/NativeTextAnnotation.js +4 -0
  109. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
  110. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
  111. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
  112. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  113. package/Charting/Visuals/Annotations/constants.js +1 -0
  114. package/Charting/Visuals/Axis/AxisBase2D.d.ts +23 -8
  115. package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
  116. package/Charting/Visuals/Axis/AxisCore.d.ts +6 -3
  117. package/Charting/Visuals/Axis/AxisCore.js +100 -54
  118. package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
  119. package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
  120. package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
  121. package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
  122. package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
  123. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
  124. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
  125. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
  126. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
  127. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
  128. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
  129. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
  130. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
  131. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
  132. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
  133. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
  134. package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
  135. package/Charting/Visuals/HeatmapLegend.js +33 -12
  136. package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
  137. package/Charting/Visuals/Helpers/NativeObject.js +42 -21
  138. package/Charting/Visuals/Helpers/drawLabel.js +3 -1
  139. package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
  140. package/Charting/Visuals/Legend/ManualLegend.d.ts +56 -0
  141. package/Charting/Visuals/Legend/ManualLegend.js +138 -0
  142. package/Charting/Visuals/Legend/SciChartLegend.js +4 -3
  143. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +65 -4
  144. package/Charting/Visuals/Legend/SciChartLegendBase.js +111 -23
  145. package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
  146. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
  147. package/Charting/Visuals/PointMarkers/BasePointMarker.js +77 -19
  148. package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
  149. package/Charting/Visuals/PointMarkers/Constants.js +1 -0
  150. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
  151. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
  152. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
  153. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
  154. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
  155. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
  156. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
  157. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +3 -2
  158. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
  159. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +18 -4
  160. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
  161. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
  162. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
  163. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
  164. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
  165. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
  166. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
  167. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
  168. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
  169. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
  170. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +5 -4
  171. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +70 -33
  172. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
  173. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
  174. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  175. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
  176. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
  177. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
  178. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
  179. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
  180. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
  181. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
  182. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
  183. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
  184. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
  185. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
  186. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
  187. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
  188. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
  189. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
  190. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
  191. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
  192. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
  193. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  194. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
  195. package/Charting/Visuals/RenderableSeries/HoveredChangedArgs.d.ts +6 -1
  196. package/Charting/Visuals/RenderableSeries/HoveredChangedArgs.js +2 -1
  197. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +1 -1
  198. package/Charting/Visuals/RenderableSeries/SelectionChangedArgs.d.ts +6 -1
  199. package/Charting/Visuals/RenderableSeries/SelectionChangedArgs.js +2 -1
  200. package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
  201. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
  202. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +50 -1
  203. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +13 -1
  204. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +13 -1
  205. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
  206. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
  207. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
  208. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
  209. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
  210. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
  211. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
  212. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +7 -1
  213. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +38 -12
  214. package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
  215. package/Charting/Visuals/SciChartDefaults.js +10 -0
  216. package/Charting/Visuals/SciChartOverview.d.ts +2 -1
  217. package/Charting/Visuals/SciChartOverview.js +28 -8
  218. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +16 -3
  219. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +125 -60
  220. package/Charting/Visuals/SciChartSurface.d.ts +4 -41
  221. package/Charting/Visuals/SciChartSurface.js +52 -66
  222. package/Charting/Visuals/SciChartSurfaceBase.d.ts +117 -13
  223. package/Charting/Visuals/SciChartSurfaceBase.js +177 -32
  224. package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
  225. package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
  226. package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
  227. package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
  228. package/Charting/Visuals/createMaster.d.ts +7 -2
  229. package/Charting/Visuals/createMaster.js +140 -45
  230. package/Charting/Visuals/createSingle.d.ts +0 -2
  231. package/Charting/Visuals/createSingle.js +46 -11
  232. package/Charting/Visuals/licenseManager2D.d.ts +7 -5
  233. package/Charting/Visuals/licenseManager2D.js +105 -53
  234. package/Charting/Visuals/loader.js +3 -1
  235. package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
  236. package/Charting/Visuals/sciChartInitCommon.js +5 -1
  237. package/Charting3D/CameraController.d.ts +1 -1
  238. package/Charting3D/CameraController.js +21 -7
  239. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
  240. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
  241. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
  242. package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
  243. package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
  244. package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
  245. package/Charting3D/ChartModifiers/ResetCamera3DModifier.d.ts +1 -1
  246. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +1 -2
  247. package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +122 -0
  248. package/Charting3D/ChartModifiers/TooltipModifier3D.js +427 -0
  249. package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
  250. package/Charting3D/I3DSurfaceOptions.js +2 -0
  251. package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
  252. package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
  253. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.d.ts +1 -1
  254. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.js +2 -2
  255. package/Charting3D/Model/DataSeries/IPointMetadata3D.d.ts +7 -2
  256. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
  257. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
  258. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
  259. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
  260. package/Charting3D/Vector3.d.ts +5 -0
  261. package/Charting3D/Vector3.js +7 -0
  262. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
  263. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
  264. package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +29 -3
  265. package/Charting3D/Visuals/Axis/AxisBase3D.js +46 -18
  266. package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
  267. package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
  268. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
  269. package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
  270. package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
  271. package/Charting3D/Visuals/Axis/NumericAxis3D.d.ts +3 -2
  272. package/Charting3D/Visuals/Axis/NumericAxis3D.js +7 -3
  273. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
  274. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
  275. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
  276. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
  277. package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
  278. package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
  279. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
  280. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +190 -0
  281. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
  282. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
  283. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
  284. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +23 -2
  285. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
  286. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +17 -1
  287. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +21 -1
  288. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +78 -12
  289. package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
  290. package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
  291. package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
  292. package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
  293. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
  294. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
  295. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
  296. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
  297. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
  298. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
  299. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
  300. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
  301. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
  302. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
  303. package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
  304. package/Charting3D/Visuals/RootSceneEntity.js +3 -8
  305. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  306. package/Charting3D/Visuals/SciChart3DRenderer.js +26 -0
  307. package/Charting3D/Visuals/SciChart3DSurface.d.ts +55 -7
  308. package/Charting3D/Visuals/SciChart3DSurface.js +136 -13
  309. package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
  310. package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
  311. package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
  312. package/Charting3D/Visuals/createMaster3d.js +81 -14
  313. package/Charting3D/Visuals/createSingle3d.js +34 -4
  314. package/Charting3D/Visuals/licenseManager3D.js +29 -25
  315. package/Core/BuildStamp.d.ts +1 -1
  316. package/Core/BuildStamp.js +2 -2
  317. package/Core/DeletableEntity.d.ts +34 -0
  318. package/Core/DeletableEntity.js +138 -0
  319. package/Core/Globals.d.ts +11 -0
  320. package/Core/Globals.js +13 -0
  321. package/Core/Guard.d.ts +6 -0
  322. package/Core/Guard.js +10 -0
  323. package/Core/Mouse/MouseManager.d.ts +23 -0
  324. package/Core/Mouse/MouseManager.js +53 -0
  325. package/Core/Telemetry.js +4 -6
  326. package/_wasm/scichart.browser.js +1 -1
  327. package/_wasm/scichart2d.data +0 -0
  328. package/_wasm/scichart2d.js +4 -294
  329. package/_wasm/scichart2d.wasm +0 -0
  330. package/_wasm/scichart3d.data +0 -0
  331. package/_wasm/scichart3d.js +4 -294
  332. package/_wasm/scichart3d.wasm +0 -0
  333. package/index.d.ts +42 -2
  334. package/index.dev.js +68876 -0
  335. package/index.js +81 -27
  336. package/index.min.js +1 -1
  337. package/package.json +3 -4
  338. package/types/ChartModifierType.d.ts +2 -0
  339. package/types/ChartModifierType.js +2 -0
  340. package/types/DefaultRenderLayer.d.ts +9 -8
  341. package/types/DefaultRenderLayer.js +9 -8
  342. package/types/NumberArray.d.ts +1 -0
  343. package/types/NumberArray.js +12 -1
  344. package/types/SceneEntityType.d.ts +13 -5
  345. package/types/SceneEntityType.js +13 -5
  346. package/types/TSciChart.d.ts +37 -8
  347. package/types/TSciChart3D.d.ts +126 -7
  348. package/types/licensingClasses.d.ts +2 -1
  349. package/types/licensingClasses.js +1 -0
  350. package/utils/MemoryUsageHelper.d.ts +92 -0
  351. package/utils/MemoryUsageHelper.js +221 -0
  352. package/utils/array.d.ts +8 -0
  353. package/utils/array.js +58 -1
  354. package/utils/colorUtil.d.ts +7 -0
  355. package/utils/colorUtil.js +13 -1
  356. package/utils/logger.d.ts +2 -0
  357. package/utils/logger.js +11 -0
  358. package/utils/parseColor.js +19 -4
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.calculateHeatmapTexture = exports.calculateCellCoordinates = exports.calculateOffsets = exports.createColorMap = exports.getCellColor = exports.getColor = exports.getColorDataForTexture = void 0;
13
+ var colorUtil_1 = require("../../../../utils/colorUtil");
14
+ var parseColor_1 = require("../../../../utils/parseColor");
15
+ var getColorDataForTexture = function (params, _colorData, precision) {
16
+ 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;
17
+ // const _colorData = new webAssemblyContext.UIntVector();
18
+ _colorData.resize(textureWidth * textureHeight, 0);
19
+ // const _colorData = Array.from(Array(textureWidth * textureHeight));
20
+ var yOffsetInd = 0;
21
+ var yCellEnd = vertCellOffsets[yOffsetInd];
22
+ var cachedColors = new Array(horCellCount);
23
+ var hasCachedColors = false;
24
+ var xCellIndex = xStartInd;
25
+ var yCellIndex = yStartInd;
26
+ var color;
27
+ for (var y = 0; y < textureHeight; y++) {
28
+ var xOffsetInd = 0;
29
+ var xCellEnd = horCellOffsets[xOffsetInd];
30
+ if (y > yCellEnd) {
31
+ // New cell - need to refill the cache
32
+ hasCachedColors = false;
33
+ // Get the end coord of the next cell and a color for it
34
+ yOffsetInd++;
35
+ yCellEnd = vertCellOffsets[yOffsetInd];
36
+ // If yCellEnd falls inside a pixel, reiterate and get the next color
37
+ var yDiff = y - yCellEnd;
38
+ if (yDiff > Number.EPSILON && Math.floor(yCellEnd) + 1 === y) {
39
+ y--;
40
+ continue;
41
+ }
42
+ }
43
+ if (hasCachedColors) {
44
+ // Get color cached on previous iteration
45
+ color = cachedColors[xOffsetInd];
46
+ }
47
+ else {
48
+ xCellIndex = xStartInd + xOffsetInd * xInc;
49
+ yCellIndex = yStartInd + yOffsetInd * yInc;
50
+ color = (0, exports.getColor)(yCellIndex, xCellIndex, colorMap, opacity, zValues, webAssemblyContext, colorMin, colorMax, arrayWidth, arrayHeight, fillValuesOutOfRange, precision);
51
+ // New cell - refill the cache
52
+ cachedColors[xOffsetInd] = color;
53
+ }
54
+ for (var x = 0; x < textureWidth; x++) {
55
+ if (x > xCellEnd) {
56
+ // Get the end coord of the next cell and a color for it
57
+ xOffsetInd++;
58
+ xCellEnd = horCellOffsets[xOffsetInd];
59
+ // If xCellEnd falls inside a pixel, reiterate and get the next color
60
+ var xDiff = x - xCellEnd;
61
+ if (xDiff > Number.EPSILON && Math.floor(xCellEnd) + 1 === x) {
62
+ x--;
63
+ continue;
64
+ }
65
+ if (hasCachedColors) {
66
+ // Get color cached on previous iteration
67
+ color = cachedColors[xOffsetInd];
68
+ }
69
+ else {
70
+ xCellIndex = xStartInd + xOffsetInd * xInc;
71
+ color = (0, exports.getColor)(yCellIndex, xCellIndex, colorMap, opacity, zValues, webAssemblyContext, colorMin, colorMax, arrayWidth, arrayHeight, fillValuesOutOfRange, precision);
72
+ cachedColors[xOffsetInd] = color;
73
+ }
74
+ }
75
+ // Fill a texture pixel
76
+ // _colorData[y * textureWidth + x] = color;
77
+ _colorData.set(y * textureWidth + x, color);
78
+ }
79
+ hasCachedColors = true;
80
+ }
81
+ return _colorData;
82
+ };
83
+ exports.getColorDataForTexture = getColorDataForTexture;
84
+ var getColor = function (yIndex, xIndex, colorPalette, opacity,
85
+ // zValues: SCRTDoubleVector,
86
+ zValues, webAssemblyContext, colorMin, colorMax, arrayWidth, arrayHeight, fillValuesOutOfRange, precision) {
87
+ // TODO is this check needed?
88
+ if (yIndex >= arrayHeight || xIndex >= arrayWidth) {
89
+ // transparent
90
+ return 0;
91
+ }
92
+ // const zValue = zValues.get(yIndex * arrayWidth + xIndex);
93
+ var zValue = zValues[yIndex][xIndex];
94
+ var cellColor = (0, exports.getCellColor)(zValue, colorPalette, colorMin, colorMax, fillValuesOutOfRange, webAssemblyContext, precision);
95
+ return (0, colorUtil_1.uintArgbColorMultiplyOpacity)(cellColor, opacity);
96
+ };
97
+ exports.getColor = getColor;
98
+ /** @ignore */
99
+ var getCellColor = function (value, _colorMap, colorMin, colorMax, fillValuesOutOfRange, webAssemblyContext, precision) {
100
+ if (isNaN(value)) {
101
+ // transparent
102
+ return 0;
103
+ }
104
+ // comment from the original C# code
105
+ // TODO move this to DataSeries.GetZAsDoubles(min, max) to avoid it here
106
+ if (fillValuesOutOfRange) {
107
+ // Clip to ColorMap.Min, Max
108
+ value = value < colorMin ? colorMin : value;
109
+ value = value > colorMax ? colorMax : value;
110
+ }
111
+ else if (value < colorMin || value > colorMax) {
112
+ // transparent
113
+ return 0;
114
+ }
115
+ var _scaleFactor = (precision - 1) / Math.abs(colorMax - colorMin);
116
+ var colorMapValue = (value - colorMin) * _scaleFactor;
117
+ // Round to the nearest integer
118
+ var colorIndex = Math.floor(colorMapValue + Math.sign(value) * 0.5);
119
+ colorIndex = webAssemblyContext.NumberUtil.Constrain(colorIndex, 0, _colorMap.length - 1);
120
+ return _colorMap[colorIndex];
121
+ };
122
+ exports.getCellColor = getCellColor;
123
+ // TODO configure precision
124
+ var createColorMap = function (originalGradientStops, precision) {
125
+ var colorMap = Array.from(Array(precision));
126
+ // clone and sort gradient stops
127
+ var gradientStops = __spreadArray([], originalGradientStops, true);
128
+ gradientStops.sort(function (gradientStop, nextGradientStop) {
129
+ if (gradientStop.offset < nextGradientStop.offset) {
130
+ return -1;
131
+ }
132
+ else if (gradientStop.offset > nextGradientStop.offset) {
133
+ return 1;
134
+ }
135
+ else {
136
+ return 0;
137
+ }
138
+ });
139
+ var count = gradientStops.length;
140
+ var first = gradientStops[0].offset;
141
+ var last = gradientStops[gradientStops.length - 1].offset;
142
+ var diff = last - first;
143
+ var change = diff / (precision - 1);
144
+ // let prevColor = ApplyOpacity(gradientStops[0].color, _opacity);
145
+ var prevColor = gradientStops[0].color;
146
+ var prevOffset = gradientStops[0].offset;
147
+ var nextColor = prevColor;
148
+ var nextOffset = prevOffset;
149
+ if (count > 1) {
150
+ // nextColor = ApplyOpacity(gradientStops[1].color, _opacity);
151
+ nextColor = gradientStops[1].color;
152
+ nextOffset = gradientStops[1].offset;
153
+ }
154
+ diff = nextOffset - prevOffset;
155
+ var offsetInd = 0;
156
+ for (var i = 0; i < precision; ++i) {
157
+ var offset = first + i * change;
158
+ if (offset >= nextOffset) {
159
+ offsetInd++;
160
+ prevOffset = nextOffset;
161
+ prevColor = nextColor;
162
+ if (offsetInd + 1 < count) {
163
+ // nextColor = ApplyOpacity(gradientStops[offsetInd + 1].color, _opacity);
164
+ nextColor = gradientStops[offsetInd + 1].color;
165
+ nextOffset = gradientStops[offsetInd + 1].offset;
166
+ }
167
+ diff = nextOffset - prevOffset;
168
+ }
169
+ var color = void 0;
170
+ if (prevColor === nextColor || diff <= Number.EPSILON) {
171
+ color = Number.parseInt((0, parseColor_1.parseColorToHexStringArgb)(nextColor), 16);
172
+ }
173
+ else {
174
+ var coef = (offset - prevOffset) / diff;
175
+ color = getInterpolatedColor(prevColor, nextColor, coef);
176
+ }
177
+ colorMap[i] = color;
178
+ }
179
+ return colorMap;
180
+ };
181
+ exports.createColorMap = createColorMap;
182
+ var getInterpolatedColor = function (htmlColor1, htmlColor2, coef) {
183
+ var color1 = (0, parseColor_1.parseColorToTArgb)(htmlColor1);
184
+ var color2 = (0, parseColor_1.parseColorToTArgb)(htmlColor2);
185
+ var a1 = color1.opacity;
186
+ var a2 = color2.opacity;
187
+ var r1 = color1.red;
188
+ var r2 = color2.red;
189
+ var g1 = color1.green;
190
+ var g2 = color2.green;
191
+ var b1 = color1.blue;
192
+ var b2 = color2.blue;
193
+ var r = r1 + Math.floor((r2 - r1) * coef);
194
+ var g = g1 + Math.floor((g2 - g1) * coef);
195
+ var b = b1 + Math.floor((b2 - b1) * coef);
196
+ var a = a1 + Math.floor((a2 - a1) * coef);
197
+ 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);
198
+ // return (a << 24) | (r << 16) | (g << 8) | b;
199
+ };
200
+ var calculateOffsets = function (heatmapRect, isVerticalChart, xCellSizes, yCellSizes, horStartInd, horCellCount, horInc, vertStartInd, vertCellCount, vertInc, seriesViewRect) {
201
+ // TODO can be optimized - no need to recalculate these offsets at every redraw
202
+ // TODO can be optimized for large heatmaps - skip cells that
203
+ // falls within a single pixel & count them for the iteration in ComputeColorMap()
204
+ // Find heatmap cells positions
205
+ var offsetX = heatmapRect.left < 0 ? -heatmapRect.left : 0;
206
+ var offsetY = heatmapRect.top < 0 ? -heatmapRect.top : 0;
207
+ if (isVerticalChart) {
208
+ // consider that heatmap texture is rotated
209
+ offsetX = heatmapRect.right > seriesViewRect.bottom ? heatmapRect.right - seriesViewRect.bottom : 0;
210
+ }
211
+ // Horizontal offsets == X offsets on texture, vertical offsets == Y offsets on texture
212
+ var horCellOffsets = (0, exports.calculateCellCoordinates)(xCellSizes, heatmapRect.width, horStartInd, horCellCount, horInc, -offsetX);
213
+ var vertCellOffsets = (0, exports.calculateCellCoordinates)(yCellSizes, heatmapRect.height, vertStartInd, vertCellCount, vertInc, -offsetY);
214
+ return { horCellOffsets: horCellOffsets, vertCellOffsets: vertCellOffsets };
215
+ };
216
+ exports.calculateOffsets = calculateOffsets;
217
+ /**
218
+ * Calculates absolute coordinates of the heatmap cells
219
+ * @param inputArr relative cell sizes
220
+ * @param dimension texture size
221
+ * @param startInd
222
+ * @param count
223
+ * @param inc
224
+ * @param offset
225
+ * @returns
226
+ */
227
+ var calculateCellCoordinates = function (inputArr, dimension, startInd, count, inc, offset) {
228
+ // Find a stretch coef
229
+ var sum = 0;
230
+ var ind = startInd;
231
+ for (var i = 0; i < count; i++, ind += inc) {
232
+ sum += inputArr[ind];
233
+ }
234
+ var coef = 1 / sum;
235
+ var offsets = new Array(count);
236
+ var length = offset;
237
+ for (var i = 0; i < count - 1; i++) {
238
+ var index = i * inc + startInd;
239
+ var cellSize = inputArr[index] * coef * dimension;
240
+ length = length + cellSize;
241
+ offsets[i] = length;
242
+ }
243
+ offsets[count - 1] = dimension + offset;
244
+ return offsets;
245
+ };
246
+ exports.calculateCellCoordinates = calculateCellCoordinates;
247
+ var calculateHeatmapTexture = function (colorDataParams, intVector, heatTextureCache, precision) {
248
+ var textureWidth = colorDataParams.textureWidth, textureHeight = colorDataParams.textureHeight, webAssemblyContext = colorDataParams.webAssemblyContext, useInterpolation = colorDataParams.useInterpolation;
249
+ // calculate colors from zValues
250
+ // per pixel colors
251
+ var colorArray = (0, exports.getColorDataForTexture)(colorDataParams, intVector, precision);
252
+ // create and fill texture
253
+ var texture = heatTextureCache.create(textureWidth, textureHeight, webAssemblyContext.eTSRTextureFormat.TSR_TEXTUREFORMAT_A8B8G8R8);
254
+ webAssemblyContext.SCRTSetTextureLinearSamplerEnabled(texture, useInterpolation);
255
+ webAssemblyContext.SCRTFillTextureAbgr(texture, textureWidth, textureHeight, colorArray);
256
+ return texture;
257
+ };
258
+ exports.calculateHeatmapTexture = calculateHeatmapTexture;
@@ -103,7 +103,8 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
103
103
  * @inheritDoc
104
104
  */
105
105
  LineSeriesDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
106
- var _a = this.getProperties(this.parentSeries), stroke = _a.stroke, isDigitalLine = _a.isDigitalLine, lineType = _a.lineType, drawNaNAs = _a.drawNaNAs, containsNaNOverride = _a.containsNaN;
106
+ var _a;
107
+ var _b = this.getProperties(this.parentSeries), stroke = _b.stroke, isDigitalLine = _b.isDigitalLine, lineType = _b.lineType, drawNaNAs = _b.drawNaNAs, containsNaNOverride = _b.containsNaN;
107
108
  var linesPen = (0, Pen2DCache_1.getScrtPenFromCache)(this.linesPenCache);
108
109
  if (!linesPen || !stroke) {
109
110
  return;
@@ -118,6 +119,7 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
118
119
  this.args.digitalYX = lineType === BaseLineRenderableSeries_1.ELineType.DigitalYX;
119
120
  this.args.forceShaderMethod = true;
120
121
  this.args.containsNaN = containsNaN;
122
+ this.args.forceClamp = true;
121
123
  this.args.lineGaps = containsNaN
122
124
  ? drawNaNAs === WebGlRenderContext2D_1.ELineDrawMode.DiscontinuousLine
123
125
  ? this.webAssemblyContext.SCRTLineGapMode.DrawGaps
@@ -125,6 +127,8 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
125
127
  : this.webAssemblyContext.SCRTLineGapMode.Default;
126
128
  this.args.verticalChart = renderPassData.isVerticalChart;
127
129
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
130
+ var _c = this.parentSeries.dataSeries, fifoCapacity = _c.fifoCapacity, fifoSweeping = _c.fifoSweeping, fifoSweepingGap = _c.fifoSweepingGap;
131
+ var fifoStartIndex = pointSeries.fifoStartIndex;
128
132
  var xValues = this.xSelector(pointSeries);
129
133
  var xDrawValues = isCategoryAxis ? pointSeries.indexes : xValues;
130
134
  var yDrawValues = this.ySelector(pointSeries);
@@ -138,7 +142,17 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
138
142
  xDrawValues = spline.xSplineValues;
139
143
  yDrawValues = spline.ySplineValues;
140
144
  }
141
- this.args.count = yDrawValues.size();
145
+ if (!isSplineLineSeries && !pointSeries.resampled && ((_a = renderPassData.indexRange) === null || _a === void 0 ? void 0 : _a.diff) > 0) {
146
+ this.args.count = Math.min(renderPassData.indexRange.diff + 1, yDrawValues.size());
147
+ this.args.startIndex = renderPassData.indexRange.min;
148
+ }
149
+ else {
150
+ this.args.count = yDrawValues.size();
151
+ }
152
+ //console.log(renderPassData.indexRange, yDrawValues.size(), this.args.count);
153
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
154
+ this.args.count = fifoStartIndex;
155
+ }
142
156
  // Stroke paletting per point
143
157
  this.applyStrokePaletting(linesPen);
144
158
  if (this.palettingState.palettedColors) {
@@ -146,6 +160,16 @@ var LineSeriesDrawingProvider = /** @class */ (function (_super) {
146
160
  }
147
161
  var nativeContext = renderContext.getNativeContext();
148
162
  this.drawLines(renderContext, nativeContext, xDrawValues, yDrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args, this.parentSeries.parentSurface.seriesViewRect);
163
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
164
+ this.args.startIndex = Math.min(yDrawValues.size(), fifoStartIndex + fifoSweepingGap);
165
+ this.args.count = Math.max(0, yDrawValues.size() - fifoStartIndex - fifoSweepingGap);
166
+ // const last = this.args.startIndex + this.args.count - 1;
167
+ // console.log(2, this.args.startIndex, this.args.count, last, xDrawValues.size());
168
+ // console.log(xDrawValues.get(last - 2), xDrawValues.get(last - 1), xDrawValues.get(last));
169
+ if (this.args.count > 0) {
170
+ this.drawLines(renderContext, nativeContext, xDrawValues, yDrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args, this.parentSeries.parentSurface.seriesViewRect);
171
+ }
172
+ }
149
173
  };
150
174
  /**
151
175
  * @inheritDoc
@@ -12,6 +12,7 @@ export declare class MountainSeriesDrawingProvider extends BaseSeriesDrawingProv
12
12
  private nativeDrawingProvider;
13
13
  private strokePenCache;
14
14
  private fillBrushCache;
15
+ private args;
15
16
  /**
16
17
  * Creates an instance of the {@link MountainSeriesDrawingProvider}
17
18
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -38,6 +38,8 @@ var MountainSeriesDrawingProvider = /** @class */ (function (_super) {
38
38
  */
39
39
  function MountainSeriesDrawingProvider(webAssemblyContext, parentSeries) {
40
40
  var _this = _super.call(this, webAssemblyContext, parentSeries) || this;
41
+ _this.nativeDrawingProvider = new _this.webAssemblyContext.SCRTMountainSeriesDrawingProvider();
42
+ _this.args = new _this.webAssemblyContext.SCRTMountainDrawingParams();
41
43
  _this.strokePenCache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
42
44
  _this.fillBrushCache = new BrushCache_1.BrushCache(webAssemblyContext);
43
45
  return _this;
@@ -47,6 +49,7 @@ var MountainSeriesDrawingProvider = /** @class */ (function (_super) {
47
49
  */
48
50
  MountainSeriesDrawingProvider.prototype.delete = function () {
49
51
  this.nativeDrawingProvider = (0, Deleter_1.deleteSafe)(this.nativeDrawingProvider);
52
+ this.args = (0, Deleter_1.deleteSafe)(this.args);
50
53
  this.strokePenCache = (0, Deleter_1.deleteSafe)(this.strokePenCache);
51
54
  this.fillBrushCache = (0, Deleter_1.deleteSafe)(this.fillBrushCache);
52
55
  _super.prototype.delete.call(this);
@@ -55,34 +58,36 @@ var MountainSeriesDrawingProvider = /** @class */ (function (_super) {
55
58
  * @inheritDoc
56
59
  */
57
60
  MountainSeriesDrawingProvider.prototype.draw = function (renderContext, renderPassData) {
58
- var _a;
61
+ var _a, _b;
59
62
  var pointSeries = renderPassData.pointSeries;
60
63
  var containsNaN = this.parentSeries.dataSeries.dataDistributionCalculator.containsNaN;
61
- var args = new this.webAssemblyContext.SCRTMountainDrawingParams();
62
- args.forceShaderMethod = true;
63
- args.lineGaps = containsNaN
64
+ this.args.Reset();
65
+ this.args.forceShaderMethod = true;
66
+ this.args.lineGaps = containsNaN
64
67
  ? this.parentSeries.drawNaNAs === WebGlRenderContext2D_1.ELineDrawMode.DiscontinuousLine
65
68
  ? this.webAssemblyContext.SCRTLineGapMode.DrawGaps
66
69
  : this.webAssemblyContext.SCRTLineGapMode.CloseGaps
67
70
  : this.webAssemblyContext.SCRTLineGapMode.Default;
68
- args.verticalChart = renderPassData.isVerticalChart;
69
- args.zeroLineY = this.parentSeries.zeroLineY;
70
- args.isDigitalLine = this.parentSeries.isDigitalLine;
71
+ this.args.verticalChart = renderPassData.isVerticalChart;
72
+ this.args.zeroLineY = this.parentSeries.zeroLineY;
73
+ this.args.isDigitalLine = this.parentSeries.isDigitalLine;
71
74
  var fillBrush = this.createBrush();
72
75
  if (fillBrush) {
73
- args.SetFillBrush(fillBrush);
76
+ this.args.SetFillBrush(fillBrush);
74
77
  }
75
78
  var strokePen = (0, Pen2DCache_1.getScrtPenFromCache)(this.strokePenCache);
76
79
  if (strokePen) {
77
- args.SetLinesPen(strokePen);
80
+ this.args.SetLinesPen(strokePen);
78
81
  }
79
82
  // Paletting per point
80
83
  _super.prototype.applyStrokeFillPaletting.call(this, this.parentSeries.stroke, strokePen, this.parentSeries.fill, fillBrush, this.parentSeries.opacity, true, this.parentSeries.fillLinearGradient !== undefined);
81
84
  var paletteTexture = (_a = this.palettingState.paletteTextureCache) === null || _a === void 0 ? void 0 : _a.value;
82
85
  if (paletteTexture) {
83
- args.SetPalette(paletteTexture);
86
+ this.args.SetPalette(paletteTexture);
84
87
  }
85
- args.isSmoothColors = this.palettingState.gradientPaletting;
88
+ this.args.isSmoothColors = this.palettingState.gradientPaletting;
89
+ var _c = this.parentSeries.dataSeries, fifoCapacity = _c.fifoCapacity, fifoSweeping = _c.fifoSweeping, fifoSweepingGap = _c.fifoSweepingGap;
90
+ var fifoStartIndex = pointSeries.fifoStartIndex;
86
91
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
87
92
  var xValues = pointSeries.xValues;
88
93
  var xDrawValues = isCategoryAxis ? pointSeries.indexes : xValues;
@@ -96,11 +101,26 @@ var MountainSeriesDrawingProvider = /** @class */ (function (_super) {
96
101
  xDrawValues = rs.xSplineValues;
97
102
  yDrawValues = rs.ySplineValues;
98
103
  }
99
- args.count = yDrawValues.size();
104
+ if (!isSplineMountainSeries && !pointSeries.resampled && ((_b = renderPassData.indexRange) === null || _b === void 0 ? void 0 : _b.diff) > 0) {
105
+ this.args.count = Math.min(renderPassData.indexRange.diff + 1, yDrawValues.size());
106
+ this.args.startIndex = renderPassData.indexRange.min;
107
+ }
108
+ else {
109
+ this.args.count = yDrawValues.size();
110
+ }
111
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
112
+ this.args.count = fifoStartIndex;
113
+ }
100
114
  var nativeContext = renderContext.getNativeContext();
101
115
  var viewRect = this.parentSeries.parentSurface.seriesViewRect;
102
- this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yDrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args);
103
- args.delete();
116
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yDrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args);
117
+ if (fifoSweeping && fifoCapacity === this.parentSeries.dataSeries.count()) {
118
+ this.args.startIndex = Math.min(yDrawValues.size(), fifoStartIndex + fifoSweepingGap);
119
+ this.args.count = Math.max(0, yDrawValues.size() - fifoStartIndex - fifoSweepingGap);
120
+ if (this.args.count > 0) {
121
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xDrawValues, yDrawValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, this.args);
122
+ }
123
+ }
104
124
  };
105
125
  /**
106
126
  * @inheritDoc
@@ -131,7 +151,6 @@ var MountainSeriesDrawingProvider = /** @class */ (function (_super) {
131
151
  */
132
152
  MountainSeriesDrawingProvider.prototype.onAttachSeries = function () {
133
153
  _super.prototype.onAttachSeries.call(this);
134
- this.nativeDrawingProvider = new this.webAssemblyContext.SCRTMountainSeriesDrawingProvider();
135
154
  this.createPen();
136
155
  this.createBrush();
137
156
  };