scichart 2.0.2204 → 2.1.2267

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 (233) hide show
  1. package/Charting/ChartModifiers/DataPointSelectionModifier.js +0 -1
  2. package/Charting/ChartModifiers/LegendModifier.d.ts +2 -2
  3. package/Charting/ChartModifiers/RolloverModifier.d.ts +5 -3
  4. package/Charting/ChartModifiers/RolloverModifier.js +38 -80
  5. package/Charting/Drawing/BrushCache.d.ts +8 -2
  6. package/Charting/Drawing/BrushCache.js +16 -8
  7. package/Charting/Drawing/WebGlRenderContext2D.d.ts +1 -0
  8. package/Charting/Drawing/WebGlRenderContext2D.js +4 -1
  9. package/Charting/LayoutManager/BaseAxisLayoutStrategy.d.ts +2 -0
  10. package/Charting/LayoutManager/BaseAxisLayoutStrategy.js +33 -0
  11. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +18 -2
  12. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +19 -2
  13. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +18 -2
  14. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +18 -2
  15. package/Charting/Model/BaseDataSeries.d.ts +42 -15
  16. package/Charting/Model/BaseDataSeries.js +77 -28
  17. package/Charting/Model/BaseHeatmapDataSeries.d.ts +31 -23
  18. package/Charting/Model/BaseHeatmapDataSeries.js +45 -18
  19. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.d.ts +23 -0
  20. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +122 -0
  21. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.d.ts +57 -0
  22. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.js +2 -0
  23. package/Charting/Model/Filters/OhlcFilterBase.d.ts +2 -2
  24. package/Charting/Model/Filters/XyFilterBase.d.ts +3 -3
  25. package/Charting/Model/Filters/XyMovingAverageFilter.js +1 -1
  26. package/Charting/Model/Filters/XyyFilterBase.d.ts +4 -4
  27. package/Charting/Model/Filters/XyzFilterBase.d.ts +4 -4
  28. package/Charting/Model/IDataSeries.d.ts +37 -5
  29. package/Charting/Model/OhlcDataSeries.d.ts +12 -11
  30. package/Charting/Model/OhlcDataSeries.js +47 -44
  31. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +21 -0
  32. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +56 -0
  33. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +14 -0
  34. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +23 -0
  35. package/Charting/Model/PointSeries/IPointSeries.d.ts +31 -0
  36. package/Charting/Model/PointSeries/IPointSeries.js +2 -0
  37. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.d.ts +13 -0
  38. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +59 -0
  39. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.d.ts +11 -0
  40. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.js +32 -0
  41. package/Charting/Model/PointSeries/XyPointSeriesResampled.d.ts +7 -0
  42. package/Charting/Model/PointSeries/XyPointSeriesResampled.js +27 -0
  43. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +6 -0
  44. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +27 -0
  45. package/Charting/Model/PointSeries/XyyPointSeriesResampled.d.ts +10 -0
  46. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +48 -0
  47. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.d.ts +8 -0
  48. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.js +29 -0
  49. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.d.ts +8 -0
  50. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.js +29 -0
  51. package/Charting/Model/XyDataSeries.d.ts +3 -2
  52. package/Charting/Model/XyDataSeries.js +26 -26
  53. package/Charting/Model/XyyDataSeries.d.ts +5 -5
  54. package/Charting/Model/XyyDataSeries.js +30 -27
  55. package/Charting/Model/XyzDataSeries.d.ts +5 -5
  56. package/Charting/Model/XyzDataSeries.js +30 -27
  57. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +2 -2
  58. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +2 -2
  59. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.d.ts +2 -1
  60. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +6 -2
  61. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.d.ts +2 -1
  62. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +6 -2
  63. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +54 -0
  64. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +234 -0
  65. package/Charting/Numerics/Resamplers/ResamplingMode.d.ts +37 -0
  66. package/Charting/Numerics/Resamplers/ResamplingMode.js +41 -0
  67. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +39 -0
  68. package/Charting/Numerics/Resamplers/ResamplingParams.js +52 -0
  69. package/Charting/Services/RenderPassData.d.ts +6 -1
  70. package/Charting/Services/RenderPassData.js +5 -1
  71. package/Charting/Services/RenderPassInfo.d.ts +18 -0
  72. package/Charting/Services/RenderPassInfo.js +14 -0
  73. package/Charting/Services/SciChartRenderer.d.ts +14 -1
  74. package/Charting/Services/SciChartRenderer.js +125 -31
  75. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +1 -1
  76. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +1 -1
  77. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +7 -2
  78. package/Charting/Visuals/Axis/AxisBase2D.d.ts +23 -0
  79. package/Charting/Visuals/Axis/AxisBase2D.js +71 -24
  80. package/Charting/Visuals/Axis/AxisCore.d.ts +11 -0
  81. package/Charting/Visuals/Axis/AxisCore.js +39 -18
  82. package/Charting/Visuals/Axis/AxisRenderer.d.ts +1 -0
  83. package/Charting/Visuals/Axis/AxisRenderer.js +37 -10
  84. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +51 -0
  85. package/Charting/Visuals/Axis/CategoryAxisBase.js +85 -20
  86. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +5 -0
  87. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +7 -4
  88. package/Charting/Visuals/Axis/NumericAxis.js +2 -2
  89. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  90. package/Charting/Visuals/Axis/constants.js +1 -0
  91. package/Charting/Visuals/Legend/SciChartLegend.d.ts +6 -0
  92. package/Charting/Visuals/Legend/SciChartLegend.js +30 -13
  93. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +20 -6
  94. package/Charting/Visuals/Legend/SciChartLegendBase.js +22 -4
  95. package/Charting/Visuals/Legend/SciChartPieLegend.d.ts +2 -0
  96. package/Charting/Visuals/Legend/SciChartPieLegend.js +17 -6
  97. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  98. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  99. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +3 -3
  100. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  101. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  102. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +6 -6
  103. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  104. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +9 -2
  105. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +45 -1
  106. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +1 -0
  107. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +1 -0
  108. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +1 -0
  109. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +1 -0
  110. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +12 -5
  111. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +113 -0
  112. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +42 -6
  113. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +129 -21
  114. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +36 -4
  115. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +51 -3
  116. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +38 -4
  117. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +54 -3
  118. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -1
  119. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +8 -14
  120. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +4 -3
  121. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +5 -11
  122. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  123. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +31 -19
  124. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +2 -1
  125. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +17 -21
  126. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +16 -15
  127. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +9 -15
  128. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +4 -3
  129. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +16 -21
  130. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +2 -9
  131. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +0 -7
  132. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +11 -2
  133. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +17 -0
  134. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +1 -0
  135. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +1 -0
  136. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.d.ts +1 -0
  137. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +6 -0
  138. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -2
  139. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  140. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +1 -1
  141. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +2 -2
  142. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +2 -2
  143. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +1 -1
  144. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +2 -2
  145. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +1 -1
  146. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +2 -2
  147. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +2 -2
  148. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +6 -6
  149. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +1 -1
  150. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +12 -1
  151. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +38 -2
  152. package/Charting/Visuals/RenderableSeries/ISpline.d.ts +3 -3
  153. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  154. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +5 -5
  155. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +3 -3
  156. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +3 -3
  157. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +3 -3
  158. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +3 -3
  159. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +0 -6
  160. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +1 -1
  161. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +1 -7
  162. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  163. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -0
  164. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +5 -0
  165. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +6 -0
  166. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -3
  167. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +6 -3
  168. package/Charting/Visuals/RenderableSeries/constants.d.ts +3 -0
  169. package/Charting/Visuals/RenderableSeries/constants.js +3 -0
  170. package/Charting/Visuals/SciChartDefaults.d.ts +9 -1
  171. package/Charting/Visuals/SciChartDefaults.js +9 -1
  172. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +4 -2
  173. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +46 -32
  174. package/Charting/Visuals/SciChartSurface.d.ts +4 -4
  175. package/Charting/Visuals/SciChartSurface.js +18 -11
  176. package/Charting/Visuals/SciChartSurfaceBase.d.ts +3 -2
  177. package/Charting/Visuals/SciChartSurfaceBase.js +4 -4
  178. package/Charting/Visuals/createMaster.d.ts +1 -1
  179. package/Charting/Visuals/createMaster.js +11 -6
  180. package/Charting/Visuals/createSingle.d.ts +1 -1
  181. package/Charting/Visuals/createSingle.js +2 -2
  182. package/Charting/Visuals/licenseManager2D.js +21 -20
  183. package/Charting/Visuals/licenseManager2dState.d.ts +4 -0
  184. package/Charting/Visuals/licenseManager2dState.js +12 -0
  185. package/Charting/Visuals/loader.js +2 -0
  186. package/Charting/Visuals/sciChartInitCommon.d.ts +2 -2
  187. package/Charting/Visuals/sciChartInitCommon.js +22 -12
  188. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +7 -7
  189. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +3 -3
  190. package/Charting3D/Visuals/SciChart3DSurface.d.ts +2 -2
  191. package/Charting3D/Visuals/SciChart3DSurface.js +3 -3
  192. package/Charting3D/Visuals/createMaster3d.d.ts +1 -1
  193. package/Charting3D/Visuals/createMaster3d.js +11 -6
  194. package/Charting3D/Visuals/createSingle3d.d.ts +1 -1
  195. package/Charting3D/Visuals/createSingle3d.js +2 -2
  196. package/Core/BuildStamp.d.ts +1 -1
  197. package/Core/BuildStamp.js +2 -2
  198. package/Core/NumberRange.d.ts +1 -0
  199. package/Core/NumberRange.js +8 -0
  200. package/Core/OneTimePerformanceWarning.d.ts +6 -0
  201. package/Core/OneTimePerformanceWarning.js +19 -0
  202. package/Core/storage/localStorageApi.d.ts +9 -0
  203. package/Core/storage/localStorageApi.js +32 -0
  204. package/README.md +223 -1
  205. package/_wasm/scichart.browser.js +1 -1
  206. package/_wasm/scichart2d.js +95 -95
  207. package/_wasm/scichart2d.wasm +0 -0
  208. package/_wasm/scichart3d.js +13 -13
  209. package/_wasm/scichart3d.wasm +0 -0
  210. package/constants/performanceWarnings.d.ts +5 -0
  211. package/constants/performanceWarnings.js +8 -0
  212. package/package.json +1 -1
  213. package/types/NumberArray.d.ts +1 -0
  214. package/types/NumberArray.js +5 -1
  215. package/types/SearchMode.d.ts +21 -0
  216. package/types/SearchMode.js +25 -0
  217. package/types/TSciChart.d.ts +144 -40
  218. package/types/TSciChart3D.d.ts +66 -28
  219. package/types/TStackedAxisLength.d.ts +4 -0
  220. package/types/TStackedAxisLength.js +4 -0
  221. package/utils/array.d.ts +7 -0
  222. package/utils/array.js +19 -1
  223. package/utils/calcAverage.d.ts +2 -2
  224. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +19 -0
  225. package/utils/ccall/appendDoubleVectorFromJsArray.js +91 -0
  226. package/utils/hash.d.ts +7 -0
  227. package/utils/hash.js +35 -0
  228. package/utils/tooltip.d.ts +42 -0
  229. package/utils/tooltip.js +119 -0
  230. package/utils/ccall/fillDoubleVectorFromJsArray.d.ts +0 -3
  231. package/utils/ccall/fillDoubleVectorFromJsArray.js +0 -33
  232. package/utils/performance.d.ts +0 -5
  233. package/utils/performance.js +0 -11
@@ -22,17 +22,20 @@ export declare type TSciChart3D = {
22
22
  SCRTSetGlobalCopyToDestinationInterface: (param0: SCRTCopyToDestinationInterface) => void;
23
23
  SCRTSetClearAlphaParams: (enabled: boolean, alpha: number) => void;
24
24
  FloatVector: new () => FloatVector;
25
+ SCRTDoubleVector: new () => SCRTDoubleVector;
26
+ DoubleVector: new () => DoubleVector;
27
+ IntVector: new () => IntVector;
28
+ UIntVector: new () => UIntVector;
25
29
  eTSRTextureFormat: {
26
30
  TSR_TEXTUREFORMAT_A8B8G8R8: eTSRTextureFormat;
27
31
  TSR_TEXTUREFORMAT_R32F: eTSRTextureFormat;
28
32
  };
29
- IntVector: new () => IntVector;
30
- UIntVector: new () => UIntVector;
31
33
  TSRVector4: (new () => TSRVector4) & (new (x: number, y: number, z: number, w: number) => TSRVector4);
32
34
  StringVector: new () => StringVector;
33
- DoubleVector: new () => DoubleVector;
34
35
  LinearCoordinateCalculatorDouble: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number) => LinearCoordinateCalculatorDouble;
35
36
  FlippedLinearCoordinateCalculatorDouble: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number) => FlippedLinearCoordinateCalculatorDouble;
37
+ LinearCoordinateCalculatorSingle: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number) => LinearCoordinateCalculatorSingle;
38
+ FlippedLinearCoordinateCalculatorSingle: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number) => FlippedLinearCoordinateCalculatorSingle;
36
39
  CategoryCoordinateCalculatorDouble: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number, IndexMin: number, IndexMax: number) => CategoryCoordinateCalculatorDouble;
37
40
  FlippedCategoryCoordinateCalculatorDouble: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number, IndexMin: number, IndexMax: number) => FlippedCategoryCoordinateCalculatorDouble;
38
41
  LogarithmicCoordinateCalculator: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number, LogBase: number) => LogarithmicCoordinateCalculator;
@@ -48,7 +51,7 @@ export declare type TSciChart3D = {
48
51
  IsDivisibleBy: (value: number, divisor: number) => boolean;
49
52
  Constrain: (value: number, lowerBound: number, upperBound: number) => number;
50
53
  RoundToDigits: (value: number, decimals: number) => number;
51
- MinMax: (inputValues: DoubleVector) => DoubleRange;
54
+ MinMax: (inputValues: SCRTDoubleVector) => DoubleRange;
52
55
  LinearInterpolateI: (from: number, to: number, ratio: number) => number;
53
56
  };
54
57
  SCRTLicenseType: {
@@ -274,6 +277,7 @@ export declare type TSciChart3D = {
274
277
  };
275
278
  };
276
279
  export declare class FloatVector {
280
+ dataPtr(offset: number): number;
277
281
  push_back(element: number): void;
278
282
  pop_back(): void;
279
283
  size(): number;
@@ -291,15 +295,40 @@ export declare class FloatVector {
291
295
  export declare class TSRTexture {
292
296
  delete(): void;
293
297
  }
294
- export declare class TSRMesh {
298
+ export declare class SCRTDoubleVector {
299
+ push_back(_dNewValue: number): void;
300
+ resize(_iNewSize: number, _dInitialValue: number): void;
301
+ resizeFast(_iNewSize: number): void;
302
+ reserve(_iCount: number): void;
303
+ clear(): void;
304
+ size(): number;
305
+ capacity(): number;
306
+ get(_iIndex: number): number;
307
+ set(_iIndex: number, _dValue: number): void;
308
+ insertAt(_iIndex: number, _dValue: number): void;
309
+ removeAt(_iIndex: number): void;
310
+ removeRange(_iIndex: number, _iCount: number): void;
311
+ dataPtr(_iOffset: number): number;
295
312
  delete(): void;
296
313
  }
297
- export declare class TSRIndexedMesh extends TSRMesh {
314
+ export declare class DoubleVector {
315
+ dataPtr(offset: number): number;
316
+ push_back(element: number): void;
317
+ pop_back(): void;
318
+ size(): number;
319
+ resize(size: number, initialValue: number): void;
320
+ reserve(size: number): void;
321
+ clear(): void;
322
+ fill(element: number): void;
323
+ insertAt(index: number, element: number): void;
324
+ removeAt(index: number): void;
325
+ removeRange(index: number, count: number): void;
298
326
  delete(): void;
299
- }
300
- export declare class eTSRTextureFormat {
327
+ set(index: number, element: number): void;
328
+ get(index: number): number;
301
329
  }
302
330
  export declare class IntVector {
331
+ dataPtr(offset: number): number;
303
332
  push_back(element: number): void;
304
333
  pop_back(): void;
305
334
  size(): number;
@@ -315,6 +344,7 @@ export declare class IntVector {
315
344
  get(index: number): number;
316
345
  }
317
346
  export declare class UIntVector {
347
+ dataPtr(offset: number): number;
318
348
  push_back(element: number): void;
319
349
  pop_back(): void;
320
350
  size(): number;
@@ -329,6 +359,14 @@ export declare class UIntVector {
329
359
  set(index: number, element: number): void;
330
360
  get(index: number): number;
331
361
  }
362
+ export declare class TSRMesh {
363
+ delete(): void;
364
+ }
365
+ export declare class TSRIndexedMesh extends TSRMesh {
366
+ delete(): void;
367
+ }
368
+ export declare class eTSRTextureFormat {
369
+ }
332
370
  export declare class TSRVector4 {
333
371
  x: number;
334
372
  y: number;
@@ -337,6 +375,7 @@ export declare class TSRVector4 {
337
375
  delete(): void;
338
376
  }
339
377
  export declare class StringVector {
378
+ dataPtr(offset: number): number;
340
379
  push_back(element: string): void;
341
380
  pop_back(): void;
342
381
  size(): number;
@@ -357,23 +396,9 @@ export declare class StringVector {
357
396
  export declare class CoordinateCalculator {
358
397
  GetCoordinate(dataValue: number): number;
359
398
  GetDataValue(coordinate: number): number;
399
+ CanSupportMatrices(): boolean;
360
400
  delete(): void;
361
401
  }
362
- export declare class DoubleVector {
363
- push_back(element: number): void;
364
- pop_back(): void;
365
- size(): number;
366
- resize(size: number, initialValue: number): void;
367
- reserve(size: number): void;
368
- clear(): void;
369
- fill(element: number): void;
370
- insertAt(index: number, element: number): void;
371
- removeAt(index: number): void;
372
- removeRange(index: number, count: number): void;
373
- delete(): void;
374
- set(index: number, element: number): void;
375
- get(index: number): number;
376
- }
377
402
  /**
378
403
  *WebAssembly / Native Linear Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Double precision version.
379
404
  */
@@ -386,20 +411,32 @@ export declare class LinearCoordinateCalculatorDouble extends CoordinateCalculat
386
411
  export declare class FlippedLinearCoordinateCalculatorDouble extends CoordinateCalculator {
387
412
  delete(): void;
388
413
  }
414
+ /**
415
+ *WebAssembly / Native Linear Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Float32 version.
416
+ */
417
+ export declare class LinearCoordinateCalculatorSingle extends CoordinateCalculator {
418
+ delete(): void;
419
+ }
420
+ /**
421
+ *WebAssembly / Native Flipped Linear Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Float32 version. Inverse of {@link LinearCoordinateCalculatorSingle}
422
+ */
423
+ export declare class FlippedLinearCoordinateCalculatorSingle extends CoordinateCalculator {
424
+ delete(): void;
425
+ }
389
426
  /**
390
427
  *WebAssembly / Native Catetory Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Uses index not data-value for conversion
391
428
  */
392
429
  export declare class CategoryCoordinateCalculatorDouble extends CoordinateCalculator {
393
- TransformDataToIndex(dataValue: number, baseXValues: DoubleVector): number;
394
- TransformIndexToData(index: number, baseXValues: DoubleVector): number;
430
+ TransformDataToIndex(dataValue: number, baseXValues: SCRTDoubleVector): number;
431
+ TransformIndexToData(index: number, baseXValues: SCRTDoubleVector): number;
395
432
  delete(): void;
396
433
  }
397
434
  /**
398
435
  *WebAssembly / Native Catetory Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Uses index not data-value for conversion. Inverse of CategoryCoordinateCalculatorDouble
399
436
  */
400
437
  export declare class FlippedCategoryCoordinateCalculatorDouble extends CoordinateCalculator {
401
- TransformDataToIndex(dataValue: number, baseXValues: DoubleVector): number;
402
- TransformIndexToData(index: number, baseXValues: DoubleVector): number;
438
+ TransformDataToIndex(dataValue: number, baseXValues: SCRTDoubleVector): number;
439
+ TransformIndexToData(index: number, baseXValues: SCRTDoubleVector): number;
403
440
  delete(): void;
404
441
  }
405
442
  /**
@@ -437,6 +474,7 @@ export declare class SCRTCredentials {
437
474
  delete(): void;
438
475
  }
439
476
  export declare class WStringVector {
477
+ dataPtr(offset: number): number;
440
478
  push_back(element: string): void;
441
479
  pop_back(): void;
442
480
  size(): number;
@@ -645,7 +683,7 @@ export declare class SCRTPoint3DSceneEntity extends SCRTSceneEntity {
645
683
  SetPointMarkerMesh(mesh: TSRIndexedMesh): void;
646
684
  SetPointSize(pointSize: number): void;
647
685
  SetPointColor(pointColor: number): void;
648
- UpdateMeshesVec(xValues: DoubleVector, yValues: DoubleVector, zValues: DoubleVector, colors: IntVector, scaleFactors: FloatVector, params: SCRTPoint3DSceneEntityParams): void;
686
+ UpdateMeshesVec(xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, zValues: SCRTDoubleVector, colors: IntVector, scaleFactors: FloatVector, params: SCRTPoint3DSceneEntityParams): void;
649
687
  delete(): void;
650
688
  }
651
689
  export declare class SCRTPoint3DSceneEntityWrapper {
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Length defined as an absolute number or percentage
3
+ */
4
+ export declare type TStackedAxisLength = number | string;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Requires TS ^4.1
4
+ // export type TStackedAxisLength = number | `${number}%`;
package/utils/array.d.ts CHANGED
@@ -1,4 +1,11 @@
1
+ import { NumberArray } from "../types/NumberArray";
1
2
  export declare function getUniqueValues(array: string[]): string[];
2
3
  export declare function countUnique(iterable: string[]): number;
3
4
  export declare const areArraysEqual: (leftArray: number[], rightArray: number[]) => boolean;
4
5
  export declare function arrayRemove<T>(array: T[], item: T): T[];
6
+ /**
7
+ * returns true if the array is sorted
8
+ * @param arr The array
9
+ * @param ascending If True checks for sorted ascending, if False for descending
10
+ */
11
+ export declare function isArraySorted(arr: NumberArray, ascending?: boolean): boolean;
package/utils/array.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayRemove = exports.areArraysEqual = exports.countUnique = exports.getUniqueValues = void 0;
3
+ exports.isArraySorted = exports.arrayRemove = exports.areArraysEqual = exports.countUnique = exports.getUniqueValues = void 0;
4
4
  function getUniqueValues(array) {
5
5
  var onlyUnique = function (value, index, self) {
6
6
  if (value === undefined || value === null)
@@ -41,3 +41,21 @@ function arrayRemove(array, item) {
41
41
  return array;
42
42
  }
43
43
  exports.arrayRemove = arrayRemove;
44
+ /**
45
+ * returns true if the array is sorted
46
+ * @param arr The array
47
+ * @param ascending If True checks for sorted ascending, if False for descending
48
+ */
49
+ function isArraySorted(arr, ascending) {
50
+ if (ascending === void 0) { ascending = true; }
51
+ var sorted = true;
52
+ var checkUnsortedFn = ascending ? function (i) { return arr[i] > arr[i + 1]; } : function (i) { return arr[i] < arr[i + 1]; };
53
+ for (var i = 0; i < arr.length - 1; i++) {
54
+ if (checkUnsortedFn(i)) {
55
+ sorted = false;
56
+ break;
57
+ }
58
+ }
59
+ return sorted;
60
+ }
61
+ exports.isArraySorted = isArraySorted;
@@ -1,9 +1,9 @@
1
- import { DoubleVector } from "../types/TSciChart";
1
+ import { SCRTDoubleVector } from "../types/TSciChart";
2
2
  /**
3
3
  * @description Calculates average for DoubleVector
4
4
  * @param doubleVector
5
5
  * @param averageNum - number of values to respect for the average
6
6
  * @param index - index of the latest value to include, by default equals to length-1 of DoubleVector
7
7
  */
8
- export declare const calcAverageForDoubleVector: (doubleVector: DoubleVector, averageNum: number, index?: number) => number;
8
+ export declare const calcAverageForDoubleVector: (doubleVector: SCRTDoubleVector, averageNum: number, index?: number) => number;
9
9
  export declare const calcAverageForArray: (ar: number[], averageNum: number, index?: number) => number;
@@ -0,0 +1,19 @@
1
+ import { NumberArray } from "../../types/NumberArray";
2
+ import { SCRTDoubleVector, TSciChart } from "../../types/TSciChart";
3
+ export declare const SIZEOF_NUMBER = 8;
4
+ /**
5
+ * Inserts the values from the source Js array into the destination wasm array (and resizes) at index destIndex
6
+ * @param wasmContext
7
+ * @param source
8
+ * @param dest
9
+ * @param destIndex
10
+ */
11
+ export declare function insertDoubleVectorFromJsArray(wasmContext: TSciChart, source: NumberArray, dest: SCRTDoubleVector, destIndex: number): void;
12
+ /**
13
+ * Resizes the destinationVector by jsArray.length and copies the values into it
14
+ * @param wasmContext
15
+ * @param destinationVector
16
+ * @param jsArray
17
+ * @param experimentalMethod
18
+ */
19
+ export declare function appendDoubleVectorFromJsArray(wasmContext: TSciChart, destinationVector: SCRTDoubleVector, jsArray: NumberArray, experimentalMethod?: boolean): void;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendDoubleVectorFromJsArray = exports.insertDoubleVectorFromJsArray = exports.SIZEOF_NUMBER = void 0;
4
+ var Guard_1 = require("../../Core/Guard");
5
+ exports.SIZEOF_NUMBER = 8;
6
+ /**
7
+ * Inserts the values from the source Js array into the destination wasm array (and resizes) at index destIndex
8
+ * @param wasmContext
9
+ * @param source
10
+ * @param dest
11
+ * @param destIndex
12
+ */
13
+ function insertDoubleVectorFromJsArray(wasmContext, source, dest, destIndex) {
14
+ // Sanity checks
15
+ Guard_1.Guard.notNull(wasmContext, "wasmContext");
16
+ Guard_1.Guard.notNull(source, "source");
17
+ Guard_1.Guard.notNull(dest, "dest");
18
+ Guard_1.Guard.isTrue(destIndex >= 0, "destIndex must be greater than or equal to zero");
19
+ Guard_1.Guard.isTrue(destIndex <= dest.size(), "destIndex must be less than or equal to dest.size()");
20
+ var count = source.length;
21
+ if (count === 0)
22
+ return;
23
+ var beforeSize = dest.size();
24
+ // Resize the dest vector to fit memory
25
+ dest.resizeFast(beforeSize + count);
26
+ // Shift memory up for the insert
27
+ if (destIndex < beforeSize) {
28
+ wasmContext.SCRTMemMove(dest.dataPtr(destIndex + count), // Dest
29
+ dest.dataPtr(destIndex), // Src
30
+ beforeSize * exports.SIZEOF_NUMBER); // count in bytes
31
+ }
32
+ // Overwrite dest memory with Js array
33
+ // @ts-ignore
34
+ wasmContext.HEAPF64.set(source, dest.dataPtr(destIndex) / exports.SIZEOF_NUMBER);
35
+ }
36
+ exports.insertDoubleVectorFromJsArray = insertDoubleVectorFromJsArray;
37
+ /**
38
+ * Resizes the destinationVector by jsArray.length and copies the values into it
39
+ * @param wasmContext
40
+ * @param destinationVector
41
+ * @param jsArray
42
+ * @param experimentalMethod
43
+ */
44
+ function appendDoubleVectorFromJsArray(wasmContext, destinationVector, jsArray, experimentalMethod) {
45
+ if (experimentalMethod === void 0) { experimentalMethod = true; }
46
+ var buffer;
47
+ try {
48
+ if (experimentalMethod) {
49
+ var vectorSize = destinationVector.size();
50
+ var arraySize = jsArray.length;
51
+ var startPosition = vectorSize;
52
+ var endPosition = startPosition + arraySize;
53
+ // Resize without initializing values
54
+ destinationVector.resizeFast(endPosition);
55
+ // Get pointer to destination
56
+ var bufferPointer = destinationVector.dataPtr(startPosition);
57
+ // HEAPF64.set copies js array into buffer pointer
58
+ // @ts-ignore
59
+ wasmContext.HEAPF64.set(jsArray, bufferPointer / exports.SIZEOF_NUMBER);
60
+ }
61
+ else {
62
+ var vectorSize = destinationVector.size();
63
+ var arraySize = jsArray.length;
64
+ var startPosition = vectorSize;
65
+ var endPosition = startPosition + arraySize;
66
+ /// because plain c functions were receiving the object pointer as null, this is the way around that...
67
+ wasmContext.SCRTSetActiveDoubleVector(destinationVector, vectorSize);
68
+ // Allocate some space in the heap for the data (making sure to use the appropriate memory size of the elements)
69
+ // @ts-ignore
70
+ buffer = wasmContext._malloc(arraySize * 8);
71
+ // Assign the data to the heap - Keep in mind bytes per element
72
+ // @ts-ignore
73
+ wasmContext.HEAPF64.set(jsArray, buffer / exports.SIZEOF_NUMBER);
74
+ // Finally, call the function
75
+ // Here we use start position 0 and the end position array.length
76
+ // @ts-ignore
77
+ wasmContext.ccall("SCRTFillActiveDoubleVector", null, ["number", "number", "number"], [buffer, startPosition, endPosition]);
78
+ }
79
+ }
80
+ catch (e) {
81
+ console.log(e);
82
+ }
83
+ finally {
84
+ // To avoid memory leaks we need to always clear out the allocated heap data
85
+ if (buffer) {
86
+ // @ts-ignore
87
+ wasmContext._free(buffer);
88
+ }
89
+ }
90
+ }
91
+ exports.appendDoubleVectorFromJsArray = appendDoubleVectorFromJsArray;
@@ -0,0 +1,7 @@
1
+ export declare const hashUtils: {
2
+ generateHash: (s: string) => number;
3
+ generateObjectHash: (obj: any) => number;
4
+ generateBooleanHash: (value: boolean) => number;
5
+ generateNumberHash: (value: number) => number;
6
+ generateCombinedHash: (hashes: number[]) => number;
7
+ };
package/utils/hash.js ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hashUtils = void 0;
4
+ // https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript
5
+ var generateHash = function (s) {
6
+ return s.split("").reduce(function (a, b) {
7
+ a = (a << 5) - a + b.charCodeAt(0);
8
+ return a & a;
9
+ }, 0);
10
+ };
11
+ var generateObjectHash = function (obj) {
12
+ var str = JSON.stringify(obj);
13
+ return generateHash(str);
14
+ };
15
+ var generateBooleanHash = function (value) {
16
+ if (value === false)
17
+ return generateHash("0");
18
+ if (value === true)
19
+ return generateHash("1");
20
+ return generateHash("-1");
21
+ };
22
+ var generateNumberHash = function (value) {
23
+ var str = value.toString(10);
24
+ return generateHash(str);
25
+ };
26
+ var generateCombinedHash = function (hashes) {
27
+ return hashes.reduce(function (prev, curr) { return (prev * 397) ^ curr; }, 0);
28
+ };
29
+ exports.hashUtils = {
30
+ generateHash: generateHash,
31
+ generateObjectHash: generateObjectHash,
32
+ generateBooleanHash: generateBooleanHash,
33
+ generateNumberHash: generateNumberHash,
34
+ generateCombinedHash: generateCombinedHash
35
+ };
@@ -0,0 +1,42 @@
1
+ import { TTooltipProps } from "../Charting/ChartModifiers/RolloverModifier";
2
+ import { Rect } from "../Core/Rect";
3
+ export declare enum ESize {
4
+ width = "width",
5
+ height = "height"
6
+ }
7
+ export declare enum ECoord {
8
+ xCoord = "xCoord",
9
+ yCoord = "yCoord"
10
+ }
11
+ export declare enum EShift {
12
+ xCoordShift = "xCoordShift",
13
+ yCoordShift = "yCoordShift"
14
+ }
15
+ declare type TSize = ESize.width | ESize.height;
16
+ declare type TCoord = ECoord.xCoord | ECoord.yCoord;
17
+ declare type TShift = EShift.xCoordShift | EShift.yCoordShift;
18
+ export declare type TPositionPoperties = {
19
+ sizePropertyName: TSize;
20
+ coordPropertyName: TCoord;
21
+ shiftPropertyName: TShift;
22
+ };
23
+ /** @ignore */
24
+ export declare const spreadTooltips: (tooltipArray: TTooltipProps[], pixelRatio: number, positionProperties: TPositionPoperties, spacing: number, seriesViewRect: Rect) => Map<number, number>;
25
+ /** @ignore */
26
+ export declare const checkHasOverlap: (tooltipArray: TTooltipProps[], spacing: number, pixelRatio: number, positionProperties: TPositionPoperties) => boolean;
27
+ /** @ignore */
28
+ export declare const getTotalSize: (tooltipArray: TTooltipProps[], sizePropertyName: TSize) => number;
29
+ /** @ignore */
30
+ export declare const getTotalSpacing: (tooltipArray: TTooltipProps[], spacing: number) => number;
31
+ /** @ignore */
32
+ export declare const getStartPoint: (coord: number, shift: number, pixelRatio: number) => number;
33
+ /** @ignore */
34
+ export declare const getEndPoint: (coord: number, shift: number, pixelRatio: number, size: number) => number;
35
+ /** @ignore */
36
+ export declare const getUpdatedPoints: (startPoint: number, endPoint: number, totalBoxModel: number, size: number) => {
37
+ start: number;
38
+ end: number;
39
+ };
40
+ /** @ignore */
41
+ export declare const getTooltipPositionProperties: (isVerticalChart: boolean) => TPositionPoperties;
42
+ export {};
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTooltipPositionProperties = exports.getUpdatedPoints = exports.getEndPoint = exports.getStartPoint = exports.getTotalSpacing = exports.getTotalSize = exports.checkHasOverlap = exports.spreadTooltips = exports.EShift = exports.ECoord = exports.ESize = void 0;
4
+ var ESize;
5
+ (function (ESize) {
6
+ ESize["width"] = "width";
7
+ ESize["height"] = "height";
8
+ })(ESize = exports.ESize || (exports.ESize = {}));
9
+ var ECoord;
10
+ (function (ECoord) {
11
+ ECoord["xCoord"] = "xCoord";
12
+ ECoord["yCoord"] = "yCoord";
13
+ })(ECoord = exports.ECoord || (exports.ECoord = {}));
14
+ var EShift;
15
+ (function (EShift) {
16
+ EShift["xCoordShift"] = "xCoordShift";
17
+ EShift["yCoordShift"] = "yCoordShift";
18
+ })(EShift = exports.EShift || (exports.EShift = {}));
19
+ /** @ignore */
20
+ var spreadTooltips = function (tooltipArray, pixelRatio, positionProperties, spacing, seriesViewRect) {
21
+ var shiftMap = new Map();
22
+ var length = tooltipArray.length;
23
+ var totalSize = (0, exports.getTotalSize)(tooltipArray, positionProperties.sizePropertyName);
24
+ var totalSpacing = (0, exports.getTotalSpacing)(tooltipArray, spacing);
25
+ var totalBoxModel = totalSize + totalSpacing;
26
+ var firstTooltip = tooltipArray[0];
27
+ var lastTooltip = tooltipArray[length - 1];
28
+ var startPoint = (0, exports.getStartPoint)(firstTooltip[positionProperties.coordPropertyName], firstTooltip[positionProperties.shiftPropertyName], pixelRatio);
29
+ var endPoint = (0, exports.getEndPoint)(lastTooltip[positionProperties.coordPropertyName], lastTooltip[positionProperties.shiftPropertyName], pixelRatio, lastTooltip[positionProperties.sizePropertyName]);
30
+ var updatedPoints = (0, exports.getUpdatedPoints)(startPoint, endPoint, totalBoxModel, seriesViewRect[positionProperties.sizePropertyName]);
31
+ startPoint = updatedPoints.start;
32
+ endPoint = updatedPoints.end;
33
+ var currentPadding = (endPoint - startPoint - totalSize) / (tooltipArray.length - 1);
34
+ tooltipArray.reduce(function (tooltipTopCoord, tooltip) {
35
+ shiftMap.set(tooltip.index, (tooltipTopCoord - tooltip[positionProperties.coordPropertyName]) / pixelRatio);
36
+ return tooltipTopCoord + tooltip[positionProperties.sizePropertyName] + currentPadding;
37
+ }, startPoint);
38
+ return shiftMap;
39
+ };
40
+ exports.spreadTooltips = spreadTooltips;
41
+ /** @ignore */
42
+ var checkHasOverlap = function (tooltipArray, spacing, pixelRatio, positionProperties) {
43
+ var length = tooltipArray.length;
44
+ for (var i = 0; i < length - 1; i++) {
45
+ var currentTooltip = tooltipArray[i];
46
+ var currentTooltipEndPoint = currentTooltip[positionProperties.coordPropertyName] +
47
+ currentTooltip[positionProperties.sizePropertyName] +
48
+ currentTooltip[positionProperties.shiftPropertyName] * pixelRatio;
49
+ var nextTooltip = tooltipArray[i + 1];
50
+ var nextTooltipStartPoint = nextTooltip[positionProperties.coordPropertyName] +
51
+ nextTooltip[positionProperties.shiftPropertyName] * pixelRatio;
52
+ var diff = nextTooltipStartPoint - currentTooltipEndPoint;
53
+ if (diff < spacing)
54
+ return true;
55
+ }
56
+ return false;
57
+ };
58
+ exports.checkHasOverlap = checkHasOverlap;
59
+ /** @ignore */
60
+ var getTotalSize = function (tooltipArray, sizePropertyName) {
61
+ return tooltipArray.reduce(function (acc, tooltip) {
62
+ var size = tooltip[sizePropertyName];
63
+ return typeof size === "number" ? acc + size : acc;
64
+ }, 0);
65
+ };
66
+ exports.getTotalSize = getTotalSize;
67
+ /** @ignore */
68
+ var getTotalSpacing = function (tooltipArray, spacing) {
69
+ return (tooltipArray.length - 1) * spacing;
70
+ };
71
+ exports.getTotalSpacing = getTotalSpacing;
72
+ /** @ignore */
73
+ var getStartPoint = function (coord, shift, pixelRatio) { return coord + shift * pixelRatio; };
74
+ exports.getStartPoint = getStartPoint;
75
+ /** @ignore */
76
+ var getEndPoint = function (coord, shift, pixelRatio, size) {
77
+ return coord + shift * pixelRatio + size;
78
+ };
79
+ exports.getEndPoint = getEndPoint;
80
+ /** @ignore */
81
+ var getUpdatedPoints = function (startPoint, endPoint, totalBoxModel, size) {
82
+ var additionalWidth = totalBoxModel - (endPoint - startPoint);
83
+ var additionalWidthHalf = additionalWidth / 2;
84
+ var availableWidthFromStart = startPoint;
85
+ var availableWidthFromEnd = size - endPoint;
86
+ var start = startPoint - additionalWidthHalf;
87
+ var end = endPoint + additionalWidthHalf;
88
+ if (availableWidthFromStart < additionalWidthHalf) {
89
+ start = 0;
90
+ end = endPoint + (additionalWidth - availableWidthFromStart);
91
+ }
92
+ if (availableWidthFromEnd < additionalWidthHalf) {
93
+ start = startPoint - (additionalWidth - availableWidthFromEnd);
94
+ end = size;
95
+ }
96
+ return {
97
+ start: start,
98
+ end: end
99
+ };
100
+ };
101
+ exports.getUpdatedPoints = getUpdatedPoints;
102
+ /** @ignore */
103
+ var getTooltipPositionProperties = function (isVerticalChart) {
104
+ if (isVerticalChart) {
105
+ return {
106
+ sizePropertyName: ESize.width,
107
+ coordPropertyName: ECoord.xCoord,
108
+ shiftPropertyName: EShift.xCoordShift
109
+ };
110
+ }
111
+ else {
112
+ return {
113
+ sizePropertyName: ESize.height,
114
+ coordPropertyName: ECoord.yCoord,
115
+ shiftPropertyName: EShift.yCoordShift
116
+ };
117
+ }
118
+ };
119
+ exports.getTooltipPositionProperties = getTooltipPositionProperties;
@@ -1,3 +0,0 @@
1
- import { NumberArray } from "../../types/NumberArray";
2
- import { DoubleVector, TSciChart } from "../../types/TSciChart";
3
- export declare function fillDoubleVectorFromJsArray(wasmContext: TSciChart, doubleVector: DoubleVector, array: NumberArray): void;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fillDoubleVectorFromJsArray = void 0;
4
- function fillDoubleVectorFromJsArray(wasmContext, doubleVector, array) {
5
- var buffer;
6
- try {
7
- var vectorSize = doubleVector.size();
8
- var arraySize = array.length;
9
- var startPosition = vectorSize;
10
- var endPosition = startPosition + arraySize;
11
- /// because plain c functions were receiving the object pointer as null, this is the way around that...
12
- wasmContext.SCRTSetActiveDoubleVector(doubleVector, vectorSize);
13
- // Allocate some space in the heap for the data (making sure to use the appropriate memory size of the elements)
14
- // @ts-ignore
15
- buffer = wasmContext._malloc(arraySize * 8);
16
- // Assign the data to the heap - Keep in mind bytes per element
17
- // @ts-ignore
18
- wasmContext.HEAPF64.set(array, buffer / 8);
19
- // Finally, call the function
20
- // Here we use start position 0 and the end position array.length
21
- // @ts-ignore
22
- wasmContext.ccall("SCRTFillActiveDoubleVector", null, ["number", "number", "number"], [buffer, startPosition, endPosition]);
23
- }
24
- catch (e) {
25
- console.log(e);
26
- }
27
- finally {
28
- // To avoid memory leaks we need to always clear out the allocated heap data
29
- // @ts-ignore
30
- wasmContext._free(buffer);
31
- }
32
- }
33
- exports.fillDoubleVectorFromJsArray = fillDoubleVectorFromJsArray;
@@ -1,5 +0,0 @@
1
- /**
2
- * Awaits for the next frame and resolves.
3
- * FOR BROWSER ONLY, DOES NOT WORK IN NODE.JS
4
- */
5
- export declare function nextFrameRender(): Promise<unknown>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nextFrameRender = void 0;
4
- /**
5
- * Awaits for the next frame and resolves.
6
- * FOR BROWSER ONLY, DOES NOT WORK IN NODE.JS
7
- */
8
- function nextFrameRender() {
9
- return new Promise(function (resolve) { return requestAnimationFrame(resolve); });
10
- }
11
- exports.nextFrameRender = nextFrameRender;