scichart 2.2.2417 → 3.0.0-beta.230

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 (394) hide show
  1. package/Builder/buildDataSeries.d.ts +16 -1
  2. package/Builder/buildDataSeries.js +24 -1
  3. package/Builder/buildSeries.d.ts +60 -3
  4. package/Builder/buildSeries.js +28 -1
  5. package/Builder/buildSurface.d.ts +28 -2
  6. package/Builder/buildSurface.js +53 -31
  7. package/Builder/chartBuilder.d.ts +20 -7
  8. package/Builder/chartBuilder.js +37 -3
  9. package/Charting/ChartModifiers/ChartModifierBase.d.ts +21 -0
  10. package/Charting/ChartModifiers/ChartModifierBase.js +12 -0
  11. package/Charting/ChartModifiers/ChartModifierBase2D.js +2 -1
  12. package/Charting/ChartModifiers/CursorModifier.d.ts +92 -19
  13. package/Charting/ChartModifiers/CursorModifier.js +147 -58
  14. package/Charting/ChartModifiers/DataPointSelectionModifier.js +2 -1
  15. package/Charting/ChartModifiers/LegendModifier.js +2 -1
  16. package/Charting/ChartModifiers/ModifierMouseArgs.d.ts +6 -1
  17. package/Charting/ChartModifiers/ModifierMouseArgs.js +13 -3
  18. package/Charting/ChartModifiers/MouseWheelZoomModifier.d.ts +2 -2
  19. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +16 -4
  20. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +2 -1
  21. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +8 -4
  22. package/Charting/ChartModifiers/PinchZoomModifier.js +2 -1
  23. package/Charting/ChartModifiers/RolloverModifier.d.ts +43 -21
  24. package/Charting/ChartModifiers/RolloverModifier.js +48 -29
  25. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +9 -6
  26. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +10 -8
  27. package/Charting/ChartModifiers/SeriesSelectionModifier.js +2 -1
  28. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  29. package/Charting/ChartModifiers/XAxisDragModifier.js +2 -1
  30. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  31. package/Charting/ChartModifiers/YAxisDragModifier.js +2 -1
  32. package/Charting/ChartModifiers/ZoomExtentsModifier.js +2 -1
  33. package/Charting/ChartModifiers/ZoomPanModifier.js +2 -1
  34. package/Charting/ChartModifiers/constants.d.ts +3 -1
  35. package/Charting/ChartModifiers/constants.js +2 -0
  36. package/Charting/Drawing/BatchRenderContext.d.ts +6 -0
  37. package/Charting/Drawing/BatchRenderContext.js +40 -0
  38. package/Charting/Drawing/RenderSurface.d.ts +2 -1
  39. package/Charting/Drawing/RenderSurface.js +3 -2
  40. package/Charting/Drawing/WebGlRenderContext2D.d.ts +19 -4
  41. package/Charting/Drawing/WebGlRenderContext2D.js +70 -41
  42. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.js +2 -1
  43. package/Charting/LayoutManager/BottomAlignedInnerAxisLayoutStrategy.js +1 -1
  44. package/Charting/LayoutManager/CentralAxesLayoutManager.js +2 -1
  45. package/Charting/LayoutManager/LayoutManager.d.ts +2 -1
  46. package/Charting/LayoutManager/LayoutManager.js +6 -5
  47. package/Charting/LayoutManager/LeftAlignedInnerAxisLayoutStrategy.js +1 -1
  48. package/Charting/LayoutManager/RightAlignedInnerAxisLayoutStrategy.js +1 -1
  49. package/Charting/LayoutManager/TopAlignedInnerAxisLayoutStrategy.js +1 -1
  50. package/Charting/Model/BaseDataSeries.d.ts +10 -1
  51. package/Charting/Model/BaseDataSeries.js +9 -8
  52. package/Charting/Model/BaseHeatmapDataSeries.d.ts +18 -5
  53. package/Charting/Model/BaseHeatmapDataSeries.js +21 -13
  54. package/Charting/Model/ChartData/SeriesInfo.d.ts +6 -0
  55. package/Charting/Model/ChartData/SeriesInfo.js +5 -0
  56. package/Charting/Model/ChartData/XyySeriesInfo.d.ts +2 -0
  57. package/Charting/Model/ChartData/XyySeriesInfo.js +2 -0
  58. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +4 -3
  59. package/Charting/Model/Filters/HlcCustomFilter.js +12 -9
  60. package/Charting/Model/Filters/HlcFilterBase.js +2 -1
  61. package/Charting/Model/Filters/HlcScaleOffsetFilter.js +2 -1
  62. package/Charting/Model/Filters/OhlcCustomFilter.js +12 -9
  63. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +2 -1
  64. package/Charting/Model/Filters/XyCustomFilter.js +12 -9
  65. package/Charting/Model/Filters/XyFilterBase.d.ts +14 -5
  66. package/Charting/Model/Filters/XyFilterBase.js +47 -15
  67. package/Charting/Model/Filters/XyMovingAverageFilter.js +2 -1
  68. package/Charting/Model/Filters/XyRatioFilter.js +2 -1
  69. package/Charting/Model/Filters/XyScaleOffsetFilter.js +2 -1
  70. package/Charting/Model/Filters/XyyCustomFilter.js +12 -9
  71. package/Charting/Model/Filters/XyyFilterBase.js +2 -1
  72. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +2 -1
  73. package/Charting/Model/Filters/XyzCustomFilter.js +12 -9
  74. package/Charting/Model/Filters/XyzFilterBase.js +2 -1
  75. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +2 -1
  76. package/Charting/Model/IDataSeries.d.ts +9 -1
  77. package/Charting/Model/IDataSeries.js +8 -0
  78. package/Charting/Model/NonUniformHeatmapDataSeries.d.ts +112 -0
  79. package/Charting/Model/NonUniformHeatmapDataSeries.js +261 -0
  80. package/Charting/Model/PaletteFactory.d.ts +40 -4
  81. package/Charting/Model/PaletteFactory.js +37 -11
  82. package/Charting/Model/XyTextDataSeries.d.ts +121 -0
  83. package/Charting/Model/XyTextDataSeries.js +274 -0
  84. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +1 -1
  85. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +1 -1
  86. package/Charting/Services/RenderPassData.d.ts +15 -5
  87. package/Charting/Services/RenderPassData.js +27 -5
  88. package/Charting/Services/SciChartRenderer.d.ts +2 -1
  89. package/Charting/Services/SciChartRenderer.js +91 -29
  90. package/Charting/Themes/IThemeProvider.d.ts +61 -0
  91. package/Charting/Themes/IThemeProvider.js +67 -1
  92. package/Charting/Themes/SciChartJSDarkTheme.d.ts +4 -0
  93. package/Charting/Themes/SciChartJSDarkTheme.js +6 -2
  94. package/Charting/Themes/SciChartJSDarkv2Theme.js +3 -0
  95. package/Charting/Themes/SciChartJSLightTheme.d.ts +8 -0
  96. package/Charting/Themes/SciChartJSLightTheme.js +8 -0
  97. package/Charting/Themes/SciChartJsNavyTheme.d.ts +10 -0
  98. package/Charting/Themes/SciChartJsNavyTheme.js +49 -0
  99. package/Charting/Visuals/Annotations/AdornerLayer.js +4 -8
  100. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +80 -7
  101. package/Charting/Visuals/Annotations/AnnotationBase.js +238 -28
  102. package/Charting/Visuals/Annotations/AnnotationClickEventArgs.d.ts +11 -0
  103. package/Charting/Visuals/Annotations/AnnotationClickEventArgs.js +12 -0
  104. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +1 -0
  105. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +18 -19
  106. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -0
  107. package/Charting/Visuals/Annotations/BoxAnnotation.js +69 -67
  108. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +2 -2
  109. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +20 -20
  110. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  111. package/Charting/Visuals/Annotations/CustomAnnotation.js +3 -2
  112. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +6 -3
  113. package/Charting/Visuals/Annotations/IAdornerProvider.d.ts +12 -0
  114. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -0
  115. package/Charting/Visuals/Annotations/IAnnotation.js +9 -0
  116. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -0
  117. package/Charting/Visuals/Annotations/LineAnnotation.js +29 -35
  118. package/Charting/Visuals/Annotations/NativeTextAnnotation.d.ts +193 -0
  119. package/Charting/Visuals/Annotations/NativeTextAnnotation.js +536 -0
  120. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.d.ts +4 -2
  121. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +19 -14
  122. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.d.ts +2 -2
  123. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.js +9 -8
  124. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.d.ts +2 -2
  125. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +6 -6
  126. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.d.ts +2 -2
  127. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +20 -21
  128. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +13 -2
  129. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +34 -42
  130. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +2 -2
  131. package/Charting/Visuals/Annotations/TextAnnotation.js +41 -22
  132. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +6 -3
  133. package/Charting/Visuals/Annotations/annotationHelpers.d.ts +6 -6
  134. package/Charting/Visuals/Annotations/annotationHelpers.js +7 -6
  135. package/Charting/Visuals/Annotations/constants.d.ts +13 -1
  136. package/Charting/Visuals/Annotations/constants.js +12 -0
  137. package/Charting/Visuals/Axis/AxisBase2D.d.ts +24 -4
  138. package/Charting/Visuals/Axis/AxisBase2D.js +115 -38
  139. package/Charting/Visuals/Axis/AxisCore.d.ts +10 -5
  140. package/Charting/Visuals/Axis/AxisCore.js +11 -10
  141. package/Charting/Visuals/Axis/AxisRenderer.js +114 -20
  142. package/Charting/Visuals/Axis/CategoryAxis.js +2 -1
  143. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +15 -15
  144. package/Charting/Visuals/Axis/CategoryAxisBase.js +14 -12
  145. package/Charting/Visuals/Axis/DateTimeNumericAxis.js +2 -1
  146. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +2 -1
  147. package/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.js +2 -1
  148. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +2 -0
  149. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +14 -0
  150. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +140 -33
  151. package/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.js +2 -1
  152. package/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.js +2 -1
  153. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +2 -1
  154. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.d.ts +31 -1
  155. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +64 -42
  156. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +2 -2
  157. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.js +16 -19
  158. package/Charting/Visuals/Axis/LogarithmicAxis.js +9 -6
  159. package/Charting/Visuals/Axis/NumericAxis.js +3 -3
  160. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  161. package/Charting/Visuals/Axis/constants.js +1 -0
  162. package/Charting/Visuals/HeatmapLegend.d.ts +95 -0
  163. package/Charting/Visuals/HeatmapLegend.js +192 -0
  164. package/Charting/Visuals/Helpers/NativeObject.d.ts +15 -2
  165. package/Charting/Visuals/Helpers/NativeObject.js +72 -6
  166. package/Charting/Visuals/I2DSurfaceOptions.d.ts +46 -0
  167. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +5 -0
  168. package/Charting/Visuals/PointMarkers/BasePointMarker.js +28 -0
  169. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +8 -0
  170. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +2 -1
  171. package/Charting/Visuals/RenderableSeries/Animations/BandAnimationStyle.js +2 -1
  172. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +2 -1
  173. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.js +2 -1
  174. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimationStyle.js +2 -1
  175. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +2 -1
  176. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimationStyle.js +2 -1
  177. package/Charting/Visuals/RenderableSeries/Animations/CustomPointMarkerStyle.js +2 -1
  178. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +2 -1
  179. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +2 -1
  180. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +2 -1
  181. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimationStyle.js +2 -1
  182. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +2 -1
  183. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimationStyle.js +2 -1
  184. package/Charting/Visuals/RenderableSeries/Animations/PointMarkerStyle.js +2 -1
  185. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +2 -1
  186. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +2 -1
  187. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +8 -2
  188. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +3 -3
  189. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +2 -1
  190. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +7 -0
  191. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +42 -10
  192. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +128 -0
  193. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +201 -0
  194. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +26 -0
  195. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +39 -3
  196. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +7 -0
  197. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +17 -2
  198. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +2 -0
  199. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +15 -2
  200. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +10 -0
  201. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +93 -17
  202. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +8 -1
  203. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +21 -1
  204. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +1 -0
  205. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +4 -0
  206. package/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.d.ts +43 -0
  207. package/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.js +142 -0
  208. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +92 -0
  209. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +129 -0
  210. package/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.d.ts +17 -0
  211. package/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.js +62 -0
  212. package/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.d.ts +47 -0
  213. package/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.js +125 -0
  214. package/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.d.ts +71 -0
  215. package/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.js +221 -0
  216. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelLayoutManager.d.ts +5 -0
  217. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelLayoutManager.js +2 -0
  218. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.d.ts +208 -0
  219. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +410 -0
  220. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +40 -0
  221. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +141 -0
  222. package/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.d.ts +63 -0
  223. package/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.js +198 -0
  224. package/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.d.ts +35 -0
  225. package/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.js +92 -0
  226. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.d.ts +12 -0
  227. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +134 -0
  228. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.d.ts +56 -0
  229. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +167 -0
  230. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +0 -1
  231. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +1 -2
  232. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +5 -2
  233. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +47 -40
  234. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +1 -1
  235. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  236. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +18 -5
  237. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.d.ts +0 -1
  238. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.js +14 -27
  239. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +17 -4
  240. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +34 -11
  241. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.d.ts +36 -0
  242. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +493 -0
  243. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +5 -2
  244. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +8 -5
  245. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +4 -4
  246. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +3 -0
  247. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +15 -4
  248. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +2 -1
  249. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +21 -0
  250. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +40 -4
  251. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.d.ts +2 -0
  252. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +18 -3
  253. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +36 -2
  254. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +77 -8
  255. package/Charting/Visuals/RenderableSeries/FastErrorBarsRenderableSeries.js +2 -1
  256. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.d.ts +7 -0
  257. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.js +16 -4
  258. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +2 -1
  259. package/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.js +2 -1
  260. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +2 -1
  261. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +17 -0
  262. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +45 -0
  263. package/Charting/Visuals/RenderableSeries/HeatmapColorMap.js +3 -2
  264. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +35 -5
  265. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +17 -1
  266. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +8 -0
  267. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +7 -1
  268. package/Charting/Visuals/RenderableSeries/HitTest/NonUniformHeatmapHitTestProvider.d.ts +20 -0
  269. package/Charting/Visuals/RenderableSeries/HitTest/NonUniformHeatmapHitTestProvider.js +86 -0
  270. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.d.ts +6 -0
  271. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.js +56 -0
  272. package/Charting/Visuals/RenderableSeries/HitTest/UniformHeatmapHitTestProvider.js +1 -1
  273. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +7 -1
  274. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +34 -2
  275. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +6 -1
  276. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +12 -0
  277. package/Charting/Visuals/RenderableSeries/NonUniformHeatmapRenderableSeries.d.ts +74 -0
  278. package/Charting/Visuals/RenderableSeries/NonUniformHeatmapRenderableSeries.js +99 -0
  279. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.d.ts +7 -2
  280. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +2 -2
  281. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +2 -1
  282. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +2 -3
  283. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +2 -1
  284. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +2 -1
  285. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +2 -1
  286. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.d.ts +3 -0
  287. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +13 -2
  288. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -1
  289. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +7 -0
  290. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +33 -9
  291. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  292. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +7 -1
  293. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +2 -75
  294. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +8 -130
  295. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -0
  296. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +7 -1
  297. package/Charting/Visuals/RenderableSeries/constants.d.ts +5 -1
  298. package/Charting/Visuals/RenderableSeries/constants.js +4 -0
  299. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +3 -3
  300. package/Charting/Visuals/SciChartDefaults.d.ts +4 -0
  301. package/Charting/Visuals/SciChartDefaults.js +4 -0
  302. package/Charting/Visuals/SciChartOverview.js +5 -3
  303. package/Charting/Visuals/SciChartPieSurface/PieSegment/IPieSegment.d.ts +4 -0
  304. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.d.ts +13 -0
  305. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +22 -4
  306. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.d.ts +2 -1
  307. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.js +1 -0
  308. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +5 -0
  309. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +17 -19
  310. package/Charting/Visuals/SciChartSurface.d.ts +238 -7
  311. package/Charting/Visuals/SciChartSurface.js +800 -28
  312. package/Charting/Visuals/SciChartSurfaceBase.d.ts +16 -1
  313. package/Charting/Visuals/SciChartSurfaceBase.js +34 -2
  314. package/Charting/Visuals/TextureManager/CanvasTexture.js +1 -1
  315. package/Charting/Visuals/TextureManager/DpiHelper.js +3 -7
  316. package/Charting/Visuals/TextureManager/TextureManager.d.ts +11 -0
  317. package/Charting/Visuals/TextureManager/TextureManager.js +37 -1
  318. package/Charting/Visuals/createMaster.js +7 -10
  319. package/Charting/Visuals/createSingle.js +2 -0
  320. package/Charting/Visuals/licenseManager2D.js +9 -9
  321. package/Charting/Visuals/sciChartInitCommon.js +16 -12
  322. package/Charting3D/CameraController.d.ts +5 -0
  323. package/Charting3D/CameraController.js +6 -0
  324. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +2 -1
  325. package/Charting3D/Visuals/Axis/AxisBase3D.js +7 -5
  326. package/Charting3D/Visuals/Axis/NumericAxis3D.js +2 -1
  327. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +4 -0
  328. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +7 -0
  329. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +6 -4
  330. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +7 -2
  331. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +3 -2
  332. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.d.ts +0 -5
  333. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.js +12 -11
  334. package/Charting3D/Visuals/SciChart3DSurface.d.ts +2 -2
  335. package/Charting3D/Visuals/SciChart3DSurface.js +18 -11
  336. package/Charting3D/Visuals/createMaster3d.js +10 -18
  337. package/Charting3D/Visuals/createSingle3d.js +12 -10
  338. package/Core/Animations/GenericAnimation.d.ts +2 -0
  339. package/Core/Animations/GenericAnimation.js +3 -0
  340. package/Core/Animations/NumberRangeAnimator.js +7 -2
  341. package/Core/BuildStamp.d.ts +1 -1
  342. package/Core/BuildStamp.js +2 -2
  343. package/Core/Mouse/MouseManager.d.ts +20 -0
  344. package/Core/Mouse/MouseManager.js +201 -30
  345. package/Core/Telemetry.js +1 -1
  346. package/README.md +91 -403
  347. package/_wasm/scichart.browser.js +1 -1
  348. package/_wasm/scichart2d.data +0 -0
  349. package/_wasm/scichart2d.js +280 -267
  350. package/_wasm/scichart2d.wasm +0 -0
  351. package/_wasm/scichart3d.data +0 -0
  352. package/_wasm/scichart3d.js +280 -268
  353. package/_wasm/scichart3d.wasm +0 -0
  354. package/constants/performanceWarnings.d.ts +2 -0
  355. package/constants/performanceWarnings.js +3 -1
  356. package/package.json +2 -2
  357. package/types/AutoColorMode.d.ts +9 -0
  358. package/types/AutoColorMode.js +13 -0
  359. package/types/BaseType.d.ts +3 -1
  360. package/types/BaseType.js +2 -0
  361. package/types/DataLabelProviderType.d.ts +15 -0
  362. package/types/DataLabelProviderType.js +19 -0
  363. package/types/DataLabelSkipMode.d.ts +21 -0
  364. package/types/DataLabelSkipMode.js +25 -0
  365. package/types/DefaultRenderLayer.d.ts +10 -0
  366. package/types/DefaultRenderLayer.js +14 -0
  367. package/types/MousePosition.d.ts +1 -1
  368. package/types/MousePosition.js +1 -1
  369. package/types/SeriesType.d.ts +7 -1
  370. package/types/SeriesType.js +6 -0
  371. package/types/SvgClippingMode.d.ts +17 -0
  372. package/types/SvgClippingMode.js +21 -0
  373. package/types/TDataLabelStyle.d.ts +16 -0
  374. package/types/TDataLabelStyle.js +2 -0
  375. package/types/TSciChart.d.ts +214 -118
  376. package/types/TSciChart3D.d.ts +104 -70
  377. package/types/TextPosition.d.ts +17 -0
  378. package/types/TextPosition.js +39 -0
  379. package/types/ThemeProviderType.d.ts +3 -1
  380. package/types/ThemeProviderType.js +2 -0
  381. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +10 -1
  382. package/utils/ccall/appendDoubleVectorFromJsArray.js +24 -1
  383. package/utils/memoize.d.ts +1 -0
  384. package/utils/memoize.js +26 -0
  385. package/utils/number.d.ts +1 -0
  386. package/utils/number.js +5 -1
  387. package/utils/parseColor.d.ts +2 -0
  388. package/utils/parseColor.js +3 -3
  389. package/utils/text.d.ts +5 -0
  390. package/utils/text.js +48 -0
  391. package/utils/translate.d.ts +12 -2
  392. package/utils/translate.js +67 -11
  393. package/utils/zeroArray2D.d.ts +5 -0
  394. package/utils/zeroArray2D.js +5 -0
@@ -32,6 +32,7 @@ var Rect_1 = require("../../../Core/Rect");
32
32
  var BaseType_1 = require("../../../types/BaseType");
33
33
  var SciChartSurfaceType_1 = require("../../../types/SciChartSurfaceType");
34
34
  var SciChartJSDarkTheme_1 = require("../../Themes/SciChartJSDarkTheme");
35
+ var annotationHelpers_1 = require("../Annotations/annotationHelpers");
35
36
  var PieLabelProvider_1 = require("../Axis/LabelProvider/PieLabelProvider");
36
37
  var createMaster_1 = require("../createMaster");
37
38
  var createSingle_1 = require("../createSingle");
@@ -82,8 +83,8 @@ var EPieValueMode;
82
83
  */
83
84
  var SciChartPieSurface = /** @class */ (function () {
84
85
  function SciChartPieSurface(canvases, options) {
85
- var _this = this;
86
86
  if (canvases === void 0) { canvases = {}; }
87
+ var _this = this;
87
88
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
88
89
  this.animate = true;
89
90
  /* The number of frames for the animation. Default 30. A frame will be trigged every 20ms. */
@@ -114,8 +115,9 @@ var SciChartPieSurface = /** @class */ (function () {
114
115
  var width = this.domCanvas2D.width;
115
116
  var height = this.domCanvas2D.height;
116
117
  this.viewRect = new Rect_1.Rect(0, 0, width, height);
118
+ this.resizeSubscriptionToken = sciChartInitCommon_1.default.subscribeToResize(canvases.domChartRoot, canvases.aspect, this);
117
119
  this.drawChart = this.drawChart.bind(this);
118
- this.delete = this.delete.bind(this);
120
+ this.deleteInternals = this.deleteInternals.bind(this);
119
121
  this.invalidateElement = this.invalidateElement.bind(this);
120
122
  this.detachPieSegment = this.detachPieSegment.bind(this);
121
123
  this.attachPieSegment = this.attachPieSegment.bind(this);
@@ -170,8 +172,6 @@ var SciChartPieSurface = /** @class */ (function () {
170
172
  options = SciChartSurfaceBase_1.SciChartSurfaceBase.resolveOptions(options);
171
173
  var scps = new SciChartPieSurface(canvases, options);
172
174
  scps.applyTheme(options === null || options === void 0 ? void 0 : options.theme);
173
- var unsub = sciChartInitCommon_1.default.subscribeToResize(canvases.domChartRoot, canvases.aspect, scps);
174
- scps.addDeletable(unsub);
175
175
  // setTimeout is used to make function async like createSciChartSurface, to have a consistent API
176
176
  setTimeout(function () { return resolve(scps); }, 0);
177
177
  });
@@ -270,6 +270,13 @@ var SciChartPieSurface = /** @class */ (function () {
270
270
  * @inheritDoc
271
271
  */
272
272
  SciChartPieSurface.prototype.delete = function (isAnimationProgress) {
273
+ this.deleteInternals();
274
+ this.resizeSubscriptionToken = (0, Deleter_1.deleteSafe)(this.resizeSubscriptionToken);
275
+ };
276
+ /**
277
+ * Used Internally. Cleans up the chart internal parts, subscriptions, etc.
278
+ */
279
+ SciChartPieSurface.prototype.deleteInternals = function (isAnimationProgress) {
273
280
  var _this = this;
274
281
  if (this.svg) {
275
282
  this.domSvgContainer.removeChild(this.svg);
@@ -508,13 +515,6 @@ var SciChartPieSurface = /** @class */ (function () {
508
515
  * @param height
509
516
  */
510
517
  SciChartPieSurface.prototype.changeDomViewportSize = function (width, height) {
511
- if (this.domChartRoot) {
512
- this.domChartRoot.style.height = "".concat(height, "px");
513
- }
514
- if (this.domCanvas2D) {
515
- this.domCanvas2D.style.width = "".concat(width, "px");
516
- this.domCanvas2D.style.height = "".concat(height, "px");
517
- }
518
518
  if (this.domSvgContainer) {
519
519
  this.domSvgContainer.setAttribute("width", width.toString());
520
520
  this.domSvgContainer.setAttribute("height", height.toString());
@@ -523,9 +523,6 @@ var SciChartPieSurface = /** @class */ (function () {
523
523
  this.domSvgAdornerLayer.setAttribute("width", width.toString());
524
524
  this.domSvgAdornerLayer.setAttribute("height", height.toString());
525
525
  }
526
- if (this.domDivContainer) {
527
- this.domDivContainer.style.height = "".concat(height, "px");
528
- }
529
526
  };
530
527
  // PRIVATE
531
528
  SciChartPieSurface.prototype.notifyPropertyChanged = function (propertyName) {
@@ -599,7 +596,7 @@ var SciChartPieSurface = /** @class */ (function () {
599
596
  if (this.pieSegments.size() === 0)
600
597
  return;
601
598
  if (this.sweepAnimationDone || !this.animate) {
602
- this.delete();
599
+ this.deleteInternals();
603
600
  this.drawChart();
604
601
  }
605
602
  else {
@@ -609,7 +606,7 @@ var SciChartPieSurface = /** @class */ (function () {
609
606
  var setSweepAnimationDone_1 = function () { return (_this.sweepAnimationDone = true); };
610
607
  var callInvalidateElement_1 = this.invalidateElement;
611
608
  var callDrawChart_1 = this.drawChart;
612
- var callDelete_1 = this.delete;
609
+ var callDelete_1 = this.deleteInternals;
613
610
  (function myLoop(k) {
614
611
  setTimeout(function () {
615
612
  var animationProgress = k / frames_1;
@@ -704,9 +701,8 @@ var SciChartPieSurface = /** @class */ (function () {
704
701
  this.adjustDomContainer();
705
702
  var svgString = "<svg width=\"".concat(this.calculateViewRectWidth(this.viewRect.width), "\" height=\"").concat(this.calculateViewRectHeight(this.viewRect.height), "\">").concat(gradientsBlock).concat(pathsBlock, "</svg>");
706
703
  // CREATING AND ATTACHING SVG TO DOM
707
- var svgNode = document.createRange().createContextualFragment(svgString);
708
- this.domSvgContainer.appendChild(svgNode);
709
- this.svg = this.domSvgContainer.lastChild;
704
+ var svgNode = annotationHelpers_1.annotationHelpers.createSvg(svgString, this.domSvgContainer);
705
+ this.svg = svgNode;
710
706
  };
711
707
  SciChartPieSurface.prototype.adjustDomContainer = function () {
712
708
  var _a, _b, _c, _d, _e, _f;
@@ -746,6 +742,8 @@ var SciChartPieSurface = /** @class */ (function () {
746
742
  };
747
743
  SciChartPieSurface.prototype.drawSegmentLabel = function (el, index, totalValue, angleFrom, angleTo, xCoord, yCoord, outerRadius, innerRadius) {
748
744
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
745
+ if (el.showLabel === false)
746
+ return;
749
747
  var labelDivId = "segment" + index;
750
748
  var div = this.titleDivs.find(function (d) { return d.id === labelDivId; });
751
749
  if (!div) {
@@ -1,10 +1,13 @@
1
- import { ISciChart2DDefinition } from "../../Builder/buildSurface";
1
+ import { ISciChart2DDefinition, ISubChartDefinition } from "../../Builder/buildSurface";
2
2
  import { TEasingFn } from "../../Core/Animations/EasingFunctions";
3
3
  import { IGenericAnimation } from "../../Core/Animations/GenericAnimation";
4
4
  import { EventHandler } from "../../Core/EventHandler";
5
5
  import { ObservableArray } from "../../Core/ObservableArray";
6
6
  import { Rect } from "../../Core/Rect";
7
7
  import { Thickness } from "../../Core/Thickness";
8
+ import { EAutoColorMode } from "../../types/AutoColorMode";
9
+ import { Size } from "../../types/Size";
10
+ import { ESvgClippingMode } from "../../types/SvgClippingMode";
8
11
  import { TBorder } from "../../types/TBorder";
9
12
  import { TSciChart } from "../../types/TSciChart";
10
13
  import { TSciChartSurfaceCanvases } from "../../types/TSciChartSurfaceCanvases";
@@ -16,12 +19,15 @@ import { WebGlRenderContext2D } from "../Drawing/WebGlRenderContext2D";
16
19
  import { LayoutManager } from "../LayoutManager/LayoutManager";
17
20
  import { IThemeProvider } from "../Themes/IThemeProvider";
18
21
  import { AdornerLayer } from "./Annotations/AdornerLayer";
22
+ import { ECoordinateMode } from "./Annotations/AnnotationBase";
19
23
  import { IAnnotation } from "./Annotations/IAnnotation";
20
24
  import { AxisBase2D } from "./Axis/AxisBase2D";
21
- import { I2DSurfaceOptions } from "./I2DSurfaceOptions";
25
+ import { I2DSubSurfaceOptions, I2DSurfaceOptions } from "./I2DSurfaceOptions";
26
+ import { IDataLabelLayoutManager } from "./RenderableSeries/DataLabels/DataLabelLayoutManager";
22
27
  import { IRenderableSeries } from "./RenderableSeries/IRenderableSeries";
23
28
  import { ESurfaceType, SciChartSurfaceBase, TSciChartConfig } from "./SciChartSurfaceBase";
24
29
  import { TDpiChangedEventArgs } from "./TextureManager/DpiHelper";
30
+ import { Point } from "../../Core/Point";
25
31
  export declare type TWebAssemblyChart = {
26
32
  wasmContext: TSciChart;
27
33
  sciChartSurface: SciChartSurface;
@@ -58,7 +64,9 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
58
64
  */
59
65
  static create(divElement: string | HTMLDivElement, options?: I2DSurfaceOptions): Promise<TWebAssemblyChart>;
60
66
  /**
61
- * USED INTERNALLY - performs a similar operation to {@link SciChartSurface.create} but used internally for testing
67
+ * Performs a similar operation to {@link SciChartSurface.create} but uses a dedicated WebAssembly context for this chart, and draws directly to the target canvas
68
+ * This provides better performance for a single chart, but there is a limit (16) to how many you can have on one page.
69
+ * If you need large numbers of charts all updating at the same time, use this, together with {@link addSubChart} to create many charts on one surface.
62
70
  * @param divElement The Div Element ID or reference where the {@link SciChartSurface} will reside
63
71
  * @param options - optional parameters for chart creation. See {@link I2DSurfaceOptions} for more details
64
72
  */
@@ -172,29 +180,52 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
172
180
  */
173
181
  renderContext2D: RenderContext2D;
174
182
  /**
175
- * An event handler which notifies its subsribers when a render operation has finished. Use this
183
+ * An event handler which notifies its subscribers when a render operation has finished. Use this
176
184
  * to time render performance, or to update elements of the chart or your UI on redraw.
177
185
  */
178
186
  rendered: EventHandler<void>;
187
+ /**
188
+ * An event handler which notifies its subscribers when a render operation starts. Use this
189
+ * to update elements of the chart for the current render. Any updates made here will not trigger a subsequent render.
190
+ */
191
+ preRender: EventHandler<WebGlRenderContext2D>;
192
+ layersOffset: number;
193
+ stepBetweenLayers: number;
194
+ readonly isSubSurface: boolean;
179
195
  readonly adornerLayer: AdornerLayer;
196
+ /**
197
+ * Sets / Gets the clipping mode for SVG Annotations
198
+ */
199
+ svgClippingMode: ESvgClippingMode;
200
+ /**
201
+ * Normally, native labels are drawn all at once at the end of the render cycle to improve performance.
202
+ * In circumstances where you want to draw over the labels, eg with a subchart, set this true to have them drawn earlier.
203
+ */
204
+ renderNativeAxisLabelsImmediately: boolean;
180
205
  /**
181
206
  * The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
182
207
  * access to our WebGL2 Engine and WebAssembly numerical methods
183
208
  */
184
209
  readonly webAssemblyContext2D: TSciChart;
185
210
  protected animationList: IGenericAnimation[];
211
+ protected paddingProperty: Thickness;
186
212
  private readonly sciChartRenderer;
187
213
  private layoutManagerProperty;
214
+ private dataLabelLayoutManagerProperty;
188
215
  private zoomStateProperty;
189
216
  private watermarkProperties;
190
217
  private watermarkPropertyPosition;
191
- private paddingProperty;
192
218
  private debugRenderingProperty;
193
219
  private solidBrushCacheViewportBorder;
194
220
  private solidBrushCacheCanvasBorder;
195
221
  private viewportBorderProperty;
196
222
  private canvasBorderProperty;
223
+ private subChartsProperty;
197
224
  private drawSeriesBehindAxisProperty;
225
+ private autoColorModeProperty;
226
+ private autoColorRequired;
227
+ private xCoordSvgTrans;
228
+ private yCoordSvgTrans;
198
229
  /**
199
230
  * Creates an instance of the {@link SciChartSurface}
200
231
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -202,6 +233,23 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
202
233
  * @param options optional parameters of type {@link ISciChartSurfaceOptions} used to configure the {@link SciChartSurface}
203
234
  */
204
235
  constructor(webAssemblyContext: TSciChart, options?: ISciChartSurfaceOptions);
236
+ private subChartCounter;
237
+ /**
238
+ * Add another chart to an existing surface.
239
+ * This is a performance optimization if you need to have multiple charts all updating together, eg because they have synced axes.
240
+ * We suggest you use SciChartSurface.createSingle for the parent surface. The parent surface does not have to have any chart elements defined.
241
+ * The position property required in the options determines the placement and size of the subchart. Its values are interpreted differently depending on the coordinateMode
242
+ * Modifiers using modifierGroup will work across other subcharts on the surface, but not to any other surface.
243
+ */
244
+ addSubChart(options?: I2DSubSurfaceOptions): SciChartSubSurface;
245
+ /**
246
+ * Remove an existing subChart from a parent surface. See {@link addSubChart}
247
+ */
248
+ removeSubChart(subChart: SciChartSubSurface): void;
249
+ /**
250
+ * The list of subCharts on this surface. See {@link addSubChart}
251
+ */
252
+ get subCharts(): ReadonlyArray<SciChartSubSurface>;
205
253
  /**
206
254
  * @inheritDoc
207
255
  */
@@ -214,6 +262,14 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
214
262
  * Used internally - gets or sets the {@link LayoutManager}
215
263
  */
216
264
  set layoutManager(value: LayoutManager);
265
+ /**
266
+ * Gets or sets the {@link ISeriesTextLayoutManager} for performing text layout across multiple series
267
+ */
268
+ get dataLabelLayoutManager(): IDataLabelLayoutManager;
269
+ /**
270
+ * Used internally - gets or sets the {@link ISeriesTextLayoutManager} for performing text layout across multiple series
271
+ */
272
+ set dataLabelLayoutManager(value: IDataLabelLayoutManager);
217
273
  /**
218
274
  * Gets or sets the Padding between the SciChartSurface and it's inner elements, in order top, right, bottom, left
219
275
  * @remarks
@@ -243,6 +299,14 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
243
299
  * Used internally for development purposes
244
300
  */
245
301
  set debugRendering(debugRendering: boolean);
302
+ /**
303
+ * Gets or sets the EAutoColorMode which determines when resolution of AUTO_COLOR should occur
304
+ */
305
+ get autoColorMode(): EAutoColorMode;
306
+ /**
307
+ * Gets or sets the EAutoColorMode which determines when resolution of AUTO_COLOR should occur
308
+ */
309
+ set autoColorMode(autoColorMode: EAutoColorMode);
246
310
  /**
247
311
  * @inheritDoc
248
312
  */
@@ -255,7 +319,7 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
255
319
  * @inheritDoc
256
320
  */
257
321
  invalidateElement(): void;
258
- doDrawingLoop(): void;
322
+ doDrawingLoop(context?: WebGlRenderContext2D): void;
259
323
  /**
260
324
  * @inheritDoc
261
325
  */
@@ -380,7 +444,7 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
380
444
  * Multiple animations will be run in parallel, so if you want to run one after another, use the onCompleted callback
381
445
  * to add another animation after the first completes
382
446
  */
383
- addAnimation(animation: IGenericAnimation): void;
447
+ addAnimation(...animations: IGenericAnimation[]): void;
384
448
  /**
385
449
  * Returns true if an animation is running
386
450
  */
@@ -391,6 +455,18 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
391
455
  * Use not scaled values for SVG annotations and the Legend
392
456
  */
393
457
  getSeriesViewRectPadding(scaled?: boolean): Thickness;
458
+ /** Calls resolveAutoColors on each series to resolve colors marked as auto based on the seriesColorPalette */
459
+ resolveAutoColors(maxSeries?: number): void;
460
+ /**
461
+ * Used internally - sets SVG Canvas Translation
462
+ * @param x
463
+ * @param y
464
+ */
465
+ setCoordSvgTranslation(x: number, y: number): void;
466
+ /**
467
+ * Gets SVG Canvas Translation, used to draw on SVG Canvas using different {@link ESvgClippingMode}
468
+ */
469
+ getCoordSvgTranslation(): Point;
394
470
  /**
395
471
  * Convert the object to a definition that can be serialized to JSON, or used directly with the builder api
396
472
  * @param excludeData if set true, data values will not be included in the json.
@@ -422,6 +498,8 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
422
498
  private attachAxis;
423
499
  private detachAnnotation;
424
500
  private attachAnnotation;
501
+ protected onAttachSubSurface(subSurface: SciChartSubSurface): void;
502
+ protected onDetachSubSurface(subSurface: SciChartSubSurface): void;
425
503
  /**
426
504
  * Gets or sets the boolean flag for switching behaviour of Axises rendering
427
505
  */
@@ -431,3 +509,156 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
431
509
  */
432
510
  set drawSeriesBehindAxis(value: boolean);
433
511
  }
512
+ export interface ISciChartSubSurfaceOptions extends ISciChartSurfaceOptions {
513
+ subSurfaceOptions: I2DSubSurfaceOptions;
514
+ parentSurface: SciChartSurface;
515
+ }
516
+ export interface IOffsets {
517
+ left: number;
518
+ right: number;
519
+ top: number;
520
+ bottom: number;
521
+ }
522
+ /**
523
+ * @summary The {@link SciChartSubSurface} is the surface created within another surface
524
+ * @description
525
+ * It can be added using {@link SciChartSurface.addSubChart} method.
526
+ *
527
+ * To update the positioning of the {@link SciChartSubSurface}, use {@link SciChartSubSurface.subPosition};
528
+ * also you can call {@link SciChartSubSurface.updateSubLayout} to refresh the layout of the sub-surface.
529
+ * @remarks
530
+ * It is not possible to have more than one level of nested sub-surfaces.
531
+ */
532
+ export declare class SciChartSubSurface extends SciChartSurface {
533
+ readonly isSubSurface: boolean;
534
+ readonly subChartContainer: HTMLDivElement;
535
+ topSectionClass: string;
536
+ leftSectionClass: string;
537
+ bottomSectionClass: string;
538
+ rightSectionClass: string;
539
+ protected backgroundProperty: string;
540
+ protected isTransparentProperty: boolean;
541
+ protected subPaddingProperty: Thickness;
542
+ private subPositionProperty;
543
+ private coordinateModeProperty;
544
+ private parentXAxisIdProperty;
545
+ private parentYAxisIdProperty;
546
+ private subChartContainerId;
547
+ private parentSurfaceProperty;
548
+ private backgroundFillBrushCache;
549
+ private isVisibleProperty;
550
+ private sectionScaleProperty;
551
+ /**
552
+ * Creates an instance of the {@link SciChartSurface}
553
+ * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
554
+ * access to our WebGL2 Engine and WebAssembly numerical methods
555
+ * @param options optional parameters of type {@link ISciChartSurfaceOptions} used to configure the {@link SciChart2DSurfaceBase}
556
+ */
557
+ constructor(webAssemblyContext: TSciChart, options?: ISciChartSubSurfaceOptions);
558
+ /**
559
+ * Whether other surfaces, including the parent, will be visible underneath this surface
560
+ */
561
+ get isTransparent(): boolean;
562
+ /**
563
+ * Whether other surfaces, including the parent, will be visible underneath this surface
564
+ */
565
+ set isTransparent(value: boolean);
566
+ /**
567
+ * Gets or sets additional absolute padding between the SciChartSubSurface and its parent, in order top, right, bottom, left
568
+ * {@link subPosition} is applied first, then this padding is added.
569
+ */
570
+ get subChartPadding(): Thickness;
571
+ /**
572
+ * Gets or sets additional absolute padding between the SciChartSubSurface and its parent, in order top, right, bottom, left
573
+ * {@link subPosition} is applied first, then this padding is added.
574
+ */
575
+ set subChartPadding(padding: Thickness);
576
+ /**
577
+ * Gets or sets the {@link ECoordinateMode} used when calculating the actual position based on the {@link subPosition}
578
+ */
579
+ get coordinateMode(): ECoordinateMode;
580
+ /**
581
+ * Gets or sets the {@link ECoordinateMode} used when calculating the actual position based on the {@link subPosition}
582
+ */
583
+ set coordinateMode(coordinateMode: ECoordinateMode);
584
+ /**
585
+ * Gets or sets the AxisId used to determing which X Axis should be used when calculating the actual position based on the {@link subPosition}
586
+ * if {@link coordinateMode} is DataValue
587
+ */
588
+ get parentXAxisId(): string;
589
+ /**
590
+ * Gets or sets the AxisId used to determing which X Axis should be used when calculating the actual position based on the {@link subPosition}
591
+ * if {@link coordinateMode} is DataValue
592
+ */
593
+ set parentXAxisId(id: string);
594
+ /**
595
+ * Gets or sets the AxisId used to determing which Y Axis should be used when calculating the actual position based on the {@link subPosition}
596
+ * if {@link coordinateMode} is DataValue
597
+ */
598
+ get parentYAxisId(): string;
599
+ /**
600
+ * Gets or sets the AxisId used to determing which Y Axis should be used when calculating the actual position based on the {@link subPosition}
601
+ * if {@link coordinateMode} is DataValue
602
+ */
603
+ set parentYAxisId(id: string);
604
+ /**
605
+ * A rectangle defining the position and size of a subchart.
606
+ * If {@link coordinateMode} is Relative (the default) then the values give the size as a proportion of the parent div, and all properties must be between 0 and 1 inclusive.
607
+ * If {@link coordinateMode} is DataValue, values will be converted to coordinates using {@link parentXAxisId} and {@link parentYAxisId}. Subchart will be clpped to the parent SeriesViewRect
608
+ * Can only be set if this is a subChart. See {@link addSubChart}
609
+ */
610
+ get subPosition(): Rect;
611
+ /**
612
+ * A rectangle defining the position and size of a subchart.
613
+ * If {@link coordinateMode} is Relative (the default) then the values give the size as a proportion of the parent div, and all properties must be between 0 and 1 inclusive.
614
+ * If {@link coordinateMode} is DataValue, values will be converted to coordinates using {@link parentXAxisId} and {@link parentYAxisId}. Subchart will be clpped to the parent SeriesViewRect
615
+ * Can only be set if this is a subChart. See {@link addSubChart}
616
+ */
617
+ set subPosition(value: Rect);
618
+ /**
619
+ * Gets or sets if the subchart is visible, allowing you to hide a subchart without removing it from the parent surface
620
+ */
621
+ get isVisible(): boolean;
622
+ /**
623
+ * Gets or sets if the subchart is visible, allowing you to hide a subchart without removing it from the parent surface
624
+ */
625
+ set isVisible(isVisible: boolean);
626
+ /**
627
+ * Gets or sets scale property for all sections
628
+ * It is necessary if the scale transformation is being used for html areas around the subchart
629
+ * For example, style = { width: "50%", transform: scale(2), transformOrigin: 'left top' }
630
+ */
631
+ get sectionScale(): number;
632
+ set sectionScale(value: number);
633
+ /** Recalculate the position of the subChart. Call if you update the size of html elements in the wrapper */
634
+ updateSubLayout(isDrawing?: boolean): void;
635
+ /**
636
+ * The parent SciChartSurface, if this is a subChart. See {@link addSubChart}
637
+ */
638
+ get parentSurface(): SciChartSurface;
639
+ /**
640
+ * @inheritDoc
641
+ */
642
+ get surfaceType(): ESurfaceType;
643
+ /**
644
+ * @inheritDoc
645
+ */
646
+ changeViewportSize(pixelWidth: number, pixelHeight: number): void;
647
+ /**
648
+ * Gets the sub-chart container
649
+ */
650
+ getSubChartContainer(): HTMLDivElement;
651
+ getSubChartRect(): Rect;
652
+ /**
653
+ * @inheritDoc
654
+ */
655
+ delete(clearHtml?: boolean): void;
656
+ toJSON(excludeData?: boolean): ISubChartDefinition;
657
+ protected calcPadding(viewportSize: Size, position: Rect, offsets: IOffsets, isDrawing?: boolean): Thickness;
658
+ /**
659
+ * @inheritDoc
660
+ */
661
+ protected applySciChartBackground(background: string, alphaEnabled?: boolean): void;
662
+ protected updateWrapper(subChartPosition: Rect): void;
663
+ protected getOffsets(subChartContainer: HTMLDivElement): IOffsets;
664
+ }