scichart 2.0.2144 → 2.0.2186

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 (344) hide show
  1. package/Builder/buildAnnotations.js +11 -10
  2. package/Builder/buildAxis.js +7 -6
  3. package/Builder/buildDataSeries.js +3 -6
  4. package/Builder/buildModifiers.js +17 -16
  5. package/Builder/buildSeries.js +21 -20
  6. package/Builder/buildSurface.js +29 -27
  7. package/Builder/chartBuilder.d.ts +10 -162
  8. package/Builder/chartBuilder.js +9 -6
  9. package/Builder/classFactory.js +12 -6
  10. package/Charting/ChartModifiers/ChartModifierBase.js +1 -1
  11. package/Charting/ChartModifiers/ChartModifierBase2D.d.ts +1 -1
  12. package/Charting/ChartModifiers/ChartModifierBase2D.js +11 -6
  13. package/Charting/ChartModifiers/CursorModifier.d.ts +23 -3
  14. package/Charting/ChartModifiers/CursorModifier.js +72 -40
  15. package/Charting/ChartModifiers/DataPointSelectionModifier.d.ts +1 -1
  16. package/Charting/ChartModifiers/DataPointSelectionModifier.js +18 -16
  17. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  18. package/Charting/ChartModifiers/LegendModifier.js +3 -1
  19. package/Charting/ChartModifiers/ModifierMouseArgs.js +4 -3
  20. package/Charting/ChartModifiers/MouseWheelZoomModifier.d.ts +52 -2
  21. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +105 -10
  22. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +10 -8
  23. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +1 -1
  24. package/Charting/ChartModifiers/PinchZoomModifier.js +4 -2
  25. package/Charting/ChartModifiers/RolloverModifier.d.ts +1 -1
  26. package/Charting/ChartModifiers/RolloverModifier.js +27 -20
  27. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  28. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +11 -9
  29. package/Charting/ChartModifiers/SeriesSelectionModifier.d.ts +1 -1
  30. package/Charting/ChartModifiers/SeriesSelectionModifier.js +9 -7
  31. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  32. package/Charting/ChartModifiers/XAxisDragModifier.js +12 -10
  33. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  34. package/Charting/ChartModifiers/YAxisDragModifier.js +12 -10
  35. package/Charting/ChartModifiers/ZoomExtentsModifier.d.ts +17 -1
  36. package/Charting/ChartModifiers/ZoomExtentsModifier.js +65 -10
  37. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +4 -2
  38. package/Charting/ChartModifiers/ZoomPanModifier.js +25 -21
  39. package/Charting/Drawing/BaseCache.js +2 -2
  40. package/Charting/Drawing/BrushCache.js +12 -7
  41. package/Charting/Drawing/PaletteCache.js +4 -2
  42. package/Charting/Drawing/Pen2DCache.js +14 -9
  43. package/Charting/Drawing/SolidBrushCache.js +2 -2
  44. package/Charting/Drawing/TextureCache.js +4 -2
  45. package/Charting/Drawing/WebGlBrush.js +1 -1
  46. package/Charting/Drawing/WebGlPen.js +2 -2
  47. package/Charting/Drawing/WebGlRenderContext2D.js +5 -5
  48. package/Charting/LayoutManager/AxisLayoutHelpers.js +6 -4
  49. package/Charting/LayoutManager/BaseAxisLayoutStrategy.js +4 -4
  50. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.d.ts +1 -1
  51. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.js +3 -1
  52. package/Charting/LayoutManager/BottomAlignedInnerAxisLayoutStrategy.js +6 -4
  53. package/Charting/LayoutManager/BottomAlignedOuterAxisLayoutStrategy.js +6 -4
  54. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +7 -5
  55. package/Charting/LayoutManager/CentralAxesLayoutManager.js +7 -3
  56. package/Charting/LayoutManager/LayoutManager.js +2 -2
  57. package/Charting/LayoutManager/LeftAlignedInnerAxisLayoutStrategy.js +6 -4
  58. package/Charting/LayoutManager/LeftAlignedOuterAxisLayoutStrategy.js +6 -4
  59. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +7 -5
  60. package/Charting/LayoutManager/RightAlignedInnerAxisLayoutStrategy.js +6 -4
  61. package/Charting/LayoutManager/RightAlignedOuterAxisLayoutStrategy.js +6 -4
  62. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +7 -5
  63. package/Charting/LayoutManager/SynchronizedLayoutManager.js +4 -2
  64. package/Charting/LayoutManager/TopAlignedInnerAxisLayoutStrategy.js +6 -4
  65. package/Charting/LayoutManager/TopAlignedOuterAxisLayoutStrategy.js +6 -4
  66. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +7 -5
  67. package/Charting/Model/BaseDataSeries.js +23 -20
  68. package/Charting/Model/BaseHeatmapDataSeries.js +5 -5
  69. package/Charting/Model/ChartData/HeatmapSeriesInfo.js +4 -2
  70. package/Charting/Model/ChartData/OhlcSeriesInfo.js +3 -1
  71. package/Charting/Model/ChartData/SeriesInfo.d.ts +1 -0
  72. package/Charting/Model/ChartData/SeriesInfo.js +15 -0
  73. package/Charting/Model/ChartData/StackedXySeriesInfo.js +3 -1
  74. package/Charting/Model/ChartData/XySeriesInfo.js +3 -1
  75. package/Charting/Model/ChartData/XyySeriesInfo.js +3 -1
  76. package/Charting/Model/DataPointSelectionPaletteProvider.js +2 -2
  77. package/Charting/Model/Filters/OhlcCustomFilter.js +7 -2
  78. package/Charting/Model/Filters/OhlcFilterBase.js +3 -1
  79. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +3 -1
  80. package/Charting/Model/Filters/XyCustomFilter.js +3 -1
  81. package/Charting/Model/Filters/XyFilterBase.js +9 -6
  82. package/Charting/Model/Filters/XyLinearTrendFilter.js +3 -1
  83. package/Charting/Model/Filters/XyMovingAverageFilter.js +3 -1
  84. package/Charting/Model/Filters/XyRatioFilter.js +6 -4
  85. package/Charting/Model/Filters/XyScaleOffsetFilter.js +3 -1
  86. package/Charting/Model/Filters/XyyCustomFilter.js +3 -1
  87. package/Charting/Model/Filters/XyyFilterBase.js +7 -5
  88. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +3 -1
  89. package/Charting/Model/Filters/XyzCustomFilter.js +3 -1
  90. package/Charting/Model/Filters/XyzFilterBase.js +7 -5
  91. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +3 -1
  92. package/Charting/Model/OhlcDataSeries.js +27 -25
  93. package/Charting/Model/PaletteFactory.js +3 -3
  94. package/Charting/Model/UniformHeatmapDataSeries.js +3 -1
  95. package/Charting/Model/XyDataSeries.js +9 -7
  96. package/Charting/Model/XyyDataSeries.js +15 -13
  97. package/Charting/Model/XyzDataSeries.js +15 -13
  98. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +3 -1
  99. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +3 -1
  100. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +3 -1
  101. package/Charting/Numerics/CoordinateCalculators/LogarithmicCoordinateCalculator.js +3 -1
  102. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +3 -1
  103. package/Charting/Numerics/TickCoordinateProviders/DefaultTickCoordinatesProvider.js +3 -1
  104. package/Charting/Numerics/TickProviders/LogarithmicTickProvider.js +7 -5
  105. package/Charting/Numerics/TickProviders/NumericTickProvider.js +4 -2
  106. package/Charting/Services/SciChartRenderer.d.ts +1 -0
  107. package/Charting/Services/SciChartRenderer.js +29 -20
  108. package/Charting/Services/Workers/TextureWorker.d.ts +16 -0
  109. package/Charting/Services/Workers/TextureWorker.js +138 -0
  110. package/Charting/Services/Workers/TextureWorkerSource.d.ts +1 -0
  111. package/Charting/Services/Workers/TextureWorkerSource.js +133 -0
  112. package/Charting/Themes/SciChartJSDarkTheme.js +3 -1
  113. package/Charting/Themes/SciChartJSDarkv2Theme.js +3 -1
  114. package/Charting/Themes/SciChartJSLightTheme.js +3 -1
  115. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +1 -1
  116. package/Charting/Visuals/Annotations/AnnotationBase.js +71 -41
  117. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +28 -1
  118. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +11 -9
  119. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -1
  120. package/Charting/Visuals/Annotations/BoxAnnotation.js +18 -16
  121. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +1 -1
  122. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +36 -14
  123. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  124. package/Charting/Visuals/Annotations/CustomAnnotation.js +3 -1
  125. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +8 -6
  126. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -1
  127. package/Charting/Visuals/Annotations/LineAnnotation.js +21 -17
  128. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +20 -17
  129. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +3 -1
  130. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.js +3 -1
  131. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +4 -2
  132. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +17 -15
  133. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +1 -1
  134. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +23 -13
  135. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +1 -1
  136. package/Charting/Visuals/Annotations/TextAnnotation.js +4 -2
  137. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +8 -6
  138. package/Charting/Visuals/Axis/AxisBase2D.d.ts +16 -8
  139. package/Charting/Visuals/Axis/AxisBase2D.js +70 -37
  140. package/Charting/Visuals/Axis/AxisCore.d.ts +1 -1
  141. package/Charting/Visuals/Axis/AxisCore.js +3 -33
  142. package/Charting/Visuals/Axis/AxisRenderer.d.ts +63 -0
  143. package/Charting/Visuals/Axis/AxisRenderer.js +92 -16
  144. package/Charting/Visuals/Axis/AxisTitleRenderer.js +7 -3
  145. package/Charting/Visuals/Axis/CategoryAxis.js +5 -2
  146. package/Charting/Visuals/Axis/CategoryAxisBase.js +10 -8
  147. package/Charting/Visuals/Axis/DeltaCalculator/CategoryDeltaCalculator.js +3 -1
  148. package/Charting/Visuals/Axis/DeltaCalculator/LogarithmicDeltaCalculator.js +3 -1
  149. package/Charting/Visuals/Axis/DeltaCalculator/NumericDeltaCalculator.js +3 -1
  150. package/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.js +5 -3
  151. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +41 -0
  152. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +164 -0
  153. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +1 -1
  154. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +57 -7
  155. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +171 -74
  156. package/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.js +5 -3
  157. package/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.js +5 -3
  158. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +30 -37
  159. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +5 -2
  160. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.js +86 -5
  161. package/Charting/Visuals/Axis/LogarithmicAxis.js +10 -3
  162. package/Charting/Visuals/Axis/NumericAxis.js +5 -2
  163. package/Charting/Visuals/Axis/getAxisById.js +1 -1
  164. package/Charting/Visuals/Helpers/createNativeRect.js +2 -1
  165. package/Charting/Visuals/Helpers/createPen.js +4 -3
  166. package/Charting/Visuals/Helpers/createSolidBrush.js +5 -4
  167. package/Charting/Visuals/Helpers/drawBorder.js +6 -5
  168. package/Charting/Visuals/Helpers/drawLabel.js +10 -6
  169. package/Charting/Visuals/Legend/SciChartLegend.js +4 -2
  170. package/Charting/Visuals/Legend/SciChartLegendBase.js +16 -14
  171. package/Charting/Visuals/Legend/SciChartPieLegend.js +6 -4
  172. package/Charting/Visuals/PointMarkers/BasePointMarker.js +3 -3
  173. package/Charting/Visuals/PointMarkers/CrossPointMarker.js +3 -1
  174. package/Charting/Visuals/PointMarkers/EllipsePointMarker.js +3 -1
  175. package/Charting/Visuals/PointMarkers/SpritePointMarker.js +3 -1
  176. package/Charting/Visuals/PointMarkers/SquarePointMarker.js +3 -1
  177. package/Charting/Visuals/PointMarkers/TrianglePointMarker.js +3 -1
  178. package/Charting/Visuals/PointMarkers/XPointMarker.js +3 -1
  179. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +6 -4
  180. package/Charting/Visuals/RenderableSeries/Animations/BandAnimationStyle.js +6 -4
  181. package/Charting/Visuals/RenderableSeries/Animations/BaseAnimationStyle.js +1 -1
  182. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +3 -1
  183. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.js +5 -3
  184. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimationStyle.js +5 -3
  185. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +4 -2
  186. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimationStyle.js +4 -2
  187. package/Charting/Visuals/RenderableSeries/Animations/CustomPointMarkerStyle.js +3 -1
  188. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +3 -1
  189. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +3 -1
  190. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +4 -2
  191. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimationStyle.js +4 -2
  192. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +5 -3
  193. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimationStyle.js +5 -3
  194. package/Charting/Visuals/RenderableSeries/Animations/PointMarkerStyle.js +5 -3
  195. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +1 -1
  196. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +3 -1
  197. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +3 -1
  198. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +1 -1
  199. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +3 -3
  200. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.js +3 -1
  201. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +1 -1
  202. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +3 -1
  203. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  204. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +3 -1
  205. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +3 -1
  206. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +3 -1
  207. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +3 -1
  208. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +15 -14
  209. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +7 -5
  210. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +3 -3
  211. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +20 -18
  212. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +12 -12
  213. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +4 -2
  214. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +12 -10
  215. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +9 -7
  216. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +10 -8
  217. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +20 -18
  218. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +6 -4
  219. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +9 -7
  220. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +6 -4
  221. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +3 -1
  222. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +3 -1
  223. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +3 -1
  224. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +6 -3
  225. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +3 -1
  226. package/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.js +3 -1
  227. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +3 -1
  228. package/Charting/Visuals/RenderableSeries/GlowEffect.js +3 -1
  229. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +3 -1
  230. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  231. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +4 -2
  232. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +4 -2
  233. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +8 -6
  234. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +3 -1
  235. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +4 -2
  236. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +6 -4
  237. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +7 -5
  238. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +3 -1
  239. package/Charting/Visuals/RenderableSeries/HitTest/UniformHeatmapHitTestProvider.js +3 -1
  240. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +12 -12
  241. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.js +2 -2
  242. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +4 -4
  243. package/Charting/Visuals/RenderableSeries/ShadowEffect.js +4 -2
  244. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +6 -4
  245. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +5 -3
  246. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +5 -3
  247. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +6 -4
  248. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +11 -9
  249. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +7 -5
  250. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +11 -9
  251. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -4
  252. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +5 -2
  253. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +3 -1
  254. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +3 -3
  255. package/Charting/Visuals/SciChartDefaults.d.ts +11 -0
  256. package/Charting/Visuals/SciChartDefaults.js +18 -0
  257. package/Charting/Visuals/SciChartOverview.js +13 -7
  258. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +1 -1
  259. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +27 -24
  260. package/Charting/Visuals/SciChartSurface.js +20 -17
  261. package/Charting/Visuals/SciChartSurfaceBase.js +15 -11
  262. package/Charting/Visuals/TextureManager/CanvasTexture.js +5 -5
  263. package/Charting/Visuals/TextureManager/DpiHelper.js +3 -3
  264. package/Charting/Visuals/TextureManager/TextureManager.d.ts +1 -0
  265. package/Charting/Visuals/TextureManager/TextureManager.js +16 -12
  266. package/Charting/Visuals/createMaster.js +6 -5
  267. package/Charting/Visuals/createSingle.js +6 -4
  268. package/Charting/Visuals/licenseManager2D.js +65 -48
  269. package/Charting/Visuals/loader.js +1 -1
  270. package/Charting/Visuals/sciChartInitCommon.js +12 -12
  271. package/Charting3D/CameraController.js +6 -6
  272. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +3 -1
  273. package/Charting3D/ChartModifiers/MouseWheelZoomModifier3D.js +3 -1
  274. package/Charting3D/ChartModifiers/OrbitModifier3D.js +3 -1
  275. package/Charting3D/ChartModifiers/ResetCamera3DModifier.d.ts +79 -0
  276. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +143 -0
  277. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.js +4 -2
  278. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +3 -1
  279. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +6 -4
  280. package/Charting3D/Vector3.js +1 -1
  281. package/Charting3D/Visuals/Axis/AxisBase3D.js +9 -7
  282. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +20 -15
  283. package/Charting3D/Visuals/Axis/NumericAxis3D.d.ts +5 -0
  284. package/Charting3D/Visuals/Axis/NumericAxis3D.js +29 -1
  285. package/Charting3D/Visuals/DefaultViewportManager3D.js +3 -1
  286. package/Charting3D/Visuals/GizmoEntity.js +3 -1
  287. package/Charting3D/Visuals/PointMarkers/BaseMeshPointMarker3D.js +3 -1
  288. package/Charting3D/Visuals/PointMarkers/BaseTexturePointMarker3D.js +3 -1
  289. package/Charting3D/Visuals/PointMarkers/DefaultPointMarkers.js +3 -1
  290. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +2 -2
  291. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +3 -1
  292. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +7 -5
  293. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +22 -20
  294. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +3 -3
  295. package/Charting3D/Visuals/RenderableSeries/ScatterRenderableSeries3D.js +3 -1
  296. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/GradientColorPalette.js +3 -1
  297. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SolidColorBrushPalette.js +5 -3
  298. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.js +3 -1
  299. package/Charting3D/Visuals/RootSceneEntity.js +3 -1
  300. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  301. package/Charting3D/Visuals/SciChart3DRenderer.js +10 -2
  302. package/Charting3D/Visuals/SciChart3DSurface.d.ts +22 -0
  303. package/Charting3D/Visuals/SciChart3DSurface.js +64 -11
  304. package/Charting3D/Visuals/createMaster3d.js +8 -7
  305. package/Charting3D/Visuals/createSingle3d.js +5 -4
  306. package/Charting3D/Visuals/licenseManager3D.js +7 -6
  307. package/Core/Animations/AnimationFiniteStateMachine.js +4 -2
  308. package/Core/Animations/DoubleAnimator.js +1 -1
  309. package/Core/Animations/GenericAnimation.js +1 -1
  310. package/Core/Guard.js +4 -4
  311. package/Core/Mouse/MouseManager.js +1 -1
  312. package/Core/NumberRange.js +4 -4
  313. package/Core/Point.js +1 -1
  314. package/_wasm/scichart.browser.js +1 -1
  315. package/_wasm/scichart2d.js +1 -1
  316. package/_wasm/scichart2d.wasm +0 -0
  317. package/_wasm/scichart3d.js +95 -95
  318. package/_wasm/scichart3d.wasm +0 -0
  319. package/index.js +1 -0
  320. package/package.json +2 -2
  321. package/types/AxisAlignment.js +6 -4
  322. package/types/ChartModifierType.d.ts +2 -1
  323. package/types/ChartModifierType.js +1 -0
  324. package/utils/array.js +2 -1
  325. package/utils/calcAverage.js +4 -2
  326. package/utils/colorUtil.js +4 -4
  327. package/utils/convertColor.js +6 -4
  328. package/utils/convertToPixel.js +2 -1
  329. package/utils/date.js +26 -17
  330. package/utils/font.js +4 -3
  331. package/utils/guid.js +2 -1
  332. package/utils/hasAllProperties.js +2 -1
  333. package/utils/includedAxis.d.ts +3 -0
  334. package/utils/includedAxis.js +23 -0
  335. package/utils/math.js +6 -3
  336. package/utils/number.js +18 -13
  337. package/utils/parseColor.js +7 -5
  338. package/utils/pointUtil.js +24 -15
  339. package/utils/random.js +2 -1
  340. package/utils/randomPricesDataSource.js +7 -5
  341. package/utils/svgString.js +2 -1
  342. package/utils/translate.js +10 -5
  343. package/utils/tsrExtensions.js +4 -2
  344. package/utils/zeroArray2D.js +3 -2
@@ -21,37 +21,100 @@ export declare class AxisRenderer implements IDeletable {
21
21
  private desiredTicksSize;
22
22
  private desiredHeightProperty;
23
23
  private desiredWidthProperty;
24
+ private axisThicknessProperty;
24
25
  private measureTextCanvas;
25
26
  private keepLabelsWithinAxisProperty;
26
27
  private hideOverlappingLabelsProperty;
28
+ /**
29
+ * Creates an instance of a {@link AxisRenderer}
30
+ * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
31
+ * access to our WebGL2 Engine and WebAssembly numerical methods
32
+ */
27
33
  constructor(webAssemblyContext: TSciChart);
34
+ /** @inheritDoc */
28
35
  delete(): void;
29
36
  /**
30
37
  * Called when the {@link AxisRenderer} is attached to an {@link AxisBase2D | Axis}
31
38
  * @param axis The Axis we are attached to.
32
39
  */
33
40
  attachedToAxis(axis: AxisBase2D): void;
41
+ /**
42
+ * Called internally - measures the axis label area as part of the layout phase
43
+ */
34
44
  measure(isHorizontalAxis: boolean, labelStyle: TTextStyle, majorTickLabels: string[], ticksSize: number, labelProvider: LabelProviderBase2D, drawLabels: boolean, drawTicks: boolean): void;
45
+ /**
46
+ * Called internally - calculates desired labels size
47
+ */
35
48
  calcDesiredLabelsSize(isHorizontalAxis: boolean, labelProvider: LabelProviderBase2D, labelStyle: TTextStyle, majorTickLabels: string[]): number;
49
+ /**
50
+ * Called internally - Gets or sets desired height during the layout process
51
+ */
36
52
  get desiredHeight(): number;
37
53
  set desiredHeight(height: number);
54
+ /**
55
+ * Called internally - Gets or sets desired width during the layout process
56
+ */
38
57
  get desiredWidth(): number;
39
58
  set desiredWidth(width: number);
59
+ /**
60
+ * Gets or sets keepLabelsWithinAxis property.
61
+ * When true (default), first and last labels will be shifted to stay within axis bounds.
62
+ * If set to false, these labels will stay aligned to their ticks
63
+ */
40
64
  get keepLabelsWithinAxis(): boolean;
41
65
  set keepLabelsWithinAxis(value: boolean);
66
+ /**
67
+ * Gets or sets hideOverlappingLabels property.
68
+ * Default (true) is to not show labels that would overlap. When using rotation you may want to set this false,
69
+ * as the bounding box of rotated text may overlap even if the text itself does not.
70
+ */
42
71
  get hideOverlappingLabels(): boolean;
43
72
  set hideOverlappingLabels(value: boolean);
73
+ /**
74
+ * Gets or sets axis label area thickness, by default the size is calculated to have enough space for labels.
75
+ * However, this property allows to set minimal width/height for vertical/horizontal axes.
76
+ * Useful to align seriesViewRects for different charts
77
+ */
78
+ get axisThickness(): number;
79
+ set axisThickness(value: number);
80
+ /**
81
+ * Called internally as a part of the layout process
82
+ */
44
83
  layout(rect: Rect): void;
84
+ /**
85
+ * Called internally - draws labels
86
+ */
45
87
  drawLabels(renderContext: WebGlRenderContext2D, axisAlignment: EAxisAlignment, isInnerAxis: boolean, tickLabels: string[], tickCoords: number[], axisOffset: number, labelStyle: TTextStyle, isVerticalChart: boolean, isFlippedCoordinates: boolean, labelProvider: LabelProviderBase2D): void;
88
+ /**
89
+ * Called internally - adjusts labels for label alignment
90
+ */
46
91
  adjustForLabelAlignment(xCoord: number, labelWidth: number, labelAlignment: ELabelAlignment, axisAlignment: EAxisAlignment, isInnerAxis: boolean, axisWidth: number, tickSize: number): number;
92
+ /**
93
+ * Called internally
94
+ */
47
95
  layoutLabels(size: number, tickCoords: number[], labelSizes: number[], isFlippedCoordinates: boolean, padBefore?: number, padAfter?: number): {
48
96
  labelCoords: number[];
49
97
  labelIndexes: number[];
50
98
  };
99
+ /**
100
+ * Called internally
101
+ */
51
102
  drawTicks(renderContext: WebGlRenderContext2D, axisAlignment: EAxisAlignment, isInnerAxis: boolean, tickCoords: number[], axisOffset: number, pen: SCRTPen, tickStyle: TTickLineStyle): void;
103
+ /**
104
+ * Called internally - draws axis labels when needed, for example for line annotations
105
+ */
52
106
  drawModifiersAxisLabel(renderContext: WebGlRenderContext2D, displayValue: string, coord: number, axisAlignment: EAxisAlignment, textStyle: TTextStyle, fill: string): Rect;
107
+ /**
108
+ * Called internally - used for {@link AxisMarkerAnnotation}
109
+ */
53
110
  createAxisMarker(axisAlignment: EAxisAlignment, text: string, textStyle: TTextStyle, backgroundColor?: string, opacity?: number): import("../TextureManager/TextureManager").TTextureObject;
111
+ /**
112
+ * Called internally - used for custom {@link AxisMarkerAnnotation}
113
+ */
54
114
  createAxisMarkerFromImage(image: HTMLImageElement, imageWidth: number, imageHeight: number): import("../TextureManager/TextureManager").TTextureObject;
115
+ /**
116
+ * Called internally
117
+ */
55
118
  createAnnotationLabelTexture(text: string, textStyle: TTextStyle, backgroundColor?: string, displayVertically?: boolean, displayMirrored?: boolean, opacity?: number): import("../TextureManager/TextureManager").TTextureObject;
56
119
  protected invalidateParent(): void;
57
120
  private drawLabelViewRects;
@@ -28,6 +28,11 @@ var TextureManager_1 = require("../TextureManager/TextureManager");
28
28
  * Draws an axis using our WebGL Rendering engine
29
29
  */
30
30
  var AxisRenderer = /** @class */ (function () {
31
+ /**
32
+ * Creates an instance of a {@link AxisRenderer}
33
+ * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
34
+ * access to our WebGL2 Engine and WebAssembly numerical methods
35
+ */
31
36
  function AxisRenderer(webAssemblyContext) {
32
37
  this.viewRect = Rect_1.Rect.createZero();
33
38
  this.drawDebug = false;
@@ -35,6 +40,7 @@ var AxisRenderer = /** @class */ (function () {
35
40
  this.desiredTicksSize = 0;
36
41
  this.desiredHeightProperty = 0;
37
42
  this.desiredWidthProperty = 0;
43
+ this.axisThicknessProperty = 0;
38
44
  this.keepLabelsWithinAxisProperty = true;
39
45
  this.hideOverlappingLabelsProperty = true;
40
46
  this.webAssemblyContext = webAssemblyContext;
@@ -45,9 +51,10 @@ var AxisRenderer = /** @class */ (function () {
45
51
  this.measureTextCanvas.height = 1;
46
52
  }
47
53
  }
54
+ /** @inheritDoc */
48
55
  AxisRenderer.prototype.delete = function () {
49
56
  this.measureTextCanvas = undefined;
50
- this.textureManager = Deleter_1.deleteSafe(this.textureManager);
57
+ this.textureManager = (0, Deleter_1.deleteSafe)(this.textureManager);
51
58
  };
52
59
  /**
53
60
  * Called when the {@link AxisRenderer} is attached to an {@link AxisBase2D | Axis}
@@ -56,15 +63,19 @@ var AxisRenderer = /** @class */ (function () {
56
63
  AxisRenderer.prototype.attachedToAxis = function (axis) {
57
64
  this.parentAxis = axis;
58
65
  };
66
+ /**
67
+ * Called internally - measures the axis label area as part of the layout phase
68
+ */
59
69
  AxisRenderer.prototype.measure = function (isHorizontalAxis, labelStyle, majorTickLabels, ticksSize, labelProvider, drawLabels, drawTicks) {
60
70
  if (SciChartSurfaceBase_1.DebugForDpi) {
61
- console.log("AxisRenderer.measure. fontSize: " + labelStyle.fontSize);
71
+ console.log("AxisRenderer.measure. fontSize: ".concat(labelStyle.fontSize));
62
72
  }
63
73
  this.desiredLabelsSize = drawLabels
64
74
  ? this.calcDesiredLabelsSize(isHorizontalAxis, labelProvider, labelStyle, majorTickLabels)
65
75
  : 0;
66
76
  this.desiredTicksSize = drawTicks ? ticksSize : 0;
67
- var desiredSize = this.desiredLabelsSize + this.desiredTicksSize;
77
+ var desiredLabelsSize = Math.max(this.desiredLabelsSize, this.axisThicknessProperty * DpiHelper_1.DpiHelper.PIXEL_RATIO);
78
+ var desiredSize = desiredLabelsSize + this.desiredTicksSize;
68
79
  if (isHorizontalAxis) {
69
80
  this.desiredHeightProperty = desiredSize;
70
81
  }
@@ -72,6 +83,9 @@ var AxisRenderer = /** @class */ (function () {
72
83
  this.desiredWidthProperty = desiredSize;
73
84
  }
74
85
  };
86
+ /**
87
+ * Called internally - calculates desired labels size
88
+ */
75
89
  AxisRenderer.prototype.calcDesiredLabelsSize = function (isHorizontalAxis, labelProvider, labelStyle, majorTickLabels) {
76
90
  if (app_1.IS_TEST_ENV)
77
91
  return 0;
@@ -88,6 +102,9 @@ var AxisRenderer = /** @class */ (function () {
88
102
  return desiredLabelsSize;
89
103
  };
90
104
  Object.defineProperty(AxisRenderer.prototype, "desiredHeight", {
105
+ /**
106
+ * Called internally - Gets or sets desired height during the layout process
107
+ */
91
108
  get: function () {
92
109
  return this.desiredHeightProperty;
93
110
  },
@@ -98,6 +115,9 @@ var AxisRenderer = /** @class */ (function () {
98
115
  configurable: true
99
116
  });
100
117
  Object.defineProperty(AxisRenderer.prototype, "desiredWidth", {
118
+ /**
119
+ * Called internally - Gets or sets desired width during the layout process
120
+ */
101
121
  get: function () {
102
122
  return this.desiredWidthProperty;
103
123
  },
@@ -108,6 +128,11 @@ var AxisRenderer = /** @class */ (function () {
108
128
  configurable: true
109
129
  });
110
130
  Object.defineProperty(AxisRenderer.prototype, "keepLabelsWithinAxis", {
131
+ /**
132
+ * Gets or sets keepLabelsWithinAxis property.
133
+ * When true (default), first and last labels will be shifted to stay within axis bounds.
134
+ * If set to false, these labels will stay aligned to their ticks
135
+ */
111
136
  get: function () {
112
137
  return this.keepLabelsWithinAxisProperty;
113
138
  },
@@ -119,6 +144,11 @@ var AxisRenderer = /** @class */ (function () {
119
144
  configurable: true
120
145
  });
121
146
  Object.defineProperty(AxisRenderer.prototype, "hideOverlappingLabels", {
147
+ /**
148
+ * Gets or sets hideOverlappingLabels property.
149
+ * Default (true) is to not show labels that would overlap. When using rotation you may want to set this false,
150
+ * as the bounding box of rotated text may overlap even if the text itself does not.
151
+ */
122
152
  get: function () {
123
153
  return this.hideOverlappingLabelsProperty;
124
154
  },
@@ -129,17 +159,39 @@ var AxisRenderer = /** @class */ (function () {
129
159
  enumerable: false,
130
160
  configurable: true
131
161
  });
162
+ Object.defineProperty(AxisRenderer.prototype, "axisThickness", {
163
+ /**
164
+ * Gets or sets axis label area thickness, by default the size is calculated to have enough space for labels.
165
+ * However, this property allows to set minimal width/height for vertical/horizontal axes.
166
+ * Useful to align seriesViewRects for different charts
167
+ */
168
+ get: function () {
169
+ return this.axisThicknessProperty;
170
+ },
171
+ set: function (value) {
172
+ this.axisThicknessProperty = value;
173
+ this.invalidateParent();
174
+ },
175
+ enumerable: false,
176
+ configurable: true
177
+ });
178
+ /**
179
+ * Called internally as a part of the layout process
180
+ */
132
181
  AxisRenderer.prototype.layout = function (rect) {
133
182
  this.viewRect = rect;
134
183
  // Not much we can do here as we don't have access to tick coordinates yet
135
184
  };
185
+ /**
186
+ * Called internally - draws labels
187
+ */
136
188
  AxisRenderer.prototype.drawLabels = function (renderContext, axisAlignment, isInnerAxis, tickLabels, tickCoords, axisOffset, labelStyle, isVerticalChart, isFlippedCoordinates, labelProvider) {
137
189
  if (SciChartSurfaceBase_1.DebugForDpi) {
138
- console.log("AxisRenderer.drawLabels. fontSize: " + labelStyle.fontSize);
190
+ console.log("AxisRenderer.drawLabels. fontSize: ".concat(labelStyle.fontSize));
139
191
  }
140
192
  var _a = this, viewRect = _a.viewRect, textureManager = _a.textureManager;
141
193
  var nativeContext = renderContext.getNativeContext();
142
- var isAxisFlipped = isVerticalChart ? AxisAlignment_1.getIsHorizontal(axisAlignment) : AxisAlignment_1.getIsVertical(axisAlignment);
194
+ var isAxisFlipped = isVerticalChart ? (0, AxisAlignment_1.getIsHorizontal)(axisAlignment) : (0, AxisAlignment_1.getIsVertical)(axisAlignment);
143
195
  var width = Math.floor(viewRect.width);
144
196
  var height = Math.floor(viewRect.height);
145
197
  var tickSize = this.desiredTicksSize;
@@ -152,7 +204,7 @@ var AxisRenderer = /** @class */ (function () {
152
204
  // for debug
153
205
  var labelRects = [];
154
206
  tickCoords = tickCoords.map(function (t) { return t - axisOffset; });
155
- if (AxisAlignment_1.getIsHorizontal(axisAlignment)) {
207
+ if ((0, AxisAlignment_1.getIsHorizontal)(axisAlignment)) {
156
208
  var tickSizes = tickLabels.map(function (label) { return labelProvider.getLabelWidth(ctx, label, labelStyle); });
157
209
  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;
158
210
  for (var index = 0; index < labelIndexes.length; index++) {
@@ -172,7 +224,7 @@ var AxisRenderer = /** @class */ (function () {
172
224
  labelRects.push(Rect_1.Rect.create(xCoord, yCoord, tickSizes[labelIndexes[index]], labelHeight));
173
225
  }
174
226
  try {
175
- var _c = labelProvider.getLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _c.bitmapTexture, textureHeight = _c.textureHeight, textureWidth = _c.textureWidth;
227
+ var _c = labelProvider.getCachedLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _c.bitmapTexture, textureHeight = _c.textureHeight, textureWidth = _c.textureWidth;
176
228
  if (bitmapTexture) {
177
229
  nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
178
230
  if (!labelProvider.useCache) {
@@ -199,10 +251,12 @@ var AxisRenderer = /** @class */ (function () {
199
251
  labelRects.push(Rect_1.Rect.create(xCoord, yCoord, labelWidth, tickSizes[labelIndexes[index]]));
200
252
  }
201
253
  try {
202
- var _e = labelProvider.getLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _e.bitmapTexture, textureHeight = _e.textureHeight, textureWidth = _e.textureWidth;
203
- nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
204
- if (!labelProvider.useCache) {
205
- bitmapTexture.delete();
254
+ var _e = labelProvider.getCachedLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _e.bitmapTexture, textureHeight = _e.textureHeight, textureWidth = _e.textureWidth;
255
+ if (bitmapTexture) {
256
+ nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
257
+ if (!labelProvider.useCache) {
258
+ bitmapTexture.delete();
259
+ }
206
260
  }
207
261
  }
208
262
  catch (err) {
@@ -215,6 +269,9 @@ var AxisRenderer = /** @class */ (function () {
215
269
  this.drawLabelViewRects(renderContext, viewRect, labelRects);
216
270
  }
217
271
  };
272
+ /**
273
+ * Called internally - adjusts labels for label alignment
274
+ */
218
275
  AxisRenderer.prototype.adjustForLabelAlignment = function (xCoord, labelWidth, labelAlignment, axisAlignment, isInnerAxis, axisWidth, tickSize) {
219
276
  var adj = axisWidth - tickSize - labelWidth;
220
277
  if ((axisAlignment === AxisAlignment_1.EAxisAlignment.Left && !isInnerAxis) ||
@@ -239,9 +296,15 @@ var AxisRenderer = /** @class */ (function () {
239
296
  }
240
297
  return xCoord;
241
298
  };
299
+ /**
300
+ * Called internally
301
+ */
242
302
  AxisRenderer.prototype.layoutLabels = function (size, tickCoords, labelSizes, isFlippedCoordinates, padBefore, padAfter) {
243
- return exports.layoutLabelsHelper(this.keepLabelsWithinAxis, this.hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates);
303
+ return (0, exports.layoutLabelsHelper)(this.keepLabelsWithinAxis, this.hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates);
244
304
  };
305
+ /**
306
+ * Called internally
307
+ */
245
308
  AxisRenderer.prototype.drawTicks = function (renderContext, axisAlignment, isInnerAxis, tickCoords, axisOffset, pen, tickStyle) {
246
309
  var _this = this;
247
310
  if (!tickCoords || tickCoords.length === 0)
@@ -249,7 +312,7 @@ var AxisRenderer = /** @class */ (function () {
249
312
  var viewRect = this.viewRect;
250
313
  var tickSize = tickStyle.tickSize;
251
314
  var vertices = new this.webAssemblyContext.VectorColorVertex();
252
- var isHorizontal = AxisAlignment_1.getIsHorizontal(axisAlignment);
315
+ var isHorizontal = (0, AxisAlignment_1.getIsHorizontal)(axisAlignment);
253
316
  if (isHorizontal === undefined) {
254
317
  return;
255
318
  }
@@ -296,6 +359,9 @@ var AxisRenderer = /** @class */ (function () {
296
359
  vertices.clear();
297
360
  vertices.delete();
298
361
  };
362
+ /**
363
+ * Called internally - draws axis labels when needed, for example for line annotations
364
+ */
299
365
  AxisRenderer.prototype.drawModifiersAxisLabel = function (renderContext, displayValue, coord, axisAlignment, textStyle, fill) {
300
366
  if (!displayValue)
301
367
  return undefined;
@@ -322,13 +388,22 @@ var AxisRenderer = /** @class */ (function () {
322
388
  bitmapTexture.delete();
323
389
  return new Rect_1.Rect(xPosition, yPosition, textureWidth, textureHeight);
324
390
  };
391
+ /**
392
+ * Called internally - used for {@link AxisMarkerAnnotation}
393
+ */
325
394
  AxisRenderer.prototype.createAxisMarker = function (axisAlignment, text, textStyle, backgroundColor, opacity) {
326
395
  var fontStyle = textStyle.fontStyle, fontWeight = textStyle.fontWeight, fontSize = textStyle.fontSize, fontFamily = textStyle.fontFamily, color = textStyle.color;
327
396
  return this.textureManager.createAxisMarkerTexture(axisAlignment, text, fontStyle, fontWeight, fontSize, fontFamily, color, 2 * DpiHelper_1.DpiHelper.PIXEL_RATIO, backgroundColor, opacity);
328
397
  };
398
+ /**
399
+ * Called internally - used for custom {@link AxisMarkerAnnotation}
400
+ */
329
401
  AxisRenderer.prototype.createAxisMarkerFromImage = function (image, imageWidth, imageHeight) {
330
402
  return this.textureManager.createTextureFromImage(image, imageWidth, imageHeight);
331
403
  };
404
+ /**
405
+ * Called internally
406
+ */
332
407
  AxisRenderer.prototype.createAnnotationLabelTexture = function (text, textStyle, backgroundColor, displayVertically, displayMirrored, opacity) {
333
408
  return this.textureManager.createSimpleTextTexture(text, __assign(__assign({}, textStyle), { padding: new Thickness_1.Thickness(2, 2, 2, 2) }), backgroundColor, displayVertically, displayMirrored, opacity);
334
409
  };
@@ -339,10 +414,10 @@ var AxisRenderer = /** @class */ (function () {
339
414
  };
340
415
  AxisRenderer.prototype.drawLabelViewRects = function (renderContext, axisRect, rects) {
341
416
  var vecRects = new this.webAssemblyContext.VectorRectVertex();
342
- var brush = new this.webAssemblyContext.SCRTSolidBrush(parseColor_1.parseColorToUIntArgb("rgba(30,30,255,0.3)"), false);
417
+ var brush = new this.webAssemblyContext.SCRTSolidBrush((0, parseColor_1.parseColorToUIntArgb)("rgba(30,30,255,0.3)"), false);
343
418
  for (var _i = 0, rects_1 = rects; _i < rects_1.length; _i++) {
344
419
  var rect = rects_1[_i];
345
- var nativeRect = createNativeRect_1.createNativeRect(this.webAssemblyContext, rect.left, rect.top, rect.right, rect.bottom);
420
+ var nativeRect = (0, createNativeRect_1.createNativeRect)(this.webAssemblyContext, rect.left, rect.top, rect.right, rect.bottom);
346
421
  vecRects.push_back(nativeRect);
347
422
  nativeRect.delete();
348
423
  }
@@ -354,7 +429,7 @@ var AxisRenderer = /** @class */ (function () {
354
429
  }());
355
430
  exports.AxisRenderer = AxisRenderer;
356
431
  /** @ignore */
357
- exports.layoutLabelsHelper = function (keepLabelsWithinAxis, hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates) {
432
+ var layoutLabelsHelper = function (keepLabelsWithinAxis, hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates) {
358
433
  var labelSpacing = 0;
359
434
  var labelCoords = [];
360
435
  var labelIndexes = [];
@@ -409,3 +484,4 @@ exports.layoutLabelsHelper = function (keepLabelsWithinAxis, hideOverlappingLabe
409
484
  }
410
485
  return { labelCoords: labelCoords, labelIndexes: labelIndexes };
411
486
  };
487
+ exports.layoutLabelsHelper = layoutLabelsHelper;
@@ -43,12 +43,16 @@ var AxisTitleRenderer = /** @class */ (function () {
43
43
  var lineWithSpacing = lines > 1 ? 1 + this.lineSpacing * (lines - 1) : lines;
44
44
  if (isHorizontal) {
45
45
  this.desiredHeightProperty = this.text
46
- ? lineWithSpacing * TextureManager_1.measureTextHeight(textStyle.fontSize) + ((_a = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _a === void 0 ? void 0 : _a.bottom) + ((_b = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _b === void 0 ? void 0 : _b.top)
46
+ ? lineWithSpacing * (0, TextureManager_1.measureTextHeight)(textStyle.fontSize) +
47
+ ((_a = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _a === void 0 ? void 0 : _a.bottom) +
48
+ ((_b = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _b === void 0 ? void 0 : _b.top)
47
49
  : PADDING.NO_TITLE;
48
50
  }
49
51
  else {
50
52
  this.desiredWidthProperty = this.text
51
- ? lineWithSpacing * TextureManager_1.measureTextHeight(textStyle.fontSize) + ((_c = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _c === void 0 ? void 0 : _c.left) + ((_d = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _d === void 0 ? void 0 : _d.right)
53
+ ? lineWithSpacing * (0, TextureManager_1.measureTextHeight)(textStyle.fontSize) +
54
+ ((_c = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _c === void 0 ? void 0 : _c.left) +
55
+ ((_d = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _d === void 0 ? void 0 : _d.right)
52
56
  : PADDING.NO_TITLE;
53
57
  }
54
58
  };
@@ -93,7 +97,7 @@ var AxisTitleRenderer = /** @class */ (function () {
93
97
  nativeContext.DrawTexture(bitmapTexture, Math.round(xPositionCenter), Math.round(yPosition), textureWidth, textureHeight);
94
98
  // for debugging width and height measure
95
99
  if (debugRendering) {
96
- var pen = new WebGlPen_1.WebGlPen(new this.webAssemblyContext.SCRTPen(parseColor_1.parseColorToUIntArgb("Red"), 1, true));
100
+ var pen = new WebGlPen_1.WebGlPen(new this.webAssemblyContext.SCRTPen((0, parseColor_1.parseColorToUIntArgb)("Red"), 1, true));
97
101
  renderContext.drawRect(new Rect_1.Rect(xPositionCenter, yPosition, textureWidth, textureHeight), Rect_1.Rect.create(0, 0, 999, 999), pen);
98
102
  pen.delete();
99
103
  }
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -37,7 +39,8 @@ var CategoryAxis = /** @class */ (function (_super) {
37
39
  var _a;
38
40
  var _this = _super.call(this, webAssemblyContext, options) || this;
39
41
  _this.type = AxisType_1.EAxisType.CategoryAxis;
40
- _this.labelProvider = (_a = options === null || options === void 0 ? void 0 : options.labelProvider) !== null && _a !== void 0 ? _a : new DateLabelProvider_1.DateLabelProvider(options);
42
+ _this.labelProvider =
43
+ (_a = options === null || options === void 0 ? void 0 : options.labelProvider) !== null && _a !== void 0 ? _a : new DateLabelProvider_1.DateLabelProvider(options);
41
44
  return _this;
42
45
  }
43
46
  return CategoryAxis;
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -54,19 +56,19 @@ var CategoryAxisBase = /** @class */ (function (_super) {
54
56
  */
55
57
  CategoryAxisBase.prototype.prepareRenderData = function () {
56
58
  var _this = this;
57
- Deleter_1.deleteSafe(this.coordCalcCache);
59
+ (0, Deleter_1.deleteSafe)(this.coordCalcCache);
58
60
  var coordCalc = this.getCurrentCoordinateCalculatorInternal();
59
61
  var scs = this.parentSurface;
60
62
  var renderableSeries = scs.renderableSeries.asArray().find(function (rs) { return rs.xAxisId === _this.id; });
61
63
  if (!renderableSeries) {
62
- throw new Error("category x axis with id=" + this.id + " should have renderable series");
64
+ throw new Error("category x axis with id=".concat(this.id, " should have renderable series"));
63
65
  }
64
66
  if (!renderableSeries.hasDataSeries()) {
65
- throw new Error("category x axis with id=" + this.id + " should have data series");
67
+ throw new Error("category x axis with id=".concat(this.id, " should have data series"));
66
68
  }
67
69
  var dataSeriesLength = renderableSeries.getDataSeriesValuesCount();
68
70
  if (dataSeriesLength === 0) {
69
- throw new Error("category x axis with id=" + this.id + " should have data series count > 0");
71
+ throw new Error("category x axis with id=".concat(this.id, " should have data series count > 0"));
70
72
  }
71
73
  this.setBaseXValues(coordCalc, renderableSeries);
72
74
  this.coordCalcCache = coordCalc;
@@ -83,14 +85,14 @@ var CategoryAxisBase = /** @class */ (function (_super) {
83
85
  var scs = this.parentSurface;
84
86
  var renderableSeries = scs.renderableSeries.asArray().find(function (rs) { return rs.xAxisId === _this.id; });
85
87
  if (!renderableSeries) {
86
- throw new Error("category x axis with id=" + this.id + " should have renderable series");
88
+ throw new Error("category x axis with id=".concat(this.id, " should have renderable series"));
87
89
  }
88
90
  if (!renderableSeries.hasDataSeries()) {
89
- throw new Error("category x axis with id=" + this.id + " should have data series");
91
+ throw new Error("category x axis with id=".concat(this.id, " should have data series"));
90
92
  }
91
93
  var dataSeriesLength = renderableSeries.getDataSeriesValuesCount();
92
94
  if (dataSeriesLength === 0) {
93
- throw new Error("category x axis with id=" + this.id + " should have data series count > 0");
95
+ throw new Error("category x axis with id=".concat(this.id, " should have data series count > 0"));
94
96
  }
95
97
  var coordCalc = shouldFlip
96
98
  ? new FlippedCategoryCoordinateCalculator_1.FlippedCategoryCoordinateCalculator(this.webAssemblyContext2D, size, 0, 0, min, max, this.offset)
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -43,11 +45,11 @@ var DateLabelProvider = /** @class */ (function (_super) {
43
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;
44
46
  _this.type = LabelProviderType_1.ELabelProviderType.Date;
45
47
  _this.formatLabelProperty = function (dataValue) {
46
- return _this.applyFormat(number_1.formatNumber(dataValue, _this.numericFormat, _this.precision));
48
+ return _this.applyFormat((0, number_1.formatNumber)(dataValue, _this.numericFormat, _this.precision));
47
49
  };
48
50
  _this.formatCursorLabelProperty = function (dataValue) {
49
51
  var _a, _b;
50
- return _this.applyFormat(number_1.formatNumber(dataValue, (_a = _this.cursorNumericFormat) !== null && _a !== void 0 ? _a : _this.numericFormat, (_b = _this.cursorPrecision) !== null && _b !== void 0 ? _b : _this.precision));
52
+ return _this.applyFormat((0, number_1.formatNumber)(dataValue, (_a = _this.cursorNumericFormat) !== null && _a !== void 0 ? _a : _this.numericFormat, (_b = _this.cursorPrecision) !== null && _b !== void 0 ? _b : _this.precision));
51
53
  };
52
54
  return _this;
53
55
  }
@@ -0,0 +1,41 @@
1
+ import { TTextStyle } from "../AxisCore";
2
+ import { LabelInfo } from "./LabelProviderBase2D";
3
+ export declare type TCachedLabelStyle = TTextStyle & {
4
+ providerId: string;
5
+ rotation?: number;
6
+ extras?: string;
7
+ };
8
+ /**
9
+ * A global cache for labels, used by all labelProviders, to reduce the amount of time spent creating label textures.
10
+ */
11
+ export declare const labelCache: {
12
+ /** Get an identifier for the given text style. Returns an existing identifier if a matching style exists in the cache */
13
+ getStyleId: (style: TCachedLabelStyle) => string;
14
+ /**
15
+ * Notify the cache that a style is no longer used.
16
+ * Linked labels are only deleted when there are no remaining uses, and then only after minAge has passed.
17
+ */
18
+ freeStyle: (styleId: string) => void;
19
+ /** Get a label from the cache. Returns undefined if none found. */
20
+ getLabel: (text: string, styleId: string) => LabelInfo;
21
+ /** Add a label to the cache */
22
+ setLabel: (text: string, styleId: string, label: LabelInfo) => void;
23
+ /** Check if a text style matches the one for the given id */
24
+ checkStyle: (currentStyleId: string, newStyle: TCachedLabelStyle) => boolean;
25
+ /** Get the maximum number of labels allowed to be stored in the cache. Used when calling pruneCache */
26
+ getMaxSize: () => number;
27
+ /** Set the maximum number of labels allowed to be stored in the cache. Used when calling pruneCache */
28
+ setMaxSize: (size: number) => void;
29
+ /** Get the minimum age (time since last used) of labels in the cache.
30
+ * This prevents recently used labels from being pruned, or removed when style is freed
31
+ */
32
+ getMinAge: () => number;
33
+ /** Set the minimum age (time since last used) of labels in the cache.
34
+ * This prevents recently used labels from being pruned, or removed when style is freed
35
+ */
36
+ setMinAge: (ageInMs: number) => void;
37
+ /** Remove old labels from the cache, if there are more than MaxSize. */
38
+ pruneCache: () => void;
39
+ /** Completely clears and resets the cache. Testing use only */
40
+ resetCache: () => void;
41
+ };