scichart 2.2.2416 → 3.0.0-beta.224

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 +83 -10
  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 +40 -0
  24. package/Charting/ChartModifiers/RolloverModifier.js +40 -3
  25. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +2 -1
  26. package/Charting/ChartModifiers/SeriesSelectionModifier.js +2 -1
  27. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  28. package/Charting/ChartModifiers/XAxisDragModifier.js +2 -1
  29. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  30. package/Charting/ChartModifiers/YAxisDragModifier.js +2 -1
  31. package/Charting/ChartModifiers/ZoomExtentsModifier.js +2 -1
  32. package/Charting/ChartModifiers/ZoomPanModifier.js +2 -1
  33. package/Charting/ChartModifiers/constants.d.ts +3 -1
  34. package/Charting/ChartModifiers/constants.js +2 -0
  35. package/Charting/Drawing/BatchRenderContext.d.ts +6 -0
  36. package/Charting/Drawing/BatchRenderContext.js +40 -0
  37. package/Charting/Drawing/RenderSurface.d.ts +2 -1
  38. package/Charting/Drawing/RenderSurface.js +3 -2
  39. package/Charting/Drawing/WebGlRenderContext2D.d.ts +19 -4
  40. package/Charting/Drawing/WebGlRenderContext2D.js +70 -41
  41. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.js +2 -1
  42. package/Charting/LayoutManager/BottomAlignedInnerAxisLayoutStrategy.js +1 -1
  43. package/Charting/LayoutManager/CentralAxesLayoutManager.js +2 -1
  44. package/Charting/LayoutManager/LayoutManager.d.ts +2 -1
  45. package/Charting/LayoutManager/LayoutManager.js +6 -5
  46. package/Charting/LayoutManager/LeftAlignedInnerAxisLayoutStrategy.js +1 -1
  47. package/Charting/LayoutManager/RightAlignedInnerAxisLayoutStrategy.js +1 -1
  48. package/Charting/LayoutManager/TopAlignedInnerAxisLayoutStrategy.js +1 -1
  49. package/Charting/Model/BaseDataSeries.d.ts +10 -1
  50. package/Charting/Model/BaseDataSeries.js +9 -8
  51. package/Charting/Model/BaseHeatmapDataSeries.d.ts +18 -5
  52. package/Charting/Model/BaseHeatmapDataSeries.js +21 -13
  53. package/Charting/Model/ChartData/SeriesInfo.d.ts +6 -0
  54. package/Charting/Model/ChartData/SeriesInfo.js +5 -0
  55. package/Charting/Model/ChartData/XyySeriesInfo.d.ts +2 -0
  56. package/Charting/Model/ChartData/XyySeriesInfo.js +2 -0
  57. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +4 -3
  58. package/Charting/Model/Filters/HlcCustomFilter.js +12 -9
  59. package/Charting/Model/Filters/HlcFilterBase.js +2 -1
  60. package/Charting/Model/Filters/HlcScaleOffsetFilter.js +2 -1
  61. package/Charting/Model/Filters/OhlcCustomFilter.js +12 -9
  62. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +2 -1
  63. package/Charting/Model/Filters/XyCustomFilter.js +12 -9
  64. package/Charting/Model/Filters/XyFilterBase.d.ts +14 -5
  65. package/Charting/Model/Filters/XyFilterBase.js +47 -15
  66. package/Charting/Model/Filters/XyMovingAverageFilter.js +2 -1
  67. package/Charting/Model/Filters/XyRatioFilter.js +2 -1
  68. package/Charting/Model/Filters/XyScaleOffsetFilter.js +2 -1
  69. package/Charting/Model/Filters/XyyCustomFilter.js +12 -9
  70. package/Charting/Model/Filters/XyyFilterBase.js +2 -1
  71. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +2 -1
  72. package/Charting/Model/Filters/XyzCustomFilter.js +12 -9
  73. package/Charting/Model/Filters/XyzFilterBase.js +2 -1
  74. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +2 -1
  75. package/Charting/Model/IDataSeries.d.ts +9 -1
  76. package/Charting/Model/IDataSeries.js +8 -0
  77. package/Charting/Model/NonUniformHeatmapDataSeries.d.ts +112 -0
  78. package/Charting/Model/NonUniformHeatmapDataSeries.js +261 -0
  79. package/Charting/Model/PaletteFactory.d.ts +40 -4
  80. package/Charting/Model/PaletteFactory.js +37 -11
  81. package/Charting/Model/XyTextDataSeries.d.ts +121 -0
  82. package/Charting/Model/XyTextDataSeries.js +274 -0
  83. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +1 -1
  84. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +1 -1
  85. package/Charting/Services/RenderPassData.d.ts +15 -5
  86. package/Charting/Services/RenderPassData.js +27 -5
  87. package/Charting/Services/SciChartRenderer.d.ts +2 -1
  88. package/Charting/Services/SciChartRenderer.js +92 -29
  89. package/Charting/Themes/IThemeProvider.d.ts +61 -0
  90. package/Charting/Themes/IThemeProvider.js +67 -1
  91. package/Charting/Themes/SciChartJSDarkTheme.d.ts +4 -0
  92. package/Charting/Themes/SciChartJSDarkTheme.js +6 -2
  93. package/Charting/Themes/SciChartJSDarkv2Theme.js +3 -0
  94. package/Charting/Themes/SciChartJSLightTheme.d.ts +8 -0
  95. package/Charting/Themes/SciChartJSLightTheme.js +8 -0
  96. package/Charting/Themes/SciChartJsNavyTheme.d.ts +10 -0
  97. package/Charting/Themes/SciChartJsNavyTheme.js +49 -0
  98. package/Charting/Visuals/Annotations/AdornerLayer.js +4 -8
  99. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +80 -7
  100. package/Charting/Visuals/Annotations/AnnotationBase.js +238 -28
  101. package/Charting/Visuals/Annotations/AnnotationClickEventArgs.d.ts +11 -0
  102. package/Charting/Visuals/Annotations/AnnotationClickEventArgs.js +12 -0
  103. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +1 -0
  104. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +18 -19
  105. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -0
  106. package/Charting/Visuals/Annotations/BoxAnnotation.js +69 -67
  107. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +2 -2
  108. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +20 -20
  109. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  110. package/Charting/Visuals/Annotations/CustomAnnotation.js +3 -2
  111. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +6 -3
  112. package/Charting/Visuals/Annotations/IAdornerProvider.d.ts +12 -0
  113. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -0
  114. package/Charting/Visuals/Annotations/IAnnotation.js +9 -0
  115. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -0
  116. package/Charting/Visuals/Annotations/LineAnnotation.js +29 -35
  117. package/Charting/Visuals/Annotations/NativeTextAnnotation.d.ts +193 -0
  118. package/Charting/Visuals/Annotations/NativeTextAnnotation.js +536 -0
  119. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.d.ts +4 -2
  120. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +19 -14
  121. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.d.ts +2 -2
  122. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.js +9 -8
  123. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.d.ts +2 -2
  124. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +6 -6
  125. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.d.ts +2 -2
  126. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +16 -17
  127. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +13 -2
  128. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +34 -42
  129. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +2 -2
  130. package/Charting/Visuals/Annotations/TextAnnotation.js +41 -22
  131. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +6 -3
  132. package/Charting/Visuals/Annotations/annotationHelpers.d.ts +6 -6
  133. package/Charting/Visuals/Annotations/annotationHelpers.js +7 -6
  134. package/Charting/Visuals/Annotations/constants.d.ts +13 -1
  135. package/Charting/Visuals/Annotations/constants.js +12 -0
  136. package/Charting/Visuals/Axis/AxisBase2D.d.ts +24 -4
  137. package/Charting/Visuals/Axis/AxisBase2D.js +115 -38
  138. package/Charting/Visuals/Axis/AxisCore.d.ts +10 -5
  139. package/Charting/Visuals/Axis/AxisCore.js +11 -10
  140. package/Charting/Visuals/Axis/AxisRenderer.js +114 -20
  141. package/Charting/Visuals/Axis/CategoryAxis.js +2 -1
  142. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +15 -15
  143. package/Charting/Visuals/Axis/CategoryAxisBase.js +14 -12
  144. package/Charting/Visuals/Axis/DateTimeNumericAxis.js +2 -1
  145. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +2 -1
  146. package/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.js +2 -1
  147. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +2 -0
  148. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +14 -0
  149. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +140 -33
  150. package/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.js +2 -1
  151. package/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.js +2 -1
  152. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +2 -1
  153. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.d.ts +31 -1
  154. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +64 -42
  155. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +2 -2
  156. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.js +16 -19
  157. package/Charting/Visuals/Axis/LogarithmicAxis.js +9 -6
  158. package/Charting/Visuals/Axis/NumericAxis.js +3 -3
  159. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  160. package/Charting/Visuals/Axis/constants.js +1 -0
  161. package/Charting/Visuals/HeatmapLegend.d.ts +95 -0
  162. package/Charting/Visuals/HeatmapLegend.js +192 -0
  163. package/Charting/Visuals/Helpers/NativeObject.d.ts +15 -2
  164. package/Charting/Visuals/Helpers/NativeObject.js +72 -6
  165. package/Charting/Visuals/I2DSurfaceOptions.d.ts +46 -0
  166. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +5 -0
  167. package/Charting/Visuals/PointMarkers/BasePointMarker.js +28 -0
  168. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +8 -0
  169. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +2 -1
  170. package/Charting/Visuals/RenderableSeries/Animations/BandAnimationStyle.js +2 -1
  171. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +2 -1
  172. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.js +2 -1
  173. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimationStyle.js +2 -1
  174. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +2 -1
  175. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimationStyle.js +2 -1
  176. package/Charting/Visuals/RenderableSeries/Animations/CustomPointMarkerStyle.js +2 -1
  177. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +2 -1
  178. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +2 -1
  179. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +2 -1
  180. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimationStyle.js +2 -1
  181. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +2 -1
  182. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimationStyle.js +2 -1
  183. package/Charting/Visuals/RenderableSeries/Animations/PointMarkerStyle.js +2 -1
  184. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +2 -1
  185. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +2 -1
  186. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +8 -2
  187. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +3 -3
  188. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +2 -1
  189. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +7 -0
  190. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +42 -10
  191. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +128 -0
  192. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +201 -0
  193. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +26 -0
  194. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +39 -3
  195. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +7 -0
  196. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +17 -2
  197. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +2 -0
  198. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +15 -2
  199. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +10 -0
  200. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +93 -17
  201. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +8 -1
  202. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +21 -1
  203. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +1 -0
  204. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +4 -0
  205. package/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.d.ts +43 -0
  206. package/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.js +142 -0
  207. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +92 -0
  208. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +129 -0
  209. package/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.d.ts +17 -0
  210. package/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.js +62 -0
  211. package/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.d.ts +47 -0
  212. package/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.js +125 -0
  213. package/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.d.ts +71 -0
  214. package/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.js +221 -0
  215. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelLayoutManager.d.ts +5 -0
  216. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelLayoutManager.js +2 -0
  217. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.d.ts +208 -0
  218. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +410 -0
  219. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +40 -0
  220. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +141 -0
  221. package/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.d.ts +63 -0
  222. package/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.js +198 -0
  223. package/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.d.ts +35 -0
  224. package/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.js +92 -0
  225. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.d.ts +12 -0
  226. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +134 -0
  227. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.d.ts +56 -0
  228. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +167 -0
  229. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +0 -1
  230. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +1 -2
  231. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +5 -2
  232. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +47 -40
  233. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +1 -1
  234. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  235. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +18 -5
  236. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.d.ts +0 -1
  237. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.js +14 -27
  238. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +17 -4
  239. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +34 -11
  240. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.d.ts +36 -0
  241. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +493 -0
  242. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +5 -2
  243. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +8 -5
  244. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +4 -4
  245. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +3 -0
  246. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +15 -4
  247. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +2 -1
  248. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +21 -0
  249. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +40 -4
  250. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.d.ts +2 -0
  251. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +18 -3
  252. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +36 -2
  253. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +77 -8
  254. package/Charting/Visuals/RenderableSeries/FastErrorBarsRenderableSeries.js +2 -1
  255. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.d.ts +7 -0
  256. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.js +16 -4
  257. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +2 -1
  258. package/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.js +2 -1
  259. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +2 -1
  260. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +17 -0
  261. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +45 -0
  262. package/Charting/Visuals/RenderableSeries/HeatmapColorMap.js +3 -2
  263. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +35 -5
  264. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +17 -1
  265. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +8 -0
  266. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +7 -1
  267. package/Charting/Visuals/RenderableSeries/HitTest/NonUniformHeatmapHitTestProvider.d.ts +20 -0
  268. package/Charting/Visuals/RenderableSeries/HitTest/NonUniformHeatmapHitTestProvider.js +86 -0
  269. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.d.ts +6 -0
  270. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.js +56 -0
  271. package/Charting/Visuals/RenderableSeries/HitTest/UniformHeatmapHitTestProvider.js +1 -1
  272. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +7 -1
  273. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +34 -2
  274. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +6 -1
  275. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +12 -0
  276. package/Charting/Visuals/RenderableSeries/ISpline.d.ts +2 -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/ShaderEffect.js +2 -2
  280. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +5 -0
  281. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +29 -10
  282. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +7 -3
  283. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +28 -8
  284. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +5 -0
  285. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +28 -8
  286. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +2 -1
  287. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.d.ts +3 -0
  288. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +13 -2
  289. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -1
  290. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +7 -0
  291. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +33 -9
  292. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  293. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +7 -1
  294. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +2 -75
  295. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +8 -130
  296. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -0
  297. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +7 -1
  298. package/Charting/Visuals/RenderableSeries/constants.d.ts +5 -1
  299. package/Charting/Visuals/RenderableSeries/constants.js +4 -0
  300. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +3 -3
  301. package/Charting/Visuals/SciChartDefaults.d.ts +4 -0
  302. package/Charting/Visuals/SciChartDefaults.js +4 -0
  303. package/Charting/Visuals/SciChartOverview.js +5 -3
  304. package/Charting/Visuals/SciChartPieSurface/PieSegment/IPieSegment.d.ts +4 -0
  305. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.d.ts +13 -0
  306. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +22 -4
  307. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.d.ts +2 -1
  308. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.js +1 -0
  309. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +5 -0
  310. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +17 -19
  311. package/Charting/Visuals/SciChartSurface.d.ts +225 -7
  312. package/Charting/Visuals/SciChartSurface.js +782 -28
  313. package/Charting/Visuals/SciChartSurfaceBase.d.ts +16 -1
  314. package/Charting/Visuals/SciChartSurfaceBase.js +34 -2
  315. package/Charting/Visuals/TextureManager/CanvasTexture.js +1 -1
  316. package/Charting/Visuals/TextureManager/DpiHelper.js +3 -7
  317. package/Charting/Visuals/TextureManager/TextureManager.d.ts +11 -0
  318. package/Charting/Visuals/TextureManager/TextureManager.js +37 -1
  319. package/Charting/Visuals/createMaster.js +7 -10
  320. package/Charting/Visuals/createSingle.js +2 -0
  321. package/Charting/Visuals/licenseManager2D.js +9 -9
  322. package/Charting/Visuals/sciChartInitCommon.js +16 -12
  323. package/Charting3D/CameraController.d.ts +5 -0
  324. package/Charting3D/CameraController.js +6 -0
  325. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +2 -1
  326. package/Charting3D/Visuals/Axis/AxisBase3D.js +7 -5
  327. package/Charting3D/Visuals/Axis/NumericAxis3D.js +2 -1
  328. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +4 -0
  329. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +7 -0
  330. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +6 -4
  331. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +7 -2
  332. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +3 -2
  333. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.d.ts +0 -5
  334. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.js +12 -11
  335. package/Charting3D/Visuals/SciChart3DSurface.d.ts +2 -2
  336. package/Charting3D/Visuals/SciChart3DSurface.js +18 -11
  337. package/Charting3D/Visuals/createMaster3d.js +10 -18
  338. package/Charting3D/Visuals/createSingle3d.js +12 -10
  339. package/Core/Animations/GenericAnimation.d.ts +2 -0
  340. package/Core/Animations/GenericAnimation.js +3 -0
  341. package/Core/Animations/NumberRangeAnimator.js +7 -2
  342. package/Core/BuildStamp.d.ts +1 -1
  343. package/Core/BuildStamp.js +2 -2
  344. package/Core/Mouse/MouseManager.d.ts +20 -0
  345. package/Core/Mouse/MouseManager.js +199 -30
  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/SeriesType.d.ts +7 -1
  368. package/types/SeriesType.js +6 -0
  369. package/types/SvgClippingMode.d.ts +17 -0
  370. package/types/SvgClippingMode.js +21 -0
  371. package/types/TDataLabelStyle.d.ts +16 -0
  372. package/types/TDataLabelStyle.js +2 -0
  373. package/types/TSciChart.d.ts +214 -118
  374. package/types/TSciChart3D.d.ts +104 -70
  375. package/types/TextPosition.d.ts +17 -0
  376. package/types/TextPosition.js +39 -0
  377. package/types/ThemeProviderType.d.ts +3 -1
  378. package/types/ThemeProviderType.js +2 -0
  379. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +10 -1
  380. package/utils/ccall/appendDoubleVectorFromJsArray.js +24 -1
  381. package/utils/copyVector.d.ts +2 -0
  382. package/utils/copyVector.js +10 -0
  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 +8 -0
  392. package/utils/translate.js +27 -5
  393. package/utils/zeroArray2D.d.ts +5 -0
  394. package/utils/zeroArray2D.js +5 -0
@@ -44,6 +44,10 @@ export interface IPieSegmentOptions {
44
44
  * An x, y offset for the label position
45
45
  */
46
46
  labelOffset?: Point;
47
+ /**
48
+ * When true, labels are shown, else hidden. Default value true
49
+ */
50
+ showLabel?: boolean;
47
51
  /**
48
52
  * A relative adjustment of the radius for this segment. eg 1.5 will be 50% larger than normal
49
53
  */
@@ -56,6 +60,7 @@ export declare class PieSegment implements IPieSegment {
56
60
  private isSelectedProperty;
57
61
  private textProperty;
58
62
  private valueProperty;
63
+ private showLabelProperty;
59
64
  private oldValueProperty;
60
65
  private deltaProperty;
61
66
  private shiftProperty;
@@ -68,6 +73,14 @@ export declare class PieSegment implements IPieSegment {
68
73
  constructor(options?: IPieSegmentOptions);
69
74
  onAttach(scps: SciChartPieSurface): void;
70
75
  onDetach(): void;
76
+ /**
77
+ * When true, show the label on this pie segment, else false
78
+ */
79
+ get showLabel(): boolean;
80
+ /**
81
+ * When true, show the label on this pie segment, else false
82
+ */
83
+ set showLabel(value: boolean);
71
84
  /**
72
85
  * An optional color gradient
73
86
  */
@@ -20,7 +20,7 @@ var PieLabelProvider_1 = require("../../Axis/LabelProvider/PieLabelProvider");
20
20
  var constants_1 = require("./constants");
21
21
  var PieSegment = /** @class */ (function () {
22
22
  function PieSegment(options) {
23
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
23
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
24
24
  this.colorProperty = "grey";
25
25
  this.isSelectedProperty = false;
26
26
  this.textProperty = "";
@@ -35,15 +35,16 @@ var PieSegment = /** @class */ (function () {
35
35
  this.textProperty = (_e = options === null || options === void 0 ? void 0 : options.text) !== null && _e !== void 0 ? _e : this.textProperty;
36
36
  this.valueProperty = (_f = options === null || options === void 0 ? void 0 : options.value) !== null && _f !== void 0 ? _f : this.valueProperty;
37
37
  this.deltaProperty = (_g = options === null || options === void 0 ? void 0 : options.delta) !== null && _g !== void 0 ? _g : this.deltaProperty;
38
+ this.showLabelProperty = (_h = options === null || options === void 0 ? void 0 : options.showLabel) !== null && _h !== void 0 ? _h : true;
38
39
  if (options === null || options === void 0 ? void 0 : options.labelProvider) {
39
40
  if (!("getSegmentText" in (options === null || options === void 0 ? void 0 : options.labelProvider))) {
40
41
  options.labelProvider = (0, classFactory_1.createType)(BaseType_1.EBaseType.LabelProvider, options.labelProvider.type, undefined, options.labelProvider.options);
41
42
  }
42
43
  }
43
44
  this.labelProviderProperty = options === null || options === void 0 ? void 0 : options.labelProvider; // No default here as we default to labelprovider on parent surface
44
- this.labelOffsetProperty = (_h = options === null || options === void 0 ? void 0 : options.labelOffset) !== null && _h !== void 0 ? _h : this.labelOffsetProperty;
45
+ this.labelOffsetProperty = (_j = options === null || options === void 0 ? void 0 : options.labelOffset) !== null && _j !== void 0 ? _j : this.labelOffsetProperty;
45
46
  this.labelStyleProperty = options === null || options === void 0 ? void 0 : options.labelStyle;
46
- this.radiusAdjustmentProperty = (_j = options === null || options === void 0 ? void 0 : options.radiusAdjustment) !== null && _j !== void 0 ? _j : this.radiusAdjustmentProperty;
47
+ this.radiusAdjustmentProperty = (_k = options === null || options === void 0 ? void 0 : options.radiusAdjustment) !== null && _k !== void 0 ? _k : this.radiusAdjustmentProperty;
47
48
  }
48
49
  PieSegment.prototype.onAttach = function (scps) {
49
50
  this.parentSurface = scps;
@@ -55,8 +56,25 @@ var PieSegment = /** @class */ (function () {
55
56
  PieSegment.prototype.onDetach = function () {
56
57
  this.invalidateParentCallback = undefined;
57
58
  };
58
- Object.defineProperty(PieSegment.prototype, "colorLinearGradient", {
59
+ Object.defineProperty(PieSegment.prototype, "showLabel", {
59
60
  // GETTERS AND SETTERS FOR PROPERTIES
61
+ /**
62
+ * When true, show the label on this pie segment, else false
63
+ */
64
+ get: function () {
65
+ return this.showLabelProperty;
66
+ },
67
+ /**
68
+ * When true, show the label on this pie segment, else false
69
+ */
70
+ set: function (value) {
71
+ this.showLabelProperty = value;
72
+ this.notifyPropertyChanged(constants_1.PROPERTY.SHOW_LABEL);
73
+ },
74
+ enumerable: false,
75
+ configurable: true
76
+ });
77
+ Object.defineProperty(PieSegment.prototype, "colorLinearGradient", {
60
78
  /**
61
79
  * An optional color gradient
62
80
  */
@@ -10,5 +10,6 @@ export declare enum PROPERTY {
10
10
  LABEL_PROVIDER = "LABEL_PROVIDER",
11
11
  LABEL_STYLE = "LABEL_STYLE",
12
12
  LABEL_OFFSET = "LABEL_OFFSET",
13
- RADIUS_ADJUSTMENT = "RADIUS_ADJUSTMENT"
13
+ RADIUS_ADJUSTMENT = "RADIUS_ADJUSTMENT",
14
+ SHOW_LABEL = "SHOW_LABEL"
14
15
  }
@@ -15,4 +15,5 @@ var PROPERTY;
15
15
  PROPERTY["LABEL_STYLE"] = "LABEL_STYLE";
16
16
  PROPERTY["LABEL_OFFSET"] = "LABEL_OFFSET";
17
17
  PROPERTY["RADIUS_ADJUSTMENT"] = "RADIUS_ADJUSTMENT";
18
+ PROPERTY["SHOW_LABEL"] = "SHOW_LABEL";
18
19
  })(PROPERTY = exports.PROPERTY || (exports.PROPERTY = {}));
@@ -95,6 +95,7 @@ export declare class SciChartPieSurface implements ISciChartSurfaceBase {
95
95
  private canvasBorderProperty?;
96
96
  private valueModeProperty;
97
97
  private labelStyleProperty;
98
+ private resizeSubscriptionToken;
98
99
  constructor(canvases?: TSciChartSurfaceCanvases, options?: IPieSurfaceOptions);
99
100
  /**
100
101
  * Gets or sets a {@link LabelProvider} - a class which is responsible for formatting axis labels and cursor labels from numeric values
@@ -137,6 +138,10 @@ export declare class SciChartPieSurface implements ISciChartSurfaceBase {
137
138
  * @inheritDoc
138
139
  */
139
140
  delete(isAnimationProgress?: boolean): void;
141
+ /**
142
+ * Used Internally. Cleans up the chart internal parts, subscriptions, etc.
143
+ */
144
+ protected deleteInternals(isAnimationProgress?: boolean): void;
140
145
  /**
141
146
  * @inheritDoc
142
147
  */
@@ -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,9 +19,11 @@ 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";
@@ -58,7 +63,9 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
58
63
  */
59
64
  static create(divElement: string | HTMLDivElement, options?: I2DSurfaceOptions): Promise<TWebAssemblyChart>;
60
65
  /**
61
- * USED INTERNALLY - performs a similar operation to {@link SciChartSurface.create} but used internally for testing
66
+ * Performs a similar operation to {@link SciChartSurface.create} but uses a dedicated WebAssembly context for this chart, and draws directly to the target canvas
67
+ * This provides better performance for a single chart, but there is a limit (16) to how many you can have on one page.
68
+ * 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
69
  * @param divElement The Div Element ID or reference where the {@link SciChartSurface} will reside
63
70
  * @param options - optional parameters for chart creation. See {@link I2DSurfaceOptions} for more details
64
71
  */
@@ -172,29 +179,50 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
172
179
  */
173
180
  renderContext2D: RenderContext2D;
174
181
  /**
175
- * An event handler which notifies its subsribers when a render operation has finished. Use this
182
+ * An event handler which notifies its subscribers when a render operation has finished. Use this
176
183
  * to time render performance, or to update elements of the chart or your UI on redraw.
177
184
  */
178
185
  rendered: EventHandler<void>;
186
+ /**
187
+ * An event handler which notifies its subscribers when a render operation starts. Use this
188
+ * to update elements of the chart for the current render. Any updates made here will not trigger a subsequent render.
189
+ */
190
+ preRender: EventHandler<WebGlRenderContext2D>;
191
+ layersOffset: number;
192
+ stepBetweenLayers: number;
193
+ readonly isSubSurface: boolean;
179
194
  readonly adornerLayer: AdornerLayer;
195
+ /**
196
+ * Sets / Gets the clipping mode for SVG Annotations
197
+ */
198
+ svgClippingMode: ESvgClippingMode;
199
+ /**
200
+ * Normally, native labels are drawn all at once at the end of the render cycle to improve performance.
201
+ * In circumstances where you want to draw over the labels, eg with a subchart, set this true to have them drawn earlier.
202
+ */
203
+ renderNativeAxisLabelsImmediately: boolean;
180
204
  /**
181
205
  * The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
182
206
  * access to our WebGL2 Engine and WebAssembly numerical methods
183
207
  */
184
208
  readonly webAssemblyContext2D: TSciChart;
185
209
  protected animationList: IGenericAnimation[];
210
+ protected paddingProperty: Thickness;
186
211
  private readonly sciChartRenderer;
187
212
  private layoutManagerProperty;
213
+ private dataLabelLayoutManagerProperty;
188
214
  private zoomStateProperty;
189
215
  private watermarkProperties;
190
216
  private watermarkPropertyPosition;
191
- private paddingProperty;
192
217
  private debugRenderingProperty;
193
218
  private solidBrushCacheViewportBorder;
194
219
  private solidBrushCacheCanvasBorder;
195
220
  private viewportBorderProperty;
196
221
  private canvasBorderProperty;
222
+ private subChartsProperty;
197
223
  private drawSeriesBehindAxisProperty;
224
+ private autoColorModeProperty;
225
+ private autoColorRequired;
198
226
  /**
199
227
  * Creates an instance of the {@link SciChartSurface}
200
228
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -202,6 +230,23 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
202
230
  * @param options optional parameters of type {@link ISciChartSurfaceOptions} used to configure the {@link SciChartSurface}
203
231
  */
204
232
  constructor(webAssemblyContext: TSciChart, options?: ISciChartSurfaceOptions);
233
+ private subChartCounter;
234
+ /**
235
+ * Add another chart to an existing surface.
236
+ * This is a performance optimization if you need to have multiple charts all updating together, eg because they have synced axes.
237
+ * We suggest you use SciChartSurface.createSingle for the parent surface. The parent surface does not have to have any chart elements defined.
238
+ * The position property required in the options determines the placement and size of the subchart. Its values are interpreted differently depending on the coordinateMode
239
+ * Modifiers using modifierGroup will work across other subcharts on the surface, but not to any other surface.
240
+ */
241
+ addSubChart(options?: I2DSubSurfaceOptions): SciChartSubSurface;
242
+ /**
243
+ * Remove an existing subChart from a parent surface. See {@link addSubChart}
244
+ */
245
+ removeSubChart(subChart: SciChartSubSurface): void;
246
+ /**
247
+ * The list of subCharts on this surface. See {@link addSubChart}
248
+ */
249
+ get subCharts(): ReadonlyArray<SciChartSubSurface>;
205
250
  /**
206
251
  * @inheritDoc
207
252
  */
@@ -214,6 +259,14 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
214
259
  * Used internally - gets or sets the {@link LayoutManager}
215
260
  */
216
261
  set layoutManager(value: LayoutManager);
262
+ /**
263
+ * Gets or sets the {@link ISeriesTextLayoutManager} for performing text layout across multiple series
264
+ */
265
+ get dataLabelLayoutManager(): IDataLabelLayoutManager;
266
+ /**
267
+ * Used internally - gets or sets the {@link ISeriesTextLayoutManager} for performing text layout across multiple series
268
+ */
269
+ set dataLabelLayoutManager(value: IDataLabelLayoutManager);
217
270
  /**
218
271
  * Gets or sets the Padding between the SciChartSurface and it's inner elements, in order top, right, bottom, left
219
272
  * @remarks
@@ -243,6 +296,14 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
243
296
  * Used internally for development purposes
244
297
  */
245
298
  set debugRendering(debugRendering: boolean);
299
+ /**
300
+ * Gets or sets the EAutoColorMode which determines when resolution of AUTO_COLOR should occur
301
+ */
302
+ get autoColorMode(): EAutoColorMode;
303
+ /**
304
+ * Gets or sets the EAutoColorMode which determines when resolution of AUTO_COLOR should occur
305
+ */
306
+ set autoColorMode(autoColorMode: EAutoColorMode);
246
307
  /**
247
308
  * @inheritDoc
248
309
  */
@@ -255,7 +316,7 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
255
316
  * @inheritDoc
256
317
  */
257
318
  invalidateElement(): void;
258
- doDrawingLoop(): void;
319
+ doDrawingLoop(context?: WebGlRenderContext2D): void;
259
320
  /**
260
321
  * @inheritDoc
261
322
  */
@@ -380,7 +441,7 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
380
441
  * Multiple animations will be run in parallel, so if you want to run one after another, use the onCompleted callback
381
442
  * to add another animation after the first completes
382
443
  */
383
- addAnimation(animation: IGenericAnimation): void;
444
+ addAnimation(...animations: IGenericAnimation[]): void;
384
445
  /**
385
446
  * Returns true if an animation is running
386
447
  */
@@ -391,6 +452,8 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
391
452
  * Use not scaled values for SVG annotations and the Legend
392
453
  */
393
454
  getSeriesViewRectPadding(scaled?: boolean): Thickness;
455
+ /** Calls resolveAutoColors on each series to resolve colors marked as auto based on the seriesColorPalette */
456
+ resolveAutoColors(maxSeries?: number): void;
394
457
  /**
395
458
  * Convert the object to a definition that can be serialized to JSON, or used directly with the builder api
396
459
  * @param excludeData if set true, data values will not be included in the json.
@@ -422,6 +485,8 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
422
485
  private attachAxis;
423
486
  private detachAnnotation;
424
487
  private attachAnnotation;
488
+ protected onAttachSubSurface(subSurface: SciChartSubSurface): void;
489
+ protected onDetachSubSurface(subSurface: SciChartSubSurface): void;
425
490
  /**
426
491
  * Gets or sets the boolean flag for switching behaviour of Axises rendering
427
492
  */
@@ -431,3 +496,156 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
431
496
  */
432
497
  set drawSeriesBehindAxis(value: boolean);
433
498
  }
499
+ export interface ISciChartSubSurfaceOptions extends ISciChartSurfaceOptions {
500
+ subSurfaceOptions: I2DSubSurfaceOptions;
501
+ parentSurface: SciChartSurface;
502
+ }
503
+ export interface IOffsets {
504
+ left: number;
505
+ right: number;
506
+ top: number;
507
+ bottom: number;
508
+ }
509
+ /**
510
+ * @summary The {@link SciChartSubSurface} is the surface created within another surface
511
+ * @description
512
+ * It can be added using {@link SciChartSurface.addSubChart} method.
513
+ *
514
+ * To update the positioning of the {@link SciChartSubSurface}, use {@link SciChartSubSurface.subPosition};
515
+ * also you can call {@link SciChartSubSurface.updateSubLayout} to refresh the layout of the sub-surface.
516
+ * @remarks
517
+ * It is not possible to have more than one level of nested sub-surfaces.
518
+ */
519
+ export declare class SciChartSubSurface extends SciChartSurface {
520
+ readonly isSubSurface: boolean;
521
+ readonly subChartContainer: HTMLDivElement;
522
+ topSectionClass: string;
523
+ leftSectionClass: string;
524
+ bottomSectionClass: string;
525
+ rightSectionClass: string;
526
+ protected backgroundProperty: string;
527
+ protected isTransparentProperty: boolean;
528
+ protected subPaddingProperty: Thickness;
529
+ private subPositionProperty;
530
+ private coordinateModeProperty;
531
+ private parentXAxisIdProperty;
532
+ private parentYAxisIdProperty;
533
+ private subChartContainerId;
534
+ private parentSurfaceProperty;
535
+ private backgroundFillBrushCache;
536
+ private isVisibleProperty;
537
+ private sectionScaleProperty;
538
+ /**
539
+ * Creates an instance of the {@link SciChartSurface}
540
+ * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
541
+ * access to our WebGL2 Engine and WebAssembly numerical methods
542
+ * @param options optional parameters of type {@link ISciChartSurfaceOptions} used to configure the {@link SciChart2DSurfaceBase}
543
+ */
544
+ constructor(webAssemblyContext: TSciChart, options?: ISciChartSubSurfaceOptions);
545
+ /**
546
+ * Whether other surfaces, including the parent, will be visible underneath this surface
547
+ */
548
+ get isTransparent(): boolean;
549
+ /**
550
+ * Whether other surfaces, including the parent, will be visible underneath this surface
551
+ */
552
+ set isTransparent(value: boolean);
553
+ /**
554
+ * Gets or sets additional absolute padding between the SciChartSubSurface and its parent, in order top, right, bottom, left
555
+ * {@link subPosition} is applied first, then this padding is added.
556
+ */
557
+ get subChartPadding(): Thickness;
558
+ /**
559
+ * Gets or sets additional absolute padding between the SciChartSubSurface and its parent, in order top, right, bottom, left
560
+ * {@link subPosition} is applied first, then this padding is added.
561
+ */
562
+ set subChartPadding(padding: Thickness);
563
+ /**
564
+ * Gets or sets the {@link ECoordinateMode} used when calculating the actual position based on the {@link subPosition}
565
+ */
566
+ get coordinateMode(): ECoordinateMode;
567
+ /**
568
+ * Gets or sets the {@link ECoordinateMode} used when calculating the actual position based on the {@link subPosition}
569
+ */
570
+ set coordinateMode(coordinateMode: ECoordinateMode);
571
+ /**
572
+ * Gets or sets the AxisId used to determing which X Axis should be used when calculating the actual position based on the {@link subPosition}
573
+ * if {@link coordinateMode} is DataValue
574
+ */
575
+ get parentXAxisId(): string;
576
+ /**
577
+ * Gets or sets the AxisId used to determing which X Axis should be used when calculating the actual position based on the {@link subPosition}
578
+ * if {@link coordinateMode} is DataValue
579
+ */
580
+ set parentXAxisId(id: string);
581
+ /**
582
+ * Gets or sets the AxisId used to determing which Y Axis should be used when calculating the actual position based on the {@link subPosition}
583
+ * if {@link coordinateMode} is DataValue
584
+ */
585
+ get parentYAxisId(): string;
586
+ /**
587
+ * Gets or sets the AxisId used to determing which Y Axis should be used when calculating the actual position based on the {@link subPosition}
588
+ * if {@link coordinateMode} is DataValue
589
+ */
590
+ set parentYAxisId(id: string);
591
+ /**
592
+ * A rectangle defining the position and size of a subchart.
593
+ * 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.
594
+ * 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
595
+ * Can only be set if this is a subChart. See {@link addSubChart}
596
+ */
597
+ get subPosition(): Rect;
598
+ /**
599
+ * A rectangle defining the position and size of a subchart.
600
+ * 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.
601
+ * 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
602
+ * Can only be set if this is a subChart. See {@link addSubChart}
603
+ */
604
+ set subPosition(value: Rect);
605
+ /**
606
+ * Gets or sets if the subchart is visible, allowing you to hide a subchart without removing it from the parent surface
607
+ */
608
+ get isVisible(): boolean;
609
+ /**
610
+ * Gets or sets if the subchart is visible, allowing you to hide a subchart without removing it from the parent surface
611
+ */
612
+ set isVisible(isVisible: boolean);
613
+ /**
614
+ * Gets or sets scale property for all sections
615
+ * It is necessary if the scale transformation is being used for html areas around the subchart
616
+ * For example, style = { width: "50%", transform: scale(2), transformOrigin: 'left top' }
617
+ */
618
+ get sectionScale(): number;
619
+ set sectionScale(value: number);
620
+ /** Recalculate the position of the subChart. Call if you update the size of html elements in the wrapper */
621
+ updateSubLayout(isDrawing?: boolean): void;
622
+ /**
623
+ * The parent SciChartSurface, if this is a subChart. See {@link addSubChart}
624
+ */
625
+ get parentSurface(): SciChartSurface;
626
+ /**
627
+ * @inheritDoc
628
+ */
629
+ get surfaceType(): ESurfaceType;
630
+ /**
631
+ * @inheritDoc
632
+ */
633
+ changeViewportSize(pixelWidth: number, pixelHeight: number): void;
634
+ /**
635
+ * Gets the sub-chart container
636
+ */
637
+ getSubChartContainer(): HTMLDivElement;
638
+ getSubChartRect(): Rect;
639
+ /**
640
+ * @inheritDoc
641
+ */
642
+ delete(clearHtml?: boolean): void;
643
+ toJSON(excludeData?: boolean): ISubChartDefinition;
644
+ protected calcPadding(viewportSize: Size, position: Rect, offsets: IOffsets, isDrawing?: boolean): Thickness;
645
+ /**
646
+ * @inheritDoc
647
+ */
648
+ protected applySciChartBackground(background: string, alphaEnabled?: boolean): void;
649
+ protected updateWrapper(subChartPosition: Rect): void;
650
+ protected getOffsets(subChartContainer: HTMLDivElement): IOffsets;
651
+ }