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
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.XyTextDataSeries = void 0;
19
+ var Guard_1 = require("../../Core/Guard");
20
+ var NumberArray_1 = require("../../types/NumberArray");
21
+ var appendDoubleVectorFromJsArray_1 = require("../../utils/ccall/appendDoubleVectorFromJsArray");
22
+ var BaseDataSeries_1 = require("./BaseDataSeries");
23
+ var IDataSeries_1 = require("./IDataSeries");
24
+ var XyTextDataSeries = /** @class */ (function (_super) {
25
+ __extends(XyTextDataSeries, _super);
26
+ /**
27
+ * Creates an instance of {@link XyDataSeries}
28
+ * @param webAssemblyContext the {@link TSciChart | SciChart WebAssembly Context} containing native methods
29
+ * and access to our underlying WebGL2 WebAssembly rendering engine
30
+ * @param options the {@link IXyDataSeriesOptions} which can be passed to configure the DataSeries at construct time
31
+ */
32
+ function XyTextDataSeries(webAssemblyContext, options) {
33
+ var _this = _super.call(this, webAssemblyContext, options) || this;
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ _this.type = IDataSeries_1.EDataSeriesType.XyText;
38
+ _this.textValuesProperty = [];
39
+ if (options === null || options === void 0 ? void 0 : options.xValues) {
40
+ Guard_1.Guard.notNull(options.yValues, "options.yValues");
41
+ _this.appendRange(options.xValues, options.yValues, options.textValues, options.metadata);
42
+ }
43
+ return _this;
44
+ }
45
+ Object.defineProperty(XyTextDataSeries.prototype, "textValues", {
46
+ /** The text values for this series. Manipulate using append, insert, update etc on the XyTextDataSeries */
47
+ get: function () {
48
+ return this.textValuesProperty;
49
+ },
50
+ enumerable: false,
51
+ configurable: true
52
+ });
53
+ /**
54
+ * Appends a single X, Y, Text point to the DataSeries
55
+ * @remarks
56
+ * For best performance on drawing large datasets, use the {@link appendRange} method
57
+ *
58
+ * Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
59
+ * @param x The X-value
60
+ * @param y The Y-value
61
+ * @param text The text-value
62
+ * @param metadata The point metadata
63
+ */
64
+ XyTextDataSeries.prototype.append = function (x, y, text, metadata) {
65
+ if (!this.getIsDeleted()) {
66
+ var nativeX = this.getNativeXValues();
67
+ this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, [x], [y]);
68
+ // Push metadata should be done before push x values
69
+ this.appendMetadata(metadata);
70
+ nativeX.push_back(x);
71
+ this.getNativeYValues().push_back(y);
72
+ this.textValuesProperty.push(text);
73
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, 1);
74
+ }
75
+ };
76
+ /**
77
+ * Appends a range of X, Y, Text points to the DataSeries
78
+ * @remarks
79
+ * This method is considerably higher performance than {@link append} which appends a single point
80
+ *
81
+ * Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
82
+ * @param xValues The X-values
83
+ * @param yValues The Y-values
84
+ * @param textValues The text values
85
+ * @param metadata The array of point metadata
86
+ */
87
+ XyTextDataSeries.prototype.appendRange = function (xValues, yValues, textValues, metadata) {
88
+ var _a;
89
+ if (!this.getIsDeleted()) {
90
+ Guard_1.Guard.isTrue((0, NumberArray_1.isNumberArray)(xValues) || (0, NumberArray_1.isTypedArray)(xValues), "xValues must be an array of numbers");
91
+ Guard_1.Guard.isTrue((0, NumberArray_1.isNumberArray)(yValues) || (0, NumberArray_1.isTypedArray)(yValues), "yValues must be an array of numbers");
92
+ Guard_1.Guard.arraysSameLength(xValues, "xValues", yValues, "yValues");
93
+ if (metadata) {
94
+ Guard_1.Guard.isTrue(Array.isArray(metadata), "metadata must be an array of IPointMetadata");
95
+ Guard_1.Guard.arraysSameLength(xValues, "xValues", metadata, "metadata");
96
+ }
97
+ var nativeX = this.getNativeXValues();
98
+ var nativeY = this.getNativeYValues();
99
+ this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, xValues, yValues);
100
+ // Push metadata should be done before push x values
101
+ this.appendMetadataRange(metadata, xValues.length);
102
+ // New implementation passing array from JS
103
+ // TODO: create indexValues from c++
104
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeX, xValues);
105
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY, yValues);
106
+ (_a = this.textValuesProperty).push.apply(_a, textValues);
107
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, xValues.length);
108
+ }
109
+ };
110
+ /**
111
+ * Updates a single Y-value by X-index
112
+ * @remarks Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
113
+ * @param index the index to update
114
+ * @param y The new Y value
115
+ * @param text The new text value
116
+ * @param metadata The point metadata
117
+ */
118
+ XyTextDataSeries.prototype.update = function (index, y, text, metadata) {
119
+ if (!this.getIsDeleted()) {
120
+ this.validateIndex(index);
121
+ this.dataDistributionCalculator.onUpdate(this.isSorted, this.containsNaN, undefined, undefined, [y], index);
122
+ this.getNativeYValues().set(index, y);
123
+ this.textValuesProperty[index] = text;
124
+ this.setMetadataAt(index, metadata);
125
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Update, index, 1);
126
+ }
127
+ };
128
+ /**
129
+ * Updates a single X, Y, Text value, by X-index. Might also need to set isSorted = false
130
+ * @remarks Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
131
+ * @param index The index to update
132
+ * @param x The new X value
133
+ * @param y The new Y value
134
+ * @param text The new text value
135
+ * @param metadata The point metadata
136
+ */
137
+ XyTextDataSeries.prototype.updateXyText = function (index, x, y, text, metadata) {
138
+ if (!this.getIsDeleted()) {
139
+ this.validateIndex(index);
140
+ var nativeX = this.getNativeXValues();
141
+ this.dataDistributionCalculator.onUpdate(this.isSorted, this.containsNaN, nativeX, [x], [y], index);
142
+ nativeX.set(index, x);
143
+ this.getNativeYValues().set(index, y);
144
+ this.textValuesProperty[index] = text;
145
+ this.setMetadataAt(index, metadata);
146
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Update, index, 1);
147
+ }
148
+ };
149
+ /**
150
+ * @summary Inserts a single X,Y,Text value at the start index
151
+ * @remarks
152
+ * For best performance on drawing large datasets, use the {@link insertRange} method
153
+ *
154
+ * Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
155
+ * @param startIndex the index to insert at
156
+ * @param x the X value
157
+ * @param y the Y value
158
+ * @param text The new text value
159
+ * @param metadata The point metadata
160
+ */
161
+ XyTextDataSeries.prototype.insert = function (startIndex, x, y, text, metadata) {
162
+ if (!this.getIsDeleted()) {
163
+ this.validateIndex(startIndex, "Start index is out of range");
164
+ var nativeX = this.getNativeXValues();
165
+ var nativeY = this.getNativeYValues();
166
+ this.dataDistributionCalculator.onInsert(this.isSorted, this.containsNaN, nativeX, [x], [y], startIndex);
167
+ nativeX.insertAt(startIndex, x);
168
+ nativeY.insertAt(startIndex, y);
169
+ this.textValuesProperty.unshift(text);
170
+ this.insertMetadata(startIndex, metadata);
171
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Insert, startIndex, 1);
172
+ }
173
+ };
174
+ /**
175
+ * @summary Inserts a range of X,Y values at the startIndex
176
+ * @remarks
177
+ * Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
178
+ * @param startIndex the index to insert at
179
+ * @param xValues the XValues
180
+ * @param yValues the YValues
181
+ * @param textValues The text values
182
+ * @param metadata The array of point metadata
183
+ */
184
+ XyTextDataSeries.prototype.insertRange = function (startIndex, xValues, yValues, textValues, metadata) {
185
+ var _a;
186
+ if (!this.getIsDeleted()) {
187
+ Guard_1.Guard.isTrue((0, NumberArray_1.isNumberArray)(xValues) || (0, NumberArray_1.isTypedArray)(xValues), "xValues must be an array of numbers");
188
+ Guard_1.Guard.isTrue((0, NumberArray_1.isNumberArray)(yValues) || (0, NumberArray_1.isTypedArray)(yValues), "yValues must be an array of numbers");
189
+ this.validateIndex(startIndex, "Start index is out of range");
190
+ Guard_1.Guard.arraysSameLength(xValues, "xValues", yValues, "yValues");
191
+ if (metadata) {
192
+ Guard_1.Guard.isTrue(Array.isArray(metadata), "metadata must be an array of IPointMetadata");
193
+ Guard_1.Guard.arraysSameLength(xValues, "xValues", metadata, "metadata");
194
+ }
195
+ var nativeX = this.getNativeXValues();
196
+ this.dataDistributionCalculator.onInsert(this.isSorted, this.containsNaN, nativeX, xValues, yValues, startIndex);
197
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, xValues, this.getNativeXValues(), startIndex);
198
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, yValues, this.getNativeYValues(), startIndex);
199
+ (_a = this.textValuesProperty).unshift.apply(_a, textValues);
200
+ this.insertMetadataRange(startIndex, metadata);
201
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Insert, startIndex, xValues.length);
202
+ }
203
+ };
204
+ /**
205
+ * Removes an X,Y value at the specified index
206
+ * @remarks Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
207
+ * @param index the index to remove at
208
+ */
209
+ XyTextDataSeries.prototype.removeAt = function (index) {
210
+ if (!this.getIsDeleted()) {
211
+ this.validateIndex(index);
212
+ this.getNativeXValues().removeAt(index);
213
+ this.getNativeYValues().removeAt(index);
214
+ this.textValuesProperty.splice(index, 1);
215
+ this.removeMetadataAt(index);
216
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Remove, index, 1);
217
+ }
218
+ };
219
+ /**
220
+ * @summary Removes a range of X,Y values at the specified index
221
+ * @remarks Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
222
+ * @param startIndex the start index to remove at
223
+ * @param count the number of points to remove
224
+ */
225
+ XyTextDataSeries.prototype.removeRange = function (startIndex, count) {
226
+ if (!this.getIsDeleted()) {
227
+ this.validateIndex(startIndex, "Start index is out of range");
228
+ this.getNativeXValues().removeRange(startIndex, count);
229
+ this.getNativeYValues().removeRange(startIndex, count);
230
+ this.textValuesProperty.splice(startIndex, count);
231
+ this.removeMetadataRange(startIndex, count);
232
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Remove, startIndex, count);
233
+ }
234
+ };
235
+ /**
236
+ * Clears the entire DataSeries.
237
+ * @remarks
238
+ * Note this does not free memory, WebAssembly/Native memory is released by calling {@link delete}, after which the
239
+ * DataSeries is no longer usable.
240
+ *
241
+ * Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
242
+ */
243
+ XyTextDataSeries.prototype.clear = function () {
244
+ if (!this.getIsDeleted()) {
245
+ _super.prototype.clear.call(this);
246
+ this.getNativeXValues().clear();
247
+ this.getNativeYValues().clear();
248
+ this.textValuesProperty = [];
249
+ this.setMetadata(undefined);
250
+ this.notifyDataChanged(IDataSeries_1.EDataChangeType.Clear, null, null);
251
+ }
252
+ };
253
+ XyTextDataSeries.prototype.toJSON = function (excludeData) {
254
+ if (excludeData === void 0) { excludeData = false; }
255
+ var json = _super.prototype.toJSON.call(this);
256
+ if (!excludeData) {
257
+ var xValues = [];
258
+ var yValues = [];
259
+ for (var i = 0; i < this.count(); i++) {
260
+ xValues.push(this.xValues.get(i));
261
+ yValues.push(this.yValues.get(i));
262
+ }
263
+ var options = {
264
+ xValues: xValues,
265
+ yValues: yValues,
266
+ textValues: this.textValuesProperty
267
+ };
268
+ Object.assign(json, options);
269
+ }
270
+ return json;
271
+ };
272
+ return XyTextDataSeries;
273
+ }(BaseDataSeries_1.BaseDataSeries));
274
+ exports.XyTextDataSeries = XyTextDataSeries;
@@ -38,7 +38,7 @@ export declare abstract class CoordinateCalculatorBase implements IDeletable {
38
38
  /**
39
39
  * Gets or sets a constant offset in pixels for all generated coordinates
40
40
  */
41
- readonly offset: number;
41
+ offset: number;
42
42
  /**
43
43
  * When true, this coordinate calculator has flipped coordinates
44
44
  */
@@ -73,7 +73,7 @@ var ExtremeResamplerHelper = /** @class */ (function () {
73
73
  if (fillBasicNativeArgs === true) {
74
74
  this.needsResampling(rp, xOriginalValues, false, true);
75
75
  }
76
- // this.debugParameters(rp, this.nativeArgs);
76
+ //this.debugParameters(rp, this.nativeArgs);
77
77
  // What does this method do???
78
78
  var requestedSize = this.nativeResampler.UpdateIndices(indexesOut, this.xInput, yOriginalValues, this.nativeArgs.Resampling, this.nativeArgs);
79
79
  // SC-5145 Adds +1 to be sure that reserved Capacity is not less than the actual resampled count,
@@ -6,21 +6,31 @@ import { CoordinateCalculatorBase } from "../Numerics/CoordinateCalculators/Coor
6
6
  */
7
7
  export declare class RenderPassData {
8
8
  readonly indexRange: NumberRange;
9
- readonly xCoordinateCalculator: CoordinateCalculatorBase;
10
- readonly yCoordinateCalculator: CoordinateCalculatorBase;
9
+ readonly getxCoordinateCalculator: () => CoordinateCalculatorBase;
10
+ readonly getyCoordinateCalculator: () => CoordinateCalculatorBase;
11
11
  readonly isVerticalChart: boolean;
12
12
  readonly pointSeries?: IPointSeries;
13
13
  readonly resamplingHash?: number;
14
14
  /**
15
15
  * Creates an instance of RenderPassData
16
16
  * @param indexRange The min and max index to data-range currently visible on the {@link SciChartSurface}
17
- * @param xCoordinateCalculator The XAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
17
+ * @param getxCoordinateCalculator A function to get the XAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
18
18
  * used to transform between pixel and data-coordinates
19
- * @param yCoordinateCalculator The YAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
19
+ * @param getyCoordinateCalculator A function to get the YAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
20
20
  * used to transform between pixel and data-coordinates
21
21
  * @param isVerticalChart A flag indicating if the chart is currently vertically arranged (XAxis on the left, YAxis on the top/bottom)
22
22
  * @param pointSeries The point series
23
23
  * @param resamplingHash The resampling hash value, used for caching
24
24
  */
25
- constructor(indexRange: NumberRange, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, isVerticalChart: boolean, pointSeries?: IPointSeries, resamplingHash?: number);
25
+ constructor(indexRange: NumberRange, getxCoordinateCalculator: () => CoordinateCalculatorBase, getyCoordinateCalculator: () => CoordinateCalculatorBase, isVerticalChart: boolean, pointSeries?: IPointSeries, resamplingHash?: number);
26
+ /**
27
+ * Get the XAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
28
+ * used to transform between pixel and data-coordinates
29
+ */
30
+ get xCoordinateCalculator(): CoordinateCalculatorBase;
31
+ /**
32
+ * Get the YAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
33
+ * used to transform between pixel and data-coordinates
34
+ */
35
+ get yCoordinateCalculator(): CoordinateCalculatorBase;
26
36
  }
@@ -8,22 +8,44 @@ var RenderPassData = /** @class */ (function () {
8
8
  /**
9
9
  * Creates an instance of RenderPassData
10
10
  * @param indexRange The min and max index to data-range currently visible on the {@link SciChartSurface}
11
- * @param xCoordinateCalculator The XAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
11
+ * @param getxCoordinateCalculator A function to get the XAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
12
12
  * used to transform between pixel and data-coordinates
13
- * @param yCoordinateCalculator The YAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
13
+ * @param getyCoordinateCalculator A function to get the YAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
14
14
  * used to transform between pixel and data-coordinates
15
15
  * @param isVerticalChart A flag indicating if the chart is currently vertically arranged (XAxis on the left, YAxis on the top/bottom)
16
16
  * @param pointSeries The point series
17
17
  * @param resamplingHash The resampling hash value, used for caching
18
18
  */
19
- function RenderPassData(indexRange, xCoordinateCalculator, yCoordinateCalculator, isVerticalChart, pointSeries, resamplingHash) {
19
+ function RenderPassData(indexRange, getxCoordinateCalculator, getyCoordinateCalculator, isVerticalChart, pointSeries, resamplingHash) {
20
20
  this.indexRange = indexRange;
21
- this.xCoordinateCalculator = xCoordinateCalculator;
22
- this.yCoordinateCalculator = yCoordinateCalculator;
21
+ this.getxCoordinateCalculator = getxCoordinateCalculator;
22
+ this.getyCoordinateCalculator = getyCoordinateCalculator;
23
23
  this.isVerticalChart = isVerticalChart;
24
24
  this.pointSeries = pointSeries;
25
25
  this.resamplingHash = resamplingHash;
26
26
  }
27
+ Object.defineProperty(RenderPassData.prototype, "xCoordinateCalculator", {
28
+ /**
29
+ * Get the XAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
30
+ * used to transform between pixel and data-coordinates
31
+ */
32
+ get: function () {
33
+ return this.getxCoordinateCalculator();
34
+ },
35
+ enumerable: false,
36
+ configurable: true
37
+ });
38
+ Object.defineProperty(RenderPassData.prototype, "yCoordinateCalculator", {
39
+ /**
40
+ * Get the YAxis {@link CoordinateCalculatorBase | Coordinate Calculator},
41
+ * used to transform between pixel and data-coordinates
42
+ */
43
+ get: function () {
44
+ return this.getyCoordinateCalculator();
45
+ },
46
+ enumerable: false,
47
+ configurable: true
48
+ });
27
49
  return RenderPassData;
28
50
  }());
29
51
  exports.RenderPassData = RenderPassData;
@@ -18,6 +18,7 @@ export declare class SciChartRenderer {
18
18
  private static calculateResamplingHash;
19
19
  private sciChartSurface;
20
20
  private previousTime;
21
+ private prevRect;
21
22
  /**
22
23
  * Creates an instance of the SciChartRenderer
23
24
  * @param sciChartSurface The {@link SciChartSurface} that we are rendering
@@ -31,7 +32,6 @@ export declare class SciChartRenderer {
31
32
  private drawRenderContextAnnotations;
32
33
  private drawSvgAnnotations;
33
34
  private validate;
34
- private prevRect;
35
35
  private updateSvgCanvasSize;
36
36
  private prepareAxesRenderData;
37
37
  private prepareSeriesRenderData;
@@ -41,4 +41,5 @@ export declare class SciChartRenderer {
41
41
  private tryPerformAutoRangeOn;
42
42
  private onParentSurfaceRendered;
43
43
  private updateWatermark;
44
+ private getViewportRect;
44
45
  }
@@ -10,18 +10,21 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SciChartRenderer = void 0;
13
+ var app_1 = require("../../constants/app");
13
14
  var Dictionary_1 = require("../../Core/Dictionary");
14
15
  var Rect_1 = require("../../Core/Rect");
15
16
  var AutoRange_1 = require("../../types/AutoRange");
16
17
  var AxisAlignment_1 = require("../../types/AxisAlignment");
17
- var RenderLayer_1 = require("../../types/RenderLayer");
18
+ var DefaultRenderLayer_1 = require("../../types/DefaultRenderLayer");
18
19
  var hash_1 = require("../../utils/hash");
20
+ var WebGlRenderContext2D_1 = require("../Drawing/WebGlRenderContext2D");
19
21
  var ResamplingParams_1 = require("../Numerics/Resamplers/ResamplingParams");
20
22
  var IAnnotation_1 = require("../Visuals/Annotations/IAnnotation");
21
23
  var SciChartSurfaceBase_1 = require("../Visuals/SciChartSurfaceBase");
22
24
  var DpiHelper_1 = require("../Visuals/TextureManager/DpiHelper");
23
25
  var RenderPassData_1 = require("./RenderPassData");
24
26
  var RenderPassInfo_1 = require("./RenderPassInfo");
27
+ var SvgClippingMode_1 = require("../../types/SvgClippingMode");
25
28
  /**
26
29
  * A class used internally in SciChart to perform layout, arrangement, data-preparation and rendering on the Cartesian 2D {@link SciChartSurface}
27
30
  */
@@ -102,31 +105,38 @@ var SciChartRenderer = /** @class */ (function () {
102
105
  if (this.sciChartSurface.isDeleted) {
103
106
  return;
104
107
  }
105
- // console.log("render");
108
+ // console.log("render start");
106
109
  var nativeContext = renderContext.getNativeContext();
107
110
  var wasmContext = this.sciChartSurface.webAssemblyContext2D;
108
- var oldBlendMode = nativeContext.GetBlendMode();
109
- nativeContext.SetBlendMode(wasmContext.eSCRTBlendMode.BlendAdditiveOneAlpha);
111
+ var oldBlendMode;
112
+ if (!app_1.IS_TEST_ENV) {
113
+ oldBlendMode = nativeContext.GetBlendMode();
114
+ nativeContext.SetBlendMode(wasmContext.eSCRTBlendMode.BlendAdditiveOneAlpha);
115
+ }
110
116
  // Step 1 validate the chart and show errors
111
117
  this.validate();
112
118
  // Animation Step
113
119
  var timeElapsed = this.previousTime ? Date.now() - this.previousTime : undefined;
114
120
  this.previousTime = Date.now();
115
121
  this.sciChartSurface.onAnimate(timeElapsed);
116
- this.sciChartSurface.updateBackground();
122
+ renderContext.enqueueLayeredDraw(function () {
123
+ _this.sciChartSurface.updateBackground();
124
+ }, (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.sciChartSurface.layersOffset, this.sciChartSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.AxisBandsLayer));
117
125
  // Step 2 autorange
118
126
  this.sciChartSurface.updateStackedCollectionAccumulatedVectors();
119
127
  this.sciChartSurface.xAxes.asArray().forEach(function (axis) { return _this.tryPerformAutoRangeOn(axis, _this.sciChartSurface); });
120
128
  this.sciChartSurface.yAxes.asArray().forEach(function (axis) { return _this.tryPerformAutoRangeOn(axis, _this.sciChartSurface); });
121
129
  // Step 3 layout
122
- // console.log("viewportSize", renderContext.viewportSize);
123
130
  var seriesViewRect = this.sciChartSurface.layoutManager.layoutChart(renderContext.viewportSize);
124
- this.updateSvgCanvasSize(seriesViewRect);
131
+ var viewportSvgRect = this.getViewportRect(renderContext.viewportSize, seriesViewRect);
132
+ this.updateSvgCanvasSize(viewportSvgRect);
125
133
  // Step 4 prepare render data
126
134
  var _a = this.prepareAxesRenderData(), xAxesById = _a.xAxesById, yAxesById = _a.yAxesById;
127
135
  var renderPassInfo = this.prepareSeriesRenderData(seriesViewRect, xAxesById);
128
136
  // Draw seriesViewRect border
129
- this.sciChartSurface.drawBorder(renderContext);
137
+ renderContext.enqueueLayeredDraw(function () {
138
+ _this.sciChartSurface.drawBorder(renderContext);
139
+ }, (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.sciChartSurface.layersOffset, this.sciChartSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.AxisBandsLayer));
130
140
  // Step 5 Draw X, Y axis and gridlines
131
141
  if (this.sciChartSurface.debugRendering) {
132
142
  this.drawDebugAxes(this.sciChartSurface, renderContext);
@@ -137,33 +147,43 @@ var SciChartRenderer = /** @class */ (function () {
137
147
  var modifierAnnotations = this.sciChartSurface.modifierAnnotations.asArray();
138
148
  var annotations = __spreadArray(__spreadArray([], userAnnotations, true), modifierAnnotations, true);
139
149
  var renderContextAnnotations = annotations.filter(function (el) {
150
+ // TODO This is bad as it makes it hard to add custom renderContext annotations
140
151
  return (el.type === IAnnotation_1.EAnnotationType.RenderContextBoxAnnotation ||
141
152
  el.type === IAnnotation_1.EAnnotationType.RenderContextLineAnnotation ||
142
153
  el.type === IAnnotation_1.EAnnotationType.RenderContextHorizontalLineAnnotation ||
143
154
  el.type === IAnnotation_1.EAnnotationType.RenderContextVerticalLineAnnotation ||
144
- el.type === IAnnotation_1.EAnnotationType.RenderContextAxisMarkerAnnotation);
155
+ el.type === IAnnotation_1.EAnnotationType.RenderContextAxisMarkerAnnotation ||
156
+ el.type === IAnnotation_1.EAnnotationType.RenderContextNativeTextAnnotation);
145
157
  });
158
+ var annotationsBelowLayer = (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.sciChartSurface.layersOffset, this.sciChartSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.AnnotationsBelowSeriesLayer);
146
159
  renderContext.enqueueLayeredDraw(function () {
147
160
  _this.drawRenderContextAnnotations(renderContextAnnotations, xAxesById, yAxesById, IAnnotation_1.EAnnotationLayer.BelowChart, renderContext, seriesViewRect);
148
- }, RenderLayer_1.ERenderLayer.Third);
161
+ }, annotationsBelowLayer);
162
+ var seriesLayer = (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.sciChartSurface.layersOffset, this.sciChartSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.SeriesLayer);
149
163
  // Step 7 Draw series. Queue series rendering after grid lines and bands, but before the axes
150
- renderContext.enqueueLayeredDraw(function () { return _this.drawSeries(_this.sciChartSurface, renderPassInfo, renderContext); }, RenderLayer_1.ERenderLayer.Third);
164
+ renderContext.enqueueLayeredDraw(function () { return _this.drawSeries(_this.sciChartSurface, renderPassInfo, renderContext); }, seriesLayer);
165
+ var annotationsAboveLayer = (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.sciChartSurface.layersOffset, this.sciChartSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.AnnotationsAboveSeriesLayer);
166
+ // Step 8 Draw annotations above the series
167
+ renderContext.enqueueLayeredDraw(function () {
168
+ _this.drawRenderContextAnnotations(renderContextAnnotations, xAxesById, yAxesById, IAnnotation_1.EAnnotationLayer.AboveChart, renderContext, seriesViewRect);
169
+ }, annotationsAboveLayer);
151
170
  // Execute rendering of queued elements
152
171
  renderContext.drawLayers();
153
- // Step 8 Draw annotations above the series
154
- this.drawRenderContextAnnotations(renderContextAnnotations, xAxesById, yAxesById, IAnnotation_1.EAnnotationLayer.AboveChart, renderContext, seriesViewRect);
172
+ renderContext.endFonts();
155
173
  // Step 9 Draw SVG or Html Overlays
156
174
  var svgAnnotations = annotations.filter(function (el) {
157
175
  return el.type === IAnnotation_1.EAnnotationType.SVG ||
158
176
  el.type === IAnnotation_1.EAnnotationType.SVGTextAnnotation ||
159
177
  el.type === IAnnotation_1.EAnnotationType.SVGCustomAnnotation;
160
178
  });
161
- this.drawSvgAnnotations(svgAnnotations, xAxesById, yAxesById);
179
+ this.drawSvgAnnotations(svgAnnotations, xAxesById, yAxesById, seriesViewRect, viewportSvgRect);
162
180
  // Update watermark
163
181
  this.updateWatermark(renderContext, seriesViewRect);
164
182
  // Step 10 Call OnParentSurfaceRendered
165
183
  this.onParentSurfaceRendered();
166
- nativeContext.SetBlendMode(oldBlendMode);
184
+ if (!app_1.IS_TEST_ENV) {
185
+ nativeContext.SetBlendMode(oldBlendMode);
186
+ }
167
187
  // Invalidate for the animations
168
188
  if (this.sciChartSurface.isRunningAnimation) {
169
189
  setTimeout(this.sciChartSurface.invalidateElement, 0);
@@ -194,7 +214,9 @@ var SciChartRenderer = /** @class */ (function () {
194
214
  }
195
215
  });
196
216
  };
197
- SciChartRenderer.prototype.drawSvgAnnotations = function (annotations, xAxisById, yAxisById) {
217
+ SciChartRenderer.prototype.drawSvgAnnotations = function (annotations, xAxisById, yAxisById, seriesViewRect, viewportRect) {
218
+ var xCoordSvgTranslation = (seriesViewRect.x - viewportRect.x) / DpiHelper_1.DpiHelper.PIXEL_RATIO;
219
+ var yCoordSvgTranslation = (seriesViewRect.y - viewportRect.y) / DpiHelper_1.DpiHelper.PIXEL_RATIO;
198
220
  annotations.forEach(function (a) {
199
221
  var xAxis = xAxisById.item(a.xAxisId) || xAxisById.values[0];
200
222
  var yAxis = yAxisById.item(a.yAxisId) || yAxisById.values[0];
@@ -207,7 +229,7 @@ var SciChartRenderer = /** @class */ (function () {
207
229
  }
208
230
  a.showWarning = false;
209
231
  }
210
- a.update(xAxis.getCurrentCoordinateCalculator(), yAxis.getCurrentCoordinateCalculator());
232
+ a.update(xAxis.getCurrentCoordinateCalculator(), yAxis.getCurrentCoordinateCalculator(), xCoordSvgTranslation, yCoordSvgTranslation);
211
233
  });
212
234
  };
213
235
  SciChartRenderer.prototype.validate = function () {
@@ -267,6 +289,11 @@ var SciChartRenderer = /** @class */ (function () {
267
289
  // don't try and draw series with no data
268
290
  if (!series.isStacked && !series.dataSeries)
269
291
  continue;
292
+ // don't try and draw deleted dataseries
293
+ if (!series.isStacked && series.dataSeries.getIsDeleted()) {
294
+ throw new Error("SciChartSurface.renderableSeries[index=".concat(i, "] dataSeries has been deleted. ") +
295
+ "This is an invalid state for SciChart. Have you shared this DataSeries between chart surfaces?");
296
+ }
270
297
  // TODO: Do resampling, store result for use in drawing
271
298
  var xAxis = xAxesById.item(series.xAxisId);
272
299
  var seriesRenderPassInfo = SciChartRenderer.resampleSeries(xAxis, series, seriesViewRect);
@@ -304,10 +331,8 @@ var SciChartRenderer = /** @class */ (function () {
304
331
  throw Error("Both x and y axes can't have vertical alignment");
305
332
  if ((0, AxisAlignment_1.getIsHorizontal)(xAxis.axisAlignment) && (0, AxisAlignment_1.getIsHorizontal)(yAxis.axisAlignment))
306
333
  throw Error("Both x and y axes can't have horizontal alignment");
307
- var xCalc = xAxis.getCurrentCoordinateCalculator();
308
- var yCalc = yAxis.getCurrentCoordinateCalculator();
309
334
  try {
310
- var renderPassData = new RenderPassData_1.RenderPassData(indexRange, xCalc, yCalc, xAxis.isVerticalChart, pointSeries, resamplingHash);
335
+ var renderPassData = new RenderPassData_1.RenderPassData(indexRange, xAxis.getCurrentCoordinateCalculator, yAxis.getCurrentCoordinateCalculator, xAxis.isVerticalChart, pointSeries, resamplingHash);
311
336
  renderableSeries.draw(renderContext, renderPassData);
312
337
  }
313
338
  finally {
@@ -332,15 +357,27 @@ var SciChartRenderer = /** @class */ (function () {
332
357
  if (rs.isVisible && rs.isSelected)
333
358
  drawSeriesImpl(index);
334
359
  });
360
+ // Perform global text layout
361
+ if (this.sciChartSurface.dataLabelLayoutManager) {
362
+ this.sciChartSurface.dataLabelLayoutManager.performTextLayout(this.sciChartSurface, renderPassInfo);
363
+ }
364
+ // Draw series text
365
+ renderableSeriesArray.forEach(function (rs, index) {
366
+ if (rs.isVisible && rs.dataLabelProvider) {
367
+ rs.dataLabelProvider.draw(renderContext);
368
+ }
369
+ });
335
370
  nativeContext.PopMatrix();
336
371
  nativeContext.PopState();
337
372
  };
338
373
  SciChartRenderer.prototype.drawDebugAxes = function (scs, renderContext) {
339
- scs.xAxes.asArray().forEach(function (xAxis) {
340
- xAxis.drawDebug(renderContext);
341
- });
342
- scs.yAxes.asArray().forEach(function (yAxis) {
343
- yAxis.drawDebug(renderContext);
374
+ renderContext.enqueueLayeredDraw(function () {
375
+ scs.xAxes.asArray().forEach(function (xAxis) {
376
+ xAxis.drawDebug(renderContext);
377
+ });
378
+ scs.yAxes.asArray().forEach(function (yAxis) {
379
+ yAxis.drawDebug(renderContext);
380
+ });
344
381
  });
345
382
  };
346
383
  SciChartRenderer.prototype.tryPerformAutoRangeOn = function (axis, sciChartSurface) {
@@ -362,19 +399,45 @@ var SciChartRenderer = /** @class */ (function () {
362
399
  }
363
400
  };
364
401
  SciChartRenderer.prototype.onParentSurfaceRendered = function () {
365
- this.sciChartSurface.chartModifiers.asArray().forEach(function (cm) {
366
- cm.onParentSurfaceRendered();
402
+ var _a;
403
+ if (!this.sciChartSurface.isSubSurface) {
404
+ this.sciChartSurface.chartModifiers.asArray().forEach(function (cm) {
405
+ cm.onParentSurfaceRendered();
406
+ });
407
+ }
408
+ // For subCharts, run this once from the parent surface, after draw has happened
409
+ (_a = this.sciChartSurface.subCharts) === null || _a === void 0 ? void 0 : _a.forEach(function (sc) {
410
+ sc.chartModifiers.asArray().forEach(function (cm) {
411
+ cm.onParentSurfaceRendered();
412
+ });
367
413
  });
368
414
  this.sciChartSurface.rendered.raiseEvent();
369
415
  };
370
416
  SciChartRenderer.prototype.updateWatermark = function (renderContext, seriesViewRect) {
371
- var left = seriesViewRect.x;
417
+ var left = seriesViewRect.x + 5;
372
418
  var chartHeight = this.sciChartSurface.isCopyCanvasSurface
373
419
  ? SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.height
374
420
  : renderContext.viewportSize.height;
375
- var bottom = chartHeight - (seriesViewRect.top + seriesViewRect.height);
421
+ var bottom = chartHeight - (seriesViewRect.top + seriesViewRect.height) + 5;
376
422
  this.sciChartSurface.updateWatermark(left, bottom);
377
423
  };
424
+ SciChartRenderer.prototype.getViewportRect = function (viewportSize, seriesViewRect) {
425
+ switch (this.sciChartSurface.svgClippingMode) {
426
+ case SvgClippingMode_1.ESvgClippingMode.SeriesViewRect:
427
+ return seriesViewRect;
428
+ case SvgClippingMode_1.ESvgClippingMode.Chart:
429
+ return new Rect_1.Rect(0, 0, viewportSize.width, viewportSize.height);
430
+ case SvgClippingMode_1.ESvgClippingMode.SubChart:
431
+ var viewportRect = new Rect_1.Rect(0, 0, viewportSize.width, viewportSize.height);
432
+ if (this.sciChartSurface.isSubSurface) {
433
+ var sub = this.sciChartSurface;
434
+ viewportRect = sub.getSubChartRect();
435
+ }
436
+ return viewportRect;
437
+ default:
438
+ return seriesViewRect;
439
+ }
440
+ };
378
441
  return SciChartRenderer;
379
442
  }());
380
443
  exports.SciChartRenderer = SciChartRenderer;