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
@@ -197,7 +197,7 @@ var AxisRenderer = /** @class */ (function () {
197
197
  var width = Math.floor(viewRect.width);
198
198
  var height = Math.floor(viewRect.height);
199
199
  var tickSize = this.desiredTicksSize;
200
- var ctx = textureManager.getTextureContext(width, height);
200
+ var ctx;
201
201
  var padding = labelStyle.padding, alignment = labelStyle.alignment;
202
202
  if (isAxisFlipped) {
203
203
  tickCoords = tickCoords.reverse();
@@ -205,14 +205,48 @@ var AxisRenderer = /** @class */ (function () {
205
205
  }
206
206
  // for debug
207
207
  var labelRects = [];
208
+ var textColor = (0, parseColor_1.parseColorToUIntArgb)(labelStyle.color);
209
+ var nativeFont = labelProvider.useNativeText
210
+ ? renderContext.getFont(labelStyle, labelProvider.rotation !== 0)
211
+ : null;
212
+ var textBounds = labelProvider.useNativeText ? (0, NativeObject_1.getTextBounds)(this.webAssemblyContext) : null;
213
+ if (!nativeFont) {
214
+ // The clearRect in here is slow.
215
+ ctx = textureManager.getTextureContext(width, height);
216
+ }
217
+ var adjRotation = labelProvider.rotation;
218
+ if (adjRotation > 90)
219
+ adjRotation -= 180;
220
+ else if (adjRotation < -90)
221
+ adjRotation += 180;
222
+ var rotationRad = -(adjRotation * Math.PI) / 180;
208
223
  tickCoords = tickCoords.map(function (t) { return t - axisOffset; });
224
+ var multiLineAlignment = convertMultiLineAlignment(alignment, this.webAssemblyContext);
225
+ var lineHeight = 0;
226
+ if (nativeFont) {
227
+ nativeFont.CalculateStringBounds("Ag", textBounds, 0);
228
+ lineHeight = textBounds.GetLineBounds(0).m_fHeight;
229
+ }
209
230
  if ((0, AxisAlignment_1.getIsHorizontal)(axisAlignment)) {
210
- var tickSizes = tickLabels.map(function (label) { return labelProvider.getLabelWidth(ctx, label, labelStyle); });
211
- var _b = this.layoutLabels(width, tickCoords, tickSizes, isFlippedCoordinates, padding === null || padding === void 0 ? void 0 : padding.top, padding === null || padding === void 0 ? void 0 : padding.bottom), labelCoords = _b.labelCoords, labelIndexes = _b.labelIndexes;
231
+ var labelHeights = [];
232
+ var labelWidths = [];
233
+ if (!labelProvider.useCache && labelProvider.useNativeText) {
234
+ for (var _i = 0, tickLabels_1 = tickLabels; _i < tickLabels_1.length; _i++) {
235
+ var label = tickLabels_1[_i];
236
+ nativeFont.CalculateStringBounds(label !== null && label !== void 0 ? label : "", textBounds, 2);
237
+ labelHeights.push(textBounds.m_fHeight + labelStyle.padding.top + labelStyle.padding.bottom);
238
+ labelWidths.push(textBounds.m_fWidth + labelStyle.padding.left + labelStyle.padding.right);
239
+ }
240
+ }
241
+ else {
242
+ labelHeights = tickLabels.map(function (label) { return labelProvider.getLabelHeight(ctx, label, labelStyle); });
243
+ labelWidths = tickLabels.map(function (label) { return labelProvider.getLabelWidth(ctx, label, labelStyle); });
244
+ }
245
+ var _b = this.layoutLabels(width, tickCoords, labelWidths, isFlippedCoordinates, padding === null || padding === void 0 ? void 0 : padding.top, padding === null || padding === void 0 ? void 0 : padding.bottom), labelCoords = _b.labelCoords, labelIndexes = _b.labelIndexes;
212
246
  for (var index = 0; index < labelIndexes.length; index++) {
213
247
  var xCoord = labelCoords[index];
214
248
  var labelText = tickLabels[labelIndexes[index]];
215
- var labelHeight = labelProvider.getLabelHeight(ctx, labelText, labelStyle);
249
+ var labelHeight = labelHeights[labelIndexes[index]];
216
250
  var yCoord = 0;
217
251
  // Always align to the axis for horizontal
218
252
  if ((axisAlignment === AxisAlignment_1.EAxisAlignment.Bottom && !isInnerAxis) ||
@@ -223,14 +257,36 @@ var AxisRenderer = /** @class */ (function () {
223
257
  yCoord += height - labelHeight - tickSize;
224
258
  }
225
259
  if (this.drawDebug) {
226
- labelRects.push(Rect_1.Rect.create(xCoord, yCoord, tickSizes[labelIndexes[index]], labelHeight));
260
+ labelRects.push(Rect_1.Rect.create(xCoord, yCoord, labelWidths[labelIndexes[index]], labelHeight));
227
261
  }
228
262
  try {
229
- var _c = labelProvider.getCachedLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _c.bitmapTexture, textureHeight = _c.textureHeight, textureWidth = _c.textureWidth;
230
- if (bitmapTexture) {
231
- nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
232
- if (!labelProvider.useCache) {
233
- bitmapTexture.delete();
263
+ if (nativeFont) {
264
+ var tx = xCoord + viewRect.left + padding.left;
265
+ var ty = yCoord + viewRect.top + lineHeight - padding.bottom;
266
+ var rx = tx;
267
+ var ry = ty - lineHeight;
268
+ if (rotationRad !== 0) {
269
+ var _c = labelProvider.getNativeLabelInfo(labelText), textWidth = _c.textWidth, textHeight = _c.textHeight;
270
+ tx =
271
+ tickCoords[labelIndexes[index]] +
272
+ viewRect.left -
273
+ (textHeight * Math.sin(rotationRad)) / 2;
274
+ rx = tx;
275
+ if (rotationRad > 0) {
276
+ // rotating up
277
+ tx -= textWidth;
278
+ }
279
+ }
280
+ nativeFont.DrawStringAdvanced(labelText !== null && labelText !== void 0 ? labelText : "", textColor, Math.round(tx), Math.round(ty), (0, NativeObject_1.getVector4)(this.webAssemblyContext, rx, ry, rotationRad, 0), multiLineAlignment, 2 // TODO from labelProvider
281
+ );
282
+ }
283
+ else {
284
+ var _d = labelProvider.getCachedLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _d.bitmapTexture, textureHeight = _d.textureHeight, textureWidth = _d.textureWidth;
285
+ if (bitmapTexture) {
286
+ nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
287
+ if (!labelProvider.useCache) {
288
+ bitmapTexture.delete();
289
+ }
234
290
  }
235
291
  }
236
292
  }
@@ -241,23 +297,43 @@ var AxisRenderer = /** @class */ (function () {
241
297
  }
242
298
  }
243
299
  else {
244
- var tickSizes = tickLabels.map(function (label) { return labelProvider.getLabelHeight(ctx, label, labelStyle); });
245
- var _d = this.layoutLabels(height, tickCoords, tickSizes, isFlippedCoordinates, padding === null || padding === void 0 ? void 0 : padding.left, padding === null || padding === void 0 ? void 0 : padding.right), labelCoords = _d.labelCoords, labelIndexes = _d.labelIndexes;
300
+ var labelHeights = [];
301
+ var labelWidths = [];
302
+ if (!labelProvider.useCache && labelProvider.useNativeText) {
303
+ for (var _e = 0, tickLabels_2 = tickLabels; _e < tickLabels_2.length; _e++) {
304
+ var label = tickLabels_2[_e];
305
+ nativeFont.CalculateStringBounds(label !== null && label !== void 0 ? label : "", textBounds, 2);
306
+ labelHeights.push(textBounds.m_fHeight + labelStyle.padding.top + labelStyle.padding.bottom);
307
+ labelWidths.push(textBounds.m_fWidth + labelStyle.padding.left + labelStyle.padding.right);
308
+ }
309
+ }
310
+ else {
311
+ labelHeights = tickLabels.map(function (label) { return labelProvider.getLabelHeight(ctx, label, labelStyle); });
312
+ labelWidths = tickLabels.map(function (label) { return labelProvider.getLabelWidth(ctx, label, labelStyle); });
313
+ }
314
+ var _f = this.layoutLabels(height, tickCoords, labelHeights, isFlippedCoordinates, padding === null || padding === void 0 ? void 0 : padding.left, padding === null || padding === void 0 ? void 0 : padding.right), labelCoords = _f.labelCoords, labelIndexes = _f.labelIndexes;
246
315
  for (var index = 0; index < labelIndexes.length; index++) {
247
316
  var xCoord = 0;
248
317
  var labelText = tickLabels[labelIndexes[index]];
249
- var labelWidth = labelProvider.getLabelWidth(ctx, labelText, labelStyle);
318
+ var labelWidth = labelWidths[labelIndexes[index]];
250
319
  xCoord = this.adjustForLabelAlignment(xCoord, labelWidth, alignment, axisAlignment, isInnerAxis, width, tickSize);
251
320
  var yCoord = labelCoords[index];
252
321
  if (this.drawDebug) {
253
- labelRects.push(Rect_1.Rect.create(xCoord, yCoord, labelWidth, tickSizes[labelIndexes[index]]));
322
+ labelRects.push(Rect_1.Rect.create(xCoord, yCoord, labelWidth, labelHeights[labelIndexes[index]]));
254
323
  }
255
324
  try {
256
- var _e = labelProvider.getCachedLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _e.bitmapTexture, textureHeight = _e.textureHeight, textureWidth = _e.textureWidth;
257
- if (bitmapTexture) {
258
- nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
259
- if (!labelProvider.useCache) {
260
- bitmapTexture.delete();
325
+ if (nativeFont) {
326
+ var tx = xCoord + viewRect.left + padding.left;
327
+ var ty = yCoord + viewRect.top + lineHeight - padding.bottom;
328
+ nativeFont.DrawStringAdvanced(labelText !== null && labelText !== void 0 ? labelText : "", textColor, Math.round(tx), Math.round(ty), (0, NativeObject_1.getVector4)(this.webAssemblyContext, tx, ty, rotationRad, 0), multiLineAlignment, 2);
329
+ }
330
+ else {
331
+ var _g = labelProvider.getCachedLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _g.bitmapTexture, textureHeight = _g.textureHeight, textureWidth = _g.textureWidth;
332
+ if (bitmapTexture) {
333
+ nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
334
+ if (!labelProvider.useCache) {
335
+ bitmapTexture.delete();
336
+ }
261
337
  }
262
338
  }
263
339
  }
@@ -445,7 +521,7 @@ var AxisRenderer = /** @class */ (function () {
445
521
  var nativeRect = (0, createNativeRect_1.createNativeRect)(this.webAssemblyContext, rect.left, rect.top, rect.right, rect.bottom);
446
522
  vecRects.push_back(nativeRect);
447
523
  }
448
- renderContext.drawRects(vecRects, brush, this.viewRect.left, this.viewRect.top);
524
+ renderContext.drawRects(vecRects, brush, axisRect.left, axisRect.top);
449
525
  brush.delete();
450
526
  };
451
527
  return AxisRenderer;
@@ -508,3 +584,21 @@ var layoutLabelsHelper = function (keepLabelsWithinAxis, hideOverlappingLabels,
508
584
  return { labelCoords: labelCoords, labelIndexes: labelIndexes };
509
585
  };
510
586
  exports.layoutLabelsHelper = layoutLabelsHelper;
587
+ var convertMultiLineAlignment = function (multiLineAlignment, webAssemblyContext) {
588
+ var alignMode = webAssemblyContext.eTSRTextAlignMode.Left;
589
+ switch (multiLineAlignment) {
590
+ case LabelAlignment_1.ELabelAlignment.Left:
591
+ alignMode = webAssemblyContext.eTSRTextAlignMode.Left;
592
+ break;
593
+ case LabelAlignment_1.ELabelAlignment.Right:
594
+ alignMode = webAssemblyContext.eTSRTextAlignMode.Right;
595
+ break;
596
+ case LabelAlignment_1.ELabelAlignment.Center:
597
+ alignMode = webAssemblyContext.eTSRTextAlignMode.Center;
598
+ break;
599
+ default:
600
+ alignMode = webAssemblyContext.eTSRTextAlignMode.Left;
601
+ break;
602
+ }
603
+ return alignMode;
604
+ };
@@ -36,8 +36,9 @@ var CategoryAxis = /** @class */ (function (_super) {
36
36
  * @param options Optional parameters of type {@link ICategoryAxisOptions} used to configure the axis at instantiation time
37
37
  */
38
38
  function CategoryAxis(webAssemblyContext, options) {
39
+ var _this = this;
39
40
  var _a;
40
- var _this = _super.call(this, webAssemblyContext, options) || this;
41
+ _this = _super.call(this, webAssemblyContext, options) || this;
41
42
  _this.type = AxisType_1.EAxisType.CategoryAxis;
42
43
  _this.labelProvider =
43
44
  (_a = options === null || options === void 0 ? void 0 : options.labelProvider) !== null && _a !== void 0 ? _a : new DateLabelProvider_1.DateLabelProvider(options);
@@ -27,17 +27,6 @@ export interface ICategoryAxisBaseOptions extends IAxisBase2dOptions, ILabel2DOp
27
27
  * @summary A 2D Chart Category Axis Base type
28
28
  */
29
29
  export declare abstract class CategoryAxisBase extends AxisBase2D {
30
- private defaultXValuesProperty;
31
- private defaultXStartProperty;
32
- private defaultXStepProperty;
33
- private defaultBaseXValues;
34
- /**
35
- * Creates an instance of a {@link CategoryAxisBase}
36
- * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
37
- * access to our WebGL2 Engine and WebAssembly numerical methods
38
- * @param options Optional parameters of type {@link ICategoryAxisBaseOptions} used to configure the axis at instantiation time
39
- */
40
- constructor(webAssemblyContext: TSciChart, options?: ICategoryAxisBaseOptions);
41
30
  /**
42
31
  * @inheritDoc
43
32
  */
@@ -74,10 +63,25 @@ export declare abstract class CategoryAxisBase extends AxisBase2D {
74
63
  * The step size for default x values. See defaultXValues
75
64
  */
76
65
  set defaultXStep(value: number);
66
+ private defaultXValuesProperty;
67
+ private defaultXStartProperty;
68
+ private defaultXStepProperty;
69
+ private defaultBaseXValues;
70
+ /**
71
+ * Creates an instance of a {@link CategoryAxisBase}
72
+ * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
73
+ * access to our WebGL2 Engine and WebAssembly numerical methods
74
+ * @param options Optional parameters of type {@link ICategoryAxisBaseOptions} used to configure the axis at instantiation time
75
+ */
76
+ constructor(webAssemblyContext: TSciChart, options?: ICategoryAxisBaseOptions);
77
77
  /**
78
78
  * @inheritDoc
79
79
  */
80
80
  prepareRenderData(): void;
81
+ /**
82
+ * @inheritDoc
83
+ */
84
+ delete(): void;
81
85
  /**
82
86
  * @inheritDoc
83
87
  */
@@ -89,8 +93,4 @@ export declare abstract class CategoryAxisBase extends AxisBase2D {
89
93
  protected getMaxAutoTicks(): number;
90
94
  private generateDefaultXValuesForCategoryAxis;
91
95
  private setBaseXValues;
92
- /**
93
- * @inheritDoc
94
- */
95
- delete(): void;
96
96
  }
@@ -37,8 +37,9 @@ var CategoryAxisBase = /** @class */ (function (_super) {
37
37
  * @param options Optional parameters of type {@link ICategoryAxisBaseOptions} used to configure the axis at instantiation time
38
38
  */
39
39
  function CategoryAxisBase(webAssemblyContext, options) {
40
+ var _this = this;
40
41
  var _a, _b, _c;
41
- var _this = _super.call(this, webAssemblyContext, options) || this;
42
+ _this = _super.call(this, webAssemblyContext, options) || this;
42
43
  _this.defaultXValuesProperty = [];
43
44
  _this.defaultXStartProperty = 0;
44
45
  _this.defaultXStepProperty = 1;
@@ -134,6 +135,13 @@ var CategoryAxisBase = /** @class */ (function (_super) {
134
135
  this.setBaseXValues(coordCalc, renderableSeries);
135
136
  this.coordCalcCache = coordCalc;
136
137
  };
138
+ /**
139
+ * @inheritDoc
140
+ */
141
+ CategoryAxisBase.prototype.delete = function () {
142
+ _super.prototype.delete.call(this);
143
+ this.defaultBaseXValues = (0, Deleter_1.deleteSafe)(this.defaultBaseXValues);
144
+ };
137
145
  /**
138
146
  * @inheritDoc
139
147
  */
@@ -142,12 +150,13 @@ var CategoryAxisBase = /** @class */ (function (_super) {
142
150
  var min = this.visibleRange.min;
143
151
  var max = this.visibleRange.max;
144
152
  var size = this.axisLength;
145
- var shouldFlip = !(this.isXAxis !== this.flippedCoordinates);
146
153
  var scs = this.parentSurface;
147
154
  var renderableSeries = scs.renderableSeries.asArray().find(function (rs) { return rs.xAxisId === _this.id; });
148
- var coordCalc = shouldFlip
149
- ? new FlippedCategoryCoordinateCalculator_1.FlippedCategoryCoordinateCalculator(this.webAssemblyContext2D, size, 0, 0, min, max, this.offset)
150
- : new CategoryCoordinateCalculator_1.CategoryCoordinateCalculator(this.webAssemblyContext2D, size, 0, 0, min, max, this.offset);
155
+ // For reasons passing understanding, the native Category Coord Calculators operate in reverse to the linear ones
156
+ // The order is switched so they match the values of shouldFlipCC
157
+ var coordCalc = this.isXAxis !== this.flippedCoordinates
158
+ ? new CategoryCoordinateCalculator_1.CategoryCoordinateCalculator(this.webAssemblyContext2D, size, 0, 0, min, max, this.offset)
159
+ : new FlippedCategoryCoordinateCalculator_1.FlippedCategoryCoordinateCalculator(this.webAssemblyContext2D, size, 0, 0, min, max, this.offset);
151
160
  this.setBaseXValues(coordCalc, renderableSeries);
152
161
  return coordCalc;
153
162
  };
@@ -220,13 +229,6 @@ var CategoryAxisBase = /** @class */ (function (_super) {
220
229
  coordCalc.baseXValues = renderableSeries.dataSeries.getNativeXValues();
221
230
  }
222
231
  };
223
- /**
224
- * @inheritDoc
225
- */
226
- CategoryAxisBase.prototype.delete = function () {
227
- _super.prototype.delete.call(this);
228
- this.defaultBaseXValues = (0, Deleter_1.deleteSafe)(this.defaultBaseXValues);
229
- };
230
232
  return CategoryAxisBase;
231
233
  }(AxisBase2D_1.AxisBase2D));
232
234
  exports.CategoryAxisBase = CategoryAxisBase;
@@ -22,8 +22,9 @@ var NumericAxis_1 = require("./NumericAxis");
22
22
  var DateTimeNumericAxis = /** @class */ (function (_super) {
23
23
  __extends(DateTimeNumericAxis, _super);
24
24
  function DateTimeNumericAxis(webAssemblyContext, options) {
25
+ var _this = this;
25
26
  var _a;
26
- var _this = _super.call(this, webAssemblyContext, options) || this;
27
+ _this = _super.call(this, webAssemblyContext, options) || this;
27
28
  _this.labelProvider = (_a = options === null || options === void 0 ? void 0 : options.labelProvider) !== null && _a !== void 0 ? _a : new SmartDateLabelProvider_1.SmartDateLabelProvider();
28
29
  _this.deltaCalculator = new DateTimeDeltaCalculator_1.DateTimeDeltaCalculator(webAssemblyContext, {
29
30
  possibleDeltas: options === null || options === void 0 ? void 0 : options.possibleDeltas,
@@ -25,8 +25,9 @@ var NumericDeltaCalculator_1 = require("./NumericDeltaCalculator");
25
25
  var DateTimeDeltaCalculator = /** @class */ (function (_super) {
26
26
  __extends(DateTimeDeltaCalculator, _super);
27
27
  function DateTimeDeltaCalculator(webAssemblyContext, options) {
28
+ var _this = this;
28
29
  var _a;
29
- var _this = _super.call(this, webAssemblyContext) || this;
30
+ _this = _super.call(this, webAssemblyContext) || this;
30
31
  _this.possibleDeltasProperty = [
31
32
  1,
32
33
  2,
@@ -41,8 +41,9 @@ var DateLabelProvider = /** @class */ (function (_super) {
41
41
  * @param options Optional parameters of type {@link ILabelOptions} used to configure the axis at instantiation time
42
42
  */
43
43
  function DateLabelProvider(options) {
44
+ var _this = this;
44
45
  var _a, _b;
45
- var _this = _super.call(this, __assign({ labelFormat: (_a = options === null || options === void 0 ? void 0 : options.labelFormat) !== null && _a !== void 0 ? _a : NumericFormat_1.ENumericFormat.Date_DDMMYYYY, cursorLabelFormat: (_b = options === null || options === void 0 ? void 0 : options.cursorLabelFormat) !== null && _b !== void 0 ? _b : NumericFormat_1.ENumericFormat.Date_DDMMYYYY }, options)) || this;
46
+ _this = _super.call(this, __assign({ labelFormat: (_a = options === null || options === void 0 ? void 0 : options.labelFormat) !== null && _a !== void 0 ? _a : NumericFormat_1.ENumericFormat.Date_DDMMYYYY, cursorLabelFormat: (_b = options === null || options === void 0 ? void 0 : options.cursorLabelFormat) !== null && _b !== void 0 ? _b : NumericFormat_1.ENumericFormat.Date_DDMMYYYY }, options)) || this;
46
47
  _this.type = LabelProviderType_1.ELabelProviderType.Date;
47
48
  _this.formatLabelProperty = function (dataValue) {
48
49
  return _this.applyFormat((0, number_1.formatNumber)(dataValue, _this.numericFormat, _this.precision));
@@ -68,6 +68,8 @@ var clearCacheByStyle = function (styleId) {
68
68
  var keyStr = _a[_i];
69
69
  var _b = parseCacheKey(keyStr), text = _b.text, keyStyleId = _b.styleId;
70
70
  if (keyStyleId === styleId) {
71
+ var label = labelCacheByTextAndStyle.get(keyStr);
72
+ (0, Deleter_1.deleteSafe)(label.bitmapTexture);
71
73
  labelCacheByTextAndStyle.delete(keyStr);
72
74
  }
73
75
  }
@@ -8,6 +8,8 @@ export declare class LabelInfo {
8
8
  tick: number;
9
9
  text: string;
10
10
  bitmapTexture: TSRTexture;
11
+ textWidth: number;
12
+ textHeight: number;
11
13
  textureHeight: number;
12
14
  textureWidth: number;
13
15
  lastUsed: number;
@@ -29,6 +31,10 @@ export interface ILabel2DOptions extends ILabelOptions {
29
31
  * You may need to set this false if you are overriding getLabelTexture or getLabelTextureAsync without setting a unique style.
30
32
  */
31
33
  useSharedCache?: boolean;
34
+ /**
35
+ * Experimental - set true to use native text for axes. Not all text features currently supported
36
+ */
37
+ useNativeText?: boolean;
32
38
  }
33
39
  /**
34
40
  * The {@link LabelProviderBase2D} provides base functionality for 2D label providers, including caching of label textures
@@ -45,7 +51,13 @@ export declare abstract class LabelProviderBase2D extends LabelProvider implemen
45
51
  * Can be set globally using SciChartDefaults. Currently default false.
46
52
  */
47
53
  asyncLabels: boolean;
54
+ /**
55
+ * Experimental - set true to use native text for axes. Not all text features currently supported
56
+ */
57
+ useNativeText: boolean;
48
58
  protected tickToText: Map<number, string>;
59
+ /** Set this true if the format function could return different results for the same input (eg SmartDateLabelprovider) */
60
+ protected textVariesForSameTick: boolean;
49
61
  /**
50
62
  * This is the id for the text style used by this axis, as stored in the label cache. Cached labels are accessed by text and styleId.
51
63
  * If you have useSharedCache = true and are overriding getLabelTexture or getLabelTextureAsync and do not ensure the style is unique,
@@ -116,11 +128,13 @@ export declare abstract class LabelProviderBase2D extends LabelProvider implemen
116
128
  * otherwise other axes using the same style and text may see your custom texture. Alternatively you can override getCachedStyle or set styleId directly
117
129
  */
118
130
  getLabelTexture(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): TTextureObject;
131
+ getNativeLabelInfo(labelText: string): LabelInfo;
119
132
  delete(): void;
120
133
  toJSON(): {
121
134
  type: string;
122
135
  options: Required<Omit<ILabelOptions, never>>;
123
136
  };
137
+ protected getLabelSizesNative(labels: string[], textStyle: TTextStyle): void;
124
138
  protected providerId: string;
125
139
  /**
126
140
  * This method creates the text style to be stored in the label cache.