scichart 3.1.348 → 3.2.434

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/Builder/buildSurface.d.ts +2 -2
  2. package/Builder/chartBuilder.d.ts +4 -4
  3. package/Charting/ChartModifiers/ChartModifierBase.d.ts +19 -5
  4. package/Charting/ChartModifiers/ChartModifierBase.js +64 -7
  5. package/Charting/ChartModifiers/CursorModifier.d.ts +9 -9
  6. package/Charting/ChartModifiers/CursorModifier.js +13 -1
  7. package/Charting/ChartModifiers/DataPointSelectionModifier.d.ts +1 -0
  8. package/Charting/ChartModifiers/DataPointSelectionModifier.js +6 -1
  9. package/Charting/ChartModifiers/LegendModifier.d.ts +10 -25
  10. package/Charting/ChartModifiers/LegendModifier.js +10 -20
  11. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +20 -11
  12. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +5 -5
  13. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
  14. package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
  15. package/Charting/ChartModifiers/RolloverModifier.js +10 -3
  16. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +4 -7
  17. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +6 -8
  18. package/Charting/ChartModifiers/SeriesSelectionModifier.js +39 -29
  19. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  20. package/Charting/ChartModifiers/XAxisDragModifier.js +3 -3
  21. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +2 -4
  22. package/Charting/ChartModifiers/YAxisDragModifier.js +7 -8
  23. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
  24. package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
  25. package/Charting/Drawing/BaseCache.d.ts +2 -1
  26. package/Charting/Drawing/BaseCache.js +45 -7
  27. package/Charting/Drawing/RenderSurface.d.ts +1 -0
  28. package/Charting/Drawing/RenderSurface.js +5 -1
  29. package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
  30. package/Charting/Drawing/SolidBrushCache.js +23 -3
  31. package/Charting/Drawing/WebGlBrush.d.ts +2 -1
  32. package/Charting/Drawing/WebGlBrush.js +22 -3
  33. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  34. package/Charting/Drawing/WebGlPen.js +23 -4
  35. package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
  36. package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
  37. package/Charting/Model/BaseDataSeries.d.ts +67 -2
  38. package/Charting/Model/BaseDataSeries.js +193 -42
  39. package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
  40. package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
  41. package/Charting/Model/ChartData/SeriesInfo.js +7 -0
  42. package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
  43. package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
  44. package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
  45. package/Charting/Model/DoubleVectorProvider.js +95 -0
  46. package/Charting/Model/Filters/HlcFilterBase.d.ts +6 -2
  47. package/Charting/Model/Filters/HlcFilterBase.js +17 -1
  48. package/Charting/Model/Filters/IFilterBase.d.ts +24 -0
  49. package/Charting/Model/Filters/IFilterBase.js +2 -0
  50. package/Charting/Model/Filters/OhlcFilterBase.d.ts +6 -2
  51. package/Charting/Model/Filters/OhlcFilterBase.js +17 -1
  52. package/Charting/Model/Filters/XyFilterBase.d.ts +6 -5
  53. package/Charting/Model/Filters/XyFilterBase.js +17 -1
  54. package/Charting/Model/Filters/XyyFilterBase.d.ts +6 -2
  55. package/Charting/Model/Filters/XyyFilterBase.js +17 -1
  56. package/Charting/Model/Filters/XyzFilterBase.d.ts +6 -2
  57. package/Charting/Model/Filters/XyzFilterBase.js +17 -1
  58. package/Charting/Model/HlcDataSeries.d.ts +3 -0
  59. package/Charting/Model/HlcDataSeries.js +44 -15
  60. package/Charting/Model/IDataSeries.d.ts +23 -0
  61. package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
  62. package/Charting/Model/OhlcDataSeries.d.ts +3 -0
  63. package/Charting/Model/OhlcDataSeries.js +56 -24
  64. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
  65. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
  66. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
  67. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
  68. package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
  69. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
  70. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
  71. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
  72. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
  73. package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
  74. package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
  75. package/Charting/Model/XyDataSeries.d.ts +0 -8
  76. package/Charting/Model/XyDataSeries.js +21 -5
  77. package/Charting/Model/XyTextDataSeries.d.ts +2 -0
  78. package/Charting/Model/XyTextDataSeries.js +35 -4
  79. package/Charting/Model/XyyDataSeries.d.ts +2 -0
  80. package/Charting/Model/XyyDataSeries.js +50 -26
  81. package/Charting/Model/XyzDataSeries.d.ts +3 -0
  82. package/Charting/Model/XyzDataSeries.js +36 -10
  83. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
  84. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
  85. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
  86. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
  87. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
  88. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
  89. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
  90. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
  91. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
  92. package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
  93. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
  94. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
  95. package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
  96. package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
  97. package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
  98. package/Charting/Services/SciChartRenderer.js +15 -5
  99. package/Charting/Services/TitleRenderer.d.ts +2 -1
  100. package/Charting/Services/TitleRenderer.js +35 -14
  101. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
  102. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
  103. package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
  104. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +4 -0
  105. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
  106. package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
  107. package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
  108. package/Charting/Visuals/Annotations/NativeTextAnnotation.js +4 -0
  109. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
  110. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
  111. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
  112. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  113. package/Charting/Visuals/Annotations/constants.js +1 -0
  114. package/Charting/Visuals/Axis/AxisBase2D.d.ts +23 -8
  115. package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
  116. package/Charting/Visuals/Axis/AxisCore.d.ts +6 -3
  117. package/Charting/Visuals/Axis/AxisCore.js +100 -54
  118. package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
  119. package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
  120. package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
  121. package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
  122. package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
  123. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
  124. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
  125. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
  126. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
  127. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
  128. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
  129. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
  130. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
  131. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
  132. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
  133. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
  134. package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
  135. package/Charting/Visuals/HeatmapLegend.js +33 -12
  136. package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
  137. package/Charting/Visuals/Helpers/NativeObject.js +42 -21
  138. package/Charting/Visuals/Helpers/drawLabel.js +3 -1
  139. package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
  140. package/Charting/Visuals/Legend/ManualLegend.d.ts +56 -0
  141. package/Charting/Visuals/Legend/ManualLegend.js +138 -0
  142. package/Charting/Visuals/Legend/SciChartLegend.js +4 -3
  143. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +65 -4
  144. package/Charting/Visuals/Legend/SciChartLegendBase.js +111 -23
  145. package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
  146. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
  147. package/Charting/Visuals/PointMarkers/BasePointMarker.js +77 -19
  148. package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
  149. package/Charting/Visuals/PointMarkers/Constants.js +1 -0
  150. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
  151. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
  152. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
  153. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
  154. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
  155. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
  156. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
  157. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +3 -2
  158. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
  159. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +18 -4
  160. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
  161. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
  162. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
  163. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
  164. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
  165. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
  166. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
  167. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
  168. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
  169. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
  170. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +5 -4
  171. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +70 -33
  172. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
  173. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
  174. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  175. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
  176. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
  177. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
  178. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
  179. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
  180. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
  181. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
  182. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
  183. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
  184. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
  185. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
  186. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
  187. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
  188. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
  189. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
  190. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
  191. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
  192. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
  193. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  194. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
  195. package/Charting/Visuals/RenderableSeries/HoveredChangedArgs.d.ts +6 -1
  196. package/Charting/Visuals/RenderableSeries/HoveredChangedArgs.js +2 -1
  197. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +1 -1
  198. package/Charting/Visuals/RenderableSeries/SelectionChangedArgs.d.ts +6 -1
  199. package/Charting/Visuals/RenderableSeries/SelectionChangedArgs.js +2 -1
  200. package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
  201. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
  202. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +50 -1
  203. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +13 -1
  204. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +13 -1
  205. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
  206. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
  207. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
  208. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
  209. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
  210. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
  211. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
  212. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +7 -1
  213. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +38 -12
  214. package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
  215. package/Charting/Visuals/SciChartDefaults.js +10 -0
  216. package/Charting/Visuals/SciChartOverview.d.ts +2 -1
  217. package/Charting/Visuals/SciChartOverview.js +28 -8
  218. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +16 -3
  219. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +125 -60
  220. package/Charting/Visuals/SciChartSurface.d.ts +4 -41
  221. package/Charting/Visuals/SciChartSurface.js +52 -66
  222. package/Charting/Visuals/SciChartSurfaceBase.d.ts +117 -13
  223. package/Charting/Visuals/SciChartSurfaceBase.js +177 -32
  224. package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
  225. package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
  226. package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
  227. package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
  228. package/Charting/Visuals/createMaster.d.ts +7 -2
  229. package/Charting/Visuals/createMaster.js +140 -45
  230. package/Charting/Visuals/createSingle.d.ts +0 -2
  231. package/Charting/Visuals/createSingle.js +46 -11
  232. package/Charting/Visuals/licenseManager2D.d.ts +7 -5
  233. package/Charting/Visuals/licenseManager2D.js +105 -53
  234. package/Charting/Visuals/loader.js +3 -1
  235. package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
  236. package/Charting/Visuals/sciChartInitCommon.js +5 -1
  237. package/Charting3D/CameraController.d.ts +1 -1
  238. package/Charting3D/CameraController.js +21 -7
  239. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
  240. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
  241. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
  242. package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
  243. package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
  244. package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
  245. package/Charting3D/ChartModifiers/ResetCamera3DModifier.d.ts +1 -1
  246. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +1 -2
  247. package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +122 -0
  248. package/Charting3D/ChartModifiers/TooltipModifier3D.js +427 -0
  249. package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
  250. package/Charting3D/I3DSurfaceOptions.js +2 -0
  251. package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
  252. package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
  253. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.d.ts +1 -1
  254. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.js +2 -2
  255. package/Charting3D/Model/DataSeries/IPointMetadata3D.d.ts +7 -2
  256. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
  257. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
  258. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
  259. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
  260. package/Charting3D/Vector3.d.ts +5 -0
  261. package/Charting3D/Vector3.js +7 -0
  262. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
  263. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
  264. package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +29 -3
  265. package/Charting3D/Visuals/Axis/AxisBase3D.js +46 -18
  266. package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
  267. package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
  268. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
  269. package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
  270. package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
  271. package/Charting3D/Visuals/Axis/NumericAxis3D.d.ts +3 -2
  272. package/Charting3D/Visuals/Axis/NumericAxis3D.js +7 -3
  273. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
  274. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
  275. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
  276. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
  277. package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
  278. package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
  279. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
  280. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +190 -0
  281. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
  282. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
  283. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
  284. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +23 -2
  285. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
  286. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +17 -1
  287. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +21 -1
  288. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +78 -12
  289. package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
  290. package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
  291. package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
  292. package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
  293. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
  294. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
  295. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
  296. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
  297. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
  298. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
  299. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
  300. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
  301. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
  302. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
  303. package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
  304. package/Charting3D/Visuals/RootSceneEntity.js +3 -8
  305. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  306. package/Charting3D/Visuals/SciChart3DRenderer.js +26 -0
  307. package/Charting3D/Visuals/SciChart3DSurface.d.ts +55 -7
  308. package/Charting3D/Visuals/SciChart3DSurface.js +136 -13
  309. package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
  310. package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
  311. package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
  312. package/Charting3D/Visuals/createMaster3d.js +81 -14
  313. package/Charting3D/Visuals/createSingle3d.js +34 -4
  314. package/Charting3D/Visuals/licenseManager3D.js +29 -25
  315. package/Core/BuildStamp.d.ts +1 -1
  316. package/Core/BuildStamp.js +2 -2
  317. package/Core/DeletableEntity.d.ts +34 -0
  318. package/Core/DeletableEntity.js +138 -0
  319. package/Core/Globals.d.ts +11 -0
  320. package/Core/Globals.js +13 -0
  321. package/Core/Guard.d.ts +6 -0
  322. package/Core/Guard.js +10 -0
  323. package/Core/Mouse/MouseManager.d.ts +23 -0
  324. package/Core/Mouse/MouseManager.js +53 -0
  325. package/Core/Telemetry.js +4 -6
  326. package/_wasm/scichart.browser.js +1 -1
  327. package/_wasm/scichart2d.data +0 -0
  328. package/_wasm/scichart2d.js +4 -294
  329. package/_wasm/scichart2d.wasm +0 -0
  330. package/_wasm/scichart3d.data +0 -0
  331. package/_wasm/scichart3d.js +4 -294
  332. package/_wasm/scichart3d.wasm +0 -0
  333. package/index.d.ts +42 -2
  334. package/index.dev.js +68876 -0
  335. package/index.js +81 -27
  336. package/index.min.js +1 -1
  337. package/package.json +3 -4
  338. package/types/ChartModifierType.d.ts +2 -0
  339. package/types/ChartModifierType.js +2 -0
  340. package/types/DefaultRenderLayer.d.ts +9 -8
  341. package/types/DefaultRenderLayer.js +9 -8
  342. package/types/NumberArray.d.ts +1 -0
  343. package/types/NumberArray.js +12 -1
  344. package/types/SceneEntityType.d.ts +13 -5
  345. package/types/SceneEntityType.js +13 -5
  346. package/types/TSciChart.d.ts +37 -8
  347. package/types/TSciChart3D.d.ts +126 -7
  348. package/types/licensingClasses.d.ts +2 -1
  349. package/types/licensingClasses.js +1 -0
  350. package/utils/MemoryUsageHelper.d.ts +92 -0
  351. package/utils/MemoryUsageHelper.js +221 -0
  352. package/utils/array.d.ts +8 -0
  353. package/utils/array.js +58 -1
  354. package/utils/colorUtil.d.ts +7 -0
  355. package/utils/colorUtil.js +13 -1
  356. package/utils/logger.d.ts +2 -0
  357. package/utils/logger.js +11 -0
  358. package/utils/parseColor.js +19 -4
@@ -1,5 +1,6 @@
1
1
  import { Point } from "../../Core/Point";
2
2
  import { EChart2DModifierType } from "../../types/ChartModifierType";
3
+ import { AxisBase2D } from "../Visuals/Axis/AxisBase2D";
3
4
  import { ChartModifierBase2D, IChartModifierBaseOptions } from "./ChartModifierBase2D";
4
5
  import { ModifierMouseArgs } from "./ModifierMouseArgs";
5
6
  /**
@@ -14,6 +15,26 @@ export interface IPinchZoomModifierOptions extends IChartModifierBaseOptions {
14
15
  * Defines the sensitivity of zooming in vertical direction
15
16
  */
16
17
  verticalGrowFactor?: number;
18
+ /**
19
+ * A list of Ids for X axis to exclude from this modifier
20
+ * @remarks Also see {@link ZoomPanModifier.includeXAxis} function which allows you to include or exclude an axis by instance
21
+ */
22
+ excludedXAxisIds?: string[];
23
+ /**
24
+ * A list of Ids for Y axis to exclude from this modifier
25
+ * @remarks Also see {@link ZoomPanModifier.includeYAxis} function which allows you to include or exclude an axis by instance
26
+ */
27
+ excludedYAxisIds?: string[];
28
+ /**
29
+ * A list of Ids for X axis to include to this modifier
30
+ * @remarks Also see {@link ZoomPanModifier.includeXAxis} function which allows you to include or exclude an axis by instance
31
+ */
32
+ includedXAxisIds?: string[];
33
+ /**
34
+ * A list of Ids for Y axis to include this modifier
35
+ * @remarks Also see {@link ZoomPanModifier.includeYAxis} function which allows you to include or exclude an axis by instance
36
+ */
37
+ includedYAxisIds?: string[];
17
38
  }
18
39
  /**
19
40
  * The PinchZoomModifier provides ability to zoom by pinch gesture on a 2D {@link SciChartSurface}
@@ -31,7 +52,7 @@ export interface IPinchZoomModifierOptions extends IChartModifierBaseOptions {
31
52
  * It is also necessary to set “touch-action: none” on the chart div element.
32
53
  */
33
54
  export declare class PinchZoomModifier extends ChartModifierBase2D {
34
- readonly type = EChart2DModifierType.PinchZoom;
55
+ readonly type: EChart2DModifierType;
35
56
  /**
36
57
  * Defines the sensitivity of zooming in horizontal direction
37
58
  */
@@ -40,10 +61,8 @@ export declare class PinchZoomModifier extends ChartModifierBase2D {
40
61
  * Defines the sensitivity of zooming in vertical direction
41
62
  */
42
63
  verticalGrowFactor: number;
43
- /**
44
- * Stores info about active pointerdown events
45
- */
46
- private activeTouchEvents;
64
+ protected includedXAxisMap: Map<string, boolean>;
65
+ protected includedYAxisMap: Map<string, boolean>;
47
66
  /**
48
67
  * touch points X coordinates difference
49
68
  */
@@ -77,19 +96,30 @@ export declare class PinchZoomModifier extends ChartModifierBase2D {
77
96
  type: string;
78
97
  options: Required<Omit<IChartModifierBaseOptions, never>>;
79
98
  };
99
+ /** @inheritDoc */
100
+ includeXAxis(axis: AxisBase2D, isIncluded: boolean): void;
101
+ /** @inheritDoc */
102
+ includeYAxis(axis: AxisBase2D, isIncluded: boolean): void;
103
+ /** @inheritDoc */
104
+ includeAllAxes(): void;
105
+ /** @inheritDoc */
106
+ getIncludedXAxis(): AxisBase2D[];
107
+ /** @inheritDoc */
108
+ getIncludedYAxis(): AxisBase2D[];
80
109
  /**
81
110
  * Performs the zoom operation around the mouse point
82
111
  * @param mousePoint The X,Y location of the mouse at the time of the zoom
83
112
  * @param horizontalPinchDelta horizontal pinch delta
84
113
  * @param verticalPinchDelta vertical pinch delta
85
114
  */
86
- protected performZoom(mousePoint: Point, horizontalPinchDelta: number, verticalPinchDelta: number): void;
87
- protected notifyPropertyChanged(propertyName: string): void;
115
+ protected performZoom(mousePoint: Point, horizontalPinchDelta: number, verticalPinchDelta: number, horizontalGrowFactor: number, verticalGrowFactor: number): void;
88
116
  /**
89
117
  * Handles pointer event becoming inactive
90
118
  * @param args pointer event properties
91
119
  */
92
- private removeFromActiveTouchEvents;
120
+ protected removeFromActiveTouchEvents(args: ModifierMouseArgs): void;
121
+ protected performModifierAction(args: ModifierMouseArgs): void;
122
+ protected getIsActionAllowed(args: ModifierMouseArgs): boolean;
93
123
  /**
94
124
  * returns a point equidistant to the provided ones
95
125
  * @param firstPoint the X,Y location of the first active pointer
@@ -20,6 +20,7 @@ var Point_1 = require("../../Core/Point");
20
20
  var ChartModifierType_1 = require("../../types/ChartModifierType");
21
21
  var XyDirection_1 = require("../../types/XyDirection");
22
22
  var ZoomState_1 = require("../../types/ZoomState");
23
+ var includedAxis_1 = require("../../utils/includedAxis");
23
24
  var translate_1 = require("../../utils/translate");
24
25
  var ChartModifierBase2D_1 = require("./ChartModifierBase2D");
25
26
  /**
@@ -45,9 +46,8 @@ var PinchZoomModifier = /** @class */ (function (_super) {
45
46
  */
46
47
  function PinchZoomModifier(options) {
47
48
  var _this = this;
48
- var _a, _b;
49
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
49
50
  _this = _super.call(this, options) || this;
50
- _this.type = ChartModifierType_1.EChart2DModifierType.PinchZoom;
51
51
  /**
52
52
  * Defines the sensitivity of zooming in horizontal direction
53
53
  */
@@ -56,10 +56,8 @@ var PinchZoomModifier = /** @class */ (function (_super) {
56
56
  * Defines the sensitivity of zooming in vertical direction
57
57
  */
58
58
  _this.verticalGrowFactor = 0.005;
59
- /**
60
- * Stores info about active pointerdown events
61
- */
62
- _this.activeTouchEvents = new Map();
59
+ _this.includedXAxisMap = new Map();
60
+ _this.includedYAxisMap = new Map();
63
61
  /**
64
62
  * returns a point equidistant to the provided ones
65
63
  * @param firstPoint the X,Y location of the first active pointer
@@ -68,8 +66,27 @@ var PinchZoomModifier = /** @class */ (function (_super) {
68
66
  _this.getMiddlePoint = function (firstPoint, secondPoint) {
69
67
  return new Point_1.Point((firstPoint.x + secondPoint.x) / 2, (firstPoint.y + secondPoint.y) / 2);
70
68
  };
71
- _this.horizontalGrowFactor = (_a = options === null || options === void 0 ? void 0 : options.horizontalGrowFactor) !== null && _a !== void 0 ? _a : _this.horizontalGrowFactor;
72
- _this.verticalGrowFactor = (_b = options === null || options === void 0 ? void 0 : options.verticalGrowFactor) !== null && _b !== void 0 ? _b : _this.verticalGrowFactor;
69
+ _this.type = ChartModifierType_1.EChart2DModifierType.PinchZoom;
70
+ if (((_a = options === null || options === void 0 ? void 0 : options.includedXAxisIds) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((_b = options === null || options === void 0 ? void 0 : options.excludedXAxisIds) === null || _b === void 0 ? void 0 : _b.length) > 0) {
71
+ throw new Error("You either should use includedXAxisIds or excludedXAxisIds");
72
+ }
73
+ if (((_c = options === null || options === void 0 ? void 0 : options.includedYAxisIds) === null || _c === void 0 ? void 0 : _c.length) > 0 && ((_d = options === null || options === void 0 ? void 0 : options.excludedYAxisIds) === null || _d === void 0 ? void 0 : _d.length) > 0) {
74
+ throw new Error("You either should use includedYAxisIds or excludedYAxisIds");
75
+ }
76
+ (_e = options === null || options === void 0 ? void 0 : options.includedXAxisIds) === null || _e === void 0 ? void 0 : _e.forEach(function (id) {
77
+ _this.includedXAxisMap.set(id, true);
78
+ });
79
+ (_f = options === null || options === void 0 ? void 0 : options.includedYAxisIds) === null || _f === void 0 ? void 0 : _f.forEach(function (id) {
80
+ _this.includedYAxisMap.set(id, true);
81
+ });
82
+ (_g = options === null || options === void 0 ? void 0 : options.excludedXAxisIds) === null || _g === void 0 ? void 0 : _g.forEach(function (id) {
83
+ _this.includedXAxisMap.set(id, false);
84
+ });
85
+ (_h = options === null || options === void 0 ? void 0 : options.excludedYAxisIds) === null || _h === void 0 ? void 0 : _h.forEach(function (id) {
86
+ _this.includedYAxisMap.set(id, false);
87
+ });
88
+ _this.horizontalGrowFactor = (_j = options === null || options === void 0 ? void 0 : options.horizontalGrowFactor) !== null && _j !== void 0 ? _j : _this.horizontalGrowFactor;
89
+ _this.verticalGrowFactor = (_k = options === null || options === void 0 ? void 0 : options.verticalGrowFactor) !== null && _k !== void 0 ? _k : _this.verticalGrowFactor;
73
90
  return _this;
74
91
  }
75
92
  /**
@@ -80,34 +97,24 @@ var PinchZoomModifier = /** @class */ (function (_super) {
80
97
  if (!this.isAttached) {
81
98
  throw new Error("Should not call PinchZoomModifier.modifierMouseDown if not attached");
82
99
  }
83
- this.activeTouchEvents.set(args.pointerId, args);
84
- args.handled = true;
100
+ var translatedPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(args.mousePoint, this.parentSurface.seriesViewRect);
101
+ if (!translatedPoint) {
102
+ return;
103
+ }
104
+ var isTouchEvent = args.pointerType === "touch" || args.pointerType === "pen";
105
+ if (isTouchEvent) {
106
+ this.activePointerEvents.set(args.pointerId, args);
107
+ }
85
108
  };
86
109
  /**
87
110
  * @inheritDoc
88
111
  */
89
112
  PinchZoomModifier.prototype.modifierMouseMove = function (args) {
90
113
  _super.prototype.modifierMouseMove.call(this, args);
91
- this.activeTouchEvents.set(args.pointerId, args);
92
- // check for pinch gestures if there are multiple active pointers
93
- if (this.activeTouchEvents.size >= 2) {
94
- var _a = Array.from(this.activeTouchEvents.values()), firstTouchPoint = _a[0].mousePoint, secondTouchPoint = _a[1].mousePoint;
95
- // Calculate projections of distance between the touch points
96
- var currentHorizontalTouchPointsDistance = Math.abs(firstTouchPoint.x - secondTouchPoint.x);
97
- var currentVerticalTouchPointsDistance = Math.abs(firstTouchPoint.y - secondTouchPoint.y);
114
+ var isActionAllowed = this.getIsActionAllowed(args);
115
+ if (isActionAllowed) {
98
116
  this.parentSurface.setZoomState(ZoomState_1.EZoomState.UserZooming);
99
- var zoomCenterMousePoint = this.getMiddlePoint(firstTouchPoint, secondTouchPoint);
100
- var zoomPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(zoomCenterMousePoint, this.parentSurface.seriesViewRect);
101
- if (zoomPoint &&
102
- this.previousHorizontalTouchPointsDistance !== undefined &&
103
- this.previousVerticalTouchPointsDistance !== undefined) {
104
- var horizontalDistanceDiff = this.previousHorizontalTouchPointsDistance - currentHorizontalTouchPointsDistance;
105
- var verticalDistanceDiff = this.previousVerticalTouchPointsDistance - currentVerticalTouchPointsDistance;
106
- this.performZoom(zoomPoint, horizontalDistanceDiff, verticalDistanceDiff);
107
- }
108
- // Cache the distance for the next move event
109
- this.previousHorizontalTouchPointsDistance = currentHorizontalTouchPointsDistance;
110
- this.previousVerticalTouchPointsDistance = currentVerticalTouchPointsDistance;
117
+ this.performModifierAction(args);
111
118
  }
112
119
  };
113
120
  /**
@@ -128,48 +135,104 @@ var PinchZoomModifier = /** @class */ (function (_super) {
128
135
  var json = _super.prototype.toJSON.call(this);
129
136
  var options = {
130
137
  horizontalGrowFactor: this.horizontalGrowFactor,
131
- verticalGrowFactor: this.verticalGrowFactor
138
+ verticalGrowFactor: this.verticalGrowFactor,
139
+ includedXAxisIds: Array.from(this.includedXAxisMap.entries())
140
+ .filter(function (a) { return a[1]; })
141
+ .map(function (a) { return a[0]; }),
142
+ includedYAxisIds: Array.from(this.includedYAxisMap.entries())
143
+ .filter(function (a) { return a[1]; })
144
+ .map(function (a) { return a[0]; }),
145
+ excludedXAxisIds: Array.from(this.includedXAxisMap.entries())
146
+ .filter(function (a) { return !a[1]; })
147
+ .map(function (a) { return a[0]; }),
148
+ excludedYAxisIds: Array.from(this.includedYAxisMap.entries())
149
+ .filter(function (a) { return !a[1]; })
150
+ .map(function (a) { return a[0]; })
132
151
  };
133
152
  Object.assign(json.options, options);
134
153
  return json;
135
154
  };
155
+ /** @inheritDoc */
156
+ PinchZoomModifier.prototype.includeXAxis = function (axis, isIncluded) {
157
+ this.includedXAxisMap.set(axis.id, isIncluded);
158
+ };
159
+ /** @inheritDoc */
160
+ PinchZoomModifier.prototype.includeYAxis = function (axis, isIncluded) {
161
+ this.includedYAxisMap.set(axis.id, isIncluded);
162
+ };
163
+ /** @inheritDoc */
164
+ PinchZoomModifier.prototype.includeAllAxes = function () {
165
+ this.includedXAxisMap.clear();
166
+ };
167
+ /** @inheritDoc */
168
+ PinchZoomModifier.prototype.getIncludedXAxis = function () {
169
+ return (0, includedAxis_1.getIncludedAxis)(this.parentSurface.xAxes.asArray(), this.includedXAxisMap);
170
+ };
171
+ /** @inheritDoc */
172
+ PinchZoomModifier.prototype.getIncludedYAxis = function () {
173
+ return (0, includedAxis_1.getIncludedAxis)(this.parentSurface.yAxes.asArray(), this.includedYAxisMap);
174
+ };
136
175
  /**
137
176
  * Performs the zoom operation around the mouse point
138
177
  * @param mousePoint The X,Y location of the mouse at the time of the zoom
139
178
  * @param horizontalPinchDelta horizontal pinch delta
140
179
  * @param verticalPinchDelta vertical pinch delta
141
180
  */
142
- PinchZoomModifier.prototype.performZoom = function (mousePoint, horizontalPinchDelta, verticalPinchDelta) {
181
+ PinchZoomModifier.prototype.performZoom = function (mousePoint, horizontalPinchDelta, verticalPinchDelta, horizontalGrowFactor, verticalGrowFactor) {
143
182
  var _this = this;
144
- var horizontalFraction = this.horizontalGrowFactor * horizontalPinchDelta;
145
- var verticalFraction = this.verticalGrowFactor * verticalPinchDelta;
183
+ var horizontalFraction = horizontalGrowFactor * horizontalPinchDelta;
184
+ var verticalFraction = verticalGrowFactor * verticalPinchDelta;
146
185
  if ([XyDirection_1.EXyDirection.XDirection, XyDirection_1.EXyDirection.XyDirection].includes(this.xyDirection)) {
147
- this.parentSurface.xAxes.asArray().forEach(function (axis) {
186
+ this.getIncludedXAxis().forEach(function (axis) {
148
187
  _this.growBy(mousePoint, axis, horizontalFraction);
149
188
  });
150
189
  }
151
190
  if ([XyDirection_1.EXyDirection.YDirection, XyDirection_1.EXyDirection.XyDirection].includes(this.xyDirection)) {
152
- this.parentSurface.yAxes.asArray().forEach(function (axis) {
191
+ this.getIncludedYAxis().forEach(function (axis) {
153
192
  _this.growBy(mousePoint, axis, verticalFraction);
154
193
  });
155
194
  }
156
195
  };
157
- PinchZoomModifier.prototype.notifyPropertyChanged = function (propertyName) {
158
- _super.prototype.notifyPropertyChanged.call(this, propertyName);
159
- };
160
196
  /**
161
197
  * Handles pointer event becoming inactive
162
198
  * @param args pointer event properties
163
199
  */
164
200
  PinchZoomModifier.prototype.removeFromActiveTouchEvents = function (args) {
165
201
  // Remove this event from the target's cache
166
- this.activeTouchEvents.delete(args.pointerId);
202
+ this.activePointerEvents.delete(args.pointerId);
167
203
  // reset distance values
168
- if (this.activeTouchEvents.size < 2) {
204
+ if (this.activePointerEvents.size < 2) {
169
205
  this.previousHorizontalTouchPointsDistance = undefined;
170
206
  this.previousVerticalTouchPointsDistance = undefined;
171
207
  }
172
208
  };
209
+ PinchZoomModifier.prototype.performModifierAction = function (args) {
210
+ var _a = Array.from(this.activePointerEvents.values()), firstTouchPoint = _a[0].mousePoint, secondTouchPoint = _a[1].mousePoint;
211
+ // Calculate projections of distance between the touch points
212
+ var currentHorizontalTouchPointsDistance = Math.abs(firstTouchPoint.x - secondTouchPoint.x);
213
+ var currentVerticalTouchPointsDistance = Math.abs(firstTouchPoint.y - secondTouchPoint.y);
214
+ var zoomCenterMousePoint = this.getMiddlePoint(firstTouchPoint, secondTouchPoint);
215
+ var zoomPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(zoomCenterMousePoint, this.parentSurface.seriesViewRect);
216
+ if (zoomPoint &&
217
+ this.previousHorizontalTouchPointsDistance !== undefined &&
218
+ this.previousVerticalTouchPointsDistance !== undefined) {
219
+ var horizontalDistanceDiff = this.previousHorizontalTouchPointsDistance - currentHorizontalTouchPointsDistance;
220
+ var verticalDistanceDiff = this.previousVerticalTouchPointsDistance - currentVerticalTouchPointsDistance;
221
+ // TODO add limits in distance between pointers
222
+ // const minHorizontalDiff = 10;
223
+ // if (horizontalDistanceDiff > minHorizontalDiff && verticalDistanceDiff > minHorizontalDiff) {
224
+ // }
225
+ this.performZoom(zoomPoint, horizontalDistanceDiff, verticalDistanceDiff, this.horizontalGrowFactor, this.verticalGrowFactor);
226
+ }
227
+ // Cache the distance for the next move event
228
+ this.previousHorizontalTouchPointsDistance = currentHorizontalTouchPointsDistance;
229
+ this.previousVerticalTouchPointsDistance = currentVerticalTouchPointsDistance;
230
+ };
231
+ PinchZoomModifier.prototype.getIsActionAllowed = function (args) {
232
+ var isTouchEvent = args.pointerType === "touch" || args.pointerType === "pen";
233
+ // check for pinch gestures if there are multiple active touches
234
+ return isTouchEvent && this.activePointerEvents.size >= 2;
235
+ };
173
236
  return PinchZoomModifier;
174
237
  }(ChartModifierBase2D_1.ChartModifierBase2D));
175
238
  exports.PinchZoomModifier = PinchZoomModifier;
@@ -270,6 +270,7 @@ var RolloverModifier = /** @class */ (function (_super) {
270
270
  * @inheritDoc
271
271
  */
272
272
  RolloverModifier.prototype.modifierMouseMove = function (args) {
273
+ this.activePointerEvents.set(args.pointerId, args);
273
274
  _super.prototype.modifierMouseMove.call(this, args);
274
275
  var translatedMousePoint;
275
276
  if (!this.mousePoint) {
@@ -284,7 +285,10 @@ var RolloverModifier = /** @class */ (function (_super) {
284
285
  this.mousePosition = MousePosition_1.EMousePosition.SeriesArea;
285
286
  }
286
287
  }
287
- this.update();
288
+ var isActionAllowed = this.getIsActionAllowed(args);
289
+ if (isActionAllowed) {
290
+ this.update();
291
+ }
288
292
  };
289
293
  /**
290
294
  * @inheritDoc
@@ -559,11 +563,14 @@ var RolloverModifier = /** @class */ (function (_super) {
559
563
  return;
560
564
  }
561
565
  var tooltipArray = [];
566
+ var height = this.isVerticalChart()
567
+ ? this.parentSurface.seriesViewRect.width
568
+ : this.parentSurface.seriesViewRect.height;
562
569
  rsList.forEach(function (rs, index) {
563
570
  var hitTestInfo = _this.hitTestRenderableSeries(rs, _this.mousePoint);
564
571
  if (hitTestInfo) {
565
572
  if (rs.type !== SeriesType_1.ESeriesType.StackedColumnSeries || hitTestInfo.isHit) {
566
- var isVisible = 0 <= hitTestInfo.yCoord && hitTestInfo.yCoord <= _this.parentSurface.seriesViewRect.height;
573
+ var isVisible = 0 <= hitTestInfo.yCoord && hitTestInfo.yCoord <= height;
567
574
  if (isVisible) {
568
575
  var absoluteXCoord = _this.isVerticalChart() ? hitTestInfo.yCoord : hitTestInfo.xCoord;
569
576
  var absoluteYCoord = _this.isVerticalChart() ? hitTestInfo.xCoord : hitTestInfo.yCoord;
@@ -573,7 +580,7 @@ var RolloverModifier = /** @class */ (function (_super) {
573
580
  }
574
581
  }
575
582
  if (rs.type === SeriesType_1.ESeriesType.BandSeries) {
576
- var isVisibleY1 = 0 <= hitTestInfo.y1Coord && hitTestInfo.y1Coord <= _this.parentSurface.seriesViewRect.height;
583
+ var isVisibleY1 = 0 <= hitTestInfo.y1Coord && hitTestInfo.y1Coord <= height;
577
584
  if (isVisibleY1) {
578
585
  var absoluteXCoord = _this.isVerticalChart() ? hitTestInfo.y1Coord : hitTestInfo.xCoord;
579
586
  var absoluteYCoord = _this.isVerticalChart() ? hitTestInfo.xCoord : hitTestInfo.y1Coord;
@@ -68,9 +68,9 @@ export declare class RubberBandXyZoomModifier extends ChartModifierBase2D {
68
68
  * Defines the easing function for animation. See {@link TEasingFn} for a range of functions
69
69
  */
70
70
  easingFunction: TEasingFn;
71
- protected rubberBandRect: RubberBandSvgRect;
72
- protected pointFrom: Point;
73
- protected pointTo: Point;
71
+ rubberBandRect: RubberBandSvgRect | undefined;
72
+ protected pointFrom: Point | undefined;
73
+ protected pointTo: Point | undefined;
74
74
  protected isClicked: boolean;
75
75
  private fillProperty;
76
76
  private strokeProperty;
@@ -84,10 +84,6 @@ export declare class RubberBandXyZoomModifier extends ChartModifierBase2D {
84
84
  * @inheritDoc
85
85
  */
86
86
  applyTheme(themeProvider: IThemeProvider): void;
87
- /**
88
- * @inheritDoc
89
- */
90
- onAttach(): void;
91
87
  /**
92
88
  * @inheritDoc
93
89
  */
@@ -132,6 +128,7 @@ export declare class RubberBandXyZoomModifier extends ChartModifierBase2D {
132
128
  type: string;
133
129
  options: Required<Omit<IChartModifierBaseOptions, never>>;
134
130
  };
131
+ delete(): void;
135
132
  /**
136
133
  * Performs the zoom operation on the parent Surface, using the mouse points from & to, which
137
134
  * define the corners of the rectangle to zoom
@@ -92,19 +92,12 @@ var RubberBandXyZoomModifier = /** @class */ (function (_super) {
92
92
  this.stroke = themeProvider.rubberBandStrokeBrush;
93
93
  }
94
94
  };
95
- /**
96
- * @inheritDoc
97
- */
98
- RubberBandXyZoomModifier.prototype.onAttach = function () {
99
- _super.prototype.onAttach.call(this);
100
- this.rubberBandRect = new RubberBandSvgRect_1.RubberBandSvgRect(this.parentSurface.domSvgContainer, this.fill, this.stroke, this.strokeThickness);
101
- };
102
95
  /**
103
96
  * @inheritDoc
104
97
  */
105
98
  RubberBandXyZoomModifier.prototype.onDetach = function () {
106
99
  _super.prototype.onDetach.call(this);
107
- this.rubberBandRect = undefined;
100
+ this.rubberBandRect = (0, Deleter_1.deleteSafe)(this.rubberBandRect);
108
101
  };
109
102
  /**
110
103
  * @inheritDoc
@@ -225,6 +218,11 @@ var RubberBandXyZoomModifier = /** @class */ (function (_super) {
225
218
  Object.assign(json.options, options);
226
219
  return json;
227
220
  };
221
+ RubberBandXyZoomModifier.prototype.delete = function () {
222
+ this.parentSurfaceProperty = undefined;
223
+ this.rubberBandRect = (0, Deleter_1.deleteSafe)(this.rubberBandRect);
224
+ _super.prototype.delete.call(this);
225
+ };
228
226
  /**
229
227
  * Performs the zoom operation on the parent Surface, using the mouse points from & to, which
230
228
  * define the corners of the rectangle to zoom
@@ -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,44 @@ 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 = [];
192
+ var nearestHitTestInfo_1;
189
193
  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
194
+ // Any series been hit-tested? Get the nearest
195
+ nearestHitTestInfo_1 = hitTestInfos
193
196
  .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
- });
197
+ .sort(function (a, b) { return a.getEuclideanDistance() - b.getEuclideanDistance(); })[0];
198
+ // 1. Set the isHovered flag and add to hovered array for the nearest hitTestInfo
199
+ if (nearestHitTestInfo_1) {
200
+ nearestHitTestInfo_1.associatedSeries.isHovered = true;
201
+ this.hoveredSeries.push(nearestHitTestInfo_1.associatedSeries);
202
+ }
200
203
  // 2. Series which were not hovered, set isHovered = false;
201
204
  hitTestInfos
202
- .filter(function (ht) { return !ht.isHit && !ht.isEmpty; })
205
+ .filter(function (ht) { return ht !== nearestHitTestInfo_1; })
203
206
  .forEach(function (unhoveredSeries) {
204
- unhoveredSeries.associatedSeries.isHovered = false;
207
+ if (unhoveredSeries === null || unhoveredSeries === void 0 ? void 0 : unhoveredSeries.associatedSeries) {
208
+ unhoveredSeries.associatedSeries.isHovered = false;
209
+ }
205
210
  });
206
211
  }
207
212
  else {
208
213
  // No series hit-tested, set all as un-hovered
209
214
  allSeries.forEach(function (s) { return (s.isHovered = false); });
210
215
  }
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));
216
+ // Raise the hoverChanged event if something has changed
217
+ if (prevHovered.length !== this.hoveredSeries.length ||
218
+ prevHovered.some(function (s) { return !_this.hoveredSeries.includes(s); })) {
219
+ (_a = this.hoverChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new HoveredChangedArgs_1.HoveredChangedArgs(this, this.hoveredSeries, allSeries, nearestHitTestInfo_1));
220
+ }
213
221
  }
214
222
  finally {
215
223
  this.preventReentrancy = false;
@@ -242,18 +250,20 @@ var SeriesSelectionModifier = /** @class */ (function (_super) {
242
250
  // Deselect all series
243
251
  this.selectedSeries = [];
244
252
  allSeries.forEach(function (rs) { return (rs.isSelected = false); });
253
+ var nearestHitTestInfo = void 0;
245
254
  // Select the first series that has HitTestInfo.isHit = true
246
255
  if ((hitTestInfos === null || hitTestInfos === void 0 ? void 0 : hitTestInfos.length) > 0) {
247
- var selected = hitTestInfos.find(function (ht) { return ht.isHit; });
248
- if (selected) {
256
+ // Any series been hit-tested? Get the nearest
257
+ nearestHitTestInfo = hitTestInfos.sort(function (a, b) { return a.getEuclideanDistance() - b.getEuclideanDistance(); })[0];
258
+ if (nearestHitTestInfo.isHit) {
249
259
  // Setting isSelected true will cause series to raise the selectionChanged event
250
260
  // This then feeds back into this.select
251
- selected.associatedSeries.isSelected = true;
252
- this.selectedSeries.push(selected.associatedSeries);
261
+ nearestHitTestInfo.associatedSeries.isSelected = true;
262
+ this.selectedSeries.push(nearestHitTestInfo.associatedSeries);
253
263
  }
254
264
  }
255
265
  // Raise the selectionChanged event
256
- (_a = this.selectionChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new SelectionChangedArgs_1.SelectionChangedArgs(this, this.selectedSeries, allSeries));
266
+ (_a = this.selectionChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new SelectionChangedArgs_1.SelectionChangedArgs(this, this.selectedSeries, allSeries, nearestHitTestInfo));
257
267
  }
258
268
  finally {
259
269
  this.preventReentrancy = false;
@@ -287,12 +297,12 @@ var SeriesSelectionModifier = /** @class */ (function (_super) {
287
297
  if (arg.isSelected) {
288
298
  this.selectedSeries.push(arg.sourceSeries);
289
299
  // Raise the selectionChanged event
290
- (_a = this.selectionChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new SelectionChangedArgs_1.SelectionChangedArgs(this, this.selectedSeries, this.getAllSeries()));
300
+ (_a = this.selectionChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new SelectionChangedArgs_1.SelectionChangedArgs(this, this.selectedSeries, this.getAllSeries(), undefined));
291
301
  }
292
302
  else {
293
303
  this.selectedSeries = (0, array_1.arrayRemove)(this.selectedSeries, arg.sourceSeries);
294
304
  // Raise the selectionChanged event after series deselected
295
- (_b = this.selectionChanged) === null || _b === void 0 ? void 0 : _b.raiseEvent(new SelectionChangedArgs_1.SelectionChangedArgs(this, this.selectedSeries, this.getAllSeries()));
305
+ (_b = this.selectionChanged) === null || _b === void 0 ? void 0 : _b.raiseEvent(new SelectionChangedArgs_1.SelectionChangedArgs(this, this.selectedSeries, this.getAllSeries(), undefined));
296
306
  }
297
307
  };
298
308
  SeriesSelectionModifier.prototype.updateSeriesHovered = function (arg) {
@@ -304,12 +314,12 @@ var SeriesSelectionModifier = /** @class */ (function (_super) {
304
314
  if (arg.hovered) {
305
315
  this.hoveredSeries.push(arg.sourceSeries);
306
316
  // Raise the selectionChanged event
307
- (_a = this.hoverChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new HoveredChangedArgs_1.HoveredChangedArgs(this, this.hoveredSeries, this.getAllSeries()));
317
+ (_a = this.hoverChanged) === null || _a === void 0 ? void 0 : _a.raiseEvent(new HoveredChangedArgs_1.HoveredChangedArgs(this, this.hoveredSeries, this.getAllSeries(), undefined));
308
318
  }
309
319
  else {
310
320
  this.hoveredSeries = (0, array_1.arrayRemove)(this.hoveredSeries, arg.sourceSeries);
311
321
  // Raise the selectionChanged event after series deselected
312
- (_b = this.hoverChanged) === null || _b === void 0 ? void 0 : _b.raiseEvent(new HoveredChangedArgs_1.HoveredChangedArgs(this, this.hoveredSeries, this.getAllSeries()));
322
+ (_b = this.hoverChanged) === null || _b === void 0 ? void 0 : _b.raiseEvent(new HoveredChangedArgs_1.HoveredChangedArgs(this, this.hoveredSeries, this.getAllSeries(), undefined));
313
323
  }
314
324
  };
315
325
  return SeriesSelectionModifier;
@@ -34,7 +34,7 @@ export declare class XAxisDragModifier extends ChartModifierBase2D {
34
34
  readonly type = EChart2DModifierType.XAxisDrag;
35
35
  dragMode: EDragMode;
36
36
  protected isClickedOverXAxis: boolean;
37
- protected pointFrom: Point;
37
+ protected pointFrom: Point | undefined;
38
38
  protected activeAxes: AxisBase2D[];
39
39
  protected initialVisibleRanges: NumberRange[];
40
40
  protected isVerticalChart: boolean;
@@ -21,7 +21,6 @@ var DragMode_1 = require("../../types/DragMode");
21
21
  var translate_1 = require("../../utils/translate");
22
22
  var AxisBase2D_1 = require("../Visuals/Axis/AxisBase2D");
23
23
  var ChartModifierBase2D_1 = require("./ChartModifierBase2D");
24
- var ChartModifierBase2D_2 = require("./ChartModifierBase2D");
25
24
  var Guard_1 = require("../../Core/Guard");
26
25
  var ChartModifierType_1 = require("../../types/ChartModifierType");
27
26
  /**
@@ -50,6 +49,7 @@ var XAxisDragModifier = /** @class */ (function (_super) {
50
49
  _this.dragMode = DragMode_1.EDragMode.Scaling;
51
50
  _this.isClickedOverXAxis = false;
52
51
  _this.isVerticalChart = false;
52
+ _this.cursorStyle = CursorStyle_1.ECursorStyle.Defalut;
53
53
  _this.includedSeriesMapProperty = new Map();
54
54
  _this.dragMode = (_a = options === null || options === void 0 ? void 0 : options.dragMode) !== null && _a !== void 0 ? _a : _this.dragMode;
55
55
  (_b = options === null || options === void 0 ? void 0 : options.excludedAxisIds) === null || _b === void 0 ? void 0 : _b.forEach(function (id) {
@@ -192,13 +192,13 @@ var XAxisDragModifier = /** @class */ (function (_super) {
192
192
  var yFromTrans = (0, translate_1.translateFromCanvasToSeriesViewRectY)(this.pointFrom.y, seriesViewRect);
193
193
  var isMoreThanHalf = yFromTrans >= seriesViewRect.height / 2;
194
194
  var yDelta = (pointTo.y - this.pointFrom.y) / seriesViewRect.width;
195
- (0, ChartModifierBase2D_2.scaleAxes)(this.activeAxes, this.initialVisibleRanges, yDelta, isMoreThanHalf);
195
+ (0, ChartModifierBase2D_1.scaleAxes)(this.activeAxes, this.initialVisibleRanges, yDelta, isMoreThanHalf);
196
196
  }
197
197
  else {
198
198
  var xFromTrans = (0, translate_1.translateFromCanvasToSeriesViewRectX)(this.pointFrom.x, seriesViewRect);
199
199
  var isMoreThanHalf = xFromTrans >= seriesViewRect.width / 2;
200
200
  var xDelta = (pointTo.x - this.pointFrom.x) / seriesViewRect.width;
201
- (0, ChartModifierBase2D_2.scaleAxes)(this.activeAxes, this.initialVisibleRanges, xDelta, isMoreThanHalf);
201
+ (0, ChartModifierBase2D_1.scaleAxes)(this.activeAxes, this.initialVisibleRanges, xDelta, isMoreThanHalf);
202
202
  }
203
203
  };
204
204
  XAxisDragModifier.prototype.getHorizontalXAxes = function () {
@@ -35,7 +35,7 @@ export declare class YAxisDragModifier extends ChartModifierBase2D implements II
35
35
  readonly type = EChart2DModifierType.YAxisDrag;
36
36
  dragMode: EDragMode;
37
37
  protected isClickedOverYAxis: boolean;
38
- protected pointFrom: Point;
38
+ protected pointFrom: Point | undefined;
39
39
  protected activeAxes: AxisBase2D[];
40
40
  protected initialVisibleRanges: NumberRange[];
41
41
  protected isVerticalChart: boolean;
@@ -72,9 +72,7 @@ export declare class YAxisDragModifier extends ChartModifierBase2D implements II
72
72
  */
73
73
  modifierMouseUp(args: ModifierMouseArgs): void;
74
74
  toJSON(): {
75
- type: string; /**
76
- * @inheritDoc
77
- */
75
+ type: string;
78
76
  options: Required<Omit<IChartModifierBaseOptions, never>>;
79
77
  };
80
78
  protected updateCursor(mousePoint: Point): void;