scichart 2.2.2417 → 3.0.0-beta.224

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/Builder/buildDataSeries.d.ts +16 -1
  2. package/Builder/buildDataSeries.js +24 -1
  3. package/Builder/buildSeries.d.ts +60 -3
  4. package/Builder/buildSeries.js +28 -1
  5. package/Builder/buildSurface.d.ts +28 -2
  6. package/Builder/buildSurface.js +53 -31
  7. package/Builder/chartBuilder.d.ts +20 -7
  8. package/Builder/chartBuilder.js +37 -3
  9. package/Charting/ChartModifiers/ChartModifierBase.d.ts +21 -0
  10. package/Charting/ChartModifiers/ChartModifierBase.js +12 -0
  11. package/Charting/ChartModifiers/ChartModifierBase2D.js +2 -1
  12. package/Charting/ChartModifiers/CursorModifier.d.ts +83 -10
  13. package/Charting/ChartModifiers/CursorModifier.js +147 -58
  14. package/Charting/ChartModifiers/DataPointSelectionModifier.js +2 -1
  15. package/Charting/ChartModifiers/LegendModifier.js +2 -1
  16. package/Charting/ChartModifiers/ModifierMouseArgs.d.ts +6 -1
  17. package/Charting/ChartModifiers/ModifierMouseArgs.js +13 -3
  18. package/Charting/ChartModifiers/MouseWheelZoomModifier.d.ts +2 -2
  19. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +16 -4
  20. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +2 -1
  21. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +8 -4
  22. package/Charting/ChartModifiers/PinchZoomModifier.js +2 -1
  23. package/Charting/ChartModifiers/RolloverModifier.d.ts +40 -0
  24. package/Charting/ChartModifiers/RolloverModifier.js +40 -3
  25. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +2 -1
  26. package/Charting/ChartModifiers/SeriesSelectionModifier.js +2 -1
  27. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  28. package/Charting/ChartModifiers/XAxisDragModifier.js +2 -1
  29. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  30. package/Charting/ChartModifiers/YAxisDragModifier.js +2 -1
  31. package/Charting/ChartModifiers/ZoomExtentsModifier.js +2 -1
  32. package/Charting/ChartModifiers/ZoomPanModifier.js +2 -1
  33. package/Charting/ChartModifiers/constants.d.ts +3 -1
  34. package/Charting/ChartModifiers/constants.js +2 -0
  35. package/Charting/Drawing/BatchRenderContext.d.ts +6 -0
  36. package/Charting/Drawing/BatchRenderContext.js +40 -0
  37. package/Charting/Drawing/RenderSurface.d.ts +2 -1
  38. package/Charting/Drawing/RenderSurface.js +3 -2
  39. package/Charting/Drawing/WebGlRenderContext2D.d.ts +19 -4
  40. package/Charting/Drawing/WebGlRenderContext2D.js +70 -41
  41. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.js +2 -1
  42. package/Charting/LayoutManager/BottomAlignedInnerAxisLayoutStrategy.js +1 -1
  43. package/Charting/LayoutManager/CentralAxesLayoutManager.js +2 -1
  44. package/Charting/LayoutManager/LayoutManager.d.ts +2 -1
  45. package/Charting/LayoutManager/LayoutManager.js +6 -5
  46. package/Charting/LayoutManager/LeftAlignedInnerAxisLayoutStrategy.js +1 -1
  47. package/Charting/LayoutManager/RightAlignedInnerAxisLayoutStrategy.js +1 -1
  48. package/Charting/LayoutManager/TopAlignedInnerAxisLayoutStrategy.js +1 -1
  49. package/Charting/Model/BaseDataSeries.d.ts +10 -1
  50. package/Charting/Model/BaseDataSeries.js +9 -8
  51. package/Charting/Model/BaseHeatmapDataSeries.d.ts +18 -5
  52. package/Charting/Model/BaseHeatmapDataSeries.js +21 -13
  53. package/Charting/Model/ChartData/SeriesInfo.d.ts +6 -0
  54. package/Charting/Model/ChartData/SeriesInfo.js +5 -0
  55. package/Charting/Model/ChartData/XyySeriesInfo.d.ts +2 -0
  56. package/Charting/Model/ChartData/XyySeriesInfo.js +2 -0
  57. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +4 -3
  58. package/Charting/Model/Filters/HlcCustomFilter.js +12 -9
  59. package/Charting/Model/Filters/HlcFilterBase.js +2 -1
  60. package/Charting/Model/Filters/HlcScaleOffsetFilter.js +2 -1
  61. package/Charting/Model/Filters/OhlcCustomFilter.js +12 -9
  62. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +2 -1
  63. package/Charting/Model/Filters/XyCustomFilter.js +12 -9
  64. package/Charting/Model/Filters/XyFilterBase.d.ts +14 -5
  65. package/Charting/Model/Filters/XyFilterBase.js +47 -15
  66. package/Charting/Model/Filters/XyMovingAverageFilter.js +2 -1
  67. package/Charting/Model/Filters/XyRatioFilter.js +2 -1
  68. package/Charting/Model/Filters/XyScaleOffsetFilter.js +2 -1
  69. package/Charting/Model/Filters/XyyCustomFilter.js +12 -9
  70. package/Charting/Model/Filters/XyyFilterBase.js +2 -1
  71. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +2 -1
  72. package/Charting/Model/Filters/XyzCustomFilter.js +12 -9
  73. package/Charting/Model/Filters/XyzFilterBase.js +2 -1
  74. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +2 -1
  75. package/Charting/Model/IDataSeries.d.ts +9 -1
  76. package/Charting/Model/IDataSeries.js +8 -0
  77. package/Charting/Model/NonUniformHeatmapDataSeries.d.ts +112 -0
  78. package/Charting/Model/NonUniformHeatmapDataSeries.js +261 -0
  79. package/Charting/Model/PaletteFactory.d.ts +40 -4
  80. package/Charting/Model/PaletteFactory.js +37 -11
  81. package/Charting/Model/XyTextDataSeries.d.ts +121 -0
  82. package/Charting/Model/XyTextDataSeries.js +274 -0
  83. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +1 -1
  84. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +1 -1
  85. package/Charting/Services/RenderPassData.d.ts +15 -5
  86. package/Charting/Services/RenderPassData.js +27 -5
  87. package/Charting/Services/SciChartRenderer.d.ts +2 -1
  88. package/Charting/Services/SciChartRenderer.js +92 -29
  89. package/Charting/Themes/IThemeProvider.d.ts +61 -0
  90. package/Charting/Themes/IThemeProvider.js +67 -1
  91. package/Charting/Themes/SciChartJSDarkTheme.d.ts +4 -0
  92. package/Charting/Themes/SciChartJSDarkTheme.js +6 -2
  93. package/Charting/Themes/SciChartJSDarkv2Theme.js +3 -0
  94. package/Charting/Themes/SciChartJSLightTheme.d.ts +8 -0
  95. package/Charting/Themes/SciChartJSLightTheme.js +8 -0
  96. package/Charting/Themes/SciChartJsNavyTheme.d.ts +10 -0
  97. package/Charting/Themes/SciChartJsNavyTheme.js +49 -0
  98. package/Charting/Visuals/Annotations/AdornerLayer.js +4 -8
  99. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +80 -7
  100. package/Charting/Visuals/Annotations/AnnotationBase.js +238 -28
  101. package/Charting/Visuals/Annotations/AnnotationClickEventArgs.d.ts +11 -0
  102. package/Charting/Visuals/Annotations/AnnotationClickEventArgs.js +12 -0
  103. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +1 -0
  104. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +18 -19
  105. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -0
  106. package/Charting/Visuals/Annotations/BoxAnnotation.js +69 -67
  107. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +2 -2
  108. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +20 -20
  109. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  110. package/Charting/Visuals/Annotations/CustomAnnotation.js +3 -2
  111. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +6 -3
  112. package/Charting/Visuals/Annotations/IAdornerProvider.d.ts +12 -0
  113. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -0
  114. package/Charting/Visuals/Annotations/IAnnotation.js +9 -0
  115. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -0
  116. package/Charting/Visuals/Annotations/LineAnnotation.js +29 -35
  117. package/Charting/Visuals/Annotations/NativeTextAnnotation.d.ts +193 -0
  118. package/Charting/Visuals/Annotations/NativeTextAnnotation.js +536 -0
  119. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.d.ts +4 -2
  120. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +19 -14
  121. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.d.ts +2 -2
  122. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.js +9 -8
  123. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.d.ts +2 -2
  124. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +6 -6
  125. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.d.ts +2 -2
  126. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +16 -17
  127. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +13 -2
  128. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +34 -42
  129. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +2 -2
  130. package/Charting/Visuals/Annotations/TextAnnotation.js +41 -22
  131. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +6 -3
  132. package/Charting/Visuals/Annotations/annotationHelpers.d.ts +6 -6
  133. package/Charting/Visuals/Annotations/annotationHelpers.js +7 -6
  134. package/Charting/Visuals/Annotations/constants.d.ts +13 -1
  135. package/Charting/Visuals/Annotations/constants.js +12 -0
  136. package/Charting/Visuals/Axis/AxisBase2D.d.ts +24 -4
  137. package/Charting/Visuals/Axis/AxisBase2D.js +115 -38
  138. package/Charting/Visuals/Axis/AxisCore.d.ts +10 -5
  139. package/Charting/Visuals/Axis/AxisCore.js +11 -10
  140. package/Charting/Visuals/Axis/AxisRenderer.js +114 -20
  141. package/Charting/Visuals/Axis/CategoryAxis.js +2 -1
  142. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +15 -15
  143. package/Charting/Visuals/Axis/CategoryAxisBase.js +14 -12
  144. package/Charting/Visuals/Axis/DateTimeNumericAxis.js +2 -1
  145. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +2 -1
  146. package/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.js +2 -1
  147. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +2 -0
  148. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +14 -0
  149. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +140 -33
  150. package/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.js +2 -1
  151. package/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.js +2 -1
  152. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +2 -1
  153. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.d.ts +31 -1
  154. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +64 -42
  155. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +2 -2
  156. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.js +16 -19
  157. package/Charting/Visuals/Axis/LogarithmicAxis.js +9 -6
  158. package/Charting/Visuals/Axis/NumericAxis.js +3 -3
  159. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  160. package/Charting/Visuals/Axis/constants.js +1 -0
  161. package/Charting/Visuals/HeatmapLegend.d.ts +95 -0
  162. package/Charting/Visuals/HeatmapLegend.js +192 -0
  163. package/Charting/Visuals/Helpers/NativeObject.d.ts +15 -2
  164. package/Charting/Visuals/Helpers/NativeObject.js +72 -6
  165. package/Charting/Visuals/I2DSurfaceOptions.d.ts +46 -0
  166. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +5 -0
  167. package/Charting/Visuals/PointMarkers/BasePointMarker.js +28 -0
  168. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +8 -0
  169. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +2 -1
  170. package/Charting/Visuals/RenderableSeries/Animations/BandAnimationStyle.js +2 -1
  171. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +2 -1
  172. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.js +2 -1
  173. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimationStyle.js +2 -1
  174. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +2 -1
  175. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimationStyle.js +2 -1
  176. package/Charting/Visuals/RenderableSeries/Animations/CustomPointMarkerStyle.js +2 -1
  177. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +2 -1
  178. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +2 -1
  179. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +2 -1
  180. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimationStyle.js +2 -1
  181. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +2 -1
  182. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimationStyle.js +2 -1
  183. package/Charting/Visuals/RenderableSeries/Animations/PointMarkerStyle.js +2 -1
  184. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +2 -1
  185. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +2 -1
  186. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +8 -2
  187. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +3 -3
  188. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +2 -1
  189. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +7 -0
  190. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +42 -10
  191. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +128 -0
  192. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +201 -0
  193. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +26 -0
  194. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +39 -3
  195. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +7 -0
  196. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +17 -2
  197. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +2 -0
  198. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +15 -2
  199. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +10 -0
  200. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +93 -17
  201. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +8 -1
  202. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +21 -1
  203. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +1 -0
  204. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +4 -0
  205. package/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.d.ts +43 -0
  206. package/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.js +142 -0
  207. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +92 -0
  208. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +129 -0
  209. package/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.d.ts +17 -0
  210. package/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.js +62 -0
  211. package/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.d.ts +47 -0
  212. package/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.js +125 -0
  213. package/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.d.ts +71 -0
  214. package/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.js +221 -0
  215. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelLayoutManager.d.ts +5 -0
  216. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelLayoutManager.js +2 -0
  217. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.d.ts +208 -0
  218. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +410 -0
  219. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +40 -0
  220. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +141 -0
  221. package/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.d.ts +63 -0
  222. package/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.js +198 -0
  223. package/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.d.ts +35 -0
  224. package/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.js +92 -0
  225. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.d.ts +12 -0
  226. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +134 -0
  227. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.d.ts +56 -0
  228. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +167 -0
  229. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +0 -1
  230. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +1 -2
  231. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +5 -2
  232. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +47 -40
  233. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +1 -1
  234. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  235. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +18 -5
  236. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.d.ts +0 -1
  237. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.js +14 -27
  238. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +17 -4
  239. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +34 -11
  240. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.d.ts +36 -0
  241. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +493 -0
  242. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +5 -2
  243. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +8 -5
  244. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +4 -4
  245. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +3 -0
  246. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +15 -4
  247. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +2 -1
  248. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +21 -0
  249. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +40 -4
  250. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.d.ts +2 -0
  251. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +18 -3
  252. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +36 -2
  253. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +77 -8
  254. package/Charting/Visuals/RenderableSeries/FastErrorBarsRenderableSeries.js +2 -1
  255. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.d.ts +7 -0
  256. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.js +16 -4
  257. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +2 -1
  258. package/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.js +2 -1
  259. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +2 -1
  260. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +17 -0
  261. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +45 -0
  262. package/Charting/Visuals/RenderableSeries/HeatmapColorMap.js +3 -2
  263. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +35 -5
  264. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +17 -1
  265. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +8 -0
  266. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +7 -1
  267. package/Charting/Visuals/RenderableSeries/HitTest/NonUniformHeatmapHitTestProvider.d.ts +20 -0
  268. package/Charting/Visuals/RenderableSeries/HitTest/NonUniformHeatmapHitTestProvider.js +86 -0
  269. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.d.ts +6 -0
  270. package/Charting/Visuals/RenderableSeries/HitTest/TextSeriesHitTestProvider.js +56 -0
  271. package/Charting/Visuals/RenderableSeries/HitTest/UniformHeatmapHitTestProvider.js +1 -1
  272. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +7 -1
  273. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +34 -2
  274. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +6 -1
  275. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +12 -0
  276. package/Charting/Visuals/RenderableSeries/NonUniformHeatmapRenderableSeries.d.ts +74 -0
  277. package/Charting/Visuals/RenderableSeries/NonUniformHeatmapRenderableSeries.js +99 -0
  278. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +2 -2
  279. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +2 -1
  280. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +2 -3
  281. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +2 -1
  282. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +2 -1
  283. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +2 -1
  284. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.d.ts +3 -0
  285. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +13 -2
  286. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -1
  287. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +7 -0
  288. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +33 -9
  289. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  290. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +7 -1
  291. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +2 -75
  292. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +8 -130
  293. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -0
  294. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +7 -1
  295. package/Charting/Visuals/RenderableSeries/constants.d.ts +5 -1
  296. package/Charting/Visuals/RenderableSeries/constants.js +4 -0
  297. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +3 -3
  298. package/Charting/Visuals/SciChartDefaults.d.ts +4 -0
  299. package/Charting/Visuals/SciChartDefaults.js +4 -0
  300. package/Charting/Visuals/SciChartOverview.js +5 -3
  301. package/Charting/Visuals/SciChartPieSurface/PieSegment/IPieSegment.d.ts +4 -0
  302. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.d.ts +13 -0
  303. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +22 -4
  304. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.d.ts +2 -1
  305. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.js +1 -0
  306. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +5 -0
  307. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +17 -19
  308. package/Charting/Visuals/SciChartSurface.d.ts +225 -7
  309. package/Charting/Visuals/SciChartSurface.js +782 -28
  310. package/Charting/Visuals/SciChartSurfaceBase.d.ts +16 -1
  311. package/Charting/Visuals/SciChartSurfaceBase.js +34 -2
  312. package/Charting/Visuals/TextureManager/CanvasTexture.js +1 -1
  313. package/Charting/Visuals/TextureManager/DpiHelper.js +3 -7
  314. package/Charting/Visuals/TextureManager/TextureManager.d.ts +11 -0
  315. package/Charting/Visuals/TextureManager/TextureManager.js +37 -1
  316. package/Charting/Visuals/createMaster.js +7 -10
  317. package/Charting/Visuals/createSingle.js +2 -0
  318. package/Charting/Visuals/licenseManager2D.js +9 -9
  319. package/Charting/Visuals/sciChartInitCommon.js +16 -12
  320. package/Charting3D/CameraController.d.ts +5 -0
  321. package/Charting3D/CameraController.js +6 -0
  322. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +2 -1
  323. package/Charting3D/Visuals/Axis/AxisBase3D.js +7 -5
  324. package/Charting3D/Visuals/Axis/NumericAxis3D.js +2 -1
  325. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +4 -0
  326. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +7 -0
  327. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +6 -4
  328. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +7 -2
  329. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +3 -2
  330. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.d.ts +0 -5
  331. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.js +12 -11
  332. package/Charting3D/Visuals/SciChart3DSurface.d.ts +2 -2
  333. package/Charting3D/Visuals/SciChart3DSurface.js +18 -11
  334. package/Charting3D/Visuals/createMaster3d.js +10 -18
  335. package/Charting3D/Visuals/createSingle3d.js +12 -10
  336. package/Core/Animations/GenericAnimation.d.ts +2 -0
  337. package/Core/Animations/GenericAnimation.js +3 -0
  338. package/Core/Animations/NumberRangeAnimator.js +7 -2
  339. package/Core/BuildStamp.d.ts +1 -1
  340. package/Core/BuildStamp.js +2 -2
  341. package/Core/Mouse/MouseManager.d.ts +20 -0
  342. package/Core/Mouse/MouseManager.js +199 -30
  343. package/README.md +91 -403
  344. package/_wasm/scichart.browser.js +1 -1
  345. package/_wasm/scichart2d.data +0 -0
  346. package/_wasm/scichart2d.js +280 -267
  347. package/_wasm/scichart2d.wasm +0 -0
  348. package/_wasm/scichart3d.data +0 -0
  349. package/_wasm/scichart3d.js +280 -268
  350. package/_wasm/scichart3d.wasm +0 -0
  351. package/constants/performanceWarnings.d.ts +2 -0
  352. package/constants/performanceWarnings.js +3 -1
  353. package/package.json +2 -2
  354. package/types/AutoColorMode.d.ts +9 -0
  355. package/types/AutoColorMode.js +13 -0
  356. package/types/BaseType.d.ts +3 -1
  357. package/types/BaseType.js +2 -0
  358. package/types/DataLabelProviderType.d.ts +15 -0
  359. package/types/DataLabelProviderType.js +19 -0
  360. package/types/DataLabelSkipMode.d.ts +21 -0
  361. package/types/DataLabelSkipMode.js +25 -0
  362. package/types/DefaultRenderLayer.d.ts +10 -0
  363. package/types/DefaultRenderLayer.js +14 -0
  364. package/types/SeriesType.d.ts +7 -1
  365. package/types/SeriesType.js +6 -0
  366. package/types/SvgClippingMode.d.ts +17 -0
  367. package/types/SvgClippingMode.js +21 -0
  368. package/types/TDataLabelStyle.d.ts +16 -0
  369. package/types/TDataLabelStyle.js +2 -0
  370. package/types/TSciChart.d.ts +214 -118
  371. package/types/TSciChart3D.d.ts +104 -70
  372. package/types/TextPosition.d.ts +17 -0
  373. package/types/TextPosition.js +39 -0
  374. package/types/ThemeProviderType.d.ts +3 -1
  375. package/types/ThemeProviderType.js +2 -0
  376. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +10 -1
  377. package/utils/ccall/appendDoubleVectorFromJsArray.js +24 -1
  378. package/utils/memoize.d.ts +1 -0
  379. package/utils/memoize.js +26 -0
  380. package/utils/number.d.ts +1 -0
  381. package/utils/number.js +5 -1
  382. package/utils/parseColor.d.ts +2 -0
  383. package/utils/parseColor.js +3 -3
  384. package/utils/text.d.ts +5 -0
  385. package/utils/text.js +48 -0
  386. package/utils/translate.d.ts +8 -0
  387. package/utils/translate.js +27 -5
  388. package/utils/zeroArray2D.d.ts +5 -0
  389. package/utils/zeroArray2D.js +5 -0
@@ -35,6 +35,7 @@ export declare enum PROPERTY {
35
35
  STROKE_THICKNESS = "STROKE_THICKNESS",
36
36
  STROKE_DASH_ARRAY = "STROKE_DASH_ARRAY",
37
37
  SHOW_LABEL = "SHOW_LABEL",
38
+ TEXT = "TEXT",
38
39
  TEXT_STROKE = "TEXT_STROKE",
39
40
  TITLE = "TITLE",
40
41
  TOOLTIP_LEGEND_OFFSET_X = "TOOLTIP_LEGEND_OFFSET_X",
@@ -52,7 +53,18 @@ export declare enum PROPERTY {
52
53
  YAXIS_ID = "YAXIS_ID",
53
54
  Y_COORDINATE_MODE = "Y_COORDINATE_MODE",
54
55
  Y_COORD_SHIFT = "Y_COORD_SHIFT",
55
- PLACEMENT_DIV_ID = "PLACEMENT_DIV_ID"
56
+ PLACEMENT_DIV_ID = "PLACEMENT_DIV_ID",
57
+ ROTATION = "ROTATION",
58
+ ADORNER_STROKE = "ADORNER_STROKE",
59
+ ADORNER_FILL = "ADORNER_FILL",
60
+ ADORNER_RADIUS = "ADORNER_RADIUS",
61
+ SELECTION_STROKE = "SELECTION_STROKE",
62
+ SELECTION_DELTA = "SELECTION_DELTA",
63
+ SELECTION_THICKNESS = "SELECTION_THICKNESS",
64
+ DRAGPOINTS = "DRAGPOINTS",
65
+ MULTILINE_ALIGNMENT = "MULTILINE_ALIGNMENT",
66
+ WRAP_TO = "WRAP_TO",
67
+ LINE_SPACING = "LINE_SPACING"
56
68
  }
57
69
  export declare const ADORNER_GRIP_RADIUS = 10;
58
70
  export declare const DISTANCE_TO_LINE = 10;
@@ -39,6 +39,7 @@ var PROPERTY;
39
39
  PROPERTY["STROKE_THICKNESS"] = "STROKE_THICKNESS";
40
40
  PROPERTY["STROKE_DASH_ARRAY"] = "STROKE_DASH_ARRAY";
41
41
  PROPERTY["SHOW_LABEL"] = "SHOW_LABEL";
42
+ PROPERTY["TEXT"] = "TEXT";
42
43
  PROPERTY["TEXT_STROKE"] = "TEXT_STROKE";
43
44
  PROPERTY["TITLE"] = "TITLE";
44
45
  PROPERTY["TOOLTIP_LEGEND_OFFSET_X"] = "TOOLTIP_LEGEND_OFFSET_X";
@@ -57,6 +58,17 @@ var PROPERTY;
57
58
  PROPERTY["Y_COORDINATE_MODE"] = "Y_COORDINATE_MODE";
58
59
  PROPERTY["Y_COORD_SHIFT"] = "Y_COORD_SHIFT";
59
60
  PROPERTY["PLACEMENT_DIV_ID"] = "PLACEMENT_DIV_ID";
61
+ PROPERTY["ROTATION"] = "ROTATION";
62
+ PROPERTY["ADORNER_STROKE"] = "ADORNER_STROKE";
63
+ PROPERTY["ADORNER_FILL"] = "ADORNER_FILL";
64
+ PROPERTY["ADORNER_RADIUS"] = "ADORNER_RADIUS";
65
+ PROPERTY["SELECTION_STROKE"] = "SELECTION_STROKE";
66
+ PROPERTY["SELECTION_DELTA"] = "SELECTION_DELTA";
67
+ PROPERTY["SELECTION_THICKNESS"] = "SELECTION_THICKNESS";
68
+ PROPERTY["DRAGPOINTS"] = "DRAGPOINTS";
69
+ PROPERTY["MULTILINE_ALIGNMENT"] = "MULTILINE_ALIGNMENT";
70
+ PROPERTY["WRAP_TO"] = "WRAP_TO";
71
+ PROPERTY["LINE_SPACING"] = "LINE_SPACING";
60
72
  })(PROPERTY = exports.PROPERTY || (exports.PROPERTY = {}));
61
73
  exports.ADORNER_GRIP_RADIUS = 10;
62
74
  exports.DISTANCE_TO_LINE = 10;
@@ -9,6 +9,7 @@ import { TBorder } from "../../../types/TBorder";
9
9
  import { SCRTPen, SCRTSolidBrush, TSciChart } from "../../../types/TSciChart";
10
10
  import { TStackedAxisLength } from "../../../types/TStackedAxisLength";
11
11
  import { WebGlRenderContext2D } from "../../Drawing/WebGlRenderContext2D";
12
+ import { CoordinateCalculatorBase } from "../../Numerics/CoordinateCalculators/CoordinateCalculatorBase";
12
13
  import { IThemeable } from "../../Themes/IThemeable";
13
14
  import { IThemeProvider } from "../../Themes/IThemeProvider";
14
15
  import { SciChartSurface } from "../SciChartSurface";
@@ -86,6 +87,11 @@ export interface IAxisBase2dOptions extends IAxisCoreOptions {
86
87
  * Limits {@link AxisCore.visibleRange}, meaning the chart cannot autorange outside that range
87
88
  */
88
89
  visibleRangeLimit?: NumberRange;
90
+ /**
91
+ * Limits the min and max size of the {@link AxisCore.visibleRange}, meaning that the inequality must hold
92
+ * visibleRangeSizeLimit.min <= visibleRange.max - visiblerRange.min <= visibleRangeSizeLimit.max
93
+ */
94
+ visibleRangeSizeLimit?: NumberRange;
89
95
  /**
90
96
  * If this is set, it will be used as the range when zooming extents, rather than the data max range
91
97
  */
@@ -197,10 +203,13 @@ export declare abstract class AxisBase2D extends AxisCore implements IThemeable
197
203
  * Gets or sets a property which limits {@link AxisCore.visibleRange}, meaning the chart cannot autorange outside that range
198
204
  */
199
205
  get visibleRangeLimit(): NumberRange;
206
+ set visibleRangeLimit(visibleRangeLimit: NumberRange);
200
207
  /**
201
- * Gets or sets a property which limits {@link AxisCore.visibleRange}, meaning the chart cannot autorange outside that range
208
+ * Gets or sets a property which limits the size of {@link AxisCore.visibleRange}, meaning that the inequality must hold
209
+ * visibleRangeSizeLimit.min <= visibleRange.max - visiblerRange.min <= visibleRangeSizeLimit.max
202
210
  */
203
- set visibleRangeLimit(visibleRangeLimit: NumberRange);
211
+ get visibleRangeSizeLimit(): NumberRange;
212
+ set visibleRangeSizeLimit(value: NumberRange);
204
213
  /**
205
214
  * Gets or sets a property which, if it is set, will be used as the range when zooming extents, rather than the data max range
206
215
  */
@@ -325,17 +334,18 @@ export declare abstract class AxisBase2D extends AxisCore implements IThemeable
325
334
  * Gets the {@link Rect | ViewRect} - a rectangle defining the location of the axis within the parent {@link SciChartSurface}
326
335
  */
327
336
  viewRect: Rect;
328
- protected axisRendererProperty: AxisRenderer;
329
- protected autoRangeAnimationProperty: IAutoRangeAnimationOptions;
330
337
  /**
331
338
  * The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
332
339
  * access to our WebGL2 Engine and WebAssembly numerical methods
333
340
  */
334
341
  protected readonly webAssemblyContext2D: TSciChart;
342
+ protected axisRendererProperty: AxisRenderer;
343
+ protected autoRangeAnimationProperty: IAutoRangeAnimationOptions;
335
344
  private labelStyleProperty;
336
345
  private axisAlignmentProperty;
337
346
  private isInnerAxisProperty;
338
347
  private visibleRangeLimitProperty;
348
+ private visibleRangeSizeLimitProperty;
339
349
  private zoomExtentsRangeProperty;
340
350
  private isPrimaryAxisProperty;
341
351
  private isStackedAxisProperty;
@@ -345,12 +355,14 @@ export declare abstract class AxisBase2D extends AxisCore implements IThemeable
345
355
  private penCacheForMajorTickLines;
346
356
  private penCacheForMinorTickLines;
347
357
  private solidBrushCacheAxisBands;
358
+ private solidBrushCacheAxisBackground;
348
359
  private axisBorderProperty;
349
360
  private solidBrushCacheBorder;
350
361
  private axisLengthProperty;
351
362
  private offsetProperty;
352
363
  private tickCache;
353
364
  private backgroundColorProperty;
365
+ private dpiAdjustedLabelStyleCache;
354
366
  /**
355
367
  * Creates an instance of the {@link AxisBase2D}
356
368
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
@@ -368,10 +380,15 @@ export declare abstract class AxisBase2D extends AxisCore implements IThemeable
368
380
  * Called internally - measures the axis as part of the layout phase
369
381
  */
370
382
  measure(): void;
383
+ /**
384
+ * called internally - allow axis to respond to dpi changes
385
+ */
386
+ onDpiChanged(): void;
371
387
  /**
372
388
  * Called internally - prepares render data before a draw operation
373
389
  */
374
390
  prepareRenderData(): void;
391
+ getCurrentCoordinateCalculator(): CoordinateCalculatorBase;
375
392
  /**
376
393
  * Called internally - draws the current axis using the {@link WebGL2RenderingContext}
377
394
  */
@@ -479,7 +496,10 @@ export declare abstract class AxisBase2D extends AxisCore implements IThemeable
479
496
  */
480
497
  protected notifyPropertyChanged(propertyName: string): void;
481
498
  protected getMaxXRange(): NumberRange;
499
+ protected getAxisSize(): number;
482
500
  private getMajorTickIndex;
483
501
  private getTicks;
484
502
  private getTicksWithCoords;
503
+ private applyVisibleRangeLimit;
504
+ private applyVisibleRangeSizeLimit;
485
505
  }
@@ -35,8 +35,8 @@ var NumberRange_1 = require("../../../Core/NumberRange");
35
35
  var Thickness_1 = require("../../../Core/Thickness");
36
36
  var AxisAlignment_1 = require("../../../types/AxisAlignment");
37
37
  var BaseType_1 = require("../../../types/BaseType");
38
+ var DefaultRenderLayer_1 = require("../../../types/DefaultRenderLayer");
38
39
  var LabelAlignment_1 = require("../../../types/LabelAlignment");
39
- var RenderLayer_1 = require("../../../types/RenderLayer");
40
40
  var XyDirection_1 = require("../../../types/XyDirection");
41
41
  var parseColor_1 = require("../../../utils/parseColor");
42
42
  var Pen2DCache_1 = require("../../Drawing/Pen2DCache");
@@ -101,8 +101,9 @@ var AxisBase2D = /** @class */ (function (_super) {
101
101
  * @param options Optional parameters of type {@link IAxisBase2dOptions} used to configure the axis at instantiation time
102
102
  */
103
103
  function AxisBase2D(webAssemblyContext, options) {
104
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
105
- var _this = _super.call(this, options) || this;
104
+ var _this = this;
105
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
106
+ _this = _super.call(this, options) || this;
106
107
  /**
107
108
  * Gets the {@link AxisLayoutState} class which manages layout
108
109
  */
@@ -135,6 +136,7 @@ var AxisBase2D = /** @class */ (function (_super) {
135
136
  _this.penCacheForMajorTickLines = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
136
137
  _this.penCacheForMinorTickLines = new Pen2DCache_1.Pen2DCache(webAssemblyContext);
137
138
  _this.solidBrushCacheAxisBands = new SolidBrushCache_1.SolidBrushCache(webAssemblyContext);
139
+ _this.solidBrushCacheAxisBackground = new SolidBrushCache_1.SolidBrushCache(webAssemblyContext);
138
140
  _this.axisRenderer = new AxisRenderer_1.AxisRenderer(webAssemblyContext);
139
141
  _this.axisRenderer.keepLabelsWithinAxis =
140
142
  (_a = options === null || options === void 0 ? void 0 : options.keepLabelsWithinAxis) !== null && _a !== void 0 ? _a : _this.axisRenderer.keepLabelsWithinAxis;
@@ -144,13 +146,14 @@ var AxisBase2D = /** @class */ (function (_super) {
144
146
  _this.axisTitleRenderer = new AxisTitleRenderer_1.AxisTitleRenderer(webAssemblyContext);
145
147
  _this.tickCoordinatesProvider = new DefaultTickCoordinatesProvider_1.DefaultTickCoordinatesProvider();
146
148
  _this.visibleRangeLimit = (_d = options === null || options === void 0 ? void 0 : options.visibleRangeLimit) !== null && _d !== void 0 ? _d : _this.visibleRangeLimit;
149
+ _this.visibleRangeSizeLimit = (_e = options === null || options === void 0 ? void 0 : options.visibleRangeSizeLimit) !== null && _e !== void 0 ? _e : _this.visibleRangeSizeLimit;
147
150
  _this.zoomExtentsRange = (options === null || options === void 0 ? void 0 : options.zoomExtentsToInitialRange) ? _this.visibleRange : options === null || options === void 0 ? void 0 : options.zoomExtentsRange;
148
- _this.axisAlignment = (_e = options === null || options === void 0 ? void 0 : options.axisAlignment) !== null && _e !== void 0 ? _e : _this.axisAlignment;
149
- _this.axisTitle = (_f = options === null || options === void 0 ? void 0 : options.axisTitle) !== null && _f !== void 0 ? _f : _this.axisTitle;
151
+ _this.axisAlignment = (_f = options === null || options === void 0 ? void 0 : options.axisAlignment) !== null && _f !== void 0 ? _f : _this.axisAlignment;
152
+ _this.axisTitle = (_g = options === null || options === void 0 ? void 0 : options.axisTitle) !== null && _g !== void 0 ? _g : _this.axisTitle;
150
153
  _this.labelStyle = __assign(__assign({}, _this.labelStyle), options === null || options === void 0 ? void 0 : options.labelStyle);
151
154
  _this.axisBorder = __assign(__assign({}, _this.axisBorder), options === null || options === void 0 ? void 0 : options.axisBorder);
152
- _this.isInnerAxis = (_g = options === null || options === void 0 ? void 0 : options.isInnerAxis) !== null && _g !== void 0 ? _g : _this.isInnerAxis;
153
- _this.stackedAxisLength = (_h = options === null || options === void 0 ? void 0 : options.stackedAxisLength) !== null && _h !== void 0 ? _h : _this.stackedAxisLength;
155
+ _this.isInnerAxis = (_h = options === null || options === void 0 ? void 0 : options.isInnerAxis) !== null && _h !== void 0 ? _h : _this.isInnerAxis;
156
+ _this.stackedAxisLength = (_j = options === null || options === void 0 ? void 0 : options.stackedAxisLength) !== null && _j !== void 0 ? _j : _this.stackedAxisLength;
154
157
  _this.solidBrushCacheBorder = new SolidBrushCache_1.SolidBrushCache(webAssemblyContext);
155
158
  if (options === null || options === void 0 ? void 0 : options.labelProvider) {
156
159
  if (!("getLabels" in (options === null || options === void 0 ? void 0 : options.labelProvider))) {
@@ -158,7 +161,7 @@ var AxisBase2D = /** @class */ (function (_super) {
158
161
  }
159
162
  }
160
163
  _this.autoRangeAnimationProperty = options === null || options === void 0 ? void 0 : options.autoRangeAnimation;
161
- _this.backgroundColor = (_j = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _j !== void 0 ? _j : _this.backgroundColor;
164
+ _this.backgroundColor = (_k = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _k !== void 0 ? _k : _this.backgroundColor;
162
165
  return _this;
163
166
  }
164
167
  Object.defineProperty(AxisBase2D.prototype, "labelProvider", {
@@ -250,9 +253,6 @@ var AxisBase2D = /** @class */ (function (_super) {
250
253
  get: function () {
251
254
  return this.visibleRangeLimitProperty;
252
255
  },
253
- /**
254
- * Gets or sets a property which limits {@link AxisCore.visibleRange}, meaning the chart cannot autorange outside that range
255
- */
256
256
  set: function (visibleRangeLimit) {
257
257
  if (!NumberRange_1.NumberRange.areEqual(this.visibleRangeLimitProperty, visibleRangeLimit)) {
258
258
  this.visibleRangeLimitProperty = visibleRangeLimit;
@@ -262,6 +262,27 @@ var AxisBase2D = /** @class */ (function (_super) {
262
262
  enumerable: false,
263
263
  configurable: true
264
264
  });
265
+ Object.defineProperty(AxisBase2D.prototype, "visibleRangeSizeLimit", {
266
+ /**
267
+ * Gets or sets a property which limits the size of {@link AxisCore.visibleRange}, meaning that the inequality must hold
268
+ * visibleRangeSizeLimit.min <= visibleRange.max - visiblerRange.min <= visibleRangeSizeLimit.max
269
+ */
270
+ get: function () {
271
+ return this.visibleRangeSizeLimitProperty;
272
+ },
273
+ set: function (value) {
274
+ if (!NumberRange_1.NumberRange.areEqual(this.visibleRangeSizeLimitProperty, value)) {
275
+ if (value.min < 0)
276
+ throw Error("visibleRangeSizeLimit min value must be more or equal 0");
277
+ if (value.min >= value.max)
278
+ throw Error("visibleRangeSizeLimit min value must be less than max value");
279
+ this.visibleRangeSizeLimitProperty = value;
280
+ this.notifyPropertyChanged(constants_1.PROPERTY.VISIBLE_RANGE_SIZE_LIMIT);
281
+ }
282
+ },
283
+ enumerable: false,
284
+ configurable: true
285
+ });
265
286
  Object.defineProperty(AxisBase2D.prototype, "zoomExtentsRange", {
266
287
  /**
267
288
  * Gets or sets a property which, if it is set, will be used as the range when zooming extents, rather than the data max range
@@ -429,6 +450,7 @@ var AxisBase2D = /** @class */ (function (_super) {
429
450
  */
430
451
  set: function (value) {
431
452
  if (this.offsetProperty !== value) {
453
+ this.clearCoordCalcCache();
432
454
  this.offsetProperty = value;
433
455
  this.notifyPropertyChanged(constants_1.PROPERTY.OFFSET);
434
456
  }
@@ -457,7 +479,10 @@ var AxisBase2D = /** @class */ (function (_super) {
457
479
  * Gets the {@link labelStyle} adjusted for current DPI / Browser zoom level
458
480
  */
459
481
  get: function () {
460
- return DpiHelper_1.DpiHelper.adjustTextStyle(this.labelStyleProperty);
482
+ if (!this.dpiAdjustedLabelStyleCache) {
483
+ this.dpiAdjustedLabelStyleCache = DpiHelper_1.DpiHelper.adjustTextStyle(this.labelStyleProperty);
484
+ }
485
+ return this.dpiAdjustedLabelStyleCache;
461
486
  },
462
487
  enumerable: false,
463
488
  configurable: true
@@ -474,6 +499,7 @@ var AxisBase2D = /** @class */ (function (_super) {
474
499
  */
475
500
  set: function (textStyle) {
476
501
  this.labelStyleProperty = __assign(__assign({}, this.labelStyle), textStyle);
502
+ this.dpiAdjustedLabelStyleCache = undefined;
477
503
  this.notifyPropertyChanged(constants_1.PROPERTY.TEXT_STYLE);
478
504
  },
479
505
  enumerable: false,
@@ -559,7 +585,6 @@ var AxisBase2D = /** @class */ (function (_super) {
559
585
  // TODO: updateTickProvider, updateLabelProvider
560
586
  // TODO: measure for category axes
561
587
  if (this.isVisible) {
562
- // TODO don't get labels here is drawLabels = false
563
588
  var majorTickLabels = this.getTicks(true).majorTickLabels;
564
589
  var drawTicks = this.drawMinorTickLines || this.drawMajorTickLines;
565
590
  if (SciChartSurfaceBase_1.DebugForDpi) {
@@ -576,11 +601,21 @@ var AxisBase2D = /** @class */ (function (_super) {
576
601
  }
577
602
  this.isMeasured = true;
578
603
  };
604
+ /**
605
+ * called internally - allow axis to respond to dpi changes
606
+ */
607
+ AxisBase2D.prototype.onDpiChanged = function () {
608
+ this.dpiAdjustedLabelStyleCache = undefined;
609
+ };
579
610
  /**
580
611
  * Called internally - prepares render data before a draw operation
581
612
  */
582
613
  AxisBase2D.prototype.prepareRenderData = function () {
583
- this.getCurrentCoordinateCalculator(true);
614
+ this.getCurrentCoordinateCalculator();
615
+ };
616
+ AxisBase2D.prototype.getCurrentCoordinateCalculator = function () {
617
+ var coordCalc = _super.prototype.getCurrentCoordinateCalculator.call(this);
618
+ return coordCalc;
584
619
  };
585
620
  /**
586
621
  * Called internally - draws the current axis using the {@link WebGL2RenderingContext}
@@ -588,9 +623,10 @@ var AxisBase2D = /** @class */ (function (_super) {
588
623
  AxisBase2D.prototype.draw = function (renderContext) {
589
624
  var _this = this;
590
625
  // Draw the Axis borders
626
+ var axisBordersLayer = (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.parentSurface.layersOffset, this.parentSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.AxisBordersLayer);
591
627
  renderContext.enqueueLayeredDraw(function () {
592
- return (0, drawBorder_1.drawBorder)(renderContext, _this.webAssemblyContext2D, _this.solidBrushCacheBorder, _this.viewRect, _this.axisBorder.borderLeft, _this.axisBorder.borderTop, _this.axisBorder.borderRight, _this.axisBorder.borderBottom, _this.axisBorder.color);
593
- });
628
+ (0, drawBorder_1.drawBorder)(renderContext, _this.webAssemblyContext2D, _this.solidBrushCacheBorder, _this.viewRect, _this.axisBorder.borderLeft, _this.axisBorder.borderTop, _this.axisBorder.borderRight, _this.axisBorder.borderBottom, _this.axisBorder.color);
629
+ }, axisBordersLayer);
594
630
  if (!this.getIsValidForDrawing()) {
595
631
  return;
596
632
  }
@@ -609,13 +645,14 @@ var AxisBase2D = /** @class */ (function (_super) {
609
645
  // Draw axes and gridlines
610
646
  this.drawAxisBandsAndGridLines(renderContext, tickObject, penForMinorGridlines, penForMajorGridlines);
611
647
  }
648
+ var axisLayer = (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.parentSurface.layersOffset, this.parentSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.AxesLayer);
612
649
  // make sure axes is drawn at the last stage
613
650
  renderContext.enqueueLayeredDraw(function () {
614
651
  // Draw background
615
652
  if (_this.backgroundColorProperty) {
616
653
  var viewAxisRect = _this.axisRenderer.viewRect;
617
654
  var viewTitleRect = _this.axisTitleRenderer.viewRect;
618
- var brush = new _this.webAssemblyContext2D.SCRTSolidBrush((0, parseColor_1.parseColorToUIntArgb)(_this.backgroundColorProperty), false);
655
+ var brush = _this.solidBrushCacheAxisBackground.newBrush(_this.backgroundColorProperty, false);
619
656
  var nativeAxisRect = void 0;
620
657
  var nativeTitleRect = void 0;
621
658
  // Empty space covering for axis coloring
@@ -656,7 +693,6 @@ var AxisBase2D = /** @class */ (function (_super) {
656
693
  vecRects.push_back(nativeTitleRect);
657
694
  renderContext.drawRects(vecRects, brush, viewTitleRect.left, viewTitleRect.top);
658
695
  }
659
- brush.delete();
660
696
  }
661
697
  // Draw axis labels
662
698
  if (_this.drawLabels) {
@@ -674,7 +710,10 @@ var AxisBase2D = /** @class */ (function (_super) {
674
710
  }
675
711
  // Draw axis title
676
712
  _this.axisTitleRenderer.draw(renderContext, _this.dpiAdjustedAxisTitleStyle, _this.axisAlignment, _this.parentSurface.debugRendering);
677
- });
713
+ if (_this.labelProvider.useNativeText && _this.parentSurface.renderNativeAxisLabelsImmediately) {
714
+ renderContext.endFonts(true);
715
+ }
716
+ }, axisLayer);
678
717
  };
679
718
  /**
680
719
  * Function to draw axis areas with red color
@@ -763,9 +802,8 @@ var AxisBase2D = /** @class */ (function (_super) {
763
802
  if (this.growBy && maxRange) {
764
803
  maxRange = maxRange.growBy(this.growBy);
765
804
  }
766
- if (this.visibleRangeLimit && maxRange) {
767
- maxRange = maxRange.clip(this.visibleRangeLimit);
768
- }
805
+ maxRange = this.applyVisibleRangeLimit(maxRange);
806
+ maxRange = this.applyVisibleRangeSizeLimit(maxRange);
769
807
  return maxRange || new NumberRange_1.NumberRange();
770
808
  };
771
809
  /**
@@ -779,6 +817,7 @@ var AxisBase2D = /** @class */ (function (_super) {
779
817
  return false;
780
818
  }
781
819
  var translatedRange = this.getCurrentCoordinateCalculator().translateBy(pixelsToScroll, startVisibleRange);
820
+ // TODO: refactor to use this.applyVisibleRangeLimit() method
782
821
  if (this.visibleRangeLimit) {
783
822
  var limitDelta = 0;
784
823
  if (translatedRange.min < this.visibleRangeLimit.min) {
@@ -791,7 +830,7 @@ var AxisBase2D = /** @class */ (function (_super) {
791
830
  translatedRange = new NumberRange_1.NumberRange(translatedRange.min + limitDelta, translatedRange.max + limitDelta);
792
831
  }
793
832
  }
794
- this.visibleRange = translatedRange;
833
+ this.visibleRange = this.applyVisibleRangeSizeLimit(translatedRange);
795
834
  return true;
796
835
  };
797
836
  /**
@@ -805,12 +844,8 @@ var AxisBase2D = /** @class */ (function (_super) {
805
844
  if (translatedRange.max < translatedRange.min) {
806
845
  return;
807
846
  }
808
- if (this.visibleRangeLimit) {
809
- this.visibleRange = translatedRange.clip(this.visibleRangeLimit);
810
- }
811
- else {
812
- this.visibleRange = translatedRange;
813
- }
847
+ var newVisibleRange = this.applyVisibleRangeLimit(translatedRange);
848
+ this.visibleRange = this.applyVisibleRangeSizeLimit(newVisibleRange);
814
849
  };
815
850
  /**
816
851
  * @summary Programmatically zooms the axis with a from and to coordinate
@@ -829,7 +864,8 @@ var AxisBase2D = /** @class */ (function (_super) {
829
864
  var toValue = coordCalc.getDataValue(toCoord);
830
865
  var min = fromValue < toValue ? fromValue : toValue;
831
866
  var max = fromValue < toValue ? toValue : fromValue;
832
- this.animateVisibleRange(new NumberRange_1.NumberRange(min, max), duration, easingFunction);
867
+ var newVisibleRange = this.applyVisibleRangeSizeLimit(new NumberRange_1.NumberRange(min, max));
868
+ this.animateVisibleRange(newVisibleRange, duration, easingFunction);
833
869
  };
834
870
  AxisBase2D.prototype.scale = function (initialRange, delta, isMoreThanHalf) {
835
871
  var deltaRange = initialRange.max - initialRange.min;
@@ -882,6 +918,7 @@ var AxisBase2D = /** @class */ (function (_super) {
882
918
  this.penCacheForMinorTickLines = (0, Deleter_1.deleteSafe)(this.penCacheForMinorTickLines);
883
919
  this.solidBrushCacheBorder = (0, Deleter_1.deleteSafe)(this.solidBrushCacheBorder);
884
920
  this.solidBrushCacheAxisBands = (0, Deleter_1.deleteSafe)(this.solidBrushCacheAxisBands);
921
+ this.solidBrushCacheAxisBackground = (0, Deleter_1.deleteSafe)(this.solidBrushCacheAxisBackground);
885
922
  this.labelProviderProperty = (0, Deleter_1.deleteSafe)(this.labelProvider);
886
923
  this.axisRendererProperty = (0, Deleter_1.deleteSafe)(this.axisRenderer);
887
924
  };
@@ -951,21 +988,24 @@ var AxisBase2D = /** @class */ (function (_super) {
951
988
  // Draw axis bands
952
989
  if (this.drawMajorBands) {
953
990
  var solidBrush_1 = this.solidBrushCacheAxisBands.newBrush(this.axisBandsFill, true);
991
+ var axisBandsLayer = (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.parentSurface.layersOffset, this.parentSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.AxisBandsLayer);
954
992
  renderContext.enqueueLayeredDraw(function () {
955
993
  _this.drawAxisBands(renderContext, tickObject.majorTicks, tickObject.majorTickCoords, solidBrush_1);
956
- }, RenderLayer_1.ERenderLayer.First);
994
+ }, axisBandsLayer);
957
995
  }
958
996
  // Draw minor grid lines
959
997
  if (this.drawMinorGridLines) {
998
+ var minorGridLinesLayer = (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.parentSurface.layersOffset, this.parentSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.MinorGridLinesLayer);
960
999
  renderContext.enqueueLayeredDraw(function () {
961
1000
  _this.drawGridLines(renderContext, tickObject.minorTickCoords, penForMinorGridLines);
962
- }, RenderLayer_1.ERenderLayer.Second);
1001
+ }, minorGridLinesLayer);
963
1002
  }
964
1003
  // Draw major grid lines
965
1004
  if (this.drawMajorGridLines) {
1005
+ var majorGridLinesLayer = (0, WebGlRenderContext2D_1.calculateAbsoluteRenderLayer)(this.parentSurface.layersOffset, this.parentSurface.stepBetweenLayers, DefaultRenderLayer_1.EDefaultRenderLayer.MajorGridLinesLayer);
966
1006
  renderContext.enqueueLayeredDraw(function () {
967
1007
  _this.drawGridLines(renderContext, tickObject.majorTickCoords, penForMajorGridLines);
968
- }, RenderLayer_1.ERenderLayer.Third);
1008
+ }, majorGridLinesLayer);
969
1009
  }
970
1010
  };
971
1011
  /**
@@ -1092,13 +1132,13 @@ var AxisBase2D = /** @class */ (function (_super) {
1092
1132
  if (this.growBy) {
1093
1133
  maximumRange = maximumRange.growBy(this.growBy);
1094
1134
  }
1095
- if (this.visibleRangeLimit) {
1096
- maximumRange = maximumRange
1097
- ? maximumRange.clip(this.visibleRangeLimit)
1098
- : this.visibleRange.clip(this.visibleRangeLimit);
1099
- }
1135
+ maximumRange = this.applyVisibleRangeLimit(maximumRange !== null && maximumRange !== void 0 ? maximumRange : this.visibleRange);
1136
+ maximumRange = this.applyVisibleRangeSizeLimit(maximumRange);
1100
1137
  return maximumRange;
1101
1138
  };
1139
+ AxisBase2D.prototype.getAxisSize = function () {
1140
+ return this.axisLength;
1141
+ };
1102
1142
  AxisBase2D.prototype.getMajorTickIndex = function (tick) {
1103
1143
  var step = this.majorDeltaProperty;
1104
1144
  var index = tick / step;
@@ -1149,6 +1189,43 @@ var AxisBase2D = /** @class */ (function (_super) {
1149
1189
  this.tickCache.minorTickCoords = minorTickCoords;
1150
1190
  return this.tickCache;
1151
1191
  };
1192
+ AxisBase2D.prototype.applyVisibleRangeLimit = function (visibleRange) {
1193
+ if (!visibleRange)
1194
+ return undefined;
1195
+ if (!this.visibleRangeLimit)
1196
+ return visibleRange;
1197
+ var newRange = visibleRange.clip(this.visibleRangeLimit);
1198
+ if (newRange.min >= newRange.max) {
1199
+ console.warn("Can not apply visibleRangeLimit for the ".concat(this.isXAxis ? "xAxis" : "yAxis", " with ID ").concat(this.id));
1200
+ return visibleRange;
1201
+ }
1202
+ else {
1203
+ return newRange;
1204
+ }
1205
+ };
1206
+ AxisBase2D.prototype.applyVisibleRangeSizeLimit = function (visibleRange) {
1207
+ if (!visibleRange)
1208
+ return undefined;
1209
+ if (!this.visibleRangeSizeLimit)
1210
+ return visibleRange;
1211
+ var currentSize = visibleRange.max - visibleRange.min;
1212
+ if (currentSize < 0) {
1213
+ console.warn("Can not apply applyVisibleRangeSizeLimit for the ".concat(this.isXAxis ? "xAxis" : "yAxis", " with ID ").concat(this.id));
1214
+ return visibleRange;
1215
+ }
1216
+ else {
1217
+ var newVisibleRange = visibleRange;
1218
+ var _a = this.visibleRangeSizeLimit, min = _a.min, max = _a.max;
1219
+ var middleValue = visibleRange.min + currentSize / 2;
1220
+ if (currentSize < min) {
1221
+ newVisibleRange = new NumberRange_1.NumberRange(middleValue - min / 2, middleValue + min / 2);
1222
+ }
1223
+ else if (currentSize > max) {
1224
+ newVisibleRange = new NumberRange_1.NumberRange(middleValue - max / 2, middleValue + max / 2);
1225
+ }
1226
+ return newVisibleRange;
1227
+ }
1228
+ };
1152
1229
  return AxisBase2D;
1153
1230
  }(AxisCore_1.AxisCore));
1154
1231
  exports.AxisBase2D = AxisBase2D;
@@ -54,10 +54,11 @@ export declare type TTextStyle = {
54
54
  fontWeight?: string;
55
55
  fontStyle?: string;
56
56
  color?: string;
57
- /** Padding is left 4, right 4, top 4, bottom 0 by default. This is because there is natural space below the text baseline.
58
- * If you are using text labels rather than just numbers, you may want to increase the bottom padding.
57
+ /** Padding is left 4, right 4, top 2, bottom 0 by default. This is because there is natural space below the text baseline.
58
+ * If you are using text labels rather than just numbers, or when using native text, you may want to increase the bottom padding.
59
59
  */
60
60
  padding?: Thickness;
61
+ /** Horizontal label alignment for vertical axes. Default Auto */
61
62
  alignment?: ELabelAlignment;
62
63
  };
63
64
  /**
@@ -737,10 +738,10 @@ export declare abstract class AxisCore implements IAxisParams, IDeletable {
737
738
  */
738
739
  set autoTicks(value: boolean);
739
740
  /**
740
- * Gets the current {@link CoordinateCalculatorBase} instance. Valid for this render-pass only, the coordinate-calculator
741
- * allows you to transform between pixel and data coordinates (and vice versa)
741
+ * Gets the current {@link CoordinateCalculatorBase} instance. Recreates the coordinate-calculator if it does not match the axis values
742
+ * The coordinate-calculator allows you to transform between pixel and data coordinates (and vice versa)
742
743
  */
743
- getCurrentCoordinateCalculator(forceRecreate?: boolean): CoordinateCalculatorBase;
744
+ getCurrentCoordinateCalculator(): CoordinateCalculatorBase;
744
745
  /** Force the recreation of the coordinate calculator the next time it is requested
745
746
  * Required if the dataSeries has changed on a category axis
746
747
  */
@@ -763,6 +764,10 @@ export declare abstract class AxisCore implements IAxisParams, IDeletable {
763
764
  * allows you to transform between pixel and data coordinates (and vice versa)
764
765
  */
765
766
  protected abstract getCurrentCoordinateCalculatorInternal(): CoordinateCalculatorBase;
767
+ /**
768
+ * Gets the long dimension of the axis, in pixels
769
+ */
770
+ protected abstract getAxisSize(): number;
766
771
  /**
767
772
  * SET INTERNALLY. Sets whether this axis is an XAxis or not
768
773
  * @remarks
@@ -187,6 +187,7 @@ var AxisCore = /** @class */ (function () {
187
187
  this.drawMajorBandsProperty = (_x = options === null || options === void 0 ? void 0 : options.drawMajorBands) !== null && _x !== void 0 ? _x : this.drawMajorBandsProperty;
188
188
  this.axisBandsFillProperty = (_y = options === null || options === void 0 ? void 0 : options.axisBandsFill) !== null && _y !== void 0 ? _y : this.axisBandsFillProperty;
189
189
  this.flippedCoordinatesProperty = (_z = options === null || options === void 0 ? void 0 : options.flippedCoordinates) !== null && _z !== void 0 ? _z : this.flippedCoordinatesProperty;
190
+ this.getCurrentCoordinateCalculator = this.getCurrentCoordinateCalculator.bind(this);
190
191
  }
191
192
  Object.defineProperty(AxisCore.prototype, "isCategoryAxis", {
192
193
  /**
@@ -378,6 +379,7 @@ var AxisCore = /** @class */ (function () {
378
379
  var _a;
379
380
  if (!((_a = this.visibleRangeProperty) === null || _a === void 0 ? void 0 : _a.equals(visibleRange))) {
380
381
  this.visibleRangeProperty = visibleRange;
382
+ this.clearCoordCalcCache();
381
383
  this.visibleRangeChanged.raiseEvent(new VisibleRangeChangedArgs_1.VisibleRangeChangedArgs(visibleRange));
382
384
  this.notifyPropertyChanged(constants_1.PROPERTY.VISIBLE_RANGE);
383
385
  }
@@ -679,8 +681,11 @@ var AxisCore = /** @class */ (function () {
679
681
  * 0..10 will render from 10 to 0
680
682
  */
681
683
  set: function (flippedCoordinates) {
682
- this.flippedCoordinatesProperty = flippedCoordinates;
683
- this.notifyPropertyChanged(constants_1.PROPERTY.FLIPPED_COORDINATES);
684
+ if (this.flippedCoordinatesProperty !== flippedCoordinates) {
685
+ this.flippedCoordinatesProperty = flippedCoordinates;
686
+ this.clearCoordCalcCache();
687
+ this.notifyPropertyChanged(constants_1.PROPERTY.FLIPPED_COORDINATES);
688
+ }
684
689
  },
685
690
  enumerable: false,
686
691
  configurable: true
@@ -957,15 +962,11 @@ var AxisCore = /** @class */ (function () {
957
962
  configurable: true
958
963
  });
959
964
  /**
960
- * Gets the current {@link CoordinateCalculatorBase} instance. Valid for this render-pass only, the coordinate-calculator
961
- * allows you to transform between pixel and data coordinates (and vice versa)
965
+ * Gets the current {@link CoordinateCalculatorBase} instance. Recreates the coordinate-calculator if it does not match the axis values
966
+ * The coordinate-calculator allows you to transform between pixel and data coordinates (and vice versa)
962
967
  */
963
- AxisCore.prototype.getCurrentCoordinateCalculator = function (forceRecreate) {
964
- if (forceRecreate === void 0) { forceRecreate = false; }
965
- if (forceRecreate && this.coordCalcCache) {
966
- this.coordCalcCache = (0, Deleter_1.deleteSafe)(this.coordCalcCache);
967
- }
968
- if (!this.coordCalcCache) {
968
+ AxisCore.prototype.getCurrentCoordinateCalculator = function () {
969
+ if (!this.coordCalcCache || this.coordCalcCache.viewportDimension !== this.getAxisSize()) {
969
970
  this.coordCalcCache = this.getCurrentCoordinateCalculatorInternal();
970
971
  }
971
972
  return this.coordCalcCache;