scichart 3.1.348 → 3.2.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/Charting/ChartModifiers/ChartModifierBase.d.ts +15 -1
  2. package/Charting/ChartModifiers/ChartModifierBase.js +65 -7
  3. package/Charting/ChartModifiers/CursorModifier.js +13 -1
  4. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  5. package/Charting/ChartModifiers/LegendModifier.js +8 -6
  6. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
  7. package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
  8. package/Charting/ChartModifiers/RolloverModifier.js +10 -3
  9. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  10. package/Charting/ChartModifiers/SeriesSelectionModifier.js +32 -24
  11. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
  12. package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
  13. package/Charting/Drawing/BaseCache.d.ts +2 -1
  14. package/Charting/Drawing/BaseCache.js +40 -7
  15. package/Charting/Drawing/RenderSurface.d.ts +1 -0
  16. package/Charting/Drawing/RenderSurface.js +5 -1
  17. package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
  18. package/Charting/Drawing/SolidBrushCache.js +23 -3
  19. package/Charting/Drawing/WebGlBrush.d.ts +2 -1
  20. package/Charting/Drawing/WebGlBrush.js +22 -3
  21. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  22. package/Charting/Drawing/WebGlPen.js +23 -4
  23. package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
  24. package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
  25. package/Charting/Model/BaseDataSeries.d.ts +67 -2
  26. package/Charting/Model/BaseDataSeries.js +193 -42
  27. package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
  28. package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
  29. package/Charting/Model/ChartData/SeriesInfo.js +7 -0
  30. package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
  31. package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
  32. package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
  33. package/Charting/Model/DoubleVectorProvider.js +95 -0
  34. package/Charting/Model/HlcDataSeries.d.ts +3 -0
  35. package/Charting/Model/HlcDataSeries.js +44 -15
  36. package/Charting/Model/IDataSeries.d.ts +23 -0
  37. package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
  38. package/Charting/Model/OhlcDataSeries.d.ts +3 -0
  39. package/Charting/Model/OhlcDataSeries.js +56 -24
  40. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
  41. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
  42. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
  43. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
  44. package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
  45. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
  46. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
  47. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
  48. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
  49. package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
  50. package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
  51. package/Charting/Model/XyDataSeries.d.ts +0 -8
  52. package/Charting/Model/XyDataSeries.js +21 -5
  53. package/Charting/Model/XyTextDataSeries.d.ts +2 -0
  54. package/Charting/Model/XyTextDataSeries.js +35 -4
  55. package/Charting/Model/XyyDataSeries.d.ts +2 -0
  56. package/Charting/Model/XyyDataSeries.js +35 -10
  57. package/Charting/Model/XyzDataSeries.d.ts +3 -0
  58. package/Charting/Model/XyzDataSeries.js +36 -10
  59. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
  60. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
  61. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
  62. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
  63. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
  64. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
  65. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
  66. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
  67. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
  68. package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
  69. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
  70. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
  71. package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
  72. package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
  73. package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
  74. package/Charting/Services/SciChartRenderer.js +15 -5
  75. package/Charting/Services/TitleRenderer.d.ts +2 -1
  76. package/Charting/Services/TitleRenderer.js +35 -14
  77. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
  78. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
  79. package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
  80. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +8 -0
  81. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
  82. package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
  83. package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
  84. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
  85. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
  86. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
  87. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  88. package/Charting/Visuals/Annotations/constants.js +1 -0
  89. package/Charting/Visuals/Axis/AxisBase2D.d.ts +20 -5
  90. package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
  91. package/Charting/Visuals/Axis/AxisCore.d.ts +4 -1
  92. package/Charting/Visuals/Axis/AxisCore.js +100 -54
  93. package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
  94. package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
  95. package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
  96. package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
  97. package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
  98. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
  99. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
  100. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
  101. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
  102. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
  103. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
  104. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
  105. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
  106. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
  107. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
  108. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
  109. package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
  110. package/Charting/Visuals/HeatmapLegend.js +33 -12
  111. package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
  112. package/Charting/Visuals/Helpers/NativeObject.js +42 -21
  113. package/Charting/Visuals/Helpers/drawLabel.js +3 -1
  114. package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
  115. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +3 -1
  116. package/Charting/Visuals/Legend/SciChartLegendBase.js +35 -14
  117. package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
  118. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
  119. package/Charting/Visuals/PointMarkers/BasePointMarker.js +72 -19
  120. package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
  121. package/Charting/Visuals/PointMarkers/Constants.js +1 -0
  122. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
  123. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
  124. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
  125. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
  126. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
  127. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
  128. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
  129. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +2 -1
  130. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
  131. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +13 -4
  132. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
  133. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
  134. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
  135. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
  136. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
  137. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
  138. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
  139. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
  140. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
  141. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
  142. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +2 -1
  143. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +62 -33
  144. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
  145. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
  146. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  147. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
  148. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
  149. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
  150. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
  151. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
  152. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
  153. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
  154. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
  155. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
  156. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
  157. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
  158. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
  159. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
  160. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
  161. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
  162. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
  163. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
  164. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
  165. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  166. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
  167. package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
  168. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
  169. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +7 -0
  170. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +7 -0
  171. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +7 -0
  172. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
  173. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
  174. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
  175. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
  176. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
  177. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
  178. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
  179. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +3 -1
  180. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +30 -10
  181. package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
  182. package/Charting/Visuals/SciChartDefaults.js +10 -0
  183. package/Charting/Visuals/SciChartOverview.d.ts +2 -1
  184. package/Charting/Visuals/SciChartOverview.js +28 -8
  185. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +10 -3
  186. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +118 -60
  187. package/Charting/Visuals/SciChartSurface.d.ts +4 -36
  188. package/Charting/Visuals/SciChartSurface.js +48 -61
  189. package/Charting/Visuals/SciChartSurfaceBase.d.ts +99 -13
  190. package/Charting/Visuals/SciChartSurfaceBase.js +155 -32
  191. package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
  192. package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
  193. package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
  194. package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
  195. package/Charting/Visuals/createMaster.d.ts +4 -2
  196. package/Charting/Visuals/createMaster.js +92 -28
  197. package/Charting/Visuals/createSingle.d.ts +0 -2
  198. package/Charting/Visuals/createSingle.js +44 -9
  199. package/Charting/Visuals/licenseManager2D.d.ts +7 -5
  200. package/Charting/Visuals/licenseManager2D.js +105 -53
  201. package/Charting/Visuals/loader.js +3 -1
  202. package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
  203. package/Charting/Visuals/sciChartInitCommon.js +5 -1
  204. package/Charting3D/CameraController.d.ts +1 -1
  205. package/Charting3D/CameraController.js +21 -7
  206. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
  207. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
  208. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
  209. package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
  210. package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
  211. package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
  212. package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +87 -0
  213. package/Charting3D/ChartModifiers/TooltipModifier3D.js +391 -0
  214. package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
  215. package/Charting3D/I3DSurfaceOptions.js +2 -0
  216. package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
  217. package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
  218. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
  219. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
  220. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
  221. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
  222. package/Charting3D/Vector3.d.ts +5 -0
  223. package/Charting3D/Vector3.js +7 -0
  224. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
  225. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
  226. package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +21 -2
  227. package/Charting3D/Visuals/Axis/AxisBase3D.js +48 -18
  228. package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
  229. package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
  230. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
  231. package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
  232. package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
  233. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
  234. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
  235. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
  236. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
  237. package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
  238. package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
  239. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
  240. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +188 -0
  241. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
  242. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
  243. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
  244. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +18 -0
  245. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
  246. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +15 -0
  247. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +16 -1
  248. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +64 -12
  249. package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
  250. package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
  251. package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
  252. package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
  253. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
  254. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
  255. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
  256. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
  257. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
  258. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
  259. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
  260. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
  261. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
  262. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
  263. package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
  264. package/Charting3D/Visuals/RootSceneEntity.js +3 -8
  265. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +2 -0
  266. package/Charting3D/Visuals/SciChart3DRenderer.js +49 -0
  267. package/Charting3D/Visuals/SciChart3DSurface.d.ts +44 -3
  268. package/Charting3D/Visuals/SciChart3DSurface.js +103 -9
  269. package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
  270. package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
  271. package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
  272. package/Charting3D/Visuals/createMaster3d.js +76 -14
  273. package/Charting3D/Visuals/createSingle3d.js +34 -4
  274. package/Charting3D/Visuals/licenseManager3D.js +29 -25
  275. package/Core/BuildStamp.d.ts +1 -1
  276. package/Core/BuildStamp.js +2 -2
  277. package/Core/DeletableEntity.d.ts +28 -0
  278. package/Core/DeletableEntity.js +141 -0
  279. package/Core/Globals.d.ts +11 -0
  280. package/Core/Globals.js +13 -0
  281. package/Core/Guard.d.ts +6 -0
  282. package/Core/Guard.js +10 -0
  283. package/Core/Mouse/MouseManager.d.ts +23 -0
  284. package/Core/Mouse/MouseManager.js +47 -0
  285. package/Core/Telemetry.js +4 -6
  286. package/_wasm/scichart.browser.js +1 -1
  287. package/_wasm/scichart2d.data +0 -0
  288. package/_wasm/scichart2d.js +4 -294
  289. package/_wasm/scichart2d.wasm +0 -0
  290. package/_wasm/scichart3d.data +0 -0
  291. package/_wasm/scichart3d.js +4 -294
  292. package/_wasm/scichart3d.wasm +0 -0
  293. package/index.d.ts +43 -2
  294. package/index.js +89 -27
  295. package/index.min.js +1 -1
  296. package/package.json +3 -4
  297. package/types/ChartModifierType.d.ts +2 -0
  298. package/types/ChartModifierType.js +2 -0
  299. package/types/DefaultRenderLayer.d.ts +9 -8
  300. package/types/DefaultRenderLayer.js +9 -8
  301. package/types/NumberArray.d.ts +1 -0
  302. package/types/NumberArray.js +12 -1
  303. package/types/SceneEntityType.d.ts +13 -5
  304. package/types/SceneEntityType.js +13 -5
  305. package/types/TSciChart.d.ts +37 -8
  306. package/types/TSciChart3D.d.ts +126 -7
  307. package/types/licensingClasses.d.ts +2 -1
  308. package/types/licensingClasses.js +1 -0
  309. package/utils/MemoryUsageHelper.d.ts +45 -0
  310. package/utils/MemoryUsageHelper.js +171 -0
  311. package/utils/array.d.ts +8 -0
  312. package/utils/array.js +58 -1
  313. package/utils/logger.d.ts +2 -0
  314. package/utils/logger.js +11 -0
@@ -14,6 +14,15 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
+ if (ar || !(i in from)) {
20
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
+ ar[i] = from[i];
22
+ }
23
+ }
24
+ return to.concat(ar || Array.prototype.slice.call(from));
25
+ };
17
26
  Object.defineProperty(exports, "__esModule", { value: true });
18
27
  exports.SeriesSelectionModifier = void 0;
19
28
  var classFactory_1 = require("../../Builder/classFactory");
@@ -171,45 +180,43 @@ var SeriesSelectionModifier = /** @class */ (function (_super) {
171
180
  }
172
181
  // Perform a hit-test on the renderable series
173
182
  var allSeries = this.getAllSeries();
174
- // const hitTestInfos: HitTestInfo[] =
175
- // allSeries.map((rs, index) => {
176
- // return rs.hitTestProvider.hitTestOld(args.mousePoint,
177
- // ENearestPointLogic.NearestPoint2D,
178
- // this.hitTestRadius,
179
- // true);
180
- // });
181
183
  var hitTestInfos = allSeries.map(function (rs) {
182
184
  return rs.hitTestProvider.hitTest(args.mousePoint.x, args.mousePoint.y, _this.hitTestRadius);
183
185
  });
184
186
  try {
185
187
  // Set a flag to prevent re-entrancy
186
188
  this.preventReentrancy = true;
189
+ var prevHovered = __spreadArray([], this.hoveredSeries, true);
187
190
  // Deselect all series
188
191
  this.hoveredSeries = [];
189
192
  if ((hitTestInfos === null || hitTestInfos === void 0 ? void 0 : hitTestInfos.length) > 0) {
190
- // Any series been hit-tested?
191
- // 1. Set the isHovered flag and add to hovered array
192
- hitTestInfos
193
+ // Any series been hit-tested? Get the nearest
194
+ var nearestHitTestInfo_1 = hitTestInfos
193
195
  .filter(function (ht) { return ht.isHit; })
194
- .forEach(function (hoveredSeries) {
195
- // Setting isHovered true will cause series to raise the hoveredChanged event
196
- // This then feeds back into this.hover
197
- hoveredSeries.associatedSeries.isHovered = true;
198
- _this.hoveredSeries.push(hoveredSeries.associatedSeries);
199
- });
196
+ .sort(function (a, b) { return a.getEuclideanDistance() - b.getEuclideanDistance(); })[0];
197
+ // 1. Set the isHovered flag and add to hovered array for the nearest hitTestInfo
198
+ if (nearestHitTestInfo_1) {
199
+ nearestHitTestInfo_1.associatedSeries.isHovered = true;
200
+ this.hoveredSeries.push(nearestHitTestInfo_1.associatedSeries);
201
+ }
200
202
  // 2. Series which were not hovered, set isHovered = false;
201
203
  hitTestInfos
202
- .filter(function (ht) { return !ht.isHit && !ht.isEmpty; })
204
+ .filter(function (ht) { return ht !== nearestHitTestInfo_1; })
203
205
  .forEach(function (unhoveredSeries) {
204
- unhoveredSeries.associatedSeries.isHovered = false;
206
+ if (unhoveredSeries === null || unhoveredSeries === void 0 ? void 0 : unhoveredSeries.associatedSeries) {
207
+ unhoveredSeries.associatedSeries.isHovered = false;
208
+ }
205
209
  });
206
210
  }
207
211
  else {
208
212
  // No series hit-tested, set all as un-hovered
209
213
  allSeries.forEach(function (s) { return (s.isHovered = false); });
210
214
  }
211
- // Raise the selectionChanged event
212
- (_a = this.hoverChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new HoveredChangedArgs_1.HoveredChangedArgs(this, this.hoveredSeries, allSeries));
215
+ // Raise the hoverChanged event if something has changed
216
+ if (prevHovered.length !== this.hoveredSeries.length ||
217
+ prevHovered.some(function (s) { return !_this.hoveredSeries.includes(s); })) {
218
+ (_a = this.hoverChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new HoveredChangedArgs_1.HoveredChangedArgs(this, this.hoveredSeries, allSeries));
219
+ }
213
220
  }
214
221
  finally {
215
222
  this.preventReentrancy = false;
@@ -244,12 +251,13 @@ var SeriesSelectionModifier = /** @class */ (function (_super) {
244
251
  allSeries.forEach(function (rs) { return (rs.isSelected = false); });
245
252
  // Select the first series that has HitTestInfo.isHit = true
246
253
  if ((hitTestInfos === null || hitTestInfos === void 0 ? void 0 : hitTestInfos.length) > 0) {
247
- var selected = hitTestInfos.find(function (ht) { return ht.isHit; });
248
- if (selected) {
254
+ // Any series been hit-tested? Get the nearest
255
+ var nearestHitTestInfo = hitTestInfos.sort(function (a, b) { return a.getEuclideanDistance() - b.getEuclideanDistance(); })[0];
256
+ if (nearestHitTestInfo.isHit) {
249
257
  // Setting isSelected true will cause series to raise the selectionChanged event
250
258
  // This then feeds back into this.select
251
- selected.associatedSeries.isSelected = true;
252
- this.selectedSeries.push(selected.associatedSeries);
259
+ nearestHitTestInfo.associatedSeries.isSelected = true;
260
+ this.selectedSeries.push(nearestHitTestInfo.associatedSeries);
253
261
  }
254
262
  }
255
263
  // Raise the selectionChanged event
@@ -1,36 +1,21 @@
1
1
  import { IIncludeXAxis } from "../../Core/IIncludeXAxis";
2
2
  import { IIncludeYAxis } from "../../Core/IIncludeYAxis";
3
3
  import { EChart2DModifierType } from "../../types/ChartModifierType";
4
- import { AxisBase2D } from "../Visuals/Axis/AxisBase2D";
5
- import { ChartModifierBase2D, IChartModifierBaseOptions } from "./ChartModifierBase2D";
4
+ import { IChartModifierBaseOptions } from "./ChartModifierBase2D";
6
5
  import { ModifierMouseArgs } from "./ModifierMouseArgs";
6
+ import { IPinchZoomModifierOptions, PinchZoomModifier } from "./PinchZoomModifier";
7
7
  /**
8
8
  * Options for passing to the constructor of {@link ChartModifierBase2D} derived types
9
9
  */
10
- export interface IZoomPanModifierOptions extends IChartModifierBaseOptions {
10
+ export interface IZoomPanModifierOptions extends IPinchZoomModifierOptions {
11
11
  /**
12
- * A list of Ids for X axis to exclude from this modifier
13
- * @remarks Also see {@link ZoomPanModifier.includeXAxis} function which allows you to include or exclude an axis by instance
12
+ * Sets whether to enable pinch zoom behavior of {@link SciChartSurface} on touchscreen devices
14
13
  */
15
- excludedXAxisIds?: string[];
16
- /**
17
- * A list of Ids for Y axis to exclude from this modifier
18
- * @remarks Also see {@link ZoomPanModifier.includeYAxis} function which allows you to include or exclude an axis by instance
19
- */
20
- excludedYAxisIds?: string[];
21
- /**
22
- * A list of Ids for X axis to include to this modifier
23
- * @remarks Also see {@link ZoomPanModifier.includeXAxis} function which allows you to include or exclude an axis by instance
24
- */
25
- includedXAxisIds?: string[];
26
- /**
27
- * A list of Ids for Y axis to include this modifier
28
- * @remarks Also see {@link ZoomPanModifier.includeYAxis} function which allows you to include or exclude an axis by instance
29
- */
30
- includedYAxisIds?: string[];
14
+ enableZoom?: boolean;
31
15
  }
32
16
  /**
33
17
  * The ZoomPanModifier provides drag to pan behavior on a 2D {@link SciChartSurface}
18
+ * as well as pinch zoom behavior on touchscreen devices
34
19
  * within SciChart - High Performance {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
35
20
  * @remarks
36
21
  *
@@ -42,15 +27,12 @@ export interface IZoomPanModifierOptions extends IChartModifierBaseOptions {
42
27
  * sciChartSurface.chartModifiers.add(new ZoomPanModifier());
43
28
  * ```
44
29
  */
45
- export declare class ZoomPanModifier extends ChartModifierBase2D implements IIncludeXAxis, IIncludeYAxis {
46
- readonly type = EChart2DModifierType.ZoomPan;
47
- private lastPoint;
48
- private includedXAxisMap;
49
- private includedYAxisMap;
30
+ export declare class ZoomPanModifier extends PinchZoomModifier implements IIncludeXAxis, IIncludeYAxis {
31
+ readonly type: EChart2DModifierType;
50
32
  /**
51
- * Stores info about active pointerdown events
33
+ * Sets whether to enable pinch zoom behavior of {@link SciChartSurface} on touchscreen devices
52
34
  */
53
- private activeTouchEvents;
35
+ enableZoom: boolean;
54
36
  /**
55
37
  * Creates an instance of a ZoomPanModifier
56
38
  * @param options optional parameters to pass to the ZoomPanModifier to configure it upon construction
@@ -64,18 +46,11 @@ export declare class ZoomPanModifier extends ChartModifierBase2D implements IInc
64
46
  modifierMouseUp(args: ModifierMouseArgs): void;
65
47
  /** @inheritDoc */
66
48
  modifierPointerCancel(args: ModifierMouseArgs): void;
67
- /** @inheritDoc */
68
- includeXAxis(axis: AxisBase2D, isIncluded: boolean): void;
69
- /** @inheritDoc */
70
- includeYAxis(axis: AxisBase2D, isIncluded: boolean): void;
71
- /** @inheritDoc */
72
- includeAllAxes(): void;
73
- /** @inheritDoc */
74
- getIncludedXAxis(): AxisBase2D[];
75
- /** @inheritDoc */
76
- getIncludedYAxis(): AxisBase2D[];
77
49
  toJSON(): {
78
50
  type: string;
79
51
  options: Required<Omit<IChartModifierBaseOptions, never>>;
80
52
  };
53
+ protected performModifierAction(args: ModifierMouseArgs): void;
54
+ protected getIsActionAllowed(args: ModifierMouseArgs): boolean;
55
+ private performPan;
81
56
  }
@@ -19,12 +19,12 @@ exports.ZoomPanModifier = void 0;
19
19
  var ChartModifierType_1 = require("../../types/ChartModifierType");
20
20
  var XyDirection_1 = require("../../types/XyDirection");
21
21
  var ZoomState_1 = require("../../types/ZoomState");
22
- var includedAxis_1 = require("../../utils/includedAxis");
23
22
  var translate_1 = require("../../utils/translate");
24
23
  var AxisBase2D_1 = require("../Visuals/Axis/AxisBase2D");
25
- var ChartModifierBase2D_1 = require("./ChartModifierBase2D");
24
+ var PinchZoomModifier_1 = require("./PinchZoomModifier");
26
25
  /**
27
26
  * The ZoomPanModifier provides drag to pan behavior on a 2D {@link SciChartSurface}
27
+ * as well as pinch zoom behavior on touchscreen devices
28
28
  * within SciChart - High Performance {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
29
29
  * @remarks
30
30
  *
@@ -44,148 +44,103 @@ var ZoomPanModifier = /** @class */ (function (_super) {
44
44
  */
45
45
  function ZoomPanModifier(options) {
46
46
  var _this = this;
47
- var _a, _b, _c, _d;
47
+ var _a;
48
48
  _this = _super.call(this, options) || this;
49
- _this.type = ChartModifierType_1.EChart2DModifierType.ZoomPan;
50
- _this.includedXAxisMap = new Map();
51
- _this.includedYAxisMap = new Map();
52
49
  /**
53
- * Stores info about active pointerdown events
50
+ * Sets whether to enable pinch zoom behavior of {@link SciChartSurface} on touchscreen devices
54
51
  */
55
- _this.activeTouchEvents = new Map();
56
- if ((options === null || options === void 0 ? void 0 : options.includedXAxisIds) && (options === null || options === void 0 ? void 0 : options.excludedXAxisIds)) {
57
- throw new Error("You either should use includedXAxisIds or excludedXAxisIds");
58
- }
59
- if ((options === null || options === void 0 ? void 0 : options.includedYAxisIds) && (options === null || options === void 0 ? void 0 : options.excludedYAxisIds)) {
60
- throw new Error("You either should use includedYAxisIds or excludedYAxisIds");
61
- }
62
- (_a = options === null || options === void 0 ? void 0 : options.includedXAxisIds) === null || _a === void 0 ? void 0 : _a.forEach(function (id) {
63
- _this.includedXAxisMap.set(id, true);
64
- });
65
- (_b = options === null || options === void 0 ? void 0 : options.includedYAxisIds) === null || _b === void 0 ? void 0 : _b.forEach(function (id) {
66
- _this.includedYAxisMap.set(id, true);
67
- });
68
- (_c = options === null || options === void 0 ? void 0 : options.excludedXAxisIds) === null || _c === void 0 ? void 0 : _c.forEach(function (id) {
69
- _this.includedXAxisMap.set(id, false);
70
- });
71
- (_d = options === null || options === void 0 ? void 0 : options.excludedYAxisIds) === null || _d === void 0 ? void 0 : _d.forEach(function (id) {
72
- _this.includedYAxisMap.set(id, false);
73
- });
52
+ _this.enableZoom = false;
53
+ _this.type = ChartModifierType_1.EChart2DModifierType.ZoomPan;
54
+ _this.enableZoom = (_a = options === null || options === void 0 ? void 0 : options.enableZoom) !== null && _a !== void 0 ? _a : _this.enableZoom;
74
55
  return _this;
75
56
  }
76
57
  /** @inheritDoc */
77
58
  ZoomPanModifier.prototype.modifierMouseDown = function (args) {
78
59
  // handles default browser dragging behavior when canvas was selected with Ctrl + A
79
60
  args.nativeEvent.preventDefault();
80
- _super.prototype.modifierMouseDown.call(this, args);
81
61
  if (this.executeOn !== args.button) {
82
62
  return;
83
63
  }
84
64
  if (!this.isAttached) {
85
65
  throw new Error("Should not call ZoomPanModifier.modifierMouseDown if not attached");
86
66
  }
67
+ _super.prototype.modifierMouseDown.call(this, args);
87
68
  var translatedPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(args.mousePoint, this.parentSurface.seriesViewRect);
88
69
  if (!translatedPoint) {
89
70
  return;
90
71
  }
91
- this.activeTouchEvents.set(args.pointerId, args);
92
- // prevent the execution of drag and pan for this event
93
- // if it is already being performed by another pointer
94
- if (this.activeTouchEvents.size > 1) {
95
- return;
96
- }
72
+ this.activePointerEvents.set(args.pointerId, args);
97
73
  this.parentSurface.setZoomState(ZoomState_1.EZoomState.UserZooming);
98
- args.handled = true;
99
- this.lastPoint = args.mousePoint;
100
74
  };
101
75
  /** @inheritDoc */
102
76
  ZoomPanModifier.prototype.modifierMouseMove = function (args) {
103
- _super.prototype.modifierMouseMove.call(this, args);
104
- this.activeTouchEvents.set(args.pointerId, args);
105
- if (this.lastPoint === undefined || this.activeTouchEvents.size > 1) {
77
+ this.updatePointerInfo(args);
78
+ if (!this.previousPoint) {
106
79
  return;
107
80
  }
108
- // allow drag and pan only for the first active pointer in order of event occurrence
109
- var capturedPointerEvent = this.activeTouchEvents.values().next().value;
110
- if (capturedPointerEvent.pointerId !== args.pointerId) {
111
- return;
112
- }
113
- var currentPoint = args.mousePoint;
114
- var xDelta = currentPoint.x - this.lastPoint.x;
115
- var yDelta = this.lastPoint.y - currentPoint.y;
116
- // Scroll the X,YAxis by the number of pixels since the last update
117
- // TODO: SciChartSurface.SuspendUpdates around this block
118
- if ([XyDirection_1.EXyDirection.XDirection, XyDirection_1.EXyDirection.XyDirection].includes(this.xyDirection)) {
119
- this.getIncludedXAxis().forEach(function (x) {
120
- var delta = x.isHorizontalAxis ? xDelta : -yDelta;
121
- x.scroll(x.flippedCoordinates ? -delta : delta, AxisBase2D_1.EClipMode.None);
122
- });
81
+ // use pinch zoom if enabled and triggered
82
+ if (this.enableZoom && _super.prototype.getIsActionAllowed.call(this, args)) {
83
+ _super.prototype.performModifierAction.call(this, args);
123
84
  }
124
- if ([XyDirection_1.EXyDirection.YDirection, XyDirection_1.EXyDirection.XyDirection].includes(this.xyDirection)) {
125
- this.getIncludedYAxis().forEach(function (y) {
126
- var delta = y.isHorizontalAxis ? -xDelta : yDelta;
127
- y.scroll(y.flippedCoordinates ? -delta : delta, AxisBase2D_1.EClipMode.None);
128
- });
85
+ // execute pan if action was triggered
86
+ var isActionAllowed = this.getIsActionAllowed(args);
87
+ if (isActionAllowed) {
88
+ this.performModifierAction(args);
129
89
  }
130
- this.lastPoint = currentPoint;
131
90
  };
132
91
  /** @inheritDoc */
133
92
  ZoomPanModifier.prototype.modifierMouseUp = function (args) {
134
93
  _super.prototype.modifierMouseUp.call(this, args);
135
- this.lastPoint = undefined;
136
- this.activeTouchEvents.delete(args.pointerId);
137
94
  // delegate drag and pan handling to the next active pointer in order of event occurrence
138
- if (this.activeTouchEvents.size > 0) {
139
- var nextActivePointerEvent = this.activeTouchEvents.values().next().value;
140
- this.lastPoint = nextActivePointerEvent.mousePoint;
95
+ if (this.activePointerEvents.size > 0) {
96
+ var nextActivePointerEvent = this.activePointerEvents.values().next().value;
141
97
  args.target.setPointerCapture(nextActivePointerEvent.pointerId);
142
98
  }
143
99
  };
144
100
  /** @inheritDoc */
145
101
  ZoomPanModifier.prototype.modifierPointerCancel = function (args) {
146
102
  _super.prototype.modifierPointerCancel.call(this, args);
147
- this.lastPoint = undefined;
148
- this.activeTouchEvents.clear();
149
- };
150
- /** @inheritDoc */
151
- ZoomPanModifier.prototype.includeXAxis = function (axis, isIncluded) {
152
- this.includedXAxisMap.set(axis.id, isIncluded);
153
- };
154
- /** @inheritDoc */
155
- ZoomPanModifier.prototype.includeYAxis = function (axis, isIncluded) {
156
- this.includedYAxisMap.set(axis.id, isIncluded);
157
- };
158
- /** @inheritDoc */
159
- ZoomPanModifier.prototype.includeAllAxes = function () {
160
- this.includedXAxisMap.clear();
161
- };
162
- /** @inheritDoc */
163
- ZoomPanModifier.prototype.getIncludedXAxis = function () {
164
- return (0, includedAxis_1.getIncludedAxis)(this.parentSurface.xAxes.asArray(), this.includedXAxisMap);
165
- };
166
- /** @inheritDoc */
167
- ZoomPanModifier.prototype.getIncludedYAxis = function () {
168
- return (0, includedAxis_1.getIncludedAxis)(this.parentSurface.yAxes.asArray(), this.includedYAxisMap);
103
+ this.activePointerEvents.clear();
169
104
  };
170
105
  ZoomPanModifier.prototype.toJSON = function () {
171
106
  var json = _super.prototype.toJSON.call(this);
172
107
  var options = {
173
- includedXAxisIds: Array.from(this.includedXAxisMap.entries())
174
- .filter(function (a) { return a[1]; })
175
- .map(function (a) { return a[0]; }),
176
- includedYAxisIds: Array.from(this.includedYAxisMap.entries())
177
- .filter(function (a) { return a[1]; })
178
- .map(function (a) { return a[0]; }),
179
- excludedXAxisIds: Array.from(this.includedXAxisMap.entries())
180
- .filter(function (a) { return !a[1]; })
181
- .map(function (a) { return a[0]; }),
182
- excludedYAxisIds: Array.from(this.includedYAxisMap.entries())
183
- .filter(function (a) { return !a[1]; })
184
- .map(function (a) { return a[0]; })
108
+ enableZoom: this.enableZoom
185
109
  };
186
110
  Object.assign(json.options, options);
187
111
  return json;
188
112
  };
113
+ ZoomPanModifier.prototype.performModifierAction = function (args) {
114
+ var currentPoint = args.mousePoint;
115
+ var xDelta = currentPoint.x - this.previousPoint.x;
116
+ var yDelta = this.previousPoint.y - currentPoint.y;
117
+ this.performPan(xDelta, yDelta);
118
+ };
119
+ ZoomPanModifier.prototype.getIsActionAllowed = function (args) {
120
+ // allow drag and pan only for the first active pointer in order of event occurrence
121
+ var capturedPointerEvent = this.activePointerEvents.values().next().value;
122
+ if (capturedPointerEvent.pointerId !== args.pointerId) {
123
+ return false;
124
+ }
125
+ return true;
126
+ };
127
+ ZoomPanModifier.prototype.performPan = function (xDelta, yDelta) {
128
+ // TODO unify with other similar methods in other modifiers
129
+ // Scroll the X,YAxis by the number of pixels since the last update
130
+ // TODO: SciChartSurface.SuspendUpdates around this block
131
+ if ([XyDirection_1.EXyDirection.XDirection, XyDirection_1.EXyDirection.XyDirection].includes(this.xyDirection)) {
132
+ this.getIncludedXAxis().forEach(function (x) {
133
+ var delta = x.isHorizontalAxis ? xDelta : -yDelta;
134
+ x.scroll(x.flippedCoordinates ? -delta : delta, AxisBase2D_1.EClipMode.None);
135
+ });
136
+ }
137
+ if ([XyDirection_1.EXyDirection.YDirection, XyDirection_1.EXyDirection.XyDirection].includes(this.xyDirection)) {
138
+ this.getIncludedYAxis().forEach(function (y) {
139
+ var delta = y.isHorizontalAxis ? -xDelta : yDelta;
140
+ y.scroll(y.flippedCoordinates ? -delta : delta, AxisBase2D_1.EClipMode.None);
141
+ });
142
+ }
143
+ };
189
144
  return ZoomPanModifier;
190
- }(ChartModifierBase2D_1.ChartModifierBase2D));
145
+ }(PinchZoomModifier_1.PinchZoomModifier));
191
146
  exports.ZoomPanModifier = ZoomPanModifier;
@@ -1,10 +1,11 @@
1
+ import { DeletableEntity } from "../../Core/DeletableEntity";
1
2
  import { ICacheable } from "../../Core/ICacheable";
2
3
  import { IDeletable } from "../../Core/IDeletable";
3
4
  import { TSciChart } from "../../types/TSciChart";
4
5
  /**
5
6
  * @ignore
6
7
  */
7
- export declare abstract class BaseCache<CachedEntityType extends IDeletable> implements IDeletable, ICacheable {
8
+ export declare abstract class BaseCache<CachedEntityType extends IDeletable> extends DeletableEntity implements IDeletable, ICacheable {
8
9
  protected webAssemblyContext: TSciChart;
9
10
  protected cachedEntity: CachedEntityType;
10
11
  /**
@@ -1,23 +1,43 @@
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.BaseCache = void 0;
19
+ var DeletableEntity_1 = require("../../Core/DeletableEntity");
4
20
  var Deleter_1 = require("../../Core/Deleter");
21
+ var MemoryUsageHelper_1 = require("../../utils/MemoryUsageHelper");
5
22
  var WebGlRenderContext2D_1 = require("./WebGlRenderContext2D");
6
23
  /**
7
24
  * @ignore
8
25
  */
9
- var BaseCache = /** @class */ (function () {
26
+ var BaseCache = /** @class */ (function (_super) {
27
+ __extends(BaseCache, _super);
10
28
  /**
11
29
  * Creates an instance of {@link BaseCache}
12
30
  * @param webAssemblyContext the {@link TSciChart | SciChart WebAssembly Context} containing native methods
13
31
  * and access to our underlying WebGL2 rendering engine
14
32
  */
15
33
  function BaseCache(webAssemblyContext) {
16
- this.webAssemblyContext = webAssemblyContext;
34
+ var _this = _super.call(this) || this;
35
+ _this.webAssemblyContext = webAssemblyContext;
17
36
  if (webAssemblyContext) {
18
37
  // add reference of the current instance to global collection of cached resources
19
- WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.add(this);
38
+ WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.add(_this);
20
39
  }
40
+ return _this;
21
41
  }
22
42
  Object.defineProperty(BaseCache.prototype, "value", {
23
43
  /**
@@ -45,12 +65,25 @@ var BaseCache = /** @class */ (function () {
45
65
  * @inheritDoc
46
66
  */
47
67
  BaseCache.prototype.delete = function () {
68
+ var _this = this;
48
69
  this.cachedEntity = (0, Deleter_1.deleteSafe)(this.cachedEntity);
49
- if (this.webAssemblyContext) {
50
- // remove reference of the current instance to global collection of cached resources
51
- WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.delete(this);
70
+ // Is falsy if reference revoked by proxy
71
+ // if (this.webAssemblyContext) {
72
+ // remove reference of the current instance to global collection of cached resources
73
+ WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.delete(this);
74
+ if (process.env.NODE_ENV !== "production") {
75
+ // resolve memory debug issue when comparing to proxy object
76
+ if (MemoryUsageHelper_1.MemoryUsageHelper.isMemoryUsageDebugEnabled) {
77
+ WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.forEach(function (ref) {
78
+ if (ref.resetCache === _this.resetCache) {
79
+ WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.delete(ref);
80
+ }
81
+ });
82
+ }
52
83
  }
84
+ // }
85
+ this.webAssemblyContext = undefined;
53
86
  };
54
87
  return BaseCache;
55
- }());
88
+ }(DeletableEntity_1.DeletableEntity));
56
89
  exports.BaseCache = BaseCache;
@@ -8,6 +8,7 @@ export declare class RenderSurface {
8
8
  handleDraw: () => void;
9
9
  viewportSize: Size;
10
10
  readonly canvasId: string;
11
+ protected renderContextProperty: WebGlRenderContext2D;
11
12
  private webAssemblyContext;
12
13
  constructor(webAssemblyContext: TSciChart, size: Size, canvasId: string);
13
14
  getRenderContext(): WebGlRenderContext2D;
@@ -14,7 +14,10 @@ var RenderSurface = /** @class */ (function () {
14
14
  this.canvasId = canvasId;
15
15
  }
16
16
  RenderSurface.prototype.getRenderContext = function () {
17
- return new WebGlRenderContext2D_1.WebGlRenderContext2D(this.webAssemblyContext, this.viewportSize, this.canvasId);
17
+ if (!this.renderContextProperty) {
18
+ this.renderContextProperty = new WebGlRenderContext2D_1.WebGlRenderContext2D(this.webAssemblyContext, this.viewportSize, this.canvasId);
19
+ }
20
+ return this.renderContextProperty;
18
21
  };
19
22
  // Step_2: Something is changed and it calls invalidateElement
20
23
  RenderSurface.prototype.invalidateElement = function (canvasId) {
@@ -32,6 +35,7 @@ var RenderSurface = /** @class */ (function () {
32
35
  // Step_3: TRSEngine call draw
33
36
  RenderSurface.prototype.onRenderTimeElapsed = function () {
34
37
  this.handleDraw();
38
+ this.renderContextProperty = undefined;
35
39
  };
36
40
  return RenderSurface;
37
41
  }());
@@ -1,9 +1,10 @@
1
+ import { DeletableEntity } from "../../Core/DeletableEntity";
1
2
  import { IDeletable } from "../../Core/IDeletable";
2
3
  import { SCRTSolidBrush, TSciChart } from "../../types/TSciChart";
3
4
  /**
4
5
  * @ignore
5
6
  */
6
- export declare class SolidBrushCache implements IDeletable {
7
+ export declare class SolidBrushCache extends DeletableEntity implements IDeletable {
7
8
  private webAssemblyContext;
8
9
  private color;
9
10
  private transparent;
@@ -1,15 +1,34 @@
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.SolidBrushCache = void 0;
19
+ var DeletableEntity_1 = require("../../Core/DeletableEntity");
4
20
  var Deleter_1 = require("../../Core/Deleter");
5
21
  var parseColor_1 = require("../../utils/parseColor");
6
22
  // TODO: this class can be removed and its usage replaced by BrushCache class
7
23
  /**
8
24
  * @ignore
9
25
  */
10
- var SolidBrushCache = /** @class */ (function () {
26
+ var SolidBrushCache = /** @class */ (function (_super) {
27
+ __extends(SolidBrushCache, _super);
11
28
  function SolidBrushCache(webAssemblyContext) {
12
- this.webAssemblyContext = webAssemblyContext;
29
+ var _this = _super.call(this) || this;
30
+ _this.webAssemblyContext = webAssemblyContext;
31
+ return _this;
13
32
  }
14
33
  /**
15
34
  * Creates or fetches a new Brush with the specified color string and properties
@@ -36,7 +55,8 @@ var SolidBrushCache = /** @class */ (function () {
36
55
  */
37
56
  SolidBrushCache.prototype.delete = function () {
38
57
  this.brush = (0, Deleter_1.deleteSafe)(this.brush);
58
+ this.webAssemblyContext = undefined;
39
59
  };
40
60
  return SolidBrushCache;
41
- }());
61
+ }(DeletableEntity_1.DeletableEntity));
42
62
  exports.SolidBrushCache = SolidBrushCache;
@@ -1,10 +1,11 @@
1
+ import { DeletableEntity } from "../../Core/DeletableEntity";
1
2
  import { SCRTBrush } from "../../types/TSciChart";
2
3
  import { EDrawingTypes } from "./constants";
3
4
  import { IBrush2D } from "./IBrush2D";
4
5
  /**
5
6
  * The WebGLBrush is a brush for polygon fills, rectangle fills, which can be passed to SciChart's WebGL / WebAssembly graphics engine
6
7
  */
7
- export declare class WebGlBrush implements IBrush2D {
8
+ export declare class WebGlBrush extends DeletableEntity implements IBrush2D {
8
9
  private scrtBrushProperty;
9
10
  /**
10
11
  * Creates an instance of WebGlBrush
@@ -1,18 +1,37 @@
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.WebGlBrush = void 0;
19
+ var DeletableEntity_1 = require("../../Core/DeletableEntity");
4
20
  var Deleter_1 = require("../../Core/Deleter");
5
21
  var constants_1 = require("./constants");
6
22
  /**
7
23
  * The WebGLBrush is a brush for polygon fills, rectangle fills, which can be passed to SciChart's WebGL / WebAssembly graphics engine
8
24
  */
9
- var WebGlBrush = /** @class */ (function () {
25
+ var WebGlBrush = /** @class */ (function (_super) {
26
+ __extends(WebGlBrush, _super);
10
27
  /**
11
28
  * Creates an instance of WebGlBrush
12
29
  * @param scrtBrush the inner {@link SCRTBrush} which can be passed to SciChart's WebAssembly WebGL engine
13
30
  */
14
31
  function WebGlBrush(scrtBrush) {
15
- this.scrtBrushProperty = scrtBrush;
32
+ var _this = _super.call(this) || this;
33
+ _this.scrtBrushProperty = scrtBrush;
34
+ return _this;
16
35
  }
17
36
  Object.defineProperty(WebGlBrush.prototype, "scrtBrush", {
18
37
  /**
@@ -44,5 +63,5 @@ var WebGlBrush = /** @class */ (function () {
44
63
  (_a = this.scrtBrushProperty) === null || _a === void 0 ? void 0 : _a.SetOpacity(opacity);
45
64
  };
46
65
  return WebGlBrush;
47
- }());
66
+ }(DeletableEntity_1.DeletableEntity));
48
67
  exports.WebGlBrush = WebGlBrush;