scichart 3.1.346 → 3.2.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/Charting/ChartModifiers/ChartModifierBase.d.ts +15 -1
  2. package/Charting/ChartModifiers/ChartModifierBase.js +65 -7
  3. package/Charting/ChartModifiers/CursorModifier.js +13 -1
  4. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  5. package/Charting/ChartModifiers/LegendModifier.js +8 -6
  6. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
  7. package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
  8. package/Charting/ChartModifiers/RolloverModifier.js +10 -3
  9. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  10. package/Charting/ChartModifiers/SeriesSelectionModifier.js +32 -24
  11. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
  12. package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
  13. package/Charting/Drawing/BaseCache.d.ts +2 -1
  14. package/Charting/Drawing/BaseCache.js +40 -7
  15. package/Charting/Drawing/RenderSurface.d.ts +1 -0
  16. package/Charting/Drawing/RenderSurface.js +5 -1
  17. package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
  18. package/Charting/Drawing/SolidBrushCache.js +23 -3
  19. package/Charting/Drawing/WebGlBrush.d.ts +2 -1
  20. package/Charting/Drawing/WebGlBrush.js +22 -3
  21. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  22. package/Charting/Drawing/WebGlPen.js +23 -4
  23. package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
  24. package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
  25. package/Charting/Model/BaseDataSeries.d.ts +67 -2
  26. package/Charting/Model/BaseDataSeries.js +193 -42
  27. package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
  28. package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
  29. package/Charting/Model/ChartData/SeriesInfo.js +7 -0
  30. package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
  31. package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
  32. package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
  33. package/Charting/Model/DoubleVectorProvider.js +95 -0
  34. package/Charting/Model/HlcDataSeries.d.ts +3 -0
  35. package/Charting/Model/HlcDataSeries.js +44 -15
  36. package/Charting/Model/IDataSeries.d.ts +23 -0
  37. package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
  38. package/Charting/Model/OhlcDataSeries.d.ts +3 -0
  39. package/Charting/Model/OhlcDataSeries.js +56 -24
  40. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
  41. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
  42. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
  43. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
  44. package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
  45. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
  46. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
  47. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
  48. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
  49. package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
  50. package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
  51. package/Charting/Model/XyDataSeries.d.ts +0 -8
  52. package/Charting/Model/XyDataSeries.js +21 -5
  53. package/Charting/Model/XyTextDataSeries.d.ts +2 -0
  54. package/Charting/Model/XyTextDataSeries.js +35 -4
  55. package/Charting/Model/XyyDataSeries.d.ts +2 -0
  56. package/Charting/Model/XyyDataSeries.js +35 -10
  57. package/Charting/Model/XyzDataSeries.d.ts +3 -0
  58. package/Charting/Model/XyzDataSeries.js +36 -10
  59. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
  60. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
  61. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
  62. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
  63. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
  64. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
  65. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
  66. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
  67. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
  68. package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
  69. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
  70. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
  71. package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
  72. package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
  73. package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
  74. package/Charting/Services/SciChartRenderer.js +15 -5
  75. package/Charting/Services/TitleRenderer.d.ts +2 -1
  76. package/Charting/Services/TitleRenderer.js +35 -14
  77. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
  78. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
  79. package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
  80. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +8 -0
  81. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
  82. package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
  83. package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
  84. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
  85. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
  86. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
  87. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  88. package/Charting/Visuals/Annotations/constants.js +1 -0
  89. package/Charting/Visuals/Axis/AxisBase2D.d.ts +20 -5
  90. package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
  91. package/Charting/Visuals/Axis/AxisCore.d.ts +4 -1
  92. package/Charting/Visuals/Axis/AxisCore.js +100 -54
  93. package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
  94. package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
  95. package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
  96. package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
  97. package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
  98. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
  99. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
  100. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
  101. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
  102. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
  103. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
  104. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
  105. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
  106. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
  107. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
  108. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
  109. package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
  110. package/Charting/Visuals/HeatmapLegend.js +33 -12
  111. package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
  112. package/Charting/Visuals/Helpers/NativeObject.js +42 -21
  113. package/Charting/Visuals/Helpers/drawLabel.js +3 -1
  114. package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
  115. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +3 -1
  116. package/Charting/Visuals/Legend/SciChartLegendBase.js +35 -14
  117. package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
  118. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
  119. package/Charting/Visuals/PointMarkers/BasePointMarker.js +72 -19
  120. package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
  121. package/Charting/Visuals/PointMarkers/Constants.js +1 -0
  122. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
  123. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
  124. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
  125. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
  126. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
  127. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
  128. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
  129. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +2 -1
  130. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
  131. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +13 -4
  132. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
  133. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
  134. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
  135. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
  136. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
  137. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
  138. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
  139. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
  140. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
  141. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
  142. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +2 -1
  143. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +62 -33
  144. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
  145. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
  146. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  147. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
  148. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
  149. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
  150. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
  151. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
  152. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
  153. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
  154. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
  155. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
  156. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
  157. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
  158. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
  159. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
  160. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
  161. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
  162. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
  163. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
  164. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
  165. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  166. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
  167. package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
  168. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
  169. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +7 -0
  170. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +7 -0
  171. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +7 -0
  172. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
  173. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
  174. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
  175. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
  176. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
  177. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
  178. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
  179. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +3 -1
  180. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +30 -10
  181. package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
  182. package/Charting/Visuals/SciChartDefaults.js +10 -0
  183. package/Charting/Visuals/SciChartOverview.d.ts +2 -1
  184. package/Charting/Visuals/SciChartOverview.js +28 -8
  185. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +10 -3
  186. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +118 -60
  187. package/Charting/Visuals/SciChartSurface.d.ts +4 -36
  188. package/Charting/Visuals/SciChartSurface.js +48 -61
  189. package/Charting/Visuals/SciChartSurfaceBase.d.ts +99 -13
  190. package/Charting/Visuals/SciChartSurfaceBase.js +155 -32
  191. package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
  192. package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
  193. package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
  194. package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
  195. package/Charting/Visuals/createMaster.d.ts +4 -2
  196. package/Charting/Visuals/createMaster.js +92 -28
  197. package/Charting/Visuals/createSingle.d.ts +0 -2
  198. package/Charting/Visuals/createSingle.js +44 -9
  199. package/Charting/Visuals/licenseManager2D.d.ts +7 -5
  200. package/Charting/Visuals/licenseManager2D.js +105 -53
  201. package/Charting/Visuals/loader.js +3 -1
  202. package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
  203. package/Charting/Visuals/sciChartInitCommon.js +5 -1
  204. package/Charting3D/CameraController.d.ts +1 -1
  205. package/Charting3D/CameraController.js +21 -7
  206. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
  207. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
  208. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
  209. package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
  210. package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
  211. package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
  212. package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +87 -0
  213. package/Charting3D/ChartModifiers/TooltipModifier3D.js +391 -0
  214. package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
  215. package/Charting3D/I3DSurfaceOptions.js +2 -0
  216. package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
  217. package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
  218. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
  219. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
  220. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
  221. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
  222. package/Charting3D/Vector3.d.ts +5 -0
  223. package/Charting3D/Vector3.js +7 -0
  224. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
  225. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
  226. package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +21 -2
  227. package/Charting3D/Visuals/Axis/AxisBase3D.js +48 -18
  228. package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
  229. package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
  230. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
  231. package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
  232. package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
  233. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
  234. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
  235. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
  236. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
  237. package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
  238. package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
  239. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
  240. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +188 -0
  241. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
  242. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
  243. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
  244. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +18 -0
  245. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
  246. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +15 -0
  247. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +16 -1
  248. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +64 -12
  249. package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
  250. package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
  251. package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
  252. package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
  253. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
  254. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
  255. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
  256. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
  257. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
  258. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
  259. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
  260. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
  261. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
  262. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
  263. package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
  264. package/Charting3D/Visuals/RootSceneEntity.js +3 -8
  265. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +2 -0
  266. package/Charting3D/Visuals/SciChart3DRenderer.js +49 -0
  267. package/Charting3D/Visuals/SciChart3DSurface.d.ts +44 -3
  268. package/Charting3D/Visuals/SciChart3DSurface.js +103 -9
  269. package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
  270. package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
  271. package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
  272. package/Charting3D/Visuals/createMaster3d.js +76 -14
  273. package/Charting3D/Visuals/createSingle3d.js +34 -4
  274. package/Charting3D/Visuals/licenseManager3D.js +29 -25
  275. package/Core/BuildStamp.d.ts +1 -1
  276. package/Core/BuildStamp.js +2 -2
  277. package/Core/DeletableEntity.d.ts +28 -0
  278. package/Core/DeletableEntity.js +141 -0
  279. package/Core/Globals.d.ts +11 -0
  280. package/Core/Globals.js +13 -0
  281. package/Core/Guard.d.ts +6 -0
  282. package/Core/Guard.js +10 -0
  283. package/Core/Mouse/MouseManager.d.ts +23 -0
  284. package/Core/Mouse/MouseManager.js +47 -0
  285. package/Core/ObservableArray.d.ts +11 -5
  286. package/Core/ObservableArray.js +25 -6
  287. package/Core/Telemetry.js +4 -6
  288. package/_wasm/scichart.browser.js +1 -1
  289. package/_wasm/scichart2d.data +0 -0
  290. package/_wasm/scichart2d.js +4 -294
  291. package/_wasm/scichart2d.wasm +0 -0
  292. package/_wasm/scichart3d.data +0 -0
  293. package/_wasm/scichart3d.js +4 -294
  294. package/_wasm/scichart3d.wasm +0 -0
  295. package/index.d.ts +43 -2
  296. package/index.js +89 -27
  297. package/index.min.js +1 -1
  298. package/package.json +3 -4
  299. package/types/ChartModifierType.d.ts +2 -0
  300. package/types/ChartModifierType.js +2 -0
  301. package/types/DefaultRenderLayer.d.ts +9 -8
  302. package/types/DefaultRenderLayer.js +9 -8
  303. package/types/NumberArray.d.ts +1 -0
  304. package/types/NumberArray.js +12 -1
  305. package/types/SceneEntityType.d.ts +13 -5
  306. package/types/SceneEntityType.js +13 -5
  307. package/types/TSciChart.d.ts +37 -8
  308. package/types/TSciChart3D.d.ts +126 -7
  309. package/types/licensingClasses.d.ts +2 -1
  310. package/types/licensingClasses.js +1 -0
  311. package/utils/MemoryUsageHelper.d.ts +45 -0
  312. package/utils/MemoryUsageHelper.js +171 -0
  313. package/utils/array.d.ts +8 -0
  314. package/utils/array.js +58 -1
  315. package/utils/logger.d.ts +2 -0
  316. package/utils/logger.js +11 -0
@@ -1,3 +1,4 @@
1
+ import { DeletableEntity } from "../../../Core/DeletableEntity";
1
2
  import { IDeletable } from "../../../Core/IDeletable";
2
3
  import { Rect } from "../../../Core/Rect";
3
4
  import { EAxisAlignment } from "../../../types/AxisAlignment";
@@ -11,7 +12,7 @@ import { LabelProviderBase2D } from "./LabelProvider/LabelProviderBase2D";
11
12
  /**
12
13
  * Draws an axis using our WebGL Rendering engine
13
14
  */
14
- export declare class AxisRenderer implements IDeletable {
15
+ export declare class AxisRenderer extends DeletableEntity implements IDeletable {
15
16
  viewRect: Rect;
16
17
  drawDebug: boolean;
17
18
  textureManager: TextureManager;
@@ -1,4 +1,19 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  var __assign = (this && this.__assign) || function () {
3
18
  __assign = Object.assign || function(t) {
4
19
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -13,11 +28,13 @@ var __assign = (this && this.__assign) || function () {
13
28
  Object.defineProperty(exports, "__esModule", { value: true });
14
29
  exports.layoutLabelsHelper = exports.AxisRenderer = void 0;
15
30
  var app_1 = require("../../../constants/app");
31
+ var DeletableEntity_1 = require("../../../Core/DeletableEntity");
16
32
  var Deleter_1 = require("../../../Core/Deleter");
17
33
  var Rect_1 = require("../../../Core/Rect");
18
34
  var Thickness_1 = require("../../../Core/Thickness");
19
35
  var AxisAlignment_1 = require("../../../types/AxisAlignment");
20
36
  var LabelAlignment_1 = require("../../../types/LabelAlignment");
37
+ var logger_1 = require("../../../utils/logger");
21
38
  var parseColor_1 = require("../../../utils/parseColor");
22
39
  var WebGlRenderContext2D_1 = require("../../Drawing/WebGlRenderContext2D");
23
40
  var createNativeRect_1 = require("../Helpers/createNativeRect");
@@ -28,33 +45,38 @@ var TextureManager_1 = require("../TextureManager/TextureManager");
28
45
  /**
29
46
  * Draws an axis using our WebGL Rendering engine
30
47
  */
31
- var AxisRenderer = /** @class */ (function () {
48
+ var AxisRenderer = /** @class */ (function (_super) {
49
+ __extends(AxisRenderer, _super);
32
50
  /**
33
51
  * Creates an instance of a {@link AxisRenderer}
34
52
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
35
53
  * access to our WebGL2 Engine and WebAssembly numerical methods
36
54
  */
37
55
  function AxisRenderer(webAssemblyContext) {
38
- this.viewRect = Rect_1.Rect.createZero();
39
- this.drawDebug = false;
40
- this.desiredLabelsSize = 0;
41
- this.desiredTicksSize = 0;
42
- this.desiredHeightProperty = 0;
43
- this.desiredWidthProperty = 0;
44
- this.axisThicknessProperty = 0;
45
- this.keepLabelsWithinAxisProperty = true;
46
- this.hideOverlappingLabelsProperty = true;
47
- this.webAssemblyContext = webAssemblyContext;
48
- this.textureManager = new TextureManager_1.TextureManager(webAssemblyContext);
56
+ var _this = _super.call(this) || this;
57
+ _this.viewRect = Rect_1.Rect.createZero();
58
+ _this.drawDebug = false;
59
+ _this.desiredLabelsSize = 0;
60
+ _this.desiredTicksSize = 0;
61
+ _this.desiredHeightProperty = 0;
62
+ _this.desiredWidthProperty = 0;
63
+ _this.axisThicknessProperty = 0;
64
+ _this.keepLabelsWithinAxisProperty = true;
65
+ _this.hideOverlappingLabelsProperty = true;
66
+ _this.webAssemblyContext = webAssemblyContext;
67
+ _this.textureManager = new TextureManager_1.TextureManager(webAssemblyContext);
49
68
  if (!app_1.IS_TEST_ENV) {
50
- this.measureTextCanvas = document.createElement("canvas");
51
- this.measureTextCanvas.width = 1;
52
- this.measureTextCanvas.height = 1;
69
+ _this.measureTextCanvas = document.createElement("canvas");
70
+ _this.measureTextCanvas.width = 1;
71
+ _this.measureTextCanvas.height = 1;
53
72
  }
73
+ return _this;
54
74
  }
55
75
  /** @inheritDoc */
56
76
  AxisRenderer.prototype.delete = function () {
77
+ this.webAssemblyContext = undefined;
57
78
  this.measureTextCanvas = undefined;
79
+ this.parentAxis = undefined;
58
80
  this.textureManager = (0, Deleter_1.deleteSafe)(this.textureManager);
59
81
  };
60
82
  /**
@@ -290,6 +312,7 @@ var AxisRenderer = /** @class */ (function () {
290
312
  }
291
313
  }
292
314
  catch (err) {
315
+ logger_1.Logger.debug(err);
293
316
  // webgl context probably lost. Clear the label cache
294
317
  labelProvider.delete();
295
318
  }
@@ -337,6 +360,7 @@ var AxisRenderer = /** @class */ (function () {
337
360
  }
338
361
  }
339
362
  catch (err) {
363
+ logger_1.Logger.debug(err);
340
364
  // webgl context probably lost. Clear the label cache
341
365
  labelProvider.delete();
342
366
  }
@@ -525,7 +549,7 @@ var AxisRenderer = /** @class */ (function () {
525
549
  brush.delete();
526
550
  };
527
551
  return AxisRenderer;
528
- }());
552
+ }(DeletableEntity_1.DeletableEntity));
529
553
  exports.AxisRenderer = AxisRenderer;
530
554
  /** @ignore */
531
555
  var layoutLabelsHelper = function (keepLabelsWithinAxis, hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates) {
@@ -25,4 +25,5 @@ export declare class AxisTitleRenderer extends TitleRendererBase<TAxisTitleStyle
25
25
  layout(rect: Rect): void;
26
26
  protected getTitleTexture(): import("../TextureManager/TextureManager").TTextureObject;
27
27
  draw(renderContext: WebGlRenderContext2D): void;
28
+ delete(): void;
28
29
  }
@@ -107,6 +107,10 @@ var AxisTitleRenderer = /** @class */ (function (_super) {
107
107
  AxisTitleRenderer.prototype.draw = function (renderContext) {
108
108
  return this.drawInternal(renderContext, this.useNativeText, this.titlePosition);
109
109
  };
110
+ AxisTitleRenderer.prototype.delete = function () {
111
+ this.parentSurface = undefined;
112
+ _super.prototype.delete.call(this);
113
+ };
110
114
  return AxisTitleRenderer;
111
115
  }(TitleRenderer_1.TitleRendererBase));
112
116
  exports.AxisTitleRenderer = AxisTitleRenderer;
@@ -139,8 +139,8 @@ var CategoryAxisBase = /** @class */ (function (_super) {
139
139
  * @inheritDoc
140
140
  */
141
141
  CategoryAxisBase.prototype.delete = function () {
142
- _super.prototype.delete.call(this);
143
142
  this.defaultBaseXValues = (0, Deleter_1.deleteSafe)(this.defaultBaseXValues);
143
+ _super.prototype.delete.call(this);
144
144
  };
145
145
  /**
146
146
  * @inheritDoc
@@ -155,8 +155,8 @@ var CategoryAxisBase = /** @class */ (function (_super) {
155
155
  // For reasons passing understanding, the native Category Coord Calculators operate in reverse to the linear ones
156
156
  // The order is switched so they match the values of shouldFlipCC
157
157
  var coordCalc = this.isXAxis !== this.flippedCoordinates
158
- ? new CategoryCoordinateCalculator_1.CategoryCoordinateCalculator(this.webAssemblyContext2D, size, 0, 0, min, max, this.offset)
159
- : new FlippedCategoryCoordinateCalculator_1.FlippedCategoryCoordinateCalculator(this.webAssemblyContext2D, size, 0, 0, min, max, this.offset);
158
+ ? new CategoryCoordinateCalculator_1.CategoryCoordinateCalculator(this.webAssemblyContext2D, size, min, max, this.offset)
159
+ : new FlippedCategoryCoordinateCalculator_1.FlippedCategoryCoordinateCalculator(this.webAssemblyContext2D, size, min, max, this.offset);
160
160
  this.setBaseXValues(coordCalc, renderableSeries);
161
161
  return coordCalc;
162
162
  };
@@ -221,7 +221,7 @@ var CategoryAxisBase = /** @class */ (function (_super) {
221
221
  }
222
222
  else {
223
223
  // Not stacked renderable series
224
- if (!(renderableSeries === null || renderableSeries === void 0 ? void 0 : renderableSeries.dataSeries)) {
224
+ if (!(renderableSeries === null || renderableSeries === void 0 ? void 0 : renderableSeries.dataSeries) || renderableSeries.dataSeries.count() < 10) {
225
225
  if (!coordCalc.baseXValues)
226
226
  coordCalc.baseXValues = this.generateDefaultXValuesForCategoryAxis();
227
227
  return;
@@ -98,21 +98,26 @@ var DateTimeDeltaCalculator = /** @class */ (function (_super) {
98
98
  var _this = this;
99
99
  var diff = max - min;
100
100
  this.prevIndex = undefined;
101
- var calculateDelta = function (deltas, index) {
102
- var _a;
103
- var delta = deltas[index];
101
+ var calculateDelta = function (index) {
102
+ var _a, _b;
103
+ var delta = _this.possibleDeltasProperty[index];
104
104
  var ticksCount = Math.floor(diff / delta);
105
- if (ticksCount < ((_a = _this.minTicks) !== null && _a !== void 0 ? _a : maxTicks / 3) && index > 0 && index !== _this.prevIndex) {
105
+ if (ticksCount < ((_a = _this.minTicks) !== null && _a !== void 0 ? _a : maxTicks / 3) && index === 0 && index !== _this.prevIndex) {
106
106
  if (!_this.prevIndex)
107
107
  _this.prevIndex = index;
108
- return calculateDelta(deltas, index - 1);
108
+ return _super.prototype.getDeltaFromRange.call(_this, min, max, minorsPerMajor, maxTicks).max;
109
109
  }
110
- if (ticksCount > maxTicks && index < deltas.length - 1 && index !== _this.prevIndex) {
110
+ if (ticksCount < ((_b = _this.minTicks) !== null && _b !== void 0 ? _b : maxTicks / 3) && index > 0 && index !== _this.prevIndex) {
111
111
  if (!_this.prevIndex)
112
112
  _this.prevIndex = index;
113
- return calculateDelta(deltas, index + 1);
113
+ return calculateDelta(index - 1);
114
114
  }
115
- else if (ticksCount > maxTicks && index === deltas.length - 1) {
115
+ if (ticksCount > maxTicks && index < _this.possibleDeltasProperty.length - 1 && index !== _this.prevIndex) {
116
+ if (!_this.prevIndex)
117
+ _this.prevIndex = index;
118
+ return calculateDelta(index + 1);
119
+ }
120
+ else if (ticksCount > maxTicks && index === _this.possibleDeltasProperty.length - 1) {
116
121
  var yearDelta = _super.prototype.getDeltaFromRange.call(_this, min / delta, max / delta, minorsPerMajor, maxTicks);
117
122
  return yearDelta.max * delta;
118
123
  }
@@ -123,7 +128,7 @@ var DateTimeDeltaCalculator = /** @class */ (function (_super) {
123
128
  return delta;
124
129
  }
125
130
  };
126
- var delta = calculateDelta(this.possibleDeltasProperty, this.currIndex);
131
+ var delta = calculateDelta(this.currIndex);
127
132
  return new NumberRange_1.NumberRange(delta / minorsPerMajor, delta);
128
133
  };
129
134
  return DateTimeDeltaCalculator;
@@ -19,6 +19,11 @@ export declare abstract class DeltaCalculator {
19
19
  * @param axis The Axis we are attached to.
20
20
  */
21
21
  attachedToAxis(axis: AxisCore): void;
22
+ /**
23
+ * Called when the {@link DeltaCalculator} is detached from {@link AxisCore | Axis}
24
+ * @param axis The Axis we are attached to.
25
+ */
26
+ detachedFromAxis(): void;
22
27
  /**
23
28
  * Gets a Delta from a visiblerange and with the provided properties
24
29
  * @param min the {@link AxisCore.visibleRange} minimum
@@ -20,6 +20,13 @@ var DeltaCalculator = /** @class */ (function () {
20
20
  DeltaCalculator.prototype.attachedToAxis = function (axis) {
21
21
  this.parentAxis = axis;
22
22
  };
23
+ /**
24
+ * Called when the {@link DeltaCalculator} is detached from {@link AxisCore | Axis}
25
+ * @param axis The Axis we are attached to.
26
+ */
27
+ DeltaCalculator.prototype.detachedFromAxis = function () {
28
+ this.parentAxis = undefined;
29
+ };
23
30
  return DeltaCalculator;
24
31
  }());
25
32
  exports.DeltaCalculator = DeltaCalculator;
@@ -1,5 +1,5 @@
1
- import { TTextStyle } from "../AxisCore";
2
- import { LabelInfo } from "./LabelProviderBase2D";
1
+ import type { TTextStyle } from "../AxisCore";
2
+ import type { LabelInfo } from "./LabelProviderBase2D";
3
3
  export declare type TCachedLabelStyle = TTextStyle & {
4
4
  providerId: string;
5
5
  rotation?: number;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.labelCache = void 0;
4
4
  var Deleter_1 = require("../../../../Core/Deleter");
5
+ var logger_1 = require("../../../../utils/logger");
5
6
  var labelCacheByTextAndStyle = new Map();
6
7
  var styleCache = {};
7
8
  var lastStyleId = 0;
@@ -69,8 +70,14 @@ var clearCacheByStyle = function (styleId) {
69
70
  var _b = parseCacheKey(keyStr), text = _b.text, keyStyleId = _b.styleId;
70
71
  if (keyStyleId === styleId) {
71
72
  var label = labelCacheByTextAndStyle.get(keyStr);
72
- (0, Deleter_1.deleteSafe)(label.bitmapTexture);
73
73
  labelCacheByTextAndStyle.delete(keyStr);
74
+ try {
75
+ (0, Deleter_1.deleteSafe)(label.bitmapTexture);
76
+ }
77
+ catch (error) {
78
+ // WasmContext is probably disposed
79
+ logger_1.Logger.debug(error);
80
+ }
74
81
  }
75
82
  }
76
83
  };
@@ -1,3 +1,4 @@
1
+ import { DeletableEntity } from "../../../../Core/DeletableEntity";
1
2
  import { ELabelProviderType } from "../../../../types/LabelProviderType";
2
3
  import { ENumericFormat } from "../../../../types/NumericFormat";
3
4
  import { AxisCore } from "../AxisCore";
@@ -18,7 +19,7 @@ export declare type TFormatLabelFn = (dataValue: number) => string;
18
19
  /**
19
20
  * @summary A base class for Label Providers - types which allow programmatic overriding of Axis labels
20
21
  */
21
- export declare abstract class LabelProvider {
22
+ export declare abstract class LabelProvider extends DeletableEntity {
22
23
  abstract readonly type: ELabelProviderType | string;
23
24
  /**
24
25
  * The parent {@link AxisCore}. This will be set once {@link attachedToAxis} is called
@@ -41,6 +42,11 @@ export declare abstract class LabelProvider {
41
42
  * @param axis The Axis we are attached to.
42
43
  */
43
44
  attachedToAxis(axis: AxisCore): void;
45
+ /**
46
+ * Called when the {@link LabelProvider} is detached from an {@link AxisCore | Axis}
47
+ * @param axis The Axis we are attached to.
48
+ */
49
+ detachedFromAxis(): void;
44
50
  /**
45
51
  * Called once when an axis drawing pass begins. Use this method to do one-time setup
46
52
  */
@@ -1,20 +1,39 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
18
  exports.LabelProvider = void 0;
19
+ var DeletableEntity_1 = require("../../../../Core/DeletableEntity");
4
20
  /**
5
21
  * @summary A base class for Label Providers - types which allow programmatic overriding of Axis labels
6
22
  */
7
- var LabelProvider = /** @class */ (function () {
23
+ var LabelProvider = /** @class */ (function (_super) {
24
+ __extends(LabelProvider, _super);
8
25
  /**
9
26
  *
10
27
  */
11
28
  function LabelProvider(options) {
12
- this.numericFormatProperty = options === null || options === void 0 ? void 0 : options.labelFormat;
13
- this.precisionProperty = options === null || options === void 0 ? void 0 : options.labelPrecision;
14
- this.cursorNumericFormatProperty = options === null || options === void 0 ? void 0 : options.cursorLabelFormat;
15
- this.cursorPrecisionProperty = options === null || options === void 0 ? void 0 : options.cursorLabelPrecision;
16
- this.prefixProperty = options === null || options === void 0 ? void 0 : options.labelPrefix;
17
- this.postfixProperty = options === null || options === void 0 ? void 0 : options.labelPostfix;
29
+ var _this = _super.call(this) || this;
30
+ _this.numericFormatProperty = options === null || options === void 0 ? void 0 : options.labelFormat;
31
+ _this.precisionProperty = options === null || options === void 0 ? void 0 : options.labelPrecision;
32
+ _this.cursorNumericFormatProperty = options === null || options === void 0 ? void 0 : options.cursorLabelFormat;
33
+ _this.cursorPrecisionProperty = options === null || options === void 0 ? void 0 : options.cursorLabelPrecision;
34
+ _this.prefixProperty = options === null || options === void 0 ? void 0 : options.labelPrefix;
35
+ _this.postfixProperty = options === null || options === void 0 ? void 0 : options.labelPostfix;
36
+ return _this;
18
37
  }
19
38
  /**
20
39
  * Called when the {@link LabelProvider} is attached to an {@link AxisCore | Axis}
@@ -23,6 +42,13 @@ var LabelProvider = /** @class */ (function () {
23
42
  LabelProvider.prototype.attachedToAxis = function (axis) {
24
43
  this.parentAxis = axis;
25
44
  };
45
+ /**
46
+ * Called when the {@link LabelProvider} is detached from an {@link AxisCore | Axis}
47
+ * @param axis The Axis we are attached to.
48
+ */
49
+ LabelProvider.prototype.detachedFromAxis = function () {
50
+ this.parentAxis = undefined;
51
+ };
26
52
  Object.defineProperty(LabelProvider.prototype, "numericFormat", {
27
53
  /**
28
54
  * Gets or sets numeric format to use. For a list of values, see {@link ENumericFormat}
@@ -163,5 +189,5 @@ var LabelProvider = /** @class */ (function () {
163
189
  }
164
190
  };
165
191
  return LabelProvider;
166
- }());
192
+ }(DeletableEntity_1.DeletableEntity));
167
193
  exports.LabelProvider = LabelProvider;
@@ -1,4 +1,4 @@
1
- import { IDeletable } from "../../../../Core/IDeletable";
1
+ import { ICacheable } from "../../../../Core/ICacheable";
2
2
  import { TSRTexture } from "../../../../types/TSciChart";
3
3
  import { TextureManager, TTextureObject } from "../../TextureManager/TextureManager";
4
4
  import { TTextStyle } from "../AxisCore";
@@ -40,7 +40,7 @@ export interface ILabel2DOptions extends ILabelOptions {
40
40
  /**
41
41
  * The {@link LabelProviderBase2D} provides base functionality for 2D label providers, including caching of label textures
42
42
  */
43
- export declare abstract class LabelProviderBase2D extends LabelProvider implements IDeletable {
43
+ export declare abstract class LabelProviderBase2D extends LabelProvider implements ICacheable {
44
44
  useCache: boolean;
45
45
  /** Whether to use cached labels from other axes that have the same style.
46
46
  * You may need to set this false if you are overriding getLabelTexture without setting a unique style.
@@ -137,6 +137,8 @@ export declare abstract class LabelProviderBase2D extends LabelProvider implemen
137
137
  */
138
138
  getLabelTexture(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): TTextureObject;
139
139
  getNativeLabelInfo(labelText: string): LabelInfo;
140
+ invalidateCache(): void;
141
+ resetCache(): void;
140
142
  delete(): void;
141
143
  toJSON(): {
142
144
  type: string;
@@ -156,7 +156,7 @@ var LabelProviderBase2D = /** @class */ (function (_super) {
156
156
  this.styleId = LabelCache_1.labelCache.getStyleId(this.getCachedStyle());
157
157
  }
158
158
  else if (!LabelCache_1.labelCache.checkStyle(this.styleId, this.getCachedStyle())) {
159
- this.delete();
159
+ this.resetCache();
160
160
  this.styleId = LabelCache_1.labelCache.getStyleId(this.getCachedStyle());
161
161
  }
162
162
  }
@@ -362,13 +362,19 @@ var LabelProviderBase2D = /** @class */ (function (_super) {
362
362
  LabelProviderBase2D.prototype.getNativeLabelInfo = function (labelText) {
363
363
  return LabelCache_1.labelCache.getLabel(labelText, this.styleId);
364
364
  };
365
- LabelProviderBase2D.prototype.delete = function () {
365
+ LabelProviderBase2D.prototype.invalidateCache = function () {
366
366
  if (this.styleId) {
367
367
  LabelCache_1.labelCache.freeStyle(this.styleId);
368
368
  }
369
369
  this.tickToText.clear();
370
370
  this.styleId = null;
371
371
  };
372
+ LabelProviderBase2D.prototype.resetCache = function () {
373
+ this.invalidateCache();
374
+ };
375
+ LabelProviderBase2D.prototype.delete = function () {
376
+ this.resetCache();
377
+ };
372
378
  LabelProviderBase2D.prototype.toJSON = function () {
373
379
  var json = _super.prototype.toJSON.call(this);
374
380
  var options = {
@@ -14,6 +14,7 @@ export declare class PieLabelProvider extends LabelProvider {
14
14
  */
15
15
  protected parentSurface: SciChartPieSurface;
16
16
  constructor(options?: ILabelOptions);
17
+ delete(): void;
17
18
  /**
18
19
  * Get the text to be used as the segmet label. This picks the raw value, or percentage depending on the chart's valueMode
19
20
  * then formats it using the {@link formatLabel} function.
@@ -50,6 +50,7 @@ var PieLabelProvider = /** @class */ (function (_super) {
50
50
  };
51
51
  return _this;
52
52
  }
53
+ PieLabelProvider.prototype.delete = function () { };
53
54
  /**
54
55
  * Get the text to be used as the segmet label. This picks the raw value, or percentage depending on the chart's valueMode
55
56
  * then formats it using the {@link formatLabel} function.
@@ -6,6 +6,7 @@ import { IThemePartial, IThemeProvider } from "../Themes/IThemeProvider";
6
6
  import { IAxisBase2dOptions } from "./Axis/AxisBase2D";
7
7
  import { HeatmapColorMap, IHeatmapColorMapOptions } from "./RenderableSeries/HeatmapColorMap";
8
8
  import { SciChartSurface, TWebAssemblyChart } from "./SciChartSurface";
9
+ import { DeletableEntity } from "../../Core/DeletableEntity";
9
10
  export interface IHeatmapLegendOptions {
10
11
  /**
11
12
  * Optional - options applied to the yaxis used in the inner {@link SciChartSurface} in the {@link HeatmapLegend} control
@@ -38,7 +39,7 @@ export declare type THeatmapLegend = {
38
39
  * @remarks This control will expand to fit its parent Div. Suggest placing the div to the right and floating 100px wide to
39
40
  * create a good effect.
40
41
  */
41
- export declare class HeatmapLegend implements IDeletable {
42
+ export declare class HeatmapLegend extends DeletableEntity implements IDeletable {
42
43
  /**
43
44
  * Asynchronously creates a {@link HeatmapLegend} and @link TSciChart | WebAssembly Context} to occupy the div by element ID in your DOM.
44
45
  * @remarks This method is async and must be awaited
@@ -47,7 +48,7 @@ export declare class HeatmapLegend implements IDeletable {
47
48
  */
48
49
  static create(divElement: string | HTMLDivElement, options?: IHeatmapLegendOptions): Promise<THeatmapLegend>;
49
50
  private readonly SIZE;
50
- private readonly wasmContext;
51
+ private wasmContext;
51
52
  private sciChartSurface;
52
53
  /**
53
54
  * Creates a new HeatmapLegend wrapping a SciChartSurface. Use the {@link HeatmapLegend.create()} function to create this asynchronously
@@ -1,4 +1,19 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  var __assign = (this && this.__assign) || function () {
3
18
  __assign = Object.assign || function(t) {
4
19
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -57,6 +72,7 @@ var HeatmapColorMap_1 = require("./RenderableSeries/HeatmapColorMap");
57
72
  var UniformHeatmapRenderableSeries_1 = require("./RenderableSeries/UniformHeatmapRenderableSeries");
58
73
  var SciChartSurface_1 = require("./SciChartSurface");
59
74
  var Deleter_1 = require("../../Core/Deleter");
75
+ var DeletableEntity_1 = require("../../Core/DeletableEntity");
60
76
  /**
61
77
  * @summary The HeatmapLegend displays a control which hosts a {@link SciChartSurface} in a specific Div on the chart.
62
78
  * The legend contains a gradient fill and can be used in conjunction with {@link UniformHeatmapRenderableSeries},
@@ -65,35 +81,38 @@ var Deleter_1 = require("../../Core/Deleter");
65
81
  * @remarks This control will expand to fit its parent Div. Suggest placing the div to the right and floating 100px wide to
66
82
  * create a good effect.
67
83
  */
68
- var HeatmapLegend = /** @class */ (function () {
84
+ var HeatmapLegend = /** @class */ (function (_super) {
85
+ __extends(HeatmapLegend, _super);
69
86
  /**
70
87
  * Creates a new HeatmapLegend wrapping a SciChartSurface. Use the {@link HeatmapLegend.create()} function to create this asynchronously
71
88
  * @param sciChartSurface
72
89
  * @param options
73
90
  */
74
91
  function HeatmapLegend(sciChartSurface, options) {
92
+ var _this = this;
75
93
  var _a, _b, _c, _d, _e, _f, _g;
76
- this.SIZE = 100;
94
+ _this = _super.call(this) || this;
95
+ _this.SIZE = 100;
77
96
  Guard_1.Guard.notNull(sciChartSurface, "sciChartSurface");
78
- this.sciChartSurface = sciChartSurface;
79
- this.wasmContext = sciChartSurface.webAssemblyContext2D;
97
+ _this.sciChartSurface = sciChartSurface;
98
+ _this.wasmContext = sciChartSurface.webAssemblyContext2D;
80
99
  var minimum = (_b = (_a = options === null || options === void 0 ? void 0 : options.colorMap) === null || _a === void 0 ? void 0 : _a.minimum) !== null && _b !== void 0 ? _b : 0;
81
100
  var maximum = (_d = (_c = options === null || options === void 0 ? void 0 : options.colorMap) === null || _c === void 0 ? void 0 : _c.maximum) !== null && _d !== void 0 ? _d : 100;
82
- var gradientStops = (_f = (_e = options === null || options === void 0 ? void 0 : options.colorMap) === null || _e === void 0 ? void 0 : _e.gradientStops) !== null && _f !== void 0 ? _f : this.getDefaultGradientStops();
101
+ var gradientStops = (_f = (_e = options === null || options === void 0 ? void 0 : options.colorMap) === null || _e === void 0 ? void 0 : _e.gradientStops) !== null && _f !== void 0 ? _f : _this.getDefaultGradientStops();
83
102
  // Add an XAxis and YAxis. Ensure properties are set via options
84
- sciChartSurface.xAxes.add(new NumericAxis_1.NumericAxis(this.wasmContext, __assign({}, this.getDefaultXAxisOptions())));
85
- sciChartSurface.yAxes.add(new NumericAxis_1.NumericAxis(this.wasmContext, __assign(__assign(__assign({}, this.getDefaultYAxisOptions()), options === null || options === void 0 ? void 0 : options.yAxisOptions), { visibleRange: new NumberRange_1.NumberRange(minimum, maximum) })));
103
+ sciChartSurface.xAxes.add(new NumericAxis_1.NumericAxis(_this.wasmContext, __assign({}, _this.getDefaultXAxisOptions())));
104
+ sciChartSurface.yAxes.add(new NumericAxis_1.NumericAxis(_this.wasmContext, __assign(__assign(__assign({}, _this.getDefaultYAxisOptions()), options === null || options === void 0 ? void 0 : options.yAxisOptions), { visibleRange: new NumberRange_1.NumberRange(minimum, maximum) })));
86
105
  // Create a 1D array of size 100, 1. This will be filled with values from 0...99 which will
87
106
  // be mapped to colours according to the colorMap below.
88
- var zValues = this.getZValues(minimum, maximum);
107
+ var zValues = _this.getZValues(minimum, maximum);
89
108
  // Add a heatmap with 1D data. This contains a 1x100 array of values equal to 0...99.
90
109
  // the values are mapped ot a colormap with the same gradient stops as the 3d chart. result is a 3d chart heat legend
91
- sciChartSurface.renderableSeries.add(new UniformHeatmapRenderableSeries_1.UniformHeatmapRenderableSeries(this.wasmContext, {
92
- dataSeries: new UniformHeatmapDataSeries_1.UniformHeatmapDataSeries(this.wasmContext, {
110
+ sciChartSurface.renderableSeries.add(new UniformHeatmapRenderableSeries_1.UniformHeatmapRenderableSeries(_this.wasmContext, {
111
+ dataSeries: new UniformHeatmapDataSeries_1.UniformHeatmapDataSeries(_this.wasmContext, {
93
112
  xStart: 0,
94
113
  xStep: 1,
95
114
  yStart: minimum,
96
- yStep: (maximum - minimum) / this.SIZE,
115
+ yStep: (maximum - minimum) / _this.SIZE,
97
116
  zValues: zValues
98
117
  }),
99
118
  useLinearTextureFiltering: true,
@@ -103,6 +122,7 @@ var HeatmapLegend = /** @class */ (function () {
103
122
  gradientStops: gradientStops
104
123
  })
105
124
  }));
125
+ return _this;
106
126
  }
107
127
  /**
108
128
  * Asynchronously creates a {@link HeatmapLegend} and @link TSciChart | WebAssembly Context} to occupy the div by element ID in your DOM.
@@ -131,6 +151,7 @@ var HeatmapLegend = /** @class */ (function () {
131
151
  */
132
152
  HeatmapLegend.prototype.delete = function () {
133
153
  this.sciChartSurface = (0, Deleter_1.deleteSafe)(this.sciChartSurface);
154
+ this.wasmContext = undefined;
134
155
  };
135
156
  Object.defineProperty(HeatmapLegend.prototype, "innerSciChartSurface", {
136
157
  /**
@@ -188,5 +209,5 @@ var HeatmapLegend = /** @class */ (function () {
188
209
  return legendHeatmapData;
189
210
  };
190
211
  return HeatmapLegend;
191
- }());
212
+ }(DeletableEntity_1.DeletableEntity));
192
213
  exports.HeatmapLegend = HeatmapLegend;
@@ -1,12 +1,15 @@
1
+ import { DeletableEntity } from "../../../Core/DeletableEntity";
1
2
  import { IDeletable } from "../../../Core/IDeletable";
2
3
  import { SCRTColorVertex, SCRTFontKey, SCRTRectVertex, TSciChart, TSRTextBounds, TSRVector4, VectorColorVertex, VectorRectVertex } from "../../../types/TSciChart";
4
+ import { TSciChart3D } from "../../../types/TSciChart3D";
3
5
  import { TTextStyle } from "../Axis/AxisCore";
4
- export declare class FontKey implements IDeletable {
6
+ export declare class FontKey extends DeletableEntity implements IDeletable {
5
7
  readonly firstLoadTime: number;
6
8
  readonly nativeKey: SCRTFontKey;
7
9
  constructor(nativeKey: SCRTFontKey);
8
10
  delete(): void;
9
11
  }
12
+ export declare const deleteCache: (wasmContext: TSciChart | TSciChart3D) => void;
10
13
  export declare const freeCache: (wasmContext: TSciChart) => IDeletable;
11
14
  /**
12
15
  * Returns an empty vector of Rectangles
@@ -17,9 +20,9 @@ export declare const freeCache: (wasmContext: TSciChart) => IDeletable;
17
20
  export declare const getVectorRectVertex: (wasmContext: TSciChart, maxSize?: number) => VectorRectVertex;
18
21
  export declare const getVectorColorVertex: (wasmContext: TSciChart, maxSize?: number) => VectorColorVertex;
19
22
  export declare const getVertex: (wasmContext: TSciChart, x: number, y: number, colour?: number) => SCRTColorVertex;
20
- export declare const getTextBounds: (wasmContext: TSciChart) => TSRTextBounds;
23
+ export declare const getTextBounds: (wasmContext: TSciChart | TSciChart3D) => TSRTextBounds;
21
24
  export declare const getNativeRect: (wasmContext: TSciChart, xTopLeft: number, yTopLeft: number, xBottomRight: number, yBottomRight: number) => SCRTRectVertex;
22
- export declare const getVector4: (wasmContext: TSciChart, x: number, y: number, z: number, w: number) => TSRVector4;
25
+ export declare const getVector4: (wasmContext: TSciChart | TSciChart3D, x: number, y: number, z: number, w: number) => TSRVector4;
23
26
  /**
24
27
  * get a fontKey required to aquire a native font
25
28
  * @param webAssemblyContext
@@ -28,5 +31,5 @@ export declare const getVector4: (wasmContext: TSciChart, x: number, y: number,
28
31
  * without disrupting global font rendering
29
32
  * @returns
30
33
  */
31
- export declare const getFontKey: (webAssemblyContext: TSciChart, labelStyle: TTextStyle, advanced?: boolean, transformed?: boolean) => SCRTFontKey;
32
- export declare const getAllFontKeys: (webAssemblyContext: TSciChart) => SCRTFontKey[];
34
+ export declare const getFontKey: (webAssemblyContext: TSciChart | TSciChart3D, labelStyle: TTextStyle, advanced?: boolean, transformed?: boolean) => SCRTFontKey;
35
+ export declare const getAllFontKeys: (webAssemblyContext: TSciChart | TSciChart3D) => SCRTFontKey[];