scichart 2.0.2194 → 2.1.0-beta.40

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 (223) hide show
  1. package/Charting/ChartModifiers/CursorModifier.d.ts +9 -0
  2. package/Charting/ChartModifiers/CursorModifier.js +10 -0
  3. package/Charting/ChartModifiers/DataPointSelectionModifier.js +0 -1
  4. package/Charting/ChartModifiers/RolloverModifier.d.ts +25 -0
  5. package/Charting/ChartModifiers/RolloverModifier.js +8 -0
  6. package/Charting/Drawing/BrushCache.d.ts +8 -2
  7. package/Charting/Drawing/BrushCache.js +16 -8
  8. package/Charting/Drawing/WebGlRenderContext2D.d.ts +1 -0
  9. package/Charting/Drawing/WebGlRenderContext2D.js +4 -1
  10. package/Charting/LayoutManager/BaseAxisLayoutStrategy.d.ts +2 -0
  11. package/Charting/LayoutManager/BaseAxisLayoutStrategy.js +33 -0
  12. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +18 -2
  13. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +19 -2
  14. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +18 -2
  15. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +18 -2
  16. package/Charting/Model/BaseDataSeries.d.ts +42 -15
  17. package/Charting/Model/BaseDataSeries.js +77 -28
  18. package/Charting/Model/BaseHeatmapDataSeries.d.ts +31 -23
  19. package/Charting/Model/BaseHeatmapDataSeries.js +45 -18
  20. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.d.ts +23 -0
  21. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +122 -0
  22. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.d.ts +57 -0
  23. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.js +2 -0
  24. package/Charting/Model/Filters/OhlcFilterBase.d.ts +2 -2
  25. package/Charting/Model/Filters/XyFilterBase.d.ts +3 -3
  26. package/Charting/Model/Filters/XyMovingAverageFilter.js +1 -1
  27. package/Charting/Model/Filters/XyyFilterBase.d.ts +4 -4
  28. package/Charting/Model/Filters/XyzFilterBase.d.ts +4 -4
  29. package/Charting/Model/IDataSeries.d.ts +37 -5
  30. package/Charting/Model/OhlcDataSeries.d.ts +12 -11
  31. package/Charting/Model/OhlcDataSeries.js +47 -44
  32. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +21 -0
  33. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +56 -0
  34. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +14 -0
  35. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +23 -0
  36. package/Charting/Model/PointSeries/IPointSeries.d.ts +31 -0
  37. package/Charting/Model/PointSeries/IPointSeries.js +2 -0
  38. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.d.ts +13 -0
  39. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +59 -0
  40. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.d.ts +11 -0
  41. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.js +32 -0
  42. package/Charting/Model/PointSeries/XyPointSeriesResampled.d.ts +7 -0
  43. package/Charting/Model/PointSeries/XyPointSeriesResampled.js +27 -0
  44. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +6 -0
  45. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +27 -0
  46. package/Charting/Model/PointSeries/XyyPointSeriesResampled.d.ts +10 -0
  47. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +48 -0
  48. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.d.ts +8 -0
  49. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.js +29 -0
  50. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.d.ts +8 -0
  51. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.js +29 -0
  52. package/Charting/Model/XyDataSeries.d.ts +3 -2
  53. package/Charting/Model/XyDataSeries.js +26 -26
  54. package/Charting/Model/XyyDataSeries.d.ts +5 -5
  55. package/Charting/Model/XyyDataSeries.js +30 -27
  56. package/Charting/Model/XyzDataSeries.d.ts +5 -5
  57. package/Charting/Model/XyzDataSeries.js +30 -27
  58. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +2 -2
  59. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +2 -2
  60. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.d.ts +2 -1
  61. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +6 -2
  62. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.d.ts +2 -1
  63. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +6 -2
  64. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +54 -0
  65. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +232 -0
  66. package/Charting/Numerics/Resamplers/ResamplingMode.d.ts +37 -0
  67. package/Charting/Numerics/Resamplers/ResamplingMode.js +41 -0
  68. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +39 -0
  69. package/Charting/Numerics/Resamplers/ResamplingParams.js +52 -0
  70. package/Charting/Services/RenderPassData.d.ts +6 -1
  71. package/Charting/Services/RenderPassData.js +5 -1
  72. package/Charting/Services/RenderPassInfo.d.ts +18 -0
  73. package/Charting/Services/RenderPassInfo.js +14 -0
  74. package/Charting/Services/SciChartRenderer.d.ts +14 -1
  75. package/Charting/Services/SciChartRenderer.js +124 -31
  76. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +1 -1
  77. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +1 -0
  78. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +6 -0
  79. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.d.ts +5 -0
  80. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +12 -1
  81. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.d.ts +6 -8
  82. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +12 -9
  83. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +7 -2
  84. package/Charting/Visuals/Axis/AxisBase2D.d.ts +23 -0
  85. package/Charting/Visuals/Axis/AxisBase2D.js +71 -24
  86. package/Charting/Visuals/Axis/AxisCore.d.ts +11 -0
  87. package/Charting/Visuals/Axis/AxisCore.js +39 -18
  88. package/Charting/Visuals/Axis/AxisRenderer.d.ts +1 -0
  89. package/Charting/Visuals/Axis/AxisRenderer.js +37 -10
  90. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +5 -0
  91. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +2 -2
  92. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +9 -4
  93. package/Charting/Visuals/Axis/NumericAxis.js +2 -2
  94. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  95. package/Charting/Visuals/Axis/constants.js +1 -0
  96. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  97. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  98. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +3 -3
  99. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  100. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  101. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +6 -6
  102. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  103. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +9 -2
  104. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +45 -1
  105. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +1 -0
  106. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +1 -0
  107. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +1 -0
  108. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +1 -0
  109. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +12 -5
  110. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +59 -0
  111. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +40 -5
  112. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +116 -11
  113. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +36 -4
  114. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +51 -3
  115. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +38 -4
  116. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +54 -3
  117. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -1
  118. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +8 -14
  119. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +4 -3
  120. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +5 -11
  121. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +4 -11
  122. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +2 -1
  123. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +17 -21
  124. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +16 -15
  125. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +9 -15
  126. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +4 -3
  127. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +16 -21
  128. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +2 -9
  129. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +0 -7
  130. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +6 -2
  131. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +5 -0
  132. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +1 -0
  133. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +1 -0
  134. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.d.ts +1 -0
  135. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +6 -0
  136. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -2
  137. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  138. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +1 -1
  139. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +2 -2
  140. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +2 -2
  141. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +1 -1
  142. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +2 -2
  143. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +1 -1
  144. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +2 -2
  145. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +2 -2
  146. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +6 -6
  147. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +1 -1
  148. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +12 -1
  149. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +38 -2
  150. package/Charting/Visuals/RenderableSeries/ISpline.d.ts +3 -3
  151. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  152. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +5 -5
  153. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +3 -3
  154. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +3 -3
  155. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +3 -3
  156. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +3 -3
  157. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +0 -6
  158. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +1 -1
  159. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +1 -7
  160. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  161. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -0
  162. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +5 -0
  163. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +6 -0
  164. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -3
  165. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +6 -3
  166. package/Charting/Visuals/RenderableSeries/constants.d.ts +3 -0
  167. package/Charting/Visuals/RenderableSeries/constants.js +3 -0
  168. package/Charting/Visuals/SciChartDefaults.d.ts +9 -1
  169. package/Charting/Visuals/SciChartDefaults.js +9 -1
  170. package/Charting/Visuals/SciChartSurface.d.ts +4 -4
  171. package/Charting/Visuals/SciChartSurface.js +18 -11
  172. package/Charting/Visuals/SciChartSurfaceBase.d.ts +3 -2
  173. package/Charting/Visuals/SciChartSurfaceBase.js +4 -4
  174. package/Charting/Visuals/createMaster.d.ts +1 -1
  175. package/Charting/Visuals/createMaster.js +11 -6
  176. package/Charting/Visuals/createSingle.d.ts +1 -1
  177. package/Charting/Visuals/createSingle.js +2 -2
  178. package/Charting/Visuals/licenseManager2D.js +22 -21
  179. package/Charting/Visuals/licenseManager2dState.d.ts +4 -0
  180. package/Charting/Visuals/licenseManager2dState.js +12 -0
  181. package/Charting/Visuals/sciChartInitCommon.d.ts +2 -2
  182. package/Charting/Visuals/sciChartInitCommon.js +18 -12
  183. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +7 -7
  184. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +3 -3
  185. package/Charting3D/Visuals/SciChart3DSurface.d.ts +2 -2
  186. package/Charting3D/Visuals/SciChart3DSurface.js +3 -3
  187. package/Charting3D/Visuals/createMaster3d.d.ts +1 -1
  188. package/Charting3D/Visuals/createMaster3d.js +11 -6
  189. package/Charting3D/Visuals/createSingle3d.d.ts +1 -1
  190. package/Charting3D/Visuals/createSingle3d.js +2 -2
  191. package/Core/BuildStamp.d.ts +1 -1
  192. package/Core/BuildStamp.js +2 -2
  193. package/Core/NumberRange.d.ts +1 -0
  194. package/Core/NumberRange.js +8 -0
  195. package/Core/OneTimePerformanceWarning.d.ts +6 -0
  196. package/Core/OneTimePerformanceWarning.js +19 -0
  197. package/Core/storage/localStorageApi.d.ts +9 -0
  198. package/Core/storage/localStorageApi.js +32 -0
  199. package/_wasm/scichart.browser.js +1 -1
  200. package/_wasm/scichart2d.js +12 -12
  201. package/_wasm/scichart2d.wasm +0 -0
  202. package/_wasm/scichart3d.js +96 -96
  203. package/_wasm/scichart3d.wasm +0 -0
  204. package/constants/performanceWarnings.d.ts +5 -0
  205. package/constants/performanceWarnings.js +8 -0
  206. package/package.json +1 -1
  207. package/types/NumberArray.d.ts +1 -0
  208. package/types/NumberArray.js +5 -1
  209. package/types/SearchMode.d.ts +21 -0
  210. package/types/SearchMode.js +25 -0
  211. package/types/TSciChart.d.ts +143 -40
  212. package/types/TSciChart3D.d.ts +66 -28
  213. package/types/TStackedAxisLength.d.ts +4 -0
  214. package/types/TStackedAxisLength.js +4 -0
  215. package/utils/array.d.ts +7 -0
  216. package/utils/array.js +19 -1
  217. package/utils/calcAverage.d.ts +2 -2
  218. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +19 -0
  219. package/utils/ccall/appendDoubleVectorFromJsArray.js +91 -0
  220. package/utils/hash.d.ts +7 -0
  221. package/utils/hash.js +35 -0
  222. package/utils/ccall/fillDoubleVectorFromJsArray.d.ts +0 -3
  223. package/utils/ccall/fillDoubleVectorFromJsArray.js +0 -33
@@ -1,6 +1,7 @@
1
1
  import { IIncludeSeries } from "../../Core/IIncludeSeries";
2
2
  import { Point } from "../../Core/Point";
3
3
  import { EChart2DModifierType } from "../../types/ChartModifierType";
4
+ import { EMousePosition } from "../../types/MousePosition";
4
5
  import { SeriesInfo } from "../Model/ChartData/SeriesInfo";
5
6
  import { IThemeProvider } from "../Themes/IThemeProvider";
6
7
  import { CursorTooltipSvgAnnotation } from "../Visuals/Annotations/CursorTooltipSvgAnnotation";
@@ -176,6 +177,9 @@ export declare class CursorModifier extends ChartModifierBase2D implements IIncl
176
177
  * @inheritDoc
177
178
  */
178
179
  getIncludedRenderableSeries(): IRenderableSeries[];
180
+ /**
181
+ * Gets or sets the tooltipDataTemplate, which allows to customize content for the tooltip
182
+ */
179
183
  get tooltipDataTemplate(): TCursorTooltipDataTemplate;
180
184
  set tooltipDataTemplate(value: TCursorTooltipDataTemplate);
181
185
  /**
@@ -184,6 +188,11 @@ export declare class CursorModifier extends ChartModifierBase2D implements IIncl
184
188
  * @param mousePoint
185
189
  */
186
190
  hitTestRenderableSeries(rs: IRenderableSeries, mousePoint: Point): HitTestInfo;
191
+ /**
192
+ * Returns current mouse position
193
+ */
194
+ getMousePosition(): EMousePosition;
195
+ /** @inheritDoc */
187
196
  toJSON(): {
188
197
  type: string;
189
198
  options: Required<Omit<IChartModifierBaseOptions, never>>;
@@ -300,6 +300,9 @@ var CursorModifier = /** @class */ (function (_super) {
300
300
  return allSeries;
301
301
  };
302
302
  Object.defineProperty(CursorModifier.prototype, "tooltipDataTemplate", {
303
+ /**
304
+ * Gets or sets the tooltipDataTemplate, which allows to customize content for the tooltip
305
+ */
303
306
  get: function () {
304
307
  return this.tooltipDataTemplateProperty;
305
308
  },
@@ -321,6 +324,13 @@ var CursorModifier = /** @class */ (function (_super) {
321
324
  }
322
325
  return rs.hitTestProvider.hitTestXSlice(mousePoint.x, mousePoint.y);
323
326
  };
327
+ /**
328
+ * Returns current mouse position
329
+ */
330
+ CursorModifier.prototype.getMousePosition = function () {
331
+ return this.mousePosition;
332
+ };
333
+ /** @inheritDoc */
324
334
  CursorModifier.prototype.toJSON = function () {
325
335
  var json = _super.prototype.toJSON.call(this);
326
336
  var options = {
@@ -410,7 +410,6 @@ var DataPointSelectionModifier = /** @class */ (function (_super) {
410
410
  topYData = yCalc.getDataValue(_this.startPoint.y);
411
411
  }
412
412
  if (rs.dataSeries.type === IDataSeries_1.EDataSeriesType.HeatmapUniform) {
413
- var heatmapSeries = rs.dataSeries;
414
413
  // TODO: Heatmap series
415
414
  }
416
415
  else {
@@ -51,6 +51,24 @@ export declare type TTooltipProps = {
51
51
  height: number;
52
52
  seriesInfo: SeriesInfo;
53
53
  };
54
+ /**
55
+ * @ignore
56
+ * Defines the MousePosition enum constants, used by the {@link RolloverModifier}
57
+ */
58
+ declare enum EMousePosition {
59
+ /**
60
+ * The mouse position is outside the main canvas
61
+ */
62
+ OutOfCanvas = "OutOfCanvas",
63
+ /**
64
+ * The mouse position is in the Axis area
65
+ */
66
+ AxisArea = "AxisArea",
67
+ /**
68
+ * The mouse position is in the Series area
69
+ */
70
+ SeriesArea = "SeriesArea"
71
+ }
54
72
  /**
55
73
  * Optional parameters used to configure a {@link RolloverModifier} at construct time
56
74
  */
@@ -173,10 +191,16 @@ export declare class RolloverModifier extends ChartModifierBase2D implements IIn
173
191
  * @param mousePoint
174
192
  */
175
193
  hitTestRenderableSeries(rs: IRenderableSeries, mousePoint: Point): HitTestInfo;
194
+ /**
195
+ * Returns current mouse position
196
+ */
197
+ getMousePosition(): EMousePosition;
198
+ /** @inheritDoc */
176
199
  toJSON(): {
177
200
  type: string;
178
201
  options: Required<Omit<IChartModifierBaseOptions, never>>;
179
202
  };
203
+ /** @inheritDoc */
180
204
  protected notifyPropertyChanged(propertyName: string): void;
181
205
  private isVerticalChart;
182
206
  private removeSeriesAnnotationsFromParentSurface;
@@ -224,3 +248,4 @@ export declare const calcTooltipProps: (index: number, rs: IRenderableSeries, ro
224
248
  * @param pixelRatio
225
249
  */
226
250
  export declare const calcTooltipPositions: (tooltipArray: TTooltipProps[], allowTooltipOverlapping: boolean, tooltipPaddingTop: number, seriesViewRect: Rect, pixelRatio: number) => TTooltipProps[];
251
+ export {};
@@ -346,6 +346,13 @@ var RolloverModifier = /** @class */ (function (_super) {
346
346
  }
347
347
  return rs.hitTestProvider.hitTestXSlice(mousePoint.x, mousePoint.y);
348
348
  };
349
+ /**
350
+ * Returns current mouse position
351
+ */
352
+ RolloverModifier.prototype.getMousePosition = function () {
353
+ return this.mousePosition;
354
+ };
355
+ /** @inheritDoc */
349
356
  RolloverModifier.prototype.toJSON = function () {
350
357
  var json = _super.prototype.toJSON.call(this);
351
358
  var options = {
@@ -361,6 +368,7 @@ var RolloverModifier = /** @class */ (function (_super) {
361
368
  Object.assign(json.options, options);
362
369
  return json;
363
370
  };
371
+ /** @inheritDoc */
364
372
  RolloverModifier.prototype.notifyPropertyChanged = function (propertyName) {
365
373
  _super.prototype.notifyPropertyChanged.call(this, propertyName);
366
374
  if (propertyName === constants_1.PROPERTY.X_AXIS_ID) {
@@ -10,14 +10,18 @@ export declare class BrushCache extends BaseCache<WebGlBrush> {
10
10
  private opacity;
11
11
  private fillLinearGradient;
12
12
  private canvasTexture;
13
+ private textureHeightRatio;
14
+ private textureWidthRatio;
13
15
  get value(): WebGlBrush;
14
16
  /**
15
17
  * Creates or fetches a new brush with the specified params
16
18
  * @param fill
17
19
  * @param opacity
20
+ * @param textureHeightRatio
21
+ * @param textureWidthRatio
18
22
  * @param fillLinearGradient
19
23
  */
20
- create(fill: string, opacity: number, fillLinearGradient?: GradientParams): WebGlBrush;
24
+ create(fill: string, opacity: number, textureHeightRatio?: number, textureWidthRatio?: number, fillLinearGradient?: GradientParams): WebGlBrush;
21
25
  invalidateCache(): void;
22
26
  reset(): void;
23
27
  delete(): void;
@@ -43,7 +47,9 @@ export declare const getScrtBrushFromCache: (cache: BrushCache) => SCRTBrush;
43
47
  * @param cache The object that will store a brush
44
48
  * @param fill The HTML Color code
45
49
  * @param opacity The opacity factor.
50
+ * @param textureHeightRatio The height ratio of the main canvas to the WebGl canvas.
51
+ * @param textureWidthRatio The width ratio of the main canvas to the WebGl canvas.
46
52
  * @param fillGradientLinear The gradient params.
47
53
  * @returns new or existing instance of {@link SCRTBrush}}
48
54
  */
49
- export declare const createBrushInCache: (cache: BrushCache, fill: string, opacity: number, fillGradientLinear?: GradientParams) => SCRTBrush;
55
+ export declare const createBrushInCache: (cache: BrushCache, fill: string, opacity: number, textureHeightRatio?: number, textureWidthRatio?: number, fillGradientLinear?: GradientParams) => SCRTBrush;
@@ -35,7 +35,7 @@ var BrushCache = /** @class */ (function (_super) {
35
35
  Object.defineProperty(BrushCache.prototype, "value", {
36
36
  get: function () {
37
37
  if (!this.cachedEntity && (this.fill || this.fillLinearGradient)) {
38
- this.cachedEntity = this.create(this.fill, this.opacity, this.fillLinearGradient);
38
+ this.cachedEntity = this.create(this.fill, this.opacity, this.textureHeightRatio, this.textureWidthRatio, this.fillLinearGradient);
39
39
  }
40
40
  return this.cachedEntity;
41
41
  },
@@ -46,18 +46,24 @@ var BrushCache = /** @class */ (function (_super) {
46
46
  * Creates or fetches a new brush with the specified params
47
47
  * @param fill
48
48
  * @param opacity
49
+ * @param textureHeightRatio
50
+ * @param textureWidthRatio
49
51
  * @param fillLinearGradient
50
52
  */
51
- BrushCache.prototype.create = function (fill, opacity, fillLinearGradient) {
53
+ BrushCache.prototype.create = function (fill, opacity, textureHeightRatio, textureWidthRatio, fillLinearGradient) {
52
54
  if (this.cachedEntity &&
53
55
  fill === this.fill &&
54
56
  opacity === this.opacity &&
57
+ textureHeightRatio === this.textureHeightRatio &&
58
+ textureWidthRatio === this.textureWidthRatio &&
55
59
  fillLinearGradient === this.fillLinearGradient) {
56
60
  return this.cachedEntity;
57
61
  }
58
62
  this.invalidateCache();
59
63
  this.fill = fill;
60
64
  this.opacity = opacity;
65
+ this.textureHeightRatio = textureHeightRatio;
66
+ this.textureWidthRatio = textureWidthRatio;
61
67
  this.fillLinearGradient = fillLinearGradient;
62
68
  var brush = fillLinearGradient ? this.createGradientBrush() : this.createSolidBrush(fill, opacity);
63
69
  return (this.cachedEntity = new WebGlBrush_1.WebGlBrush(brush));
@@ -89,10 +95,10 @@ var BrushCache = /** @class */ (function (_super) {
89
95
  this.canvasTexture.clear();
90
96
  var ctx = this.canvasTexture.getContext();
91
97
  // BEGIN: Drawing gradient rectangle on canvas2D
92
- var x1 = convertRelativeToAbsolute(startPoint.x, TEXTURE_SIZE);
93
- var y1 = convertRelativeToAbsolute(startPoint.y, TEXTURE_SIZE);
94
- var x2 = convertRelativeToAbsolute(endPoint.x, TEXTURE_SIZE);
95
- var y2 = convertRelativeToAbsolute(endPoint.y, TEXTURE_SIZE);
98
+ var x1 = convertRelativeToAbsolute(startPoint.x, TEXTURE_SIZE * this.textureWidthRatio);
99
+ var y1 = convertRelativeToAbsolute(startPoint.y, TEXTURE_SIZE * this.textureHeightRatio);
100
+ var x2 = convertRelativeToAbsolute(endPoint.x, TEXTURE_SIZE * this.textureWidthRatio);
101
+ var y2 = convertRelativeToAbsolute(endPoint.y, TEXTURE_SIZE * this.textureHeightRatio);
96
102
  var gradient = ctx.createLinearGradient(x1, y1, x2, y2);
97
103
  gradientStops.forEach(function (el) {
98
104
  gradient.addColorStop(el.offset, el.color);
@@ -133,12 +139,14 @@ exports.getScrtBrushFromCache = getScrtBrushFromCache;
133
139
  * @param cache The object that will store a brush
134
140
  * @param fill The HTML Color code
135
141
  * @param opacity The opacity factor.
142
+ * @param textureHeightRatio The height ratio of the main canvas to the WebGl canvas.
143
+ * @param textureWidthRatio The width ratio of the main canvas to the WebGl canvas.
136
144
  * @param fillGradientLinear The gradient params.
137
145
  * @returns new or existing instance of {@link SCRTBrush}}
138
146
  */
139
- var createBrushInCache = function (cache, fill, opacity, fillGradientLinear) {
147
+ var createBrushInCache = function (cache, fill, opacity, textureHeightRatio, textureWidthRatio, fillGradientLinear) {
140
148
  Guard_1.Guard.notNull(cache, "brushCache");
141
- var brush = cache.create(fill, opacity, fillGradientLinear);
149
+ var brush = cache.create(fill, opacity, textureHeightRatio, textureWidthRatio, fillGradientLinear);
142
150
  return brush.scrtBrush;
143
151
  };
144
152
  exports.createBrushInCache = createBrushInCache;
@@ -39,6 +39,7 @@ export declare class WebGlRenderContext2D implements IRenderContext2D {
39
39
  private readonly layers;
40
40
  private readonly webAssemblyContext;
41
41
  private readonly effects;
42
+ private nativeContext;
42
43
  /**
43
44
  * Creates an instance of the WebGlRenderContext2D
44
45
  * @param webAssemblyContext The {@link TSciChart | SciChart WebAssembly Context} containing native methods and access to our WebGL2 Engine
@@ -43,7 +43,10 @@ var WebGlRenderContext2D = /** @class */ (function () {
43
43
  * Get the native {@link SCRTRenderContext} for direct access to SciChart's WebAssembly Visual Xccelerator engine
44
44
  */
45
45
  WebGlRenderContext2D.prototype.getNativeContext = function () {
46
- return this.webAssemblyContext.SCRTGetMainRenderContext2D();
46
+ if (!this.nativeContext) {
47
+ this.nativeContext = this.webAssemblyContext.SCRTGetMainRenderContext2D();
48
+ }
49
+ return this.nativeContext;
47
50
  };
48
51
  /**
49
52
  * Draw lines: grid lines, etc.
@@ -36,4 +36,6 @@ export declare abstract class BaseAxisLayoutStrategy {
36
36
  protected layoutAxesFromTopToBottom(left: number, top: number, right: number, bottom: number, axes: AxisBase2D[]): void;
37
37
  protected layoutAxesFromLeftToRight(left: number, top: number, right: number, bottom: number, axes: AxisBase2D[]): void;
38
38
  protected layoutAxesFromRightToLeft(left: number, top: number, right: number, bottom: number, axes: AxisBase2D[]): void;
39
+ protected calculateTotalAxisHeight(axis: AxisBase2D, totalAxisAreaHeight: number): number;
40
+ protected calculateTotalAxisWidth(axis: AxisBase2D, totalAxisAreaHeight: number): number;
39
41
  }
@@ -56,6 +56,39 @@ var BaseAxisLayoutStrategy = /** @class */ (function () {
56
56
  (0, AxisLayoutHelpers_1.layoutAxisParts)(axis, _this.layoutAxisPartsStrategy);
57
57
  });
58
58
  };
59
+ BaseAxisLayoutStrategy.prototype.calculateTotalAxisHeight = function (axis, totalAxisAreaHeight) {
60
+ return (parseSize(axis.stackedAxisLength, totalAxisAreaHeight) +
61
+ axis.axisLayoutState.additionalBottomSize +
62
+ axis.axisLayoutState.additionalTopSize);
63
+ };
64
+ BaseAxisLayoutStrategy.prototype.calculateTotalAxisWidth = function (axis, totalAxisAreaHeight) {
65
+ return (parseSize(axis.stackedAxisLength, totalAxisAreaHeight) +
66
+ axis.axisLayoutState.additionalRightSize +
67
+ axis.axisLayoutState.additionalLeftSize);
68
+ };
59
69
  return BaseAxisLayoutStrategy;
60
70
  }());
61
71
  exports.BaseAxisLayoutStrategy = BaseAxisLayoutStrategy;
72
+ var parseSize = function (value, containerSize) {
73
+ if (typeof value === "number") {
74
+ if (value < 0) {
75
+ throw new Error("stackedAxisLength must be a positive value!");
76
+ }
77
+ return value;
78
+ }
79
+ if (value.includes("%")) {
80
+ return parsePc(value, containerSize);
81
+ }
82
+ var parsedValue = parseFloat(value);
83
+ if (!isNaN(parsedValue)) {
84
+ return parsedValue;
85
+ }
86
+ throw new Error("stackedAxisLength must be a number or a percentage");
87
+ };
88
+ var parsePc = function (value, containerSize) {
89
+ var parsedPercentageValue = parseFloat(value);
90
+ if (parsedPercentageValue < 0 || parsedPercentageValue > 100) {
91
+ throw new Error("stackedAxisLength percentage must be from 0 to 100");
92
+ }
93
+ return Math.round((containerSize * parsedPercentageValue) / 10) / 10;
94
+ };
@@ -50,14 +50,30 @@ var BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy = /** @class */ (fun
50
50
  BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.prototype.layoutAxes = function (left, top, right, bottom, axes) {
51
51
  var _this = this;
52
52
  var totalAxisAreaWidth = right - left;
53
- var singleAxisReservedWidth = totalAxisAreaWidth / axes.length;
54
53
  var firstAxis = axes[0];
54
+ var lastAxis = axes[axes.length - 1];
55
+ var axesWithDefinedLength = axes.filter(function (axis) { return axis.stackedAxisLength; });
56
+ var spaceWithoutBorders = axes.reduce(function (acc, axis) { return acc - axis.axisLayoutState.additionalBottomSize - axis.axisLayoutState.additionalTopSize; }, totalAxisAreaWidth +
57
+ (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalLeftSize) +
58
+ (lastAxis === null || lastAxis === void 0 ? void 0 : lastAxis.axisLayoutState.additionalRightSize));
59
+ var totalDefinedAxesLength = axesWithDefinedLength.reduce(function (acc, axis) { return acc + _this.calculateTotalAxisWidth(axis, spaceWithoutBorders); }, 0);
60
+ var availableSpaceForAxes = totalAxisAreaWidth +
61
+ (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalLeftSize) +
62
+ (lastAxis === null || lastAxis === void 0 ? void 0 : lastAxis.axisLayoutState.additionalRightSize) -
63
+ totalDefinedAxesLength;
64
+ if (availableSpaceForAxes < 0) {
65
+ throw new Error("Bottom stacked axes with defined size total ".concat(totalDefinedAxesLength, " pixels which is ").concat(-availableSpaceForAxes, " more than the space available"));
66
+ }
67
+ var defaultAxisReservedHeight = availableSpaceForAxes / (axes.length - axesWithDefinedLength.length);
55
68
  var leftOffset = left - (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalLeftSize);
56
69
  axes.forEach(function (axis) {
57
70
  var _a = axis.axisLayoutState, axisSize = _a.axisSize, additionalLeftSize = _a.additionalLeftSize, additionalRightSize = _a.additionalRightSize, additionalTopSize = _a.additionalTopSize;
58
71
  var topOffset = top + additionalTopSize;
59
72
  var bottomOffset = topOffset + axisSize;
60
- var rightOffset = leftOffset + singleAxisReservedWidth - additionalRightSize;
73
+ var axisReservedHeight = axis.stackedAxisLength
74
+ ? _this.calculateTotalAxisWidth(axis, spaceWithoutBorders)
75
+ : defaultAxisReservedHeight;
76
+ var rightOffset = leftOffset + axisReservedHeight - additionalRightSize;
61
77
  leftOffset += additionalLeftSize;
62
78
  axis.offset = leftOffset - left;
63
79
  axis.axisLength = rightOffset - leftOffset;
@@ -49,15 +49,32 @@ var LeftAlignedOuterVerticallyStackedAxisLayoutStrategy = /** @class */ (functio
49
49
  };
50
50
  LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.prototype.layoutAxes = function (left, top, right, bottom, axes) {
51
51
  var _this = this;
52
+ // doesn't include top border of the first and bottom border of the last axis
52
53
  var totalAxisAreaHeight = bottom - top;
53
- var singleAxisReservedHeight = totalAxisAreaHeight / axes.length;
54
54
  var firstAxis = axes[0];
55
+ var lastAxis = axes[axes.length - 1];
56
+ var axesWithDefinedLength = axes.filter(function (axis) { return axis.stackedAxisLength; });
57
+ var spaceWithoutBorders = axes.reduce(function (acc, axis) { return acc - axis.axisLayoutState.additionalBottomSize - axis.axisLayoutState.additionalTopSize; }, totalAxisAreaHeight +
58
+ (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalTopSize) +
59
+ (lastAxis === null || lastAxis === void 0 ? void 0 : lastAxis.axisLayoutState.additionalBottomSize));
60
+ var totalDefinedAxesLength = axesWithDefinedLength.reduce(function (acc, axis) { return acc + _this.calculateTotalAxisHeight(axis, spaceWithoutBorders); }, 0);
61
+ var availableSpaceForAxes = totalAxisAreaHeight +
62
+ (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalTopSize) +
63
+ (lastAxis === null || lastAxis === void 0 ? void 0 : lastAxis.axisLayoutState.additionalBottomSize) -
64
+ totalDefinedAxesLength;
65
+ if (availableSpaceForAxes < 0) {
66
+ throw new Error("Left stacked axes with defined size total ".concat(totalDefinedAxesLength, " pixels which is ").concat(-availableSpaceForAxes, " more than the space available"));
67
+ }
68
+ var defaultAxisReservedHeight = availableSpaceForAxes / (axes.length - axesWithDefinedLength.length);
55
69
  var topOffset = top - (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalTopSize);
56
70
  axes.forEach(function (axis) {
57
71
  var _a = axis.axisLayoutState, axisSize = _a.axisSize, additionalRightSize = _a.additionalRightSize, additionalBottomSize = _a.additionalBottomSize, additionalTopSize = _a.additionalTopSize;
58
72
  var rightOffset = right - additionalRightSize;
59
73
  var leftOffset = rightOffset - axisSize;
60
- var bottomOffset = topOffset + singleAxisReservedHeight - additionalBottomSize;
74
+ var axisReservedHeight = axis.stackedAxisLength
75
+ ? _this.calculateTotalAxisHeight(axis, spaceWithoutBorders)
76
+ : defaultAxisReservedHeight;
77
+ var bottomOffset = topOffset + axisReservedHeight - additionalBottomSize;
61
78
  topOffset += additionalTopSize;
62
79
  axis.offset = topOffset - top;
63
80
  axis.axisLength = bottomOffset - topOffset;
@@ -50,14 +50,30 @@ var RightAlignedOuterVerticallyStackedAxisLayoutStrategy = /** @class */ (functi
50
50
  RightAlignedOuterVerticallyStackedAxisLayoutStrategy.prototype.layoutAxes = function (left, top, right, bottom, axes) {
51
51
  var _this = this;
52
52
  var totalAxisAreaHeight = bottom - top;
53
- var singleAxisReservedHeight = totalAxisAreaHeight / axes.length;
54
53
  var firstAxis = axes[0];
54
+ var lastAxis = axes[axes.length - 1];
55
+ var axesWithDefinedLength = axes.filter(function (axis) { return axis.stackedAxisLength; });
56
+ var spaceWithoutBorders = axes.reduce(function (acc, axis) { return acc - axis.axisLayoutState.additionalBottomSize - axis.axisLayoutState.additionalTopSize; }, totalAxisAreaHeight +
57
+ (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalTopSize) +
58
+ (lastAxis === null || lastAxis === void 0 ? void 0 : lastAxis.axisLayoutState.additionalBottomSize));
59
+ var totalDefinedAxesLength = axesWithDefinedLength.reduce(function (acc, axis) { return acc + _this.calculateTotalAxisHeight(axis, spaceWithoutBorders); }, 0);
60
+ var availableSpaceForAxes = totalAxisAreaHeight +
61
+ (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalTopSize) +
62
+ (lastAxis === null || lastAxis === void 0 ? void 0 : lastAxis.axisLayoutState.additionalBottomSize) -
63
+ totalDefinedAxesLength;
64
+ if (availableSpaceForAxes < 0) {
65
+ throw new Error("Right stacked axes with defined size total ".concat(totalDefinedAxesLength, " pixels which is ").concat(-availableSpaceForAxes, " more than the space available"));
66
+ }
67
+ var defaultAxisReservedHeight = availableSpaceForAxes / (axes.length - axesWithDefinedLength.length);
55
68
  var topOffset = top - (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalTopSize);
56
69
  axes.forEach(function (axis) {
57
70
  var _a = axis.axisLayoutState, axisSize = _a.axisSize, additionalLeftSize = _a.additionalLeftSize, additionalBottomSize = _a.additionalBottomSize, additionalTopSize = _a.additionalTopSize;
58
71
  var leftOffset = left + additionalLeftSize;
59
72
  var rightOffset = leftOffset + axisSize;
60
- var bottomOffset = topOffset + singleAxisReservedHeight - additionalBottomSize;
73
+ var axisReservedHeight = axis.stackedAxisLength
74
+ ? _this.calculateTotalAxisHeight(axis, spaceWithoutBorders)
75
+ : defaultAxisReservedHeight;
76
+ var bottomOffset = topOffset + axisReservedHeight - additionalBottomSize;
61
77
  topOffset += additionalTopSize;
62
78
  axis.offset = topOffset - top;
63
79
  axis.axisLength = bottomOffset - topOffset;
@@ -50,14 +50,30 @@ var TopAlignedOuterHorizontallyStackedAxisLayoutStrategy = /** @class */ (functi
50
50
  TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.prototype.layoutAxes = function (left, top, right, bottom, axes) {
51
51
  var _this = this;
52
52
  var totalAxisAreaWidth = right - left;
53
- var singleAxisReservedWidth = totalAxisAreaWidth / axes.length;
54
53
  var firstAxis = axes[0];
54
+ var lastAxis = axes[axes.length - 1];
55
+ var axesWithDefinedLength = axes.filter(function (axis) { return axis.stackedAxisLength; });
56
+ var spaceWithoutBorders = axes.reduce(function (acc, axis) { return acc - axis.axisLayoutState.additionalBottomSize - axis.axisLayoutState.additionalTopSize; }, totalAxisAreaWidth +
57
+ (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalLeftSize) +
58
+ (lastAxis === null || lastAxis === void 0 ? void 0 : lastAxis.axisLayoutState.additionalRightSize));
59
+ var totalDefinedAxesLength = axesWithDefinedLength.reduce(function (acc, axis) { return acc + _this.calculateTotalAxisWidth(axis, spaceWithoutBorders); }, 0);
60
+ var availableSpaceForAxes = totalAxisAreaWidth +
61
+ (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalLeftSize) +
62
+ (lastAxis === null || lastAxis === void 0 ? void 0 : lastAxis.axisLayoutState.additionalRightSize) -
63
+ totalDefinedAxesLength;
64
+ if (availableSpaceForAxes < 0) {
65
+ throw new Error("Top stacked axes with defined size total ".concat(totalDefinedAxesLength, " pixels which is ").concat(-availableSpaceForAxes, " more than the space available"));
66
+ }
67
+ var defaultAxisReservedHeight = availableSpaceForAxes / (axes.length - axesWithDefinedLength.length);
55
68
  var leftOffset = left - (firstAxis === null || firstAxis === void 0 ? void 0 : firstAxis.axisLayoutState.additionalLeftSize);
56
69
  axes.forEach(function (axis) {
57
70
  var _a = axis.axisLayoutState, axisSize = _a.axisSize, additionalLeftSize = _a.additionalLeftSize, additionalRightSize = _a.additionalRightSize, additionalBottomSize = _a.additionalBottomSize;
58
71
  var bottomOffset = bottom - additionalBottomSize;
59
72
  var topOffset = bottomOffset - axisSize;
60
- var rightOffset = leftOffset + singleAxisReservedWidth - additionalRightSize;
73
+ var axisReservedHeight = axis.stackedAxisLength
74
+ ? _this.calculateTotalAxisWidth(axis, spaceWithoutBorders)
75
+ : defaultAxisReservedHeight;
76
+ var rightOffset = leftOffset + axisReservedHeight - additionalRightSize;
61
77
  leftOffset += additionalLeftSize;
62
78
  axis.offset = leftOffset - left;
63
79
  axis.axisLength = rightOffset - leftOffset;
@@ -1,13 +1,19 @@
1
1
  import { EventHandler } from "../../Core/EventHandler";
2
2
  import { NumberRange } from "../../Core/NumberRange";
3
- import { DoubleVector, TSciChart } from "../../types/TSciChart";
3
+ import { ESearchMode } from "../../types/SearchMode";
4
+ import { SCRTDoubleVector, TSciChart } from "../../types/TSciChart";
4
5
  import { SeriesAnimation } from "../Visuals/RenderableSeries/Animations/SeriesAnimation";
6
+ import { IDataDistributionCalculator } from "./DataDistributionCalculator/IDataDistributionCalculator";
5
7
  import { EDataChangeType, EDataSeriesType, EDataSeriesValueType, IDataChangeArgs, IDataSeries } from "./IDataSeries";
6
8
  import { IMetadataGenerator, IPointMetadata } from "./IPointMetadata";
7
9
  /**
8
10
  * Options to pass to the {@link BaseDataSeries} constructor
9
11
  */
10
12
  export interface IBaseDataSeriesOptions {
13
+ /**
14
+ * A unique Id for the {@link IDataSeries}
15
+ */
16
+ id?: string;
11
17
  /**
12
18
  * The DataSeries name, used in legends, tooltips to identify the chart series
13
19
  */
@@ -19,6 +25,14 @@ export interface IBaseDataSeriesOptions {
19
25
  * algorithms for zooming, panning and ranging and ensure best performance.
20
26
  */
21
27
  dataIsSortedInX?: boolean;
28
+ /**
29
+ * When true, the Data is evenly spaced in X.
30
+ * @remarks
31
+ * The user must specify this flag (defaults to true) in order to choose the correct, and
32
+ * fastest algorithms for drawing, indexing and ranging. If you experience glitches or
33
+ * strange drawing, it may be because you have set data with uneven spacing in X but not set this flag.
34
+ */
35
+ dataEvenlySpacedInX?: boolean;
22
36
  /**
23
37
  * Gets or sets whether the Y data contains NaN values.
24
38
  */
@@ -49,6 +63,10 @@ export declare abstract class BaseDataSeries implements IDataSeries {
49
63
  abstract readonly type: EDataSeriesType;
50
64
  /** @inheritDoc */
51
65
  readonly dataChanged: EventHandler<IDataChangeArgs>;
66
+ /** @inheritDoc */
67
+ readonly id: string;
68
+ /** @inheritDoc */
69
+ readonly dataDistributionCalculator: IDataDistributionCalculator;
52
70
  minXSpacing: number;
53
71
  /**
54
72
  * If set, these will be included in the serialised definition, so that it can be used with sharedData
@@ -61,28 +79,30 @@ export declare abstract class BaseDataSeries implements IDataSeries {
61
79
  /**
62
80
  * X vector with initial animation values
63
81
  */
64
- xInitialAnimationValues: DoubleVector;
82
+ xInitialAnimationValues: SCRTDoubleVector;
65
83
  /**
66
84
  * Y vector with initial animation values
67
85
  */
68
- yInitialAnimationValues: DoubleVector;
86
+ yInitialAnimationValues: SCRTDoubleVector;
69
87
  /**
70
88
  * X vector with final animation values
71
89
  */
72
- xFinalAnimationValues: DoubleVector;
90
+ xFinalAnimationValues: SCRTDoubleVector;
73
91
  /**
74
92
  * Y vector with final animation values
75
93
  */
76
- yFinalAnimationValues: DoubleVector;
77
- protected xValues: DoubleVector;
78
- protected yValues: DoubleVector;
79
- protected indexes: DoubleVector;
94
+ yFinalAnimationValues: SCRTDoubleVector;
95
+ protected xValues: SCRTDoubleVector;
96
+ protected yValues: SCRTDoubleVector;
97
+ protected indexes: SCRTDoubleVector;
80
98
  protected isDeleted: boolean;
81
99
  private dataSeriesNameProperty;
82
100
  private isSortedProperty;
83
101
  private containsNaNProperty;
102
+ private isEvenlySpacedProperty;
84
103
  private metadataProperty;
85
104
  private metadataGeneratorProperty;
105
+ private changeCountProperty;
86
106
  /**
87
107
  * Creates an instance of {@link BaseDataSeries}
88
108
  * @param webAssemblyContext the {@link TSciChart | SciChart WebAssembly Context} containing native methods
@@ -91,7 +111,7 @@ export declare abstract class BaseDataSeries implements IDataSeries {
91
111
  */
92
112
  protected constructor(webAssemblyContext: TSciChart, options?: IBaseDataSeriesOptions);
93
113
  /** @inheritDoc */
94
- abstract clear(): void;
114
+ clear(): void;
95
115
  /** @inheritDoc */
96
116
  get containsNaN(): boolean;
97
117
  /** @inheritDoc */
@@ -101,6 +121,10 @@ export declare abstract class BaseDataSeries implements IDataSeries {
101
121
  /** @inheritDoc */
102
122
  set isSorted(isSorted: boolean);
103
123
  /** @inheritDoc */
124
+ get isEvenlySpaced(): boolean;
125
+ /** @inheritDoc */
126
+ set isEvenlySpaced(isSorted: boolean);
127
+ /** @inheritDoc */
104
128
  get dataSeriesName(): string;
105
129
  /** @inheritDoc */
106
130
  set dataSeriesName(dataSeriesName: string);
@@ -109,11 +133,11 @@ export declare abstract class BaseDataSeries implements IDataSeries {
109
133
  /** @inheritDoc */
110
134
  getIsDeleted(): boolean;
111
135
  /** @inheritDoc */
112
- getNativeIndexes(): DoubleVector;
136
+ getNativeIndexes(): SCRTDoubleVector;
113
137
  /** @inheritDoc */
114
- getNativeXValues(): DoubleVector;
138
+ getNativeXValues(): SCRTDoubleVector;
115
139
  /** @inheritDoc */
116
- getNativeYValues(): DoubleVector;
140
+ getNativeYValues(): SCRTDoubleVector;
117
141
  /** @inheritDoc */
118
142
  delete(): void;
119
143
  /**
@@ -126,7 +150,8 @@ export declare abstract class BaseDataSeries implements IDataSeries {
126
150
  getXRange(dataSeriesValueType?: EDataSeriesValueType): NumberRange;
127
151
  /** @inheritDoc */
128
152
  getWindowedYRange(xRange: NumberRange, getPositiveRange: boolean, isXCategoryAxis?: boolean, dataSeriesValueType?: EDataSeriesValueType): NumberRange;
129
- getIndicesRange(xRange: NumberRange): NumberRange;
153
+ /** @inheritDoc */
154
+ getIndicesRange(xRange: NumberRange, isCategoryData?: boolean, downSearchMode?: ESearchMode, upSearchMode?: ESearchMode): NumberRange;
130
155
  /** @inheritDoc */
131
156
  get hasValues(): boolean;
132
157
  /**
@@ -169,6 +194,8 @@ export declare abstract class BaseDataSeries implements IDataSeries {
169
194
  updateAnimationProperties(progress: number, animation: SeriesAnimation): void;
170
195
  /** @inheritDoc */
171
196
  toJSON(excludeData?: boolean): any;
197
+ /** @inheritDoc */
198
+ get changeCount(): number;
172
199
  protected validateIndex(index: number, message?: string): void;
173
200
  protected setMetadataAt(index: number, metadata: IPointMetadata): void;
174
201
  protected appendMetadata(metadata: IPointMetadata): void;
@@ -178,8 +205,8 @@ export declare abstract class BaseDataSeries implements IDataSeries {
178
205
  protected removeMetadataAt(index: number): void;
179
206
  protected removeMetadataRange(startIndex: number, count: number): void;
180
207
  protected setMetadata(value: IPointMetadata[]): void;
181
- protected getXValues(dataSeriesValueType: EDataSeriesValueType): DoubleVector;
208
+ protected getXValues(dataSeriesValueType: EDataSeriesValueType): SCRTDoubleVector;
182
209
  private fillMetadataIfUndefined;
183
210
  private getYValues;
184
211
  }
185
- export declare const getWindowedYRange: (webAssemblyContext: TSciChart, xValues: DoubleVector, yValues: DoubleVector, xRange: NumberRange, getPositiveRange: boolean, isXCategoryAxis: boolean, isSorted: boolean) => NumberRange;
212
+ export declare const getWindowedYRange: (webAssemblyContext: TSciChart, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, xRange: NumberRange, getPositiveRange: boolean, isXCategoryAxis: boolean, isSorted: boolean) => NumberRange;