scichart 2.2.2417 → 3.0.0-beta.230

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/Builder/buildDataSeries.d.ts +16 -1
  2. package/Builder/buildDataSeries.js +24 -1
  3. package/Builder/buildSeries.d.ts +60 -3
  4. package/Builder/buildSeries.js +28 -1
  5. package/Builder/buildSurface.d.ts +28 -2
  6. package/Builder/buildSurface.js +53 -31
  7. package/Builder/chartBuilder.d.ts +20 -7
  8. package/Builder/chartBuilder.js +37 -3
  9. package/Charting/ChartModifiers/ChartModifierBase.d.ts +21 -0
  10. package/Charting/ChartModifiers/ChartModifierBase.js +12 -0
  11. package/Charting/ChartModifiers/ChartModifierBase2D.js +2 -1
  12. package/Charting/ChartModifiers/CursorModifier.d.ts +92 -19
  13. package/Charting/ChartModifiers/CursorModifier.js +147 -58
  14. package/Charting/ChartModifiers/DataPointSelectionModifier.js +2 -1
  15. package/Charting/ChartModifiers/LegendModifier.js +2 -1
  16. package/Charting/ChartModifiers/ModifierMouseArgs.d.ts +6 -1
  17. package/Charting/ChartModifiers/ModifierMouseArgs.js +13 -3
  18. package/Charting/ChartModifiers/MouseWheelZoomModifier.d.ts +2 -2
  19. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +16 -4
  20. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +2 -1
  21. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +8 -4
  22. package/Charting/ChartModifiers/PinchZoomModifier.js +2 -1
  23. package/Charting/ChartModifiers/RolloverModifier.d.ts +43 -21
  24. package/Charting/ChartModifiers/RolloverModifier.js +48 -29
  25. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +9 -6
  26. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +10 -8
  27. package/Charting/ChartModifiers/SeriesSelectionModifier.js +2 -1
  28. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  29. package/Charting/ChartModifiers/XAxisDragModifier.js +2 -1
  30. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  31. package/Charting/ChartModifiers/YAxisDragModifier.js +2 -1
  32. package/Charting/ChartModifiers/ZoomExtentsModifier.js +2 -1
  33. package/Charting/ChartModifiers/ZoomPanModifier.js +2 -1
  34. package/Charting/ChartModifiers/constants.d.ts +3 -1
  35. package/Charting/ChartModifiers/constants.js +2 -0
  36. package/Charting/Drawing/BatchRenderContext.d.ts +6 -0
  37. package/Charting/Drawing/BatchRenderContext.js +40 -0
  38. package/Charting/Drawing/RenderSurface.d.ts +2 -1
  39. package/Charting/Drawing/RenderSurface.js +3 -2
  40. package/Charting/Drawing/WebGlRenderContext2D.d.ts +19 -4
  41. package/Charting/Drawing/WebGlRenderContext2D.js +70 -41
  42. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.js +2 -1
  43. package/Charting/LayoutManager/BottomAlignedInnerAxisLayoutStrategy.js +1 -1
  44. package/Charting/LayoutManager/CentralAxesLayoutManager.js +2 -1
  45. package/Charting/LayoutManager/LayoutManager.d.ts +2 -1
  46. package/Charting/LayoutManager/LayoutManager.js +6 -5
  47. package/Charting/LayoutManager/LeftAlignedInnerAxisLayoutStrategy.js +1 -1
  48. package/Charting/LayoutManager/RightAlignedInnerAxisLayoutStrategy.js +1 -1
  49. package/Charting/LayoutManager/TopAlignedInnerAxisLayoutStrategy.js +1 -1
  50. package/Charting/Model/BaseDataSeries.d.ts +10 -1
  51. package/Charting/Model/BaseDataSeries.js +9 -8
  52. package/Charting/Model/BaseHeatmapDataSeries.d.ts +18 -5
  53. package/Charting/Model/BaseHeatmapDataSeries.js +21 -13
  54. package/Charting/Model/ChartData/SeriesInfo.d.ts +6 -0
  55. package/Charting/Model/ChartData/SeriesInfo.js +5 -0
  56. package/Charting/Model/ChartData/XyySeriesInfo.d.ts +2 -0
  57. package/Charting/Model/ChartData/XyySeriesInfo.js +2 -0
  58. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +4 -3
  59. package/Charting/Model/Filters/HlcCustomFilter.js +12 -9
  60. package/Charting/Model/Filters/HlcFilterBase.js +2 -1
  61. package/Charting/Model/Filters/HlcScaleOffsetFilter.js +2 -1
  62. package/Charting/Model/Filters/OhlcCustomFilter.js +12 -9
  63. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +2 -1
  64. package/Charting/Model/Filters/XyCustomFilter.js +12 -9
  65. package/Charting/Model/Filters/XyFilterBase.d.ts +14 -5
  66. package/Charting/Model/Filters/XyFilterBase.js +47 -15
  67. package/Charting/Model/Filters/XyMovingAverageFilter.js +2 -1
  68. package/Charting/Model/Filters/XyRatioFilter.js +2 -1
  69. package/Charting/Model/Filters/XyScaleOffsetFilter.js +2 -1
  70. package/Charting/Model/Filters/XyyCustomFilter.js +12 -9
  71. package/Charting/Model/Filters/XyyFilterBase.js +2 -1
  72. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +2 -1
  73. package/Charting/Model/Filters/XyzCustomFilter.js +12 -9
  74. package/Charting/Model/Filters/XyzFilterBase.js +2 -1
  75. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +2 -1
  76. package/Charting/Model/IDataSeries.d.ts +9 -1
  77. package/Charting/Model/IDataSeries.js +8 -0
  78. package/Charting/Model/NonUniformHeatmapDataSeries.d.ts +112 -0
  79. package/Charting/Model/NonUniformHeatmapDataSeries.js +261 -0
  80. package/Charting/Model/PaletteFactory.d.ts +40 -4
  81. package/Charting/Model/PaletteFactory.js +37 -11
  82. package/Charting/Model/XyTextDataSeries.d.ts +121 -0
  83. package/Charting/Model/XyTextDataSeries.js +274 -0
  84. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +1 -1
  85. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +1 -1
  86. package/Charting/Services/RenderPassData.d.ts +15 -5
  87. package/Charting/Services/RenderPassData.js +27 -5
  88. package/Charting/Services/SciChartRenderer.d.ts +2 -1
  89. package/Charting/Services/SciChartRenderer.js +91 -29
  90. package/Charting/Themes/IThemeProvider.d.ts +61 -0
  91. package/Charting/Themes/IThemeProvider.js +67 -1
  92. package/Charting/Themes/SciChartJSDarkTheme.d.ts +4 -0
  93. package/Charting/Themes/SciChartJSDarkTheme.js +6 -2
  94. package/Charting/Themes/SciChartJSDarkv2Theme.js +3 -0
  95. package/Charting/Themes/SciChartJSLightTheme.d.ts +8 -0
  96. package/Charting/Themes/SciChartJSLightTheme.js +8 -0
  97. package/Charting/Themes/SciChartJsNavyTheme.d.ts +10 -0
  98. package/Charting/Themes/SciChartJsNavyTheme.js +49 -0
  99. package/Charting/Visuals/Annotations/AdornerLayer.js +4 -8
  100. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +80 -7
  101. package/Charting/Visuals/Annotations/AnnotationBase.js +238 -28
  102. package/Charting/Visuals/Annotations/AnnotationClickEventArgs.d.ts +11 -0
  103. package/Charting/Visuals/Annotations/AnnotationClickEventArgs.js +12 -0
  104. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +1 -0
  105. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +18 -19
  106. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -0
  107. package/Charting/Visuals/Annotations/BoxAnnotation.js +69 -67
  108. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +2 -2
  109. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +20 -20
  110. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  111. package/Charting/Visuals/Annotations/CustomAnnotation.js +3 -2
  112. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +6 -3
  113. package/Charting/Visuals/Annotations/IAdornerProvider.d.ts +12 -0
  114. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -0
  115. package/Charting/Visuals/Annotations/IAnnotation.js +9 -0
  116. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -0
  117. package/Charting/Visuals/Annotations/LineAnnotation.js +29 -35
  118. package/Charting/Visuals/Annotations/NativeTextAnnotation.d.ts +193 -0
  119. package/Charting/Visuals/Annotations/NativeTextAnnotation.js +536 -0
  120. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.d.ts +4 -2
  121. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +19 -14
  122. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.d.ts +2 -2
  123. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.js +9 -8
  124. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.d.ts +2 -2
  125. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +6 -6
  126. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.d.ts +2 -2
  127. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +20 -21
  128. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +13 -2
  129. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +34 -42
  130. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +2 -2
  131. package/Charting/Visuals/Annotations/TextAnnotation.js +41 -22
  132. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +6 -3
  133. package/Charting/Visuals/Annotations/annotationHelpers.d.ts +6 -6
  134. package/Charting/Visuals/Annotations/annotationHelpers.js +7 -6
  135. package/Charting/Visuals/Annotations/constants.d.ts +13 -1
  136. package/Charting/Visuals/Annotations/constants.js +12 -0
  137. package/Charting/Visuals/Axis/AxisBase2D.d.ts +24 -4
  138. package/Charting/Visuals/Axis/AxisBase2D.js +115 -38
  139. package/Charting/Visuals/Axis/AxisCore.d.ts +10 -5
  140. package/Charting/Visuals/Axis/AxisCore.js +11 -10
  141. package/Charting/Visuals/Axis/AxisRenderer.js +114 -20
  142. package/Charting/Visuals/Axis/CategoryAxis.js +2 -1
  143. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +15 -15
  144. package/Charting/Visuals/Axis/CategoryAxisBase.js +14 -12
  145. package/Charting/Visuals/Axis/DateTimeNumericAxis.js +2 -1
  146. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +2 -1
  147. package/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.js +2 -1
  148. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +2 -0
  149. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +14 -0
  150. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +140 -33
  151. package/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.js +2 -1
  152. package/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.js +2 -1
  153. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +2 -1
  154. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.d.ts +31 -1
  155. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +64 -42
  156. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +2 -2
  157. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.js +16 -19
  158. package/Charting/Visuals/Axis/LogarithmicAxis.js +9 -6
  159. package/Charting/Visuals/Axis/NumericAxis.js +3 -3
  160. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  161. package/Charting/Visuals/Axis/constants.js +1 -0
  162. package/Charting/Visuals/HeatmapLegend.d.ts +95 -0
  163. package/Charting/Visuals/HeatmapLegend.js +192 -0
  164. package/Charting/Visuals/Helpers/NativeObject.d.ts +15 -2
  165. package/Charting/Visuals/Helpers/NativeObject.js +72 -6
  166. package/Charting/Visuals/I2DSurfaceOptions.d.ts +46 -0
  167. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +5 -0
  168. package/Charting/Visuals/PointMarkers/BasePointMarker.js +28 -0
  169. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +8 -0
  170. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +2 -1
  171. package/Charting/Visuals/RenderableSeries/Animations/BandAnimationStyle.js +2 -1
  172. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +2 -1
  173. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.js +2 -1
  174. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimationStyle.js +2 -1
  175. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +2 -1
  176. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimationStyle.js +2 -1
  177. package/Charting/Visuals/RenderableSeries/Animations/CustomPointMarkerStyle.js +2 -1
  178. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +2 -1
  179. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +2 -1
  180. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +2 -1
  181. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimationStyle.js +2 -1
  182. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +2 -1
  183. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimationStyle.js +2 -1
  184. package/Charting/Visuals/RenderableSeries/Animations/PointMarkerStyle.js +2 -1
  185. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +2 -1
  186. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +2 -1
  187. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +8 -2
  188. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +3 -3
  189. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +2 -1
  190. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +7 -0
  191. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +42 -10
  192. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +128 -0
  193. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +201 -0
  194. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +26 -0
  195. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +39 -3
  196. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +7 -0
  197. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +17 -2
  198. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +2 -0
  199. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +15 -2
  200. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +10 -0
  201. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +93 -17
  202. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +8 -1
  203. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +21 -1
  204. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +1 -0
  205. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +4 -0
  206. package/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.d.ts +43 -0
  207. package/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.js +142 -0
  208. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +92 -0
  209. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +129 -0
  210. package/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.d.ts +17 -0
  211. package/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.js +62 -0
  212. package/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.d.ts +47 -0
  213. package/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.js +125 -0
  214. package/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.d.ts +71 -0
  215. package/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.js +221 -0
  216. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelLayoutManager.d.ts +5 -0
  217. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelLayoutManager.js +2 -0
  218. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.d.ts +208 -0
  219. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +410 -0
  220. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +40 -0
  221. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +141 -0
  222. package/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.d.ts +63 -0
  223. package/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.js +198 -0
  224. package/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.d.ts +35 -0
  225. package/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.js +92 -0
  226. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.d.ts +12 -0
  227. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +134 -0
  228. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.d.ts +56 -0
  229. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +167 -0
  230. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +0 -1
  231. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +1 -2
  232. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +5 -2
  233. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +47 -40
  234. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +1 -1
  235. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  236. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +18 -5
  237. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.d.ts +0 -1
  238. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.js +14 -27
  239. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +17 -4
  240. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +34 -11
  241. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.d.ts +36 -0
  242. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +493 -0
  243. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +5 -2
  244. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +8 -5
  245. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +4 -4
  246. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +3 -0
  247. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +15 -4
  248. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +2 -1
  249. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +21 -0
  250. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +40 -4
  251. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.d.ts +2 -0
  252. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +18 -3
  253. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +36 -2
  254. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +77 -8
  255. package/Charting/Visuals/RenderableSeries/FastErrorBarsRenderableSeries.js +2 -1
  256. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.d.ts +7 -0
  257. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.js +16 -4
  258. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +2 -1
  259. package/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.js +2 -1
  260. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +2 -1
  261. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +17 -0
  262. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +45 -0
  263. package/Charting/Visuals/RenderableSeries/HeatmapColorMap.js +3 -2
  264. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +35 -5
  265. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +17 -1
  266. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +8 -0
  267. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +7 -1
  268. package/Charting/Visuals/RenderableSeries/HitTest/NonUniformHeatmapHitTestProvider.d.ts +20 -0
  269. package/Charting/Visuals/RenderableSeries/HitTest/NonUniformHeatmapHitTestProvider.js +86 -0
  270. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.d.ts +6 -0
  271. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.js +56 -0
  272. package/Charting/Visuals/RenderableSeries/HitTest/UniformHeatmapHitTestProvider.js +1 -1
  273. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +7 -1
  274. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +34 -2
  275. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +6 -1
  276. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +12 -0
  277. package/Charting/Visuals/RenderableSeries/NonUniformHeatmapRenderableSeries.d.ts +74 -0
  278. package/Charting/Visuals/RenderableSeries/NonUniformHeatmapRenderableSeries.js +99 -0
  279. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.d.ts +7 -2
  280. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +2 -2
  281. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +2 -1
  282. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +2 -3
  283. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +2 -1
  284. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +2 -1
  285. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +2 -1
  286. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.d.ts +3 -0
  287. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +13 -2
  288. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -1
  289. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +7 -0
  290. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +33 -9
  291. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  292. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +7 -1
  293. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +2 -75
  294. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +8 -130
  295. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -0
  296. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +7 -1
  297. package/Charting/Visuals/RenderableSeries/constants.d.ts +5 -1
  298. package/Charting/Visuals/RenderableSeries/constants.js +4 -0
  299. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +3 -3
  300. package/Charting/Visuals/SciChartDefaults.d.ts +4 -0
  301. package/Charting/Visuals/SciChartDefaults.js +4 -0
  302. package/Charting/Visuals/SciChartOverview.js +5 -3
  303. package/Charting/Visuals/SciChartPieSurface/PieSegment/IPieSegment.d.ts +4 -0
  304. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.d.ts +13 -0
  305. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +22 -4
  306. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.d.ts +2 -1
  307. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.js +1 -0
  308. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +5 -0
  309. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +17 -19
  310. package/Charting/Visuals/SciChartSurface.d.ts +238 -7
  311. package/Charting/Visuals/SciChartSurface.js +800 -28
  312. package/Charting/Visuals/SciChartSurfaceBase.d.ts +16 -1
  313. package/Charting/Visuals/SciChartSurfaceBase.js +34 -2
  314. package/Charting/Visuals/TextureManager/CanvasTexture.js +1 -1
  315. package/Charting/Visuals/TextureManager/DpiHelper.js +3 -7
  316. package/Charting/Visuals/TextureManager/TextureManager.d.ts +11 -0
  317. package/Charting/Visuals/TextureManager/TextureManager.js +37 -1
  318. package/Charting/Visuals/createMaster.js +7 -10
  319. package/Charting/Visuals/createSingle.js +2 -0
  320. package/Charting/Visuals/licenseManager2D.js +9 -9
  321. package/Charting/Visuals/sciChartInitCommon.js +16 -12
  322. package/Charting3D/CameraController.d.ts +5 -0
  323. package/Charting3D/CameraController.js +6 -0
  324. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +2 -1
  325. package/Charting3D/Visuals/Axis/AxisBase3D.js +7 -5
  326. package/Charting3D/Visuals/Axis/NumericAxis3D.js +2 -1
  327. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +4 -0
  328. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +7 -0
  329. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +6 -4
  330. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +7 -2
  331. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +3 -2
  332. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.d.ts +0 -5
  333. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.js +12 -11
  334. package/Charting3D/Visuals/SciChart3DSurface.d.ts +2 -2
  335. package/Charting3D/Visuals/SciChart3DSurface.js +18 -11
  336. package/Charting3D/Visuals/createMaster3d.js +10 -18
  337. package/Charting3D/Visuals/createSingle3d.js +12 -10
  338. package/Core/Animations/GenericAnimation.d.ts +2 -0
  339. package/Core/Animations/GenericAnimation.js +3 -0
  340. package/Core/Animations/NumberRangeAnimator.js +7 -2
  341. package/Core/BuildStamp.d.ts +1 -1
  342. package/Core/BuildStamp.js +2 -2
  343. package/Core/Mouse/MouseManager.d.ts +20 -0
  344. package/Core/Mouse/MouseManager.js +201 -30
  345. package/Core/Telemetry.js +1 -1
  346. package/README.md +91 -403
  347. package/_wasm/scichart.browser.js +1 -1
  348. package/_wasm/scichart2d.data +0 -0
  349. package/_wasm/scichart2d.js +280 -267
  350. package/_wasm/scichart2d.wasm +0 -0
  351. package/_wasm/scichart3d.data +0 -0
  352. package/_wasm/scichart3d.js +280 -268
  353. package/_wasm/scichart3d.wasm +0 -0
  354. package/constants/performanceWarnings.d.ts +2 -0
  355. package/constants/performanceWarnings.js +3 -1
  356. package/package.json +2 -2
  357. package/types/AutoColorMode.d.ts +9 -0
  358. package/types/AutoColorMode.js +13 -0
  359. package/types/BaseType.d.ts +3 -1
  360. package/types/BaseType.js +2 -0
  361. package/types/DataLabelProviderType.d.ts +15 -0
  362. package/types/DataLabelProviderType.js +19 -0
  363. package/types/DataLabelSkipMode.d.ts +21 -0
  364. package/types/DataLabelSkipMode.js +25 -0
  365. package/types/DefaultRenderLayer.d.ts +10 -0
  366. package/types/DefaultRenderLayer.js +14 -0
  367. package/types/MousePosition.d.ts +1 -1
  368. package/types/MousePosition.js +1 -1
  369. package/types/SeriesType.d.ts +7 -1
  370. package/types/SeriesType.js +6 -0
  371. package/types/SvgClippingMode.d.ts +17 -0
  372. package/types/SvgClippingMode.js +21 -0
  373. package/types/TDataLabelStyle.d.ts +16 -0
  374. package/types/TDataLabelStyle.js +2 -0
  375. package/types/TSciChart.d.ts +214 -118
  376. package/types/TSciChart3D.d.ts +104 -70
  377. package/types/TextPosition.d.ts +17 -0
  378. package/types/TextPosition.js +39 -0
  379. package/types/ThemeProviderType.d.ts +3 -1
  380. package/types/ThemeProviderType.js +2 -0
  381. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +10 -1
  382. package/utils/ccall/appendDoubleVectorFromJsArray.js +24 -1
  383. package/utils/memoize.d.ts +1 -0
  384. package/utils/memoize.js +26 -0
  385. package/utils/number.d.ts +1 -0
  386. package/utils/number.js +5 -1
  387. package/utils/parseColor.d.ts +2 -0
  388. package/utils/parseColor.js +3 -3
  389. package/utils/text.d.ts +5 -0
  390. package/utils/text.js +48 -0
  391. package/utils/translate.d.ts +12 -2
  392. package/utils/translate.js +67 -11
  393. package/utils/zeroArray2D.d.ts +5 -0
  394. package/utils/zeroArray2D.js +5 -0
@@ -0,0 +1,167 @@
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
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.TextDataLabelProvider = void 0;
30
+ var Point_1 = require("../../../../Core/Point");
31
+ var Rect_1 = require("../../../../Core/Rect");
32
+ var NativeObject_1 = require("../../Helpers/NativeObject");
33
+ var BaseDataLabelProvider_1 = require("./BaseDataLabelProvider");
34
+ var DataLabelProviderType_1 = require("../../../../types/DataLabelProviderType");
35
+ var DataLabelState_1 = require("./DataLabelState");
36
+ var TextPosition_1 = require("../../../../types/TextPosition");
37
+ /**
38
+ * A DataLabelProvider sepcifically designed to work with {@link FastTextRenderableSeries } or any series that uses an {@link XYTextDataSeries }
39
+ * Text is taken directly from the textValues on the dataSeries and placed at the x,y coordinates (anchored top, left)
40
+ */
41
+ var TextDataLabelProvider = /** @class */ (function (_super) {
42
+ __extends(TextDataLabelProvider, _super);
43
+ function TextDataLabelProvider(options) {
44
+ var _this = this;
45
+ var _a, _b, _c;
46
+ _this = _super.call(this, __assign(__assign({}, options), { style: __assign({ fontFamily: "Arial", fontSize: 12 }, options === null || options === void 0 ? void 0 : options.style) })) || this;
47
+ _this.type = DataLabelProviderType_1.EDataLabelProviderType.Text;
48
+ /**
49
+ * If your labels are all the same size, or you are not changing the alignment, you can set this false to gain performance
50
+ */
51
+ _this.calculateTextBounds = true;
52
+ _this.horizontalTextPositionProperty = TextPosition_1.EHorizontalTextPosition.Right;
53
+ _this.verticalTextPositionProperty = TextPosition_1.EVerticalTextPosition.Top;
54
+ _this.calculateTextBounds = (_a = options === null || options === void 0 ? void 0 : options.calculateTextBounds) !== null && _a !== void 0 ? _a : _this.calculateTextBounds;
55
+ _this.horizontalTextPositionProperty = (_b = options === null || options === void 0 ? void 0 : options.horizontalTextPosition) !== null && _b !== void 0 ? _b : _this.horizontalTextPosition;
56
+ _this.verticalTextPositionProperty = (_c = options === null || options === void 0 ? void 0 : options.verticalTextPosition) !== null && _c !== void 0 ? _c : _this.verticalTextPosition;
57
+ return _this;
58
+ }
59
+ Object.defineProperty(TextDataLabelProvider.prototype, "horizontalTextPosition", {
60
+ /**
61
+ * Gets or sets the horizontal text position for the label
62
+ * For more control, override getPosition
63
+ */
64
+ get: function () {
65
+ return this.horizontalTextPositionProperty;
66
+ },
67
+ set: function (value) {
68
+ this.horizontalTextPositionProperty = value;
69
+ this.invalidateParent();
70
+ },
71
+ enumerable: false,
72
+ configurable: true
73
+ });
74
+ Object.defineProperty(TextDataLabelProvider.prototype, "verticalTextPosition", {
75
+ /**
76
+ * Gets or sets the vertical text position for the label
77
+ * For more control, override getPosition
78
+ */
79
+ get: function () {
80
+ return this.verticalTextPositionProperty;
81
+ },
82
+ set: function (value) {
83
+ this.verticalTextPositionProperty = value;
84
+ this.invalidateParent();
85
+ },
86
+ enumerable: false,
87
+ configurable: true
88
+ });
89
+ TextDataLabelProvider.prototype.getPosition = function (state, textBounds) {
90
+ var _a, _b, _c, _d, _e, _f, _g, _h;
91
+ var x = state.xCoord();
92
+ if (this.horizontalTextPosition === TextPosition_1.EHorizontalTextPosition.Center) {
93
+ x -= textBounds.m_fWidth / 2;
94
+ }
95
+ else if (this.horizontalTextPosition === TextPosition_1.EHorizontalTextPosition.Left) {
96
+ x -= textBounds.m_fWidth + ((_b = (_a = this.style.padding) === null || _a === void 0 ? void 0 : _a.right) !== null && _b !== void 0 ? _b : 0);
97
+ }
98
+ else {
99
+ x += (_d = (_c = this.style.padding) === null || _c === void 0 ? void 0 : _c.right) !== null && _d !== void 0 ? _d : 0;
100
+ }
101
+ var yOffset = textBounds.m_fHeight - textBounds.GetLineBounds(0).m_fHeight;
102
+ var y = state.yCoord() - yOffset;
103
+ if (this.verticalTextPosition === TextPosition_1.EVerticalTextPosition.Center) {
104
+ y += textBounds.m_fHeight / 2;
105
+ }
106
+ else if (this.verticalTextPosition === TextPosition_1.EVerticalTextPosition.Bottom) {
107
+ y += textBounds.m_fHeight + ((_f = (_e = this.style.padding) === null || _e === void 0 ? void 0 : _e.top) !== null && _f !== void 0 ? _f : 0);
108
+ }
109
+ else {
110
+ y -= (_h = (_g = this.style.padding) === null || _g === void 0 ? void 0 : _g.bottom) !== null && _h !== void 0 ? _h : 0;
111
+ }
112
+ return new Point_1.Point(x, y);
113
+ };
114
+ TextDataLabelProvider.prototype.getColor = function (state, text) {
115
+ return state.color;
116
+ };
117
+ TextDataLabelProvider.prototype.generateDataLabels = function (renderContext, renderPassData) {
118
+ var _a, _b, _c, _d, _e;
119
+ // clear any previous labels
120
+ this.dataLabels = [];
121
+ if (!this.style || !this.style.fontFamily || !this.style.fontSize) {
122
+ return;
123
+ }
124
+ var textSeries = this.parentSeries.dataSeries;
125
+ if (!textSeries || !textSeries.textValues) {
126
+ console.warn("TextDataLabelProvider requires an XyTextDataSeries");
127
+ return;
128
+ }
129
+ var state = new DataLabelState_1.DataLabelState(renderContext, renderPassData, this.style, this.color, renderPassData.pointSeries.yValues, this.parentSeries);
130
+ var bounds = (0, NativeObject_1.getTextBounds)(this.webAssemblyContext);
131
+ var indexes = renderPassData.pointSeries.indexes;
132
+ if (textSeries) {
133
+ state.font.CalculateStringBounds((_a = textSeries.textValues[0]) !== null && _a !== void 0 ? _a : "", bounds, (_c = (_b = this.style) === null || _b === void 0 ? void 0 : _b.lineSpacing) !== null && _c !== void 0 ? _c : 2);
134
+ for (var i = 0; i < indexes.size(); i++) {
135
+ state.index = i;
136
+ var index = indexes.get(state.index);
137
+ var text = textSeries.textValues[index];
138
+ if (this.calculateTextBounds) {
139
+ state.font.CalculateStringBounds(text !== null && text !== void 0 ? text : "", bounds, (_e = (_d = this.style) === null || _d === void 0 ? void 0 : _d.lineSpacing) !== null && _e !== void 0 ? _e : 2);
140
+ }
141
+ var position = this.getPosition(state, bounds);
142
+ var firstLineHeight = bounds.GetLineBounds(0).m_fHeight;
143
+ var label = {
144
+ text: text,
145
+ position: position,
146
+ rect: new Rect_1.Rect(position.x, position.y - firstLineHeight, bounds.m_fWidth, bounds.m_fHeight),
147
+ color: this.getColor(state, text),
148
+ dataX: state.xCoord(),
149
+ dataY: state.yCoord()
150
+ };
151
+ this.dataLabels.push(label);
152
+ }
153
+ }
154
+ };
155
+ TextDataLabelProvider.prototype.toJSON = function () {
156
+ var json = _super.prototype.toJSON.call(this);
157
+ var options = {
158
+ calculateTextBounds: this.calculateTextBounds,
159
+ horizontalTextPosition: this.horizontalTextPosition,
160
+ verticalTextPosition: this.verticalTextPosition
161
+ };
162
+ Object.assign(json.options, options);
163
+ return json;
164
+ };
165
+ return TextDataLabelProvider;
166
+ }(BaseDataLabelProvider_1.BaseDataLabelProvider));
167
+ exports.TextDataLabelProvider = TextDataLabelProvider;
@@ -15,7 +15,6 @@ export declare class BandSeriesDrawingProvider extends BaseSeriesDrawingProvider
15
15
  private strokePenY1Cache;
16
16
  private fillBrushCache;
17
17
  private fillBrushY1Cache;
18
- private ySelector;
19
18
  private y1Selector;
20
19
  /**
21
20
  * Creates an instance of the {@link BandSeriesDrawingProvider}
@@ -36,8 +36,7 @@ var BandSeriesDrawingProvider = /** @class */ (function (_super) {
36
36
  * @param parentSeries the parent {@link BaseBandRenderableSeries} which this drawing provider is attached to
37
37
  */
38
38
  function BandSeriesDrawingProvider(webAssemblyContext, parentSeries, ySelector, y1Selector) {
39
- var _this = _super.call(this, webAssemblyContext, parentSeries) || this;
40
- _this.ySelector = ySelector !== null && ySelector !== void 0 ? ySelector : (function (ps) { return ps.yValues; });
39
+ var _this = _super.call(this, webAssemblyContext, parentSeries, ySelector) || this;
41
40
  _this.y1Selector = y1Selector !== null && y1Selector !== void 0 ? y1Selector : (function (ps) { return ps.y1Values; });
42
41
  _this.linesPenCache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
43
42
  _this.strokePenY1Cache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
@@ -1,8 +1,9 @@
1
1
  import { IDeletable } from "../../../../Core/IDeletable";
2
- import { SCRTBrush, TSciChart, UIntVector } from "../../../../types/TSciChart";
2
+ import { SCRTBrush, SCRTDoubleVector, TSciChart, UIntVector } from "../../../../types/TSciChart";
3
3
  import { PaletteCache } from "../../../Drawing/PaletteCache";
4
4
  import { WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D";
5
5
  import { IPointMetadata } from "../../../Model/IPointMetadata";
6
+ import { IPointSeries } from "../../../Model/PointSeries/IPointSeries";
6
7
  import { RenderPassData } from "../../../Services/RenderPassData";
7
8
  import { TDpiChangedEventArgs } from "../../TextureManager/DpiHelper";
8
9
  import { IRenderableSeries } from "../IRenderableSeries";
@@ -48,6 +49,8 @@ export declare abstract class BaseSeriesDrawingProvider<T extends IRenderableSer
48
49
  * The Colour Paletting State object.
49
50
  */
50
51
  protected palettingState: TPalettingState;
52
+ protected xSelector: (ds: IPointSeries) => SCRTDoubleVector;
53
+ protected ySelector: (ds: IPointSeries) => SCRTDoubleVector;
51
54
  private parentDataSeries;
52
55
  /**
53
56
  * Creates an instance of the {@link BaseSeriesDrawingProvider}
@@ -55,7 +58,7 @@ export declare abstract class BaseSeriesDrawingProvider<T extends IRenderableSer
55
58
  * access to our WebGL2 Engine and WebAssembly numerical methods
56
59
  * @param parentSeries the parent {@link IRenderableSeries | Renderable Series} which this drawing provider is attached to
57
60
  */
58
- protected constructor(webAssemblyContext: TSciChart, parentSeries: T);
61
+ protected constructor(webAssemblyContext: TSciChart, parentSeries: T, ySelector?: (ps: IPointSeries) => SCRTDoubleVector, xSelector?: (ps: IPointSeries) => SCRTDoubleVector);
59
62
  /**
60
63
  * Helper function to apply color-paletting to a {@link UIntVector} - where each element in the vector
61
64
  * is an ARGB color that defines stroke of the series
@@ -21,12 +21,14 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
21
21
  * access to our WebGL2 Engine and WebAssembly numerical methods
22
22
  * @param parentSeries the parent {@link IRenderableSeries | Renderable Series} which this drawing provider is attached to
23
23
  */
24
- function BaseSeriesDrawingProvider(webAssemblyContext, parentSeries) {
24
+ function BaseSeriesDrawingProvider(webAssemblyContext, parentSeries, ySelector, xSelector) {
25
25
  var _a;
26
26
  Guard_1.Guard.notNull(webAssemblyContext, "webAssemblyContext");
27
27
  Guard_1.Guard.notNull(parentSeries, "parentSeries");
28
28
  this.webAssemblyContext = webAssemblyContext;
29
29
  this.parentSeries = parentSeries;
30
+ this.ySelector = ySelector !== null && ySelector !== void 0 ? ySelector : (function (ps) { return ps.yValues; });
31
+ this.xSelector = xSelector !== null && xSelector !== void 0 ? xSelector : (function (ps) { return ps.xValues; });
30
32
  this.palettingState = {
31
33
  palettedColors: undefined,
32
34
  palettedColorsHashCode: 0,
@@ -44,7 +46,7 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
44
46
  * @returns the new {@link UIntVector} with ARGB colors
45
47
  */
46
48
  BaseSeriesDrawingProvider.prototype.applyStrokePaletting = function (strokePen) {
47
- var _a;
49
+ var _a, _b, _c;
48
50
  if (this.parentSeries.hasStrokePaletteProvider()) {
49
51
  var strokeColorArgb = (0, colorUtil_1.uintArgbColorMultiplyOpacity)((0, parseColor_1.parseColorToUIntArgb)(this.parentSeries.stroke), this.parentSeries.opacity);
50
52
  if (isNaN(strokeColorArgb)) {
@@ -54,6 +56,11 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
54
56
  }
55
57
  var strokePaletteProvider = this.parentSeries.paletteProvider;
56
58
  var dataSeries = this.parentSeries.dataSeries;
59
+ var renderPassData = this.parentSeries.getCurrentRenderPassData();
60
+ var pointSeries = renderPassData === null || renderPassData === void 0 ? void 0 : renderPassData.pointSeries;
61
+ var xValues = (_a = pointSeries === null || pointSeries === void 0 ? void 0 : pointSeries.xValues) !== null && _a !== void 0 ? _a : dataSeries.getNativeXValues();
62
+ var yValues = (_b = pointSeries === null || pointSeries === void 0 ? void 0 : pointSeries.yValues) !== null && _b !== void 0 ? _b : dataSeries.getNativeYValues();
63
+ var dataSize = pointSeries ? pointSeries.indexes.size() : xValues.size();
57
64
  if (!this.palettingState.palettedColors ||
58
65
  this.palettingState.palettedColors.size() !== dataSeries.count()) {
59
66
  (0, Deleter_1.deleteSafe)(this.palettingState.palettedColors);
@@ -63,10 +70,9 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
63
70
  strokePen.m_bGradient = strokePaletteProvider.strokePaletteMode === IPaletteProvider_1.EStrokePaletteMode.GRADIENT;
64
71
  // For paletted series, we must pass 0xFFFFFFFF (white) to pen line
65
72
  strokePen.m_uiColor = 0xffffffff;
66
- var xValues = dataSeries.getNativeXValues();
67
- var yValues = dataSeries.getNativeYValues();
68
- for (var index = 0; index < dataSeries.count(); index++) {
69
- var overrideColor = strokePaletteProvider.overrideStrokeArgb(xValues.get(index), yValues.get(index), index, this.parentSeries.opacity, dataSeries.getMetadataAt(index));
73
+ for (var index = 0; index < dataSize; index++) {
74
+ var originalDataIndex = pointSeries ? pointSeries.indexes.get(index) : index;
75
+ var overrideColor = strokePaletteProvider.overrideStrokeArgb(xValues.get(index), yValues.get(index), index, this.parentSeries.opacity, dataSeries.getMetadataAt(originalDataIndex));
70
76
  this.parentSeries.pushPalettedColors(overrideColor ? overrideColor : strokeColorArgb, this.palettingState);
71
77
  }
72
78
  }
@@ -75,7 +81,7 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
75
81
  strokePen.m_uiColor = this.palettingState.originalPenColor;
76
82
  this.palettingState.originalPenColor = undefined;
77
83
  }
78
- (_a = this.palettingState.palettedColors) === null || _a === void 0 ? void 0 : _a.clear();
84
+ (_c = this.palettingState.palettedColors) === null || _c === void 0 ? void 0 : _c.clear();
79
85
  }
80
86
  // Due to pass-by-pointer limitations of WASM binding, we pass an empty vector rather than null
81
87
  if (!this.palettingState.palettedColors) {
@@ -126,25 +132,26 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
126
132
  this.palettingState.paletteTextureCache.reset();
127
133
  }
128
134
  // Commented this code out, because I don't know what this code does
129
- // if (resetPenBrushColors) {
130
- // if (strokePen) {
131
- // // For paletted series, we must pass 0xFFFFFFFF (white) to pen line
132
- // this.palettingState.originalPenColor = strokePen.m_uiColor;
133
- // strokePen.m_uiColor = 0xffffffff;
134
- // this.palettingState.originalPenGradient = strokePen.m_bGradient;
135
- // if (hasStrokePaletteProvider) {
136
- // strokePen.m_bGradient = strokePaletteProvider.strokePaletteMode === EStrokePaletteMode.GRADIENT;
137
- // } else if (hasPointMarkerPaletteProvider) {
138
- // strokePen.m_bGradient =
139
- // pointMarkerPaletteProvider.strokePaletteMode === EStrokePaletteMode.GRADIENT;
140
- // }
141
- // console.log("strokePen.m_bGradient", strokePen.m_bGradient);
142
- // }
143
- // if (fillBrush) {
144
- // this.palettingState.originalBrushColor = fillBrush.GetColor();
145
- // fillBrush.SetColor(0xffffffff);
146
- // }
147
- // }
135
+ if (resetPenBrushColors) {
136
+ if (strokePen) {
137
+ // For paletted series, we must pass 0xFFFFFFFF (white) to pen line
138
+ this.palettingState.originalPenColor = strokePen.m_uiColor;
139
+ strokePen.m_uiColor = 0xffffffff;
140
+ this.palettingState.originalPenGradient = strokePen.m_bGradient;
141
+ if (hasStrokePaletteProvider) {
142
+ strokePen.m_bGradient = strokePaletteProvider.strokePaletteMode === IPaletteProvider_1.EStrokePaletteMode.GRADIENT;
143
+ }
144
+ else if (hasPointMarkerPaletteProvider) {
145
+ strokePen.m_bGradient =
146
+ pointMarkerPaletteProvider.strokePaletteMode === IPaletteProvider_1.EStrokePaletteMode.GRADIENT;
147
+ }
148
+ //console.log("strokePen.m_bGradient", strokePen.m_bGradient);
149
+ }
150
+ if (fillBrush) {
151
+ this.palettingState.originalBrushColor = fillBrush.GetColor();
152
+ fillBrush.SetColor(0xffffffff);
153
+ }
154
+ }
148
155
  // Override stroke and fill colors
149
156
  var hashCode = 0;
150
157
  for (var index = 0; index < dataSize; index++) {
@@ -172,20 +179,20 @@ var BaseSeriesDrawingProvider = /** @class */ (function () {
172
179
  this.palettingState.paletteTextureCache.reset();
173
180
  (_e = this.palettingState.palettedColors) === null || _e === void 0 ? void 0 : _e.clear();
174
181
  // This was needed for resetPenBrushColors, therefore commented out as well
175
- // if (strokePen) {
176
- // if (this.palettingState.originalPenColor) {
177
- // strokePen.m_uiColor = this.palettingState.originalPenColor;
178
- // this.palettingState.originalPenColor = undefined;
179
- // }
180
- // if (this.palettingState.originalPenGradient) {
181
- // strokePen.m_bGradient = this.palettingState.originalPenGradient;
182
- // this.palettingState.originalPenGradient = undefined;
183
- // }
184
- // }
185
- // if (fillBrush && this.palettingState.originalBrushColor) {
186
- // fillBrush.SetColor(this.palettingState.originalBrushColor);
187
- // this.palettingState.originalBrushColor = undefined;
188
- // }
182
+ if (strokePen) {
183
+ if (this.palettingState.originalPenColor) {
184
+ strokePen.m_uiColor = this.palettingState.originalPenColor;
185
+ this.palettingState.originalPenColor = undefined;
186
+ }
187
+ if (this.palettingState.originalPenGradient) {
188
+ strokePen.m_bGradient = this.palettingState.originalPenGradient;
189
+ this.palettingState.originalPenGradient = undefined;
190
+ }
191
+ }
192
+ if (fillBrush && this.palettingState.originalBrushColor) {
193
+ fillBrush.SetColor(this.palettingState.originalBrushColor);
194
+ this.palettingState.originalBrushColor = undefined;
195
+ }
189
196
  }
190
197
  // Due to pass-by-pointer limitations of WASM binding, we pass an empty vector rather than null
191
198
  if (!this.palettingState.palettedColors) {
@@ -64,7 +64,7 @@ var BubbleSeriesDrawingProvider = /** @class */ (function (_super) {
64
64
  // Paletting per point
65
65
  _super.prototype.applyStrokeFillPaletting.call(this, this.parentSeries.stroke, undefined, undefined, undefined, this.parentSeries.opacity);
66
66
  args.SetPalettedColors(this.palettingState.palettedColors);
67
- args.zMultiplier = DpiHelper_1.DpiHelper.PIXEL_RATIO;
67
+ args.zMultiplier = this.parentSeries.zMultiplier * DpiHelper_1.DpiHelper.PIXEL_RATIO;
68
68
  var nativeContext = renderContext.getNativeContext();
69
69
  this.drawPoints(nativeContext, isCategoryAxis ? pointSeries.indexes : xValues, yValues, zValues, renderPassData.xCoordinateCalculator.nativeCalculator, renderPassData.yCoordinateCalculator.nativeCalculator, args, this.parentSeries.parentSurface.seriesViewRect);
70
70
  args.delete();
@@ -36,4 +36,5 @@ export declare class ColumnSeriesDrawingProvider extends BaseSeriesDrawingProvid
36
36
  * @inheritDoc
37
37
  */
38
38
  onSeriesPropertyChange(propertyName: string): void;
39
+ private createBrush;
39
40
  }
@@ -19,6 +19,7 @@ exports.ColumnSeriesDrawingProvider = void 0;
19
19
  var Deleter_1 = require("../../../../Core/Deleter");
20
20
  var BrushCache_1 = require("../../../Drawing/BrushCache");
21
21
  var Pen2DCache_1 = require("../../../Drawing/Pen2DCache");
22
+ var SciChartSurfaceBase_1 = require("../../SciChartSurfaceBase");
22
23
  var constants_1 = require("../constants");
23
24
  var BaseSeriesDrawingProvider_1 = require("./BaseSeriesDrawingProvider");
24
25
  /**
@@ -45,7 +46,7 @@ var ColumnSeriesDrawingProvider = /** @class */ (function (_super) {
45
46
  if (strokeThickness === 0) {
46
47
  (0, Pen2DCache_1.createPenInCache)(_this.strokePenFillColoredCache, fill, 1, opacity);
47
48
  }
48
- (0, BrushCache_1.createBrushInCache)(_this.fillBrushCache, fill, opacity);
49
+ _this.createBrush();
49
50
  return _this;
50
51
  }
51
52
  /**
@@ -70,10 +71,12 @@ var ColumnSeriesDrawingProvider = /** @class */ (function (_super) {
70
71
  args.verticalChart = renderPassData.isVerticalChart;
71
72
  args.zeroLineY = this.parentSeries.zeroLineY;
72
73
  args.columnWidth = this.parentSeries.getDataPointWidth(renderPassData.xCoordinateCalculator, this.parentSeries.dataPointWidth);
74
+ args.bottomRadius = this.parentSeries.cornerRadius;
73
75
  var strokePenCache = this.strokePenCache;
74
76
  // ISSUE: If the strokeThickness property is not provided,
75
77
  // the fill will be disappeared with large zoom (when the column width will be small or zero)
76
- if (args.columnWidth === 0 && strokeThickness === 0) {
78
+ if (args.columnWidth === 1 && strokeThickness === 0) {
79
+ args.columnWidth = 0;
77
80
  strokePenCache = this.strokePenFillColoredCache;
78
81
  }
79
82
  var linesPen = (0, Pen2DCache_1.getScrtPenFromCache)(strokePenCache);
@@ -87,7 +90,7 @@ var ColumnSeriesDrawingProvider = /** @class */ (function (_super) {
87
90
  args.viewportWidth = viewRect.width;
88
91
  args.viewportHeight = viewRect.height;
89
92
  // Paletting per point
90
- _super.prototype.applyStrokeFillPaletting.call(this, this.parentSeries.stroke, linesPen, this.parentSeries.fill, fillBrush, this.parentSeries.opacity);
93
+ _super.prototype.applyStrokeFillPaletting.call(this, this.parentSeries.stroke, linesPen, this.parentSeries.fill, fillBrush, this.parentSeries.opacity, false, this.parentSeries.fillLinearGradient !== undefined);
91
94
  args.SetPalettedColors(this.palettingState.palettedColors);
92
95
  var isCategoryAxis = renderPassData.xCoordinateCalculator.isCategoryCoordinateCalculator;
93
96
  var xValues = pointSeries.xValues;
@@ -116,16 +119,26 @@ var ColumnSeriesDrawingProvider = /** @class */ (function (_super) {
116
119
  (0, Pen2DCache_1.createPenInCache)(this.strokePenCache, stroke, strokeThickness, opacity);
117
120
  }
118
121
  if (propertyName === constants_1.PROPERTY.FILL || propertyName === constants_1.PROPERTY.OPACITY) {
119
- (0, BrushCache_1.createBrushInCache)(this.fillBrushCache, fill, opacity);
122
+ this.createBrush();
120
123
  }
121
124
  if (strokeThickness === 0 &&
122
125
  (propertyName === constants_1.PROPERTY.STROKE_THICKNESS ||
123
126
  propertyName === constants_1.PROPERTY.STROKE ||
124
127
  propertyName === constants_1.PROPERTY.OPACITY ||
125
128
  propertyName === constants_1.PROPERTY.FILL)) {
126
- (0, Pen2DCache_1.createPenInCache)(this.strokePenFillColoredCache, fill, strokeThickness, opacity);
129
+ (0, Pen2DCache_1.createPenInCache)(this.strokePenFillColoredCache, fill, 1, opacity);
127
130
  }
128
131
  };
132
+ ColumnSeriesDrawingProvider.prototype.createBrush = function () {
133
+ var _a = this.parentSeries, fill = _a.fill, opacity = _a.opacity, fillLinearGradient = _a.fillLinearGradient, parentSurface = _a.parentSurface;
134
+ var textureHeightRatio = (parentSurface === null || parentSurface === void 0 ? void 0 : parentSurface.isCopyCanvasSurface)
135
+ ? parentSurface.domCanvas2D.height / SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.height
136
+ : 1;
137
+ var textureWidthRatio = (parentSurface === null || parentSurface === void 0 ? void 0 : parentSurface.isCopyCanvasSurface)
138
+ ? parentSurface.domCanvas2D.width / SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.width
139
+ : 1;
140
+ return (0, BrushCache_1.createBrushInCache)(this.fillBrushCache, fill, opacity, textureHeightRatio, textureWidthRatio, fillLinearGradient);
141
+ };
129
142
  return ColumnSeriesDrawingProvider;
130
143
  }(BaseSeriesDrawingProvider_1.BaseSeriesDrawingProvider));
131
144
  exports.ColumnSeriesDrawingProvider = ColumnSeriesDrawingProvider;
@@ -10,7 +10,6 @@ import { BaseSeriesDrawingProvider } from "./BaseSeriesDrawingProvider";
10
10
  */
11
11
  export declare class ErrorSeriesDrawingProvider extends BaseSeriesDrawingProvider<FastErrorBarsRenderableSeries> {
12
12
  private linesPenCache;
13
- private vertices;
14
13
  /**
15
14
  * Creates an instance of the {@link BandSeriesDrawingProvider}
16
15
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -24,6 +24,7 @@ var ErrorMode_1 = require("../../../../types/ErrorMode");
24
24
  var Pen2DCache_1 = require("../../../Drawing/Pen2DCache");
25
25
  var WebGlRenderContext2D_1 = require("../../../Drawing/WebGlRenderContext2D");
26
26
  var LogarithmicAxis_1 = require("../../Axis/LogarithmicAxis");
27
+ var NativeObject_1 = require("../../Helpers/NativeObject");
27
28
  var constants_1 = require("../constants");
28
29
  var BaseSeriesDrawingProvider_1 = require("./BaseSeriesDrawingProvider");
29
30
  /**
@@ -44,7 +45,6 @@ var ErrorSeriesDrawingProvider = /** @class */ (function (_super) {
44
45
  function ErrorSeriesDrawingProvider(webAssemblyContext, parentSeries) {
45
46
  var _this = _super.call(this, webAssemblyContext, parentSeries) || this;
46
47
  _this.linesPenCache = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
47
- _this.vertices = new _this.webAssemblyContext.VectorColorVertex();
48
48
  return _this;
49
49
  // this.args = new webAssemblyContext.SCRTLineDrawingParams();
50
50
  // this.xLineCoordinates = new this.webAssemblyContext.SCRTDoubleVector();
@@ -72,7 +72,6 @@ var ErrorSeriesDrawingProvider = /** @class */ (function (_super) {
72
72
  ErrorSeriesDrawingProvider.prototype.delete = function () {
73
73
  // this.nativeDrawingProvider = deleteSafe(this.nativeDrawingProvider);
74
74
  this.linesPenCache = (0, Deleter_1.deleteSafe)(this.linesPenCache);
75
- this.vertices = (0, Deleter_1.deleteSafe)(this.vertices);
76
75
  // this.args = deleteSafe(this.args);
77
76
  _super.prototype.delete.call(this);
78
77
  };
@@ -85,7 +84,7 @@ var ErrorSeriesDrawingProvider = /** @class */ (function (_super) {
85
84
  return;
86
85
  }
87
86
  var pointSeries = renderPassData.pointSeries;
88
- this.vertices.clear();
87
+ var vertices = (0, NativeObject_1.getVectorColorVertex)(this.webAssemblyContext);
89
88
  // this.xLineCoordinates.clear();
90
89
  // this.yLineCoordinates.clear();
91
90
  // this.args.Reset();
@@ -151,15 +150,15 @@ var ErrorSeriesDrawingProvider = /** @class */ (function (_super) {
151
150
  var capEnd = xCoord + halfRange;
152
151
  // main line
153
152
  if (this.parentSeries.drawConnector) {
154
- this.addLineVertices(xCoord, isNaN(highValue) ? yCoord : highCoord, xCoord, isNaN(lowValue) ? yCoord : lowCoord);
153
+ this.addLineVertices(vertices, xCoord, isNaN(highValue) ? yCoord : highCoord, xCoord, isNaN(lowValue) ? yCoord : lowCoord);
155
154
  }
156
155
  if (hasHighCap && !shouldDrawHighErrorToLimit && this.parentSeries.drawWhiskers) {
157
156
  // top whiskers
158
- this.addLineVertices(capStart, highCoord, capEnd, highCoord);
157
+ this.addLineVertices(vertices, capStart, highCoord, capEnd, highCoord);
159
158
  }
160
159
  if (hasLowCap && !shouldDrawLowErrorToLimit && this.parentSeries.drawWhiskers) {
161
160
  // bottom whiskers
162
- this.addLineVertices(capStart, lowCoord, capEnd, lowCoord);
161
+ this.addLineVertices(vertices, capStart, lowCoord, capEnd, lowCoord);
163
162
  }
164
163
  }
165
164
  }
@@ -189,20 +188,20 @@ var ErrorSeriesDrawingProvider = /** @class */ (function (_super) {
189
188
  var capEnd = yCoord + halfRange;
190
189
  // main line
191
190
  if (this.parentSeries.drawConnector) {
192
- this.addLineVertices(isNaN(lowValue) ? xCoord : lowCoord, yCoord, isNaN(highValue) ? xCoord : highCoord, yCoord);
191
+ this.addLineVertices(vertices, isNaN(lowValue) ? xCoord : lowCoord, yCoord, isNaN(highValue) ? xCoord : highCoord, yCoord);
193
192
  }
194
193
  if (hasHighCap && !shouldDrawHighErrorToLimit && this.parentSeries.drawWhiskers) {
195
194
  // top whiskers
196
- this.addLineVertices(highCoord, capStart, highCoord, capEnd);
195
+ this.addLineVertices(vertices, highCoord, capStart, highCoord, capEnd);
197
196
  }
198
197
  if (hasLowCap && !shouldDrawLowErrorToLimit && this.parentSeries.drawWhiskers) {
199
198
  // bottom whiskers
200
- this.addLineVertices(lowCoord, capStart, lowCoord, capEnd);
199
+ this.addLineVertices(vertices, lowCoord, capStart, lowCoord, capEnd);
201
200
  }
202
201
  }
203
202
  }
204
203
  // this.nativeDrawingProvider.DrawLinesVec(nativeContext, xValues, yValues, xCoordCalc, yCoordCalc, args);
205
- renderContext.drawLinesNative(this.vertices, linesPen, WebGlRenderContext2D_1.ELineDrawMode.DiscontinuousLine);
204
+ renderContext.drawLinesNative(vertices, linesPen, WebGlRenderContext2D_1.ELineDrawMode.DiscontinuousLine);
206
205
  };
207
206
  /**
208
207
  * @inheritDoc
@@ -224,28 +223,16 @@ var ErrorSeriesDrawingProvider = /** @class */ (function (_super) {
224
223
  (0, Pen2DCache_1.createPenInCache)(this.linesPenCache, stroke, strokeThickness, opacity, strokeDashArray);
225
224
  }
226
225
  };
227
- ErrorSeriesDrawingProvider.prototype.addLineVertices = function (x1, y1, x2, y2) {
226
+ ErrorSeriesDrawingProvider.prototype.addLineVertices = function (vertices, x1, y1, x2, y2) {
228
227
  var isVerticalChart = this.parentSeries.xAxis.isVerticalChart;
229
- var vertex1;
230
- var vertex2;
231
228
  if (isVerticalChart) {
232
- vertex1 = new this.webAssemblyContext.SCRTColorVertex(y1, x1);
233
- vertex2 = new this.webAssemblyContext.SCRTColorVertex(y2, x2);
229
+ vertices.push_back((0, NativeObject_1.getVertex)(this.webAssemblyContext, y1, x1));
230
+ vertices.push_back((0, NativeObject_1.getVertex)(this.webAssemblyContext, y2, x2));
234
231
  }
235
232
  else {
236
- vertex1 = new this.webAssemblyContext.SCRTColorVertex(x1, y1);
237
- vertex2 = new this.webAssemblyContext.SCRTColorVertex(x2, y2);
233
+ vertices.push_back((0, NativeObject_1.getVertex)(this.webAssemblyContext, x1, y1));
234
+ vertices.push_back((0, NativeObject_1.getVertex)(this.webAssemblyContext, x2, y2));
238
235
  }
239
- this.vertices.push_back(vertex1);
240
- this.vertices.push_back(vertex2);
241
- vertex1.delete();
242
- vertex2.delete();
243
- // this.xLineCoordinates.push_back(x1);
244
- // this.yLineCoordinates.push_back(x2);
245
- // this.xLineCoordinates.push_back(y1);
246
- // this.yLineCoordinates.push_back(y2);
247
- // this.xLineCoordinates.push_back(NaN);
248
- // this.yLineCoordinates.push_back(NaN);
249
236
  };
250
237
  return ErrorSeriesDrawingProvider;
251
238
  }(BaseSeriesDrawingProvider_1.BaseSeriesDrawingProvider));
@@ -1,9 +1,20 @@
1
- import { TSciChart } from "../../../../types/TSciChart";
2
- import { WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D";
1
+ import { SCRTDoubleVector, TSciChart } from "../../../../types/TSciChart";
2
+ import { ELineDrawMode, WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D";
3
+ import { IPointSeries } from "../../../Model/PointSeries/IPointSeries";
3
4
  import { RenderPassData } from "../../../Services/RenderPassData";
4
5
  import { TDpiChangedEventArgs } from "../../TextureManager/DpiHelper";
5
- import { BaseLineRenderableSeries } from "../BaseLineRenderableSeries";
6
+ import { BaseLineRenderableSeries, ELineType } from "../BaseLineRenderableSeries";
6
7
  import { BaseSeriesDrawingProvider } from "./BaseSeriesDrawingProvider";
8
+ export interface ILineSeriesDrawingProviderProperties {
9
+ stroke?: string;
10
+ strokeThickness?: number;
11
+ opacity?: number;
12
+ strokeDashArray?: number[];
13
+ isDigitalLine: boolean;
14
+ drawNaNAs: ELineDrawMode;
15
+ lineType: ELineType;
16
+ containsNaN: boolean;
17
+ }
7
18
  /**
8
19
  * Used internally - a drawing provider performs drawing for a {@link FastLineRenderableSeries} using
9
20
  * our WebAssembly WebGL rendering engine
@@ -18,7 +29,7 @@ export declare class LineSeriesDrawingProvider extends BaseSeriesDrawingProvider
18
29
  * access to our WebGL2 Engine and WebAssembly numerical methods
19
30
  * @param parentSeries the parent {@link FastLineRenderableSeries} which this drawing provider is attached to
20
31
  */
21
- constructor(webAssemblyContext: TSciChart, parentSeries: BaseLineRenderableSeries);
32
+ constructor(webAssemblyContext: TSciChart, parentSeries: BaseLineRenderableSeries, ySelector?: (ps: IPointSeries) => SCRTDoubleVector, xSelector?: (ps: IPointSeries) => SCRTDoubleVector);
22
33
  /**
23
34
  * @inheritDoc
24
35
  */
@@ -27,6 +38,8 @@ export declare class LineSeriesDrawingProvider extends BaseSeriesDrawingProvider
27
38
  * @inheritDoc
28
39
  */
29
40
  onSeriesPropertyChange(propertyName: string): void;
41
+ /** A mapping function to get the pen properties from the parent series */
42
+ getProperties(parentSeries: BaseLineRenderableSeries): ILineSeriesDrawingProviderProperties;
30
43
  /**
31
44
  * @inheritDoc
32
45
  */