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
@@ -22,8 +22,6 @@ var DragMode_1 = require("../../types/DragMode");
22
22
  var translate_1 = require("../../utils/translate");
23
23
  var AxisBase2D_1 = require("../Visuals/Axis/AxisBase2D");
24
24
  var ChartModifierBase2D_1 = require("./ChartModifierBase2D");
25
- var ChartModifierBase2D_2 = require("./ChartModifierBase2D");
26
- var ChartModifierBase2D_3 = require("./ChartModifierBase2D");
27
25
  /**
28
26
  * The YAxisDragModifier provides scaling/panning behavior for Y axis {@link AxisBase2D}
29
27
  * within SciChart - High Performance {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
@@ -50,6 +48,7 @@ var YAxisDragModifier = /** @class */ (function (_super) {
50
48
  _this.dragMode = DragMode_1.EDragMode.Scaling;
51
49
  _this.isClickedOverYAxis = false;
52
50
  _this.isVerticalChart = false;
51
+ _this.cursorStyle = CursorStyle_1.ECursorStyle.Defalut;
53
52
  _this.includedSeriesMapProperty = new Map();
54
53
  _this.dragMode = (_a = options === null || options === void 0 ? void 0 : options.dragMode) !== null && _a !== void 0 ? _a : _this.dragMode;
55
54
  (_b = options === null || options === void 0 ? void 0 : options.excludedAxisIds) === null || _b === void 0 ? void 0 : _b.forEach(function (id) {
@@ -95,12 +94,12 @@ var YAxisDragModifier = /** @class */ (function (_super) {
95
94
  if (!this.isAttached) {
96
95
  throw new Error("Should not call YAxisDragModifier.modifierMouseDown if not attached");
97
96
  }
98
- if ((0, ChartModifierBase2D_2.testIsOverAxes)(this.getVerticalYAxes(), args.mousePoint)) {
97
+ if ((0, ChartModifierBase2D_1.testIsOverAxes)(this.getVerticalYAxes(), args.mousePoint)) {
99
98
  // Horizontal chart
100
99
  this.isVerticalChart = false;
101
100
  this.startDragging(this.getVerticalYAxes(), args);
102
101
  }
103
- else if ((0, ChartModifierBase2D_2.testIsOverAxes)(this.getHorizontalYAxes(), args.mousePoint)) {
102
+ else if ((0, ChartModifierBase2D_1.testIsOverAxes)(this.getHorizontalYAxes(), args.mousePoint)) {
104
103
  // Vertical chart
105
104
  this.isVerticalChart = true;
106
105
  this.startDragging(this.getHorizontalYAxes(), args);
@@ -148,13 +147,13 @@ var YAxisDragModifier = /** @class */ (function (_super) {
148
147
  };
149
148
  YAxisDragModifier.prototype.updateCursor = function (mousePoint) {
150
149
  var canvas = this.parentSurface.getMainCanvas();
151
- if ((0, ChartModifierBase2D_2.testIsOverAxes)(this.getVerticalYAxes(), mousePoint)) {
150
+ if ((0, ChartModifierBase2D_1.testIsOverAxes)(this.getVerticalYAxes(), mousePoint)) {
152
151
  if (this.cursorStyle !== CursorStyle_1.ECursorStyle.NS) {
153
152
  canvas.style.cursor = CursorStyle_1.ECursorStyle.NS;
154
153
  this.cursorStyle = CursorStyle_1.ECursorStyle.NS;
155
154
  }
156
155
  }
157
- else if ((0, ChartModifierBase2D_2.testIsOverAxes)(this.getHorizontalYAxes(), mousePoint)) {
156
+ else if ((0, ChartModifierBase2D_1.testIsOverAxes)(this.getHorizontalYAxes(), mousePoint)) {
158
157
  if (this.cursorStyle !== CursorStyle_1.ECursorStyle.EW) {
159
158
  canvas.style.cursor = CursorStyle_1.ECursorStyle.EW;
160
159
  this.cursorStyle = CursorStyle_1.ECursorStyle.EW;
@@ -191,13 +190,13 @@ var YAxisDragModifier = /** @class */ (function (_super) {
191
190
  var xFromTrans = (0, translate_1.translateFromCanvasToSeriesViewRectX)(this.pointFrom.x, seriesViewRect);
192
191
  var isMoreThanHalf = xFromTrans <= seriesViewRect.width / 2;
193
192
  var xDelta = -(pointTo.x - this.pointFrom.x) / seriesViewRect.width;
194
- (0, ChartModifierBase2D_3.scaleAxes)(this.activeAxes, this.initialVisibleRanges, xDelta, isMoreThanHalf);
193
+ (0, ChartModifierBase2D_1.scaleAxes)(this.activeAxes, this.initialVisibleRanges, xDelta, isMoreThanHalf);
195
194
  }
196
195
  else {
197
196
  var yFromTrans = (0, translate_1.translateFromCanvasToSeriesViewRectY)(this.pointFrom.y, seriesViewRect);
198
197
  var isMoreThanHalf = yFromTrans <= seriesViewRect.height / 2;
199
198
  var yDelta = -(pointTo.y - this.pointFrom.y) / seriesViewRect.height;
200
- (0, ChartModifierBase2D_3.scaleAxes)(this.activeAxes, this.initialVisibleRanges, yDelta, isMoreThanHalf);
199
+ (0, ChartModifierBase2D_1.scaleAxes)(this.activeAxes, this.initialVisibleRanges, yDelta, isMoreThanHalf);
201
200
  }
202
201
  };
203
202
  YAxisDragModifier.prototype.getVerticalYAxes = function () {
@@ -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,30 @@ 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
+ try {
75
+ if (process.env.NODE_ENV !== "production") {
76
+ // resolve memory debug issue when comparing to proxy object
77
+ if (MemoryUsageHelper_1.MemoryUsageHelper.isMemoryUsageDebugEnabled) {
78
+ WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.forEach(function (ref) {
79
+ if (ref.resetCache === _this.resetCache) {
80
+ WebGlRenderContext2D_1.WebGlRenderContext2D.webGlResourcesRefs.delete(ref);
81
+ }
82
+ });
83
+ }
84
+ }
85
+ }
86
+ catch (err) {
87
+ console.warn(err);
52
88
  }
89
+ // }
90
+ this.webAssemblyContext = undefined;
53
91
  };
54
92
  return BaseCache;
55
- }());
93
+ }(DeletableEntity_1.DeletableEntity));
56
94
  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;
@@ -1,10 +1,11 @@
1
+ import { DeletableEntity } from "../../Core/DeletableEntity";
1
2
  import { SCRTPen } from "../../types/TSciChart";
2
3
  import { EDrawingTypes } from "./constants";
3
4
  import { IPen2D } from "./IPen2D";
4
5
  /**
5
6
  * The WebGlPen is a pen for polygon stroke, line strokes, which can be passed to SciChart's WebGL / WebAssembly graphics engine
6
7
  */
7
- export declare class WebGlPen implements IPen2D {
8
+ export declare class WebGlPen extends DeletableEntity implements IPen2D {
8
9
  private scrtPenProperty;
9
10
  private originalColor;
10
11
  /**