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
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.sciChartDestinations = exports.createMultichart = void 0;
39
+ exports.initializeChartEngine2D = exports.monitorWebGL = exports.disposeMultiChart = exports.createMultichart = void 0;
40
40
  // @ts-ignore
41
41
  var WasmModule2D = require("../../_wasm/scichart2d");
42
42
  var BuildStamp_1 = require("../../Core/BuildStamp");
@@ -44,9 +44,16 @@ var Guard_1 = require("../../Core/Guard");
44
44
  var WebGlRenderContext2D_1 = require("../Drawing/WebGlRenderContext2D");
45
45
  var licenseManager2D_1 = require("./licenseManager2D");
46
46
  var loader_1 = require("./loader");
47
+ var SciChartDefaults_1 = require("./SciChartDefaults");
47
48
  var sciChartInitCommon_1 = require("./sciChartInitCommon");
48
49
  var SciChartSurface_1 = require("./SciChartSurface");
49
50
  var SciChartSurfaceBase_1 = require("./SciChartSurfaceBase");
51
+ var Globals_1 = require("../../Core/Globals");
52
+ var DeletableEntity_1 = require("../../Core/DeletableEntity");
53
+ var NativeObject_1 = require("./Helpers/NativeObject");
54
+ var LabelCache_1 = require("./Axis/LabelProvider/LabelCache");
55
+ var MemoryUsageHelper_1 = require("../../utils/MemoryUsageHelper");
56
+ var WebGlHelper_1 = require("../../Core/WebGlHelper");
50
57
  // Global variables
51
58
  /** @ignore */
52
59
  var sciChartMaster = {
@@ -58,64 +65,88 @@ var sciChartMaster = {
58
65
  var sciChartMasterPromise;
59
66
  /** @ignore */
60
67
  var createMultichart = function (divElement, options) { return __awaiter(void 0, void 0, void 0, function () {
61
- var canvases, loader, loaderDiv, master, createChildSurface, wasmContext_1, divElementId, sciChartSurface_1, err_1;
68
+ var canvases, loader, loaderDiv, createChildSurface, wasmContext_1, divElementId, sciChartSurface_1, err_1;
62
69
  var _a, _b, _c;
63
70
  return __generator(this, function (_d) {
64
71
  switch (_d.label) {
65
72
  case 0:
66
73
  sciChartInitCommon_1.default.checkChartDivExists(divElement);
67
- canvases = sciChartInitCommon_1.default.initCanvas(divElement, (_a = options === null || options === void 0 ? void 0 : options.widthAspect) !== null && _a !== void 0 ? _a : 0, (_b = options === null || options === void 0 ? void 0 : options.heightAspect) !== null && _b !== void 0 ? _b : 0, sciChartInitCommon_1.default.ECanvasType.canvas2D, options === null || options === void 0 ? void 0 : options.disableAspect);
74
+ canvases = sciChartInitCommon_1.default.initCanvas(divElement, (_a = options === null || options === void 0 ? void 0 : options.widthAspect) !== null && _a !== void 0 ? _a : 0, (_b = options === null || options === void 0 ? void 0 : options.heightAspect) !== null && _b !== void 0 ? _b : 0, sciChartInitCommon_1.default.ECanvasType.canvas2D, options === null || options === void 0 ? void 0 : options.disableAspect, options === null || options === void 0 ? void 0 : options.touchAction);
68
75
  loader = (_c = options === null || options === void 0 ? void 0 : options.loader) !== null && _c !== void 0 ? _c : new loader_1.DefaultSciChartLoader();
69
76
  loaderDiv = loader.addChartLoader(canvases.domDivContainer, options === null || options === void 0 ? void 0 : options.theme);
70
77
  _d.label = 1;
71
78
  case 1:
72
- _d.trys.push([1, 4, , 5]);
73
- if (!(!sciChartMaster.wasmContext || !sciChartMaster.createChildSurface || !sciChartMaster.getChildSurfaces)) return [3 /*break*/, 3];
74
- if (!sciChartMasterPromise) {
75
- sciChartMasterPromise = createMaster();
76
- }
77
- return [4 /*yield*/, sciChartMasterPromise];
79
+ _d.trys.push([1, 3, , 4]);
80
+ return [4 /*yield*/, initializeChartEngine()];
78
81
  case 2:
79
- master = _d.sent();
80
- sciChartMaster.wasmContext = master.wasmContext;
81
- (0, BuildStamp_1.checkBuildStamp)(master.wasmContext);
82
- sciChartMaster.createChildSurface = master.createChildSurface;
83
- sciChartMaster.getChildSurfaces = master.getChildSurfaces;
84
- monitorWebGL(sciChartMaster);
85
- _d.label = 3;
86
- case 3:
82
+ _d.sent();
87
83
  createChildSurface = sciChartMaster.createChildSurface, wasmContext_1 = sciChartMaster.wasmContext;
88
84
  divElementId = canvases.domChartRoot.id;
89
85
  sciChartSurface_1 = createChildSurface(divElementId, canvases, options === null || options === void 0 ? void 0 : options.theme);
90
86
  return [2 /*return*/, new Promise(function (resolve) {
91
87
  setTimeout(function () {
92
88
  loader.removeChartLoader(canvases.domDivContainer, loaderDiv);
89
+ loaderDiv = undefined;
93
90
  resolve({ wasmContext: wasmContext_1, sciChartSurface: sciChartSurface_1 });
94
91
  }, 0);
95
92
  })];
96
- case 4:
93
+ case 3:
97
94
  err_1 = _d.sent();
98
95
  console.error(err_1);
99
96
  // replace with div with error message
100
97
  loader.removeChartLoader(canvases.domDivContainer, loaderDiv);
98
+ loaderDiv = undefined;
101
99
  return [2 /*return*/, Promise.reject(err_1)];
102
- case 5: return [2 /*return*/];
100
+ case 4: return [2 /*return*/];
103
101
  }
104
102
  });
105
103
  }); };
106
104
  exports.createMultichart = createMultichart;
107
105
  /** @ignore */
108
- var monitorWebGL = function (master) {
109
- var wasmContext = sciChartMaster.wasmContext, getChildSurfaces = sciChartMaster.getChildSurfaces;
106
+ var initializeChartEngine = function () { return __awaiter(void 0, void 0, void 0, function () {
107
+ var master;
108
+ return __generator(this, function (_a) {
109
+ switch (_a.label) {
110
+ case 0:
111
+ WebGlHelper_1.WebGlHelper.initialize();
112
+ if (!(!sciChartMaster.wasmContext || !sciChartMaster.createChildSurface || !sciChartMaster.getChildSurfaces)) return [3 /*break*/, 2];
113
+ if (!sciChartMasterPromise) {
114
+ sciChartMasterPromise = createMaster();
115
+ }
116
+ return [4 /*yield*/, sciChartMasterPromise];
117
+ case 1:
118
+ master = _a.sent();
119
+ sciChartMaster.wasmContext = master.wasmContext;
120
+ (0, BuildStamp_1.checkBuildStamp)(master.wasmContext);
121
+ sciChartMaster.createChildSurface = master.createChildSurface;
122
+ sciChartMaster.getChildSurfaces = master.getChildSurfaces;
123
+ (0, exports.monitorWebGL)(master.wasmContext);
124
+ _a.label = 2;
125
+ case 2: return [2 /*return*/];
126
+ }
127
+ });
128
+ }); };
129
+ exports.initializeChartEngine2D = initializeChartEngine;
130
+ var cleanupWasmContext;
131
+ /** @ignore */
132
+ var disposeMultiChart = function () {
133
+ if (cleanupWasmContext) {
134
+ cleanupWasmContext();
135
+ }
136
+ sciChartMaster.createChildSurface = undefined;
137
+ sciChartMaster.getChildSurfaces = undefined;
138
+ sciChartMaster.wasmContext = undefined;
139
+ sciChartMasterPromise = undefined;
140
+ // TODO make sure it works properly in combination with createSingle & 3D
141
+ licenseManager2D_1.licenseManager.clear();
142
+ };
143
+ exports.disposeMultiChart = disposeMultiChart;
144
+ /** @ignore */
145
+ var monitorWebGL = function (wasmContext) {
110
146
  var restoreContext = function () {
111
147
  // restart the engine
112
148
  wasmContext.SCRTInitEngine2D();
113
149
  wasmContext.TSRSetDrawRequestsEnabled(true);
114
- // request redraw
115
- // I'd like to do this, but it results in the surface getting captured by the global context in a way that can't easily be deleted.
116
- // for (const surface of getChildSurfaces()) {
117
- // surface.invalidateElement();
118
- // }
119
150
  };
120
151
  var webGLLostContextEventHandler = function (event) {
121
152
  console.warn("WebGL context lost: ", event.statusMessage);
@@ -124,6 +155,10 @@ var monitorWebGL = function (master) {
124
155
  WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.forEach(function (penCache) {
125
156
  penCache.invalidateCache();
126
157
  });
158
+ // invalidate Labels Cache
159
+ LabelCache_1.labelCache.resetCache();
160
+ // invalidate native object cache
161
+ (0, NativeObject_1.deleteCache)(wasmContext);
127
162
  // stop the engine
128
163
  wasmContext.SCRTShutdownEngine2D();
129
164
  };
@@ -134,8 +169,7 @@ var monitorWebGL = function (master) {
134
169
  wasmContext.canvas.addEventListener("webglcontextlost", webGLLostContextEventHandler, false);
135
170
  wasmContext.canvas.addEventListener("webglcontextrestored", webGLRestoredContextHandler, false);
136
171
  };
137
- /** @ignore */
138
- exports.sciChartDestinations = [];
172
+ exports.monitorWebGL = monitorWebGL;
139
173
  /** @ignore */
140
174
  var createMaster = function () {
141
175
  var createChildSurfaceInner = function (wasmContext, divElementId, canvases, theme) {
@@ -144,7 +178,7 @@ var createMaster = function () {
144
178
  sciChartSurface.applyTheme(theme);
145
179
  var unsub = sciChartInitCommon_1.default.subscribeToResize(canvases.domChartRoot, canvases.aspect, sciChartSurface, canvases.disableAspect);
146
180
  sciChartSurface.addDeletable(unsub);
147
- sciChartSurface.setDestinations(exports.sciChartDestinations);
181
+ sciChartSurface.setDestinations(Globals_1.sciChartDestinations);
148
182
  return sciChartSurface;
149
183
  };
150
184
  var addDestination = function (wasmContext, canvasElementId, sciChartSurface, width, height, chartInitObj) {
@@ -156,7 +190,7 @@ var createMaster = function () {
156
190
  var dest = wasmContext.SCRTSurfaceDestination.implement(newDestination);
157
191
  chartInitObj.AddDestination(dest);
158
192
  chartInitObj.SetFPSCounterEnabled(false);
159
- exports.sciChartDestinations.push({ canvasElementId: canvasElementId, sciChartSurface: sciChartSurface, width: width, height: height });
193
+ Globals_1.sciChartDestinations.push({ canvasElementId: canvasElementId, sciChartSurface: sciChartSurface, width: width, height: height });
160
194
  };
161
195
  return new Promise(function (resolve, reject) {
162
196
  // make sure canvas has event listener for context creation error
@@ -164,24 +198,87 @@ var createMaster = function () {
164
198
  var locateFile = (0, SciChartSurfaceBase_1.getLocateFile)(SciChartSurface_1.sciChartConfig);
165
199
  // @ts-ignore
166
200
  new WasmModule2D({ locateFile: locateFile, noInitialRun: true })
167
- .then(function (wasmContext) {
168
- var getChildSurfaces = function () { return exports.sciChartDestinations.map(function (el) { return el.sciChartSurface; }); };
201
+ .then(function (originalWasmContext, anythingElse) {
202
+ var revocable = (0, DeletableEntity_1.createWasmContextRevocableProxy)(originalWasmContext);
203
+ var wasmContext = revocable.proxy;
204
+ cleanupWasmContext = function () {
205
+ LabelCache_1.labelCache.resetCache();
206
+ // Halt the engine
207
+ wasmContext.TSRRequestExit();
208
+ frameRenderer2D.delete();
209
+ // wasmContext.SCRTGetGlobalSampleChartInterface().GetFrameRenderer().delete();
210
+ wasmContext.SCRTGetGlobalSampleChartInterface().SetFrameRenderer(null);
211
+ wasmContext.SCRTGetGlobalSampleChartInterface().delete();
212
+ wasmContext.SCRTSetGlobalSampleChartInterface(null);
213
+ (0, NativeObject_1.deleteCache)(wasmContext);
214
+ canvasCopyObj.delete();
215
+ wasmContext.SCRTSetGlobalCopyToDestinationInterface(null);
216
+ revocable.revoke();
217
+ revocable = undefined;
218
+ cleanupWasmContext = undefined;
219
+ };
220
+ var frameRenderer2D = new wasmContext.SCRTFrameRenderer2D();
221
+ /// create an object that native side can trigger the copy to from...
222
+ var canvasCopyObj = wasmContext.SCRTCopyToDestinationInterface.implement({
223
+ CopyToDestination: (0, SciChartSurfaceBase_1.copyToCanvas)(SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas, getDestinationById)
224
+ });
225
+ var getChildSurfaces = function () { return Globals_1.sciChartDestinations.map(function (el) { return el.sciChartSurface; }); };
169
226
  // Create of replace child surface
170
227
  var createChildSurface = function (divElementId, canvases, theme) {
171
228
  Guard_1.Guard.notNull(theme, "theme");
172
229
  var canvas2dId = sciChartInitCommon_1.default.getCanvas2dId(divElementId);
173
- var sameIdDestinations = exports.sciChartDestinations.filter(function (el) { return el.canvasElementId === canvas2dId; });
174
- sameIdDestinations.forEach(function (el) { return el.sciChartSurface.delete(false); });
175
- var otherDestinations = exports.sciChartDestinations.filter(function (el) { return el.canvasElementId !== canvas2dId; });
230
+ // TODO check other destinations
231
+ var sameIdDestinations = Globals_1.sciChartDestinations.filter(function (el) { return el.canvasElementId === canvas2dId; });
232
+ try {
233
+ if (process.env.NODE_ENV !== "production") {
234
+ if (MemoryUsageHelper_1.MemoryUsageHelper.isMemoryUsageDebugEnabled && sameIdDestinations.length > 0) {
235
+ console.warn("Trying to create a SciChartSurface on a root element (".concat(divElementId, ") of another surface before it was deleted ! This will automatically delete the previous surface."));
236
+ }
237
+ }
238
+ }
239
+ catch (err) {
240
+ console.warn(err);
241
+ }
242
+ var otherDestinations = Globals_1.sciChartDestinations.filter(function (el) { return el.canvasElementId !== canvas2dId; });
176
243
  chartInitObj.ClearDestinations();
177
- while (exports.sciChartDestinations.length > 0) {
178
- exports.sciChartDestinations.pop();
244
+ while (Globals_1.sciChartDestinations.length > 0) {
245
+ Globals_1.sciChartDestinations.pop();
179
246
  }
180
247
  otherDestinations.forEach(function (el) {
181
248
  return addDestination(wasmContext, el.canvasElementId, el.sciChartSurface, el.width, el.height, chartInitObj);
182
249
  });
183
250
  var sciChartSurface = createChildSurfaceInner(wasmContext, divElementId, canvases, theme);
251
+ sciChartSurface.addDeletable({
252
+ delete: function () {
253
+ if (SciChartSurface_1.SciChartSurface.autoDisposeWasmContext && sciChartSurface.otherSurfaces.length === 0) {
254
+ if (SciChartSurface_1.SciChartSurface.wasmContextDisposeTimeout) {
255
+ setTimeout(function () {
256
+ if (Globals_1.sciChartDestinations.length === 0) {
257
+ SciChartSurface_1.SciChartSurface.disposeSharedWasmContext();
258
+ }
259
+ }, SciChartSurface_1.SciChartSurface.wasmContextDisposeTimeout);
260
+ }
261
+ else {
262
+ SciChartSurface_1.SciChartSurface.disposeSharedWasmContext();
263
+ }
264
+ }
265
+ else {
266
+ try {
267
+ if (process.env.NODE_ENV !== "production") {
268
+ if (MemoryUsageHelper_1.MemoryUsageHelper.isMemoryUsageDebugEnabled &&
269
+ sciChartSurface.otherSurfaces.length === 0) {
270
+ console.warn("SciChartSurface.autoDisposeWasmContext is disabled, thus wasmContext should be disposed explicitly using \"SciChartSurface.disposeSharedWasmContext()\".");
271
+ }
272
+ }
273
+ }
274
+ catch (err) {
275
+ console.warn(err);
276
+ }
277
+ }
278
+ }
279
+ });
184
280
  addDestination(wasmContext, canvas2dId, sciChartSurface, canvases.domCanvas2D.width, canvases.domCanvas2D.height, chartInitObj);
281
+ sameIdDestinations.forEach(function (el) { return el.sciChartSurface.delete(false); });
185
282
  licenseManager2D_1.licenseManager.applyLicense2D(wasmContext, sciChartSurface, false);
186
283
  return sciChartSurface;
187
284
  };
@@ -191,7 +288,7 @@ var createMaster = function () {
191
288
  resolve({ getChildSurfaces: getChildSurfaces, createChildSurface: createChildSurface, wasmContext: wasmContext });
192
289
  },
193
290
  Draw: function (canvasId) {
194
- var dest = exports.sciChartDestinations.find(function (d) { return d.canvasElementId === canvasId; });
291
+ var dest = Globals_1.sciChartDestinations.find(function (d) { return d.canvasElementId === canvasId; });
195
292
  if (dest) {
196
293
  dest.sciChartSurface.renderSurface.onRenderTimeElapsed();
197
294
  }
@@ -204,19 +301,17 @@ var createMaster = function () {
204
301
  }
205
302
  };
206
303
  var chartInitObj = wasmContext.SCRTSampleChartInterface.implement(chartInitializer);
207
- var frameRenderer2D = new wasmContext.SCRTFrameRenderer2D();
208
304
  chartInitObj.SetFrameRenderer(frameRenderer2D);
305
+ // Note: in case of createMaster this property must be set before the first chart created.
306
+ // It will be shared buffer size across all charts
307
+ chartInitObj.SetWasmBufferSizesKb(SciChartDefaults_1.SciChartDefaults.wasmBufferSizesKb);
209
308
  wasmContext.SCRTSetGlobalSampleChartInterface(chartInitObj);
210
- /// create an object that native side can trigger the copy to from...
211
- var canvasCopyObj = wasmContext.SCRTCopyToDestinationInterface.implement({
212
- CopyToDestination: (0, SciChartSurfaceBase_1.copyToCanvas)(SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas, getDestinationById)
213
- });
214
309
  wasmContext.SCRTSetGlobalCopyToDestinationInterface(canvasCopyObj);
215
310
  wasmContext.TSRSetDrawRequestsEnabled(true);
216
311
  // SCJS-1321 fixes cutting 3d chart issue. 3D wasm and vice versa doesn't know about domMasterCanvas width/height
217
312
  // when creating one 3d chart and one 2d chart on the same screen. So we tell the other wasm about existing master canvas size
218
313
  if (SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas) {
219
- wasmContext.TSRSetMainWindowSize(SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.width, SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.height);
314
+ wasmContext.SCRTSetMainWindowSize(SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.width, SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.height);
220
315
  }
221
316
  // @ts-ignore
222
317
  wasmContext.callMain();
@@ -229,5 +324,5 @@ var createMaster = function () {
229
324
  };
230
325
  /** @ignore */
231
326
  var getDestinationById = function (destinationId) {
232
- return exports.sciChartDestinations.find(function (dest) { return dest.canvasElementId === destinationId; });
327
+ return Globals_1.sciChartDestinations.find(function (dest) { return dest.canvasElementId === destinationId; });
233
328
  };
@@ -3,8 +3,6 @@ import { TSciChartSurfaceCanvases } from "../../types/TSciChartSurfaceCanvases";
3
3
  import { IThemeProvider } from "../Themes/IThemeProvider";
4
4
  import { I2DSurfaceOptions } from "./I2DSurfaceOptions";
5
5
  import { TWebAssemblyChart } from "./SciChartSurface";
6
- import { TSciChartDestination } from "./SciChartSurfaceBase";
7
- export declare const sciChartSingleDestinations: TSciChartDestination[];
8
6
  /** @ignore */
9
7
  export declare const createSingleInternal: (divElement: string | HTMLDivElement, options?: I2DSurfaceOptions) => Promise<TWebAssemblyChart>;
10
8
  /** @ignore */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initDrawEngineSingleChart = exports.createSingleInternal = exports.sciChartSingleDestinations = void 0;
3
+ exports.initDrawEngineSingleChart = exports.createSingleInternal = void 0;
4
4
  // @ts-ignore
5
5
  var WasmModule2D = require("../../_wasm/scichart2d");
6
6
  var BuildStamp_1 = require("../../Core/BuildStamp");
@@ -9,17 +9,21 @@ var WebGlHelper_1 = require("../../Core/WebGlHelper");
9
9
  var logger_1 = require("../../utils/logger");
10
10
  var licenseManager2D_1 = require("./licenseManager2D");
11
11
  var loader_1 = require("./loader");
12
+ var SciChartDefaults_1 = require("./SciChartDefaults");
12
13
  var sciChartInitCommon_1 = require("./sciChartInitCommon");
13
14
  var SciChartSurface_1 = require("./SciChartSurface");
14
15
  var SciChartSurfaceBase_1 = require("./SciChartSurfaceBase");
15
16
  var NativeObject_1 = require("./Helpers/NativeObject");
17
+ var DeletableEntity_1 = require("../../Core/DeletableEntity");
18
+ var Globals_1 = require("../../Core/Globals");
19
+ var LabelCache_1 = require("./Axis/LabelProvider/LabelCache");
20
+ var createMaster_1 = require("./createMaster");
16
21
  // Global variables
17
- exports.sciChartSingleDestinations = [];
18
22
  /** @ignore */
19
23
  var createSingleInternal = function (divElement, options) {
20
24
  return new Promise(function (resolve, reject) {
21
25
  var _a;
22
- var canvases = sciChartInitCommon_1.default.initCanvas(divElement, options === null || options === void 0 ? void 0 : options.widthAspect, options === null || options === void 0 ? void 0 : options.heightAspect, undefined, options === null || options === void 0 ? void 0 : options.disableAspect);
26
+ var canvases = sciChartInitCommon_1.default.initCanvas(divElement, options === null || options === void 0 ? void 0 : options.widthAspect, options === null || options === void 0 ? void 0 : options.heightAspect, undefined, options === null || options === void 0 ? void 0 : options.disableAspect, options === null || options === void 0 ? void 0 : options.touchAction);
23
27
  var loader = (_a = options === null || options === void 0 ? void 0 : options.loader) !== null && _a !== void 0 ? _a : new loader_1.DefaultSciChartLoader();
24
28
  var loaderDiv = loader.addChartLoader(canvases.domDivContainer, options === null || options === void 0 ? void 0 : options.theme);
25
29
  var webGLSupport = WebGlHelper_1.WebGlHelper.getWebGlSupport();
@@ -32,10 +36,28 @@ var createSingleInternal = function (divElement, options) {
32
36
  loader.removeChartLoader(canvases.domDivContainer, loaderDiv);
33
37
  // @ts-ignore
34
38
  wasmContext.doNotCaptureKeyboard = true;
35
- (0, exports.initDrawEngineSingleChart)(wasmContext, canvases, resolve, options === null || options === void 0 ? void 0 : options.theme);
39
+ // TODO replace workaround with proper wasmContext references cleanup
40
+ // TODO use revocable only for memory debug
41
+ // if (process.env.NODE_ENV !== "production") {
42
+ var revocable = (0, DeletableEntity_1.createWasmContextRevocableProxy)(wasmContext);
43
+ var customResolve = function (res) {
44
+ res.sciChartSurface.addDeletable({
45
+ delete: function () {
46
+ revocable.revoke();
47
+ revocable = undefined;
48
+ }
49
+ });
50
+ resolve(res);
51
+ };
52
+ (0, exports.initDrawEngineSingleChart)(revocable.proxy, canvases, customResolve, options === null || options === void 0 ? void 0 : options.theme);
53
+ // return;
54
+ // }
55
+ // initDrawEngineSingleChart(wasmContext, canvases, resolve, options?.theme as IThemeProvider);
36
56
  (0, BuildStamp_1.checkBuildStamp)(wasmContext);
57
+ (0, createMaster_1.monitorWebGL)(wasmContext);
37
58
  })
38
- .catch(function () {
59
+ .catch(function (err) {
60
+ logger_1.Logger.debug(err);
39
61
  loader.removeChartLoader(canvases.domDivContainer, loaderDiv);
40
62
  reject("Could not load SciChart WebAssembly module.\n Check your build process and ensure that your scichart2d.wasm, scichart2d.data and scichart2d.js files are from the same version");
41
63
  });
@@ -55,17 +77,30 @@ var initDrawEngineSingleChart = function (wasmContext, canvases, resolve, theme)
55
77
  wasmContext.preRun.push(function () { return (ENV.SDL_EMSCRIPTEN_KEYBOARD_ELEMENT = "#chart_WebGL"); });
56
78
  var scs;
57
79
  wasmContext.canvas = canvases.domCanvasWebGL;
80
+ var frameRenderer2D = new wasmContext.SCRTFrameRenderer2D();
81
+ var webGlCanvasId = canvases.domCanvasWebGL.id;
58
82
  var chartInitializer = {
59
83
  InitializeChart: function () {
60
84
  scs = new SciChartSurface_1.SciChartSurface(wasmContext, { canvases: canvases });
61
85
  scs.applyTheme(theme);
62
- exports.sciChartSingleDestinations.push({
63
- canvasElementId: canvases.domCanvasWebGL.id,
86
+ Globals_1.sciChartSingleDestinations.push({
87
+ canvasElementId: webGlCanvasId,
64
88
  sciChartSurface: scs,
65
89
  width: width,
66
90
  height: height
67
91
  });
68
- scs.setDestinations(exports.sciChartSingleDestinations);
92
+ scs.setDestinations(Globals_1.sciChartSingleDestinations);
93
+ scs.addDeletable({
94
+ delete: function () {
95
+ // Halt the engine
96
+ wasmContext.TSRRequestExit();
97
+ frameRenderer2D.delete();
98
+ wasmContext.SCRTGetGlobalSampleChartInterface().SetFrameRenderer(null);
99
+ wasmContext.SCRTGetGlobalSampleChartInterface().delete();
100
+ wasmContext.SCRTSetGlobalSampleChartInterface(null);
101
+ LabelCache_1.labelCache.resetCache();
102
+ }
103
+ });
69
104
  setTimeout(function () {
70
105
  scs.invalidateElement();
71
106
  licenseManager2D_1.licenseManager.applyLicense2D(wasmContext, scs, true);
@@ -79,16 +114,16 @@ var initDrawEngineSingleChart = function (wasmContext, canvases, resolve, theme)
79
114
  scs.renderSurface.onRenderTimeElapsed();
80
115
  },
81
116
  Update: function (deltaTime) {
82
- logger_1.Logger.log("sciChartInitCommon.ts Update");
117
+ // Logger.debug("sciChartInitCommon.ts Update");
83
118
  },
84
119
  ShutDownChart: function () {
85
- logger_1.Logger.log("sciChartInitCommon.ts ShutDownChart");
120
+ // Logger.debug("sciChartInitCommon.ts ShutDownChart");
86
121
  }
87
122
  };
88
123
  var chartInitObj = wasmContext.SCRTSampleChartInterface.implement(chartInitializer);
89
- var frameRenderer2D = new wasmContext.SCRTFrameRenderer2D();
90
124
  chartInitObj.SetFrameRenderer(frameRenderer2D);
91
125
  chartInitObj.SetFPSCounterEnabled(false);
126
+ chartInitObj.SetWasmBufferSizesKb(SciChartDefaults_1.SciChartDefaults.wasmBufferSizesKb);
92
127
  wasmContext.SCRTSetGlobalSampleChartInterface(chartInitObj);
93
128
  // @ts-ignore
94
129
  wasmContext.callMain();
@@ -1,12 +1,12 @@
1
1
  import { ILicenseInfo } from "../../types/licensingClasses";
2
2
  import { SCRTLicenseType } from "../../types/TSciChart";
3
- import { SciChartSurfaceBase } from "./SciChartSurfaceBase";
3
+ import { ISciChartSurfaceBase } from "./SciChartSurfaceBase";
4
4
  export declare type TLicenseDependencies = {
5
5
  fetchFromWizard: (url: string) => Promise<Response>;
6
6
  setCookie: (name: string, val: string, validDays: number) => void;
7
7
  getCookie: (name: string) => string;
8
8
  fetchForChallenge: (url: string) => Promise<Response>;
9
- updateLicenseDisplay: (licenseInfo: ILicenseInfo, sciChartSurface: SciChartSurfaceBase, is2D: boolean, applyToOther: boolean) => void;
9
+ updateLicenseDisplay: (licenseInfo: ILicenseInfo, sciChartSurface: ISciChartSurfaceBase, is2D: boolean, applyToOther: boolean) => void;
10
10
  debug: (message: string) => void;
11
11
  };
12
12
  export declare const setDependencies: (dependencies: TLicenseDependencies) => TLicenseDependencies;
@@ -34,7 +34,7 @@ interface ILicenseCookie {
34
34
  lastValidated: Date;
35
35
  }
36
36
  export declare const getLicenseCookie: () => ILicenseCookie;
37
- export declare const applyLicense: (licenseContext: TLicenseContext, sciChartSurface: SciChartSurfaceBase) => void;
37
+ export declare const applyLicense: (licenseContext: TLicenseContext, sciChartSurface: ISciChartSurfaceBase) => void;
38
38
  export declare type TLicenseContext = {
39
39
  SCRTCredentials: {
40
40
  GetLicenseType: () => SCRTLicenseType;
@@ -56,6 +56,7 @@ export declare type TLicenseContext = {
56
56
  SCRTLicenseType: {
57
57
  LICENSE_TYPE_NO_LICENSE: SCRTLicenseType;
58
58
  LICENSE_TYPE_TRIAL: SCRTLicenseType;
59
+ LICENSE_TYPE_COMMUNITY: SCRTLicenseType;
59
60
  LICENSE_TYPE_FULL: SCRTLicenseType;
60
61
  LICENSE_TYPE_FULL_EXPIRED: SCRTLicenseType;
61
62
  LICENSE_TYPE_TRIAL_EXPIRED: SCRTLicenseType;
@@ -66,12 +67,13 @@ export declare type TLicenseContext = {
66
67
  };
67
68
  };
68
69
  export declare const getLicenseInfo: (licenseContext: TLicenseContext) => ILicenseInfo;
69
- export declare const updateLicenseDisplay: (licenseInfo: ILicenseInfo, sciChartSurface: SciChartSurfaceBase, is2D: boolean, applyToOther: boolean) => void;
70
+ export declare const updateLicenseDisplay: (licenseInfo: ILicenseInfo, sciChartSurface: ISciChartSurfaceBase, is2D: boolean, applyToOther: boolean) => void;
70
71
  export declare const licenseManager: {
72
+ clear: () => void;
71
73
  setRuntimeLicenseKey: (value: string) => void;
72
74
  setIsDebugLicensing: (value: boolean) => void;
73
75
  setLicenseCallback: (callback: (queryString: string) => Promise<Response>) => void;
74
76
  setServerLicenseEndpoint: (value: string) => void;
75
- applyLicense2D: (licenseContext: TLicenseContext, sciChartSurface: SciChartSurfaceBase, isSingle: boolean) => void;
77
+ applyLicense2D: (licenseContext: TLicenseContext, sciChartSurface: ISciChartSurfaceBase, isSingle: boolean) => void;
76
78
  };
77
79
  export {};