scichart 2.0.2139 → 2.0.2185

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 (379) 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.d.ts +1 -1
  6. package/Builder/buildSeries.js +21 -20
  7. package/Builder/buildSurface.js +29 -27
  8. package/Builder/chartBuilder.d.ts +10 -162
  9. package/Builder/chartBuilder.js +9 -6
  10. package/Builder/classFactory.js +12 -6
  11. package/Charting/ChartModifiers/ChartModifierBase.js +1 -1
  12. package/Charting/ChartModifiers/ChartModifierBase2D.d.ts +1 -1
  13. package/Charting/ChartModifiers/ChartModifierBase2D.js +11 -6
  14. package/Charting/ChartModifiers/CursorModifier.d.ts +23 -3
  15. package/Charting/ChartModifiers/CursorModifier.js +72 -40
  16. package/Charting/ChartModifiers/DataPointSelectionModifier.d.ts +1 -1
  17. package/Charting/ChartModifiers/DataPointSelectionModifier.js +18 -16
  18. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  19. package/Charting/ChartModifiers/LegendModifier.js +4 -1
  20. package/Charting/ChartModifiers/ModifierMouseArgs.js +4 -3
  21. package/Charting/ChartModifiers/MouseWheelZoomModifier.d.ts +52 -2
  22. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +105 -10
  23. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +2 -2
  24. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +13 -10
  25. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +1 -1
  26. package/Charting/ChartModifiers/PinchZoomModifier.js +4 -2
  27. package/Charting/ChartModifiers/RolloverModifier.d.ts +1 -1
  28. package/Charting/ChartModifiers/RolloverModifier.js +27 -20
  29. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  30. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +11 -9
  31. package/Charting/ChartModifiers/SeriesSelectionModifier.d.ts +1 -1
  32. package/Charting/ChartModifiers/SeriesSelectionModifier.js +9 -7
  33. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  34. package/Charting/ChartModifiers/XAxisDragModifier.js +12 -10
  35. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  36. package/Charting/ChartModifiers/YAxisDragModifier.js +12 -10
  37. package/Charting/ChartModifiers/ZoomExtentsModifier.d.ts +17 -1
  38. package/Charting/ChartModifiers/ZoomExtentsModifier.js +65 -10
  39. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +4 -2
  40. package/Charting/ChartModifiers/ZoomPanModifier.js +25 -21
  41. package/Charting/Drawing/BaseCache.js +2 -2
  42. package/Charting/Drawing/BrushCache.js +12 -7
  43. package/Charting/Drawing/PaletteCache.js +4 -2
  44. package/Charting/Drawing/Pen2DCache.js +14 -9
  45. package/Charting/Drawing/SolidBrushCache.js +2 -2
  46. package/Charting/Drawing/TextureCache.js +4 -2
  47. package/Charting/Drawing/WebGlBrush.js +1 -1
  48. package/Charting/Drawing/WebGlPen.js +2 -2
  49. package/Charting/Drawing/WebGlRenderContext2D.js +5 -5
  50. package/Charting/LayoutManager/AxisLayoutHelpers.js +6 -4
  51. package/Charting/LayoutManager/BaseAxisLayoutStrategy.js +4 -4
  52. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.d.ts +1 -1
  53. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.js +3 -1
  54. package/Charting/LayoutManager/BottomAlignedInnerAxisLayoutStrategy.js +6 -4
  55. package/Charting/LayoutManager/BottomAlignedOuterAxisLayoutStrategy.js +6 -4
  56. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +7 -5
  57. package/Charting/LayoutManager/CentralAxesLayoutManager.js +7 -3
  58. package/Charting/LayoutManager/LayoutManager.js +2 -2
  59. package/Charting/LayoutManager/LeftAlignedInnerAxisLayoutStrategy.js +6 -4
  60. package/Charting/LayoutManager/LeftAlignedOuterAxisLayoutStrategy.js +6 -4
  61. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +7 -5
  62. package/Charting/LayoutManager/RightAlignedInnerAxisLayoutStrategy.js +6 -4
  63. package/Charting/LayoutManager/RightAlignedOuterAxisLayoutStrategy.js +6 -4
  64. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +7 -5
  65. package/Charting/LayoutManager/SynchronizedLayoutManager.js +4 -2
  66. package/Charting/LayoutManager/TopAlignedInnerAxisLayoutStrategy.js +6 -4
  67. package/Charting/LayoutManager/TopAlignedOuterAxisLayoutStrategy.js +6 -4
  68. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +7 -5
  69. package/Charting/Model/BaseDataSeries.d.ts +2 -2
  70. package/Charting/Model/BaseDataSeries.js +23 -20
  71. package/Charting/Model/BaseHeatmapDataSeries.js +5 -5
  72. package/Charting/Model/ChartData/HeatmapSeriesInfo.js +4 -2
  73. package/Charting/Model/ChartData/OhlcSeriesInfo.js +3 -1
  74. package/Charting/Model/ChartData/SeriesInfo.d.ts +1 -0
  75. package/Charting/Model/ChartData/SeriesInfo.js +15 -0
  76. package/Charting/Model/ChartData/StackedXySeriesInfo.js +3 -1
  77. package/Charting/Model/ChartData/XySeriesInfo.js +3 -1
  78. package/Charting/Model/ChartData/XyySeriesInfo.js +3 -1
  79. package/Charting/Model/DataPointSelectionPaletteProvider.js +2 -2
  80. package/Charting/Model/Filters/OhlcCustomFilter.js +7 -2
  81. package/Charting/Model/Filters/OhlcFilterBase.js +3 -1
  82. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +3 -1
  83. package/Charting/Model/Filters/XyCustomFilter.js +3 -1
  84. package/Charting/Model/Filters/XyFilterBase.js +9 -6
  85. package/Charting/Model/Filters/XyLinearTrendFilter.js +3 -1
  86. package/Charting/Model/Filters/XyMovingAverageFilter.js +3 -1
  87. package/Charting/Model/Filters/XyRatioFilter.js +6 -4
  88. package/Charting/Model/Filters/XyScaleOffsetFilter.js +3 -1
  89. package/Charting/Model/Filters/XyyCustomFilter.js +3 -1
  90. package/Charting/Model/Filters/XyyFilterBase.js +7 -5
  91. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +3 -1
  92. package/Charting/Model/Filters/XyzCustomFilter.js +3 -1
  93. package/Charting/Model/Filters/XyzFilterBase.js +7 -5
  94. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +3 -1
  95. package/Charting/Model/OhlcDataSeries.d.ts +2 -2
  96. package/Charting/Model/OhlcDataSeries.js +27 -25
  97. package/Charting/Model/PaletteFactory.js +3 -3
  98. package/Charting/Model/UniformHeatmapDataSeries.js +3 -1
  99. package/Charting/Model/XyDataSeries.js +9 -7
  100. package/Charting/Model/XyyDataSeries.d.ts +2 -2
  101. package/Charting/Model/XyyDataSeries.js +15 -13
  102. package/Charting/Model/XyzDataSeries.d.ts +2 -2
  103. package/Charting/Model/XyzDataSeries.js +15 -13
  104. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +3 -1
  105. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +3 -1
  106. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +3 -1
  107. package/Charting/Numerics/CoordinateCalculators/LogarithmicCoordinateCalculator.js +3 -1
  108. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +3 -1
  109. package/Charting/Numerics/TickCoordinateProviders/DefaultTickCoordinatesProvider.js +3 -1
  110. package/Charting/Numerics/TickProviders/LogarithmicTickProvider.js +7 -5
  111. package/Charting/Numerics/TickProviders/NumericTickProvider.js +4 -2
  112. package/Charting/Services/SciChartRenderer.d.ts +1 -0
  113. package/Charting/Services/SciChartRenderer.js +41 -22
  114. package/Charting/Services/Workers/TextureWorker.d.ts +16 -0
  115. package/Charting/Services/Workers/TextureWorker.js +138 -0
  116. package/Charting/Services/Workers/TextureWorkerSource.d.ts +1 -0
  117. package/Charting/Services/Workers/TextureWorkerSource.js +133 -0
  118. package/Charting/Themes/SciChartJSDarkTheme.js +3 -1
  119. package/Charting/Themes/SciChartJSDarkv2Theme.js +3 -1
  120. package/Charting/Themes/SciChartJSLightTheme.js +3 -1
  121. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +1 -1
  122. package/Charting/Visuals/Annotations/AnnotationBase.js +71 -41
  123. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +28 -1
  124. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +11 -9
  125. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -1
  126. package/Charting/Visuals/Annotations/BoxAnnotation.js +18 -16
  127. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +1 -1
  128. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +36 -14
  129. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  130. package/Charting/Visuals/Annotations/CustomAnnotation.js +3 -1
  131. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +8 -6
  132. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -1
  133. package/Charting/Visuals/Annotations/LineAnnotation.js +21 -17
  134. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +20 -17
  135. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +3 -1
  136. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.js +3 -1
  137. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +4 -2
  138. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +17 -15
  139. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +1 -1
  140. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +23 -13
  141. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +1 -1
  142. package/Charting/Visuals/Annotations/TextAnnotation.js +4 -2
  143. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +8 -6
  144. package/Charting/Visuals/Axis/AxisBase2D.d.ts +89 -58
  145. package/Charting/Visuals/Axis/AxisBase2D.js +118 -66
  146. package/Charting/Visuals/Axis/AxisCore.d.ts +7 -4
  147. package/Charting/Visuals/Axis/AxisCore.js +18 -32
  148. package/Charting/Visuals/Axis/AxisRenderer.d.ts +63 -0
  149. package/Charting/Visuals/Axis/AxisRenderer.js +92 -16
  150. package/Charting/Visuals/Axis/AxisTitleRenderer.js +7 -3
  151. package/Charting/Visuals/Axis/CategoryAxis.js +5 -2
  152. package/Charting/Visuals/Axis/CategoryAxisBase.js +10 -8
  153. package/Charting/Visuals/Axis/DeltaCalculator/CategoryDeltaCalculator.js +3 -1
  154. package/Charting/Visuals/Axis/DeltaCalculator/LogarithmicDeltaCalculator.js +3 -1
  155. package/Charting/Visuals/Axis/DeltaCalculator/NumericDeltaCalculator.js +3 -1
  156. package/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.js +5 -3
  157. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +41 -0
  158. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +164 -0
  159. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +1 -1
  160. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +57 -7
  161. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +171 -74
  162. package/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.js +5 -3
  163. package/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.js +5 -3
  164. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +30 -37
  165. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +5 -2
  166. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.js +86 -5
  167. package/Charting/Visuals/Axis/LogarithmicAxis.d.ts +1 -3
  168. package/Charting/Visuals/Axis/LogarithmicAxis.js +14 -14
  169. package/Charting/Visuals/Axis/NumericAxis.js +5 -2
  170. package/Charting/Visuals/Axis/getAxisById.js +1 -1
  171. package/Charting/Visuals/Helpers/createNativeRect.js +2 -1
  172. package/Charting/Visuals/Helpers/createPen.js +4 -3
  173. package/Charting/Visuals/Helpers/createSolidBrush.js +5 -4
  174. package/Charting/Visuals/Helpers/drawBorder.js +6 -5
  175. package/Charting/Visuals/Helpers/drawLabel.js +10 -6
  176. package/Charting/Visuals/Legend/SciChartLegend.js +4 -2
  177. package/Charting/Visuals/Legend/SciChartLegendBase.js +16 -14
  178. package/Charting/Visuals/Legend/SciChartPieLegend.js +6 -4
  179. package/Charting/Visuals/PointMarkers/BasePointMarker.js +3 -3
  180. package/Charting/Visuals/PointMarkers/CrossPointMarker.js +3 -1
  181. package/Charting/Visuals/PointMarkers/EllipsePointMarker.js +3 -1
  182. package/Charting/Visuals/PointMarkers/SpritePointMarker.js +3 -1
  183. package/Charting/Visuals/PointMarkers/SquarePointMarker.js +3 -1
  184. package/Charting/Visuals/PointMarkers/TrianglePointMarker.js +3 -1
  185. package/Charting/Visuals/PointMarkers/XPointMarker.js +3 -1
  186. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.d.ts +2 -2
  187. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +8 -6
  188. package/Charting/Visuals/RenderableSeries/Animations/BandAnimationStyle.js +6 -4
  189. package/Charting/Visuals/RenderableSeries/Animations/BaseAnimationStyle.js +1 -1
  190. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.d.ts +2 -2
  191. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +5 -3
  192. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.d.ts +1 -1
  193. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.js +5 -3
  194. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimationStyle.js +5 -3
  195. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.d.ts +2 -2
  196. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +6 -4
  197. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimationStyle.js +4 -2
  198. package/Charting/Visuals/RenderableSeries/Animations/CustomPointMarkerStyle.js +3 -1
  199. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  200. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +5 -3
  201. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.d.ts +2 -2
  202. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +5 -3
  203. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.d.ts +2 -2
  204. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +6 -4
  205. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimationStyle.js +4 -2
  206. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.d.ts +2 -2
  207. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +7 -5
  208. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimationStyle.js +5 -3
  209. package/Charting/Visuals/RenderableSeries/Animations/PointMarkerStyle.js +5 -3
  210. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +3 -3
  211. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +5 -3
  212. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.d.ts +2 -2
  213. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +5 -3
  214. package/Charting/Visuals/RenderableSeries/Animations/{BaseAnimation.d.ts → SeriesAnimation.d.ts} +4 -3
  215. package/Charting/Visuals/RenderableSeries/Animations/{BaseAnimation.js → SeriesAnimation.js} +16 -16
  216. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  217. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.js +5 -3
  218. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +3 -3
  219. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +5 -3
  220. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +8 -8
  221. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  222. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +3 -1
  223. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +3 -1
  224. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +3 -1
  225. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +3 -1
  226. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +9 -9
  227. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +18 -17
  228. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +7 -7
  229. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +8 -6
  230. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +7 -7
  231. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +4 -4
  232. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +20 -18
  233. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +12 -12
  234. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +4 -2
  235. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +12 -10
  236. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +9 -7
  237. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +10 -8
  238. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +20 -18
  239. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +6 -4
  240. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +9 -7
  241. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +6 -4
  242. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +3 -1
  243. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +3 -1
  244. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +3 -1
  245. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +6 -3
  246. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +3 -1
  247. package/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.js +3 -1
  248. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +3 -1
  249. package/Charting/Visuals/RenderableSeries/GlowEffect.js +3 -1
  250. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +3 -1
  251. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  252. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +4 -2
  253. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +4 -2
  254. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +8 -6
  255. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +3 -1
  256. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +4 -2
  257. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +6 -4
  258. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +7 -5
  259. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +3 -1
  260. package/Charting/Visuals/RenderableSeries/HitTest/UniformHeatmapHitTestProvider.js +3 -1
  261. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +12 -12
  262. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +2 -2
  263. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +3 -3
  264. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.d.ts +5 -0
  265. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.js +31 -7
  266. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +4 -4
  267. package/Charting/Visuals/RenderableSeries/ShadowEffect.js +4 -2
  268. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  269. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +6 -4
  270. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +4 -4
  271. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +5 -3
  272. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +4 -4
  273. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +5 -3
  274. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +6 -4
  275. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +11 -9
  276. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +7 -5
  277. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +11 -9
  278. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -4
  279. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +5 -2
  280. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +3 -1
  281. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +3 -3
  282. package/Charting/Visuals/SciChartDefaults.d.ts +11 -0
  283. package/Charting/Visuals/SciChartDefaults.js +18 -0
  284. package/Charting/Visuals/SciChartOverview.js +13 -7
  285. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +1 -1
  286. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +27 -24
  287. package/Charting/Visuals/SciChartSurface.d.ts +13 -0
  288. package/Charting/Visuals/SciChartSurface.js +52 -14
  289. package/Charting/Visuals/SciChartSurfaceBase.js +15 -11
  290. package/Charting/Visuals/TextureManager/CanvasTexture.js +5 -5
  291. package/Charting/Visuals/TextureManager/DpiHelper.js +3 -3
  292. package/Charting/Visuals/TextureManager/TextureManager.d.ts +1 -0
  293. package/Charting/Visuals/TextureManager/TextureManager.js +16 -12
  294. package/Charting/Visuals/createMaster.js +6 -5
  295. package/Charting/Visuals/createSingle.js +6 -4
  296. package/Charting/Visuals/licenseManager2D.js +65 -48
  297. package/Charting/Visuals/loader.js +1 -1
  298. package/Charting/Visuals/sciChartInitCommon.js +12 -12
  299. package/Charting3D/CameraController.js +6 -6
  300. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +3 -1
  301. package/Charting3D/ChartModifiers/MouseWheelZoomModifier3D.js +3 -1
  302. package/Charting3D/ChartModifiers/OrbitModifier3D.js +3 -1
  303. package/Charting3D/ChartModifiers/ResetCamera3DModifier.d.ts +79 -0
  304. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +143 -0
  305. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.js +4 -2
  306. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +3 -1
  307. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +6 -4
  308. package/Charting3D/Vector3.js +1 -1
  309. package/Charting3D/Visuals/Axis/AxisBase3D.js +9 -7
  310. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +20 -15
  311. package/Charting3D/Visuals/Axis/NumericAxis3D.d.ts +5 -0
  312. package/Charting3D/Visuals/Axis/NumericAxis3D.js +29 -1
  313. package/Charting3D/Visuals/DefaultViewportManager3D.js +3 -1
  314. package/Charting3D/Visuals/GizmoEntity.js +3 -1
  315. package/Charting3D/Visuals/PointMarkers/BaseMeshPointMarker3D.js +3 -1
  316. package/Charting3D/Visuals/PointMarkers/BaseTexturePointMarker3D.js +3 -1
  317. package/Charting3D/Visuals/PointMarkers/DefaultPointMarkers.js +3 -1
  318. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +2 -2
  319. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +3 -1
  320. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +7 -5
  321. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +22 -20
  322. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +3 -3
  323. package/Charting3D/Visuals/RenderableSeries/ScatterRenderableSeries3D.js +3 -1
  324. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/GradientColorPalette.js +3 -1
  325. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SolidColorBrushPalette.js +5 -3
  326. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.js +3 -1
  327. package/Charting3D/Visuals/RootSceneEntity.js +3 -1
  328. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  329. package/Charting3D/Visuals/SciChart3DRenderer.js +11 -2
  330. package/Charting3D/Visuals/SciChart3DSurface.d.ts +22 -0
  331. package/Charting3D/Visuals/SciChart3DSurface.js +64 -11
  332. package/Charting3D/Visuals/createMaster3d.js +8 -7
  333. package/Charting3D/Visuals/createSingle3d.js +5 -4
  334. package/Charting3D/Visuals/licenseManager3D.js +7 -6
  335. package/Core/Animations/AnimationFiniteStateMachine.d.ts +27 -14
  336. package/Core/Animations/AnimationFiniteStateMachine.js +51 -16
  337. package/Core/Animations/Animator.d.ts +1 -9
  338. package/Core/Animations/Animator.js +1 -9
  339. package/Core/Animations/DoubleAnimator.d.ts +2 -8
  340. package/Core/Animations/DoubleAnimator.js +2 -8
  341. package/Core/Animations/GenericAnimation.d.ts +74 -0
  342. package/Core/Animations/GenericAnimation.js +74 -0
  343. package/Core/Animations/NumberRangeAnimator.d.ts +4 -3
  344. package/Core/Animations/NumberRangeAnimator.js +23 -3
  345. package/Core/Guard.js +4 -4
  346. package/Core/Mouse/MouseManager.js +1 -1
  347. package/Core/NumberRange.js +8 -9
  348. package/Core/Point.js +1 -1
  349. package/_wasm/scichart.browser.js +1 -1
  350. package/_wasm/scichart2d.js +1 -1
  351. package/_wasm/scichart2d.wasm +0 -0
  352. package/_wasm/scichart3d.js +95 -95
  353. package/_wasm/scichart3d.wasm +0 -0
  354. package/index.js +1 -0
  355. package/package.json +2 -2
  356. package/types/AxisAlignment.js +6 -4
  357. package/types/ChartModifierType.d.ts +2 -1
  358. package/types/ChartModifierType.js +1 -0
  359. package/utils/array.js +2 -1
  360. package/utils/calcAverage.js +4 -2
  361. package/utils/colorUtil.js +4 -4
  362. package/utils/convertColor.js +6 -4
  363. package/utils/convertToPixel.js +2 -1
  364. package/utils/date.js +26 -17
  365. package/utils/font.js +4 -3
  366. package/utils/guid.js +2 -1
  367. package/utils/hasAllProperties.js +2 -1
  368. package/utils/includedAxis.d.ts +3 -0
  369. package/utils/includedAxis.js +23 -0
  370. package/utils/math.js +6 -3
  371. package/utils/number.js +18 -13
  372. package/utils/parseColor.js +7 -5
  373. package/utils/pointUtil.js +24 -15
  374. package/utils/random.js +2 -1
  375. package/utils/randomPricesDataSource.js +7 -5
  376. package/utils/svgString.js +2 -1
  377. package/utils/translate.js +10 -5
  378. package/utils/tsrExtensions.js +4 -2
  379. package/utils/zeroArray2D.js +3 -2
@@ -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
+ };
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.labelCache = void 0;
4
+ var Deleter_1 = require("../../../../Core/Deleter");
5
+ var labelCacheByTextAndStyle = new Map();
6
+ var styleCache = {};
7
+ var lastStyleId = 0;
8
+ var getStyleId = function (style) {
9
+ for (var key in styleCache) {
10
+ if (styleCache.hasOwnProperty(key)) {
11
+ var otherStyle = styleCache[key];
12
+ if (otherStyle) {
13
+ if (checkTextStyleEqual(style, otherStyle.style)) {
14
+ otherStyle.uses++;
15
+ return key;
16
+ }
17
+ }
18
+ }
19
+ }
20
+ lastStyleId++;
21
+ var newStyleId = lastStyleId.toString();
22
+ styleCache[newStyleId] = { style: style, uses: 1 };
23
+ return newStyleId;
24
+ };
25
+ var freeStyle = function (styleId) {
26
+ var style = styleCache[styleId];
27
+ if (style) {
28
+ style.uses--;
29
+ setTimeout(function () {
30
+ var styleToClear = styleCache[styleId];
31
+ if (styleToClear && styleToClear.uses === 0) {
32
+ clearCacheByStyle(styleId);
33
+ }
34
+ }, minAge);
35
+ }
36
+ };
37
+ var makeCacheKey = function (text, styleId) {
38
+ return "".concat(text, "|:|").concat(styleId);
39
+ };
40
+ var parseCacheKey = function (key) {
41
+ var sep = key.indexOf("|:|");
42
+ var text = key.substring(0, sep - 1);
43
+ var styleId = key.substring(sep + 3);
44
+ return { text: text, styleId: styleId };
45
+ };
46
+ var getLabel = function (text, styleId) {
47
+ var key = makeCacheKey(text, styleId);
48
+ var label = labelCacheByTextAndStyle.get(key);
49
+ if (label) {
50
+ label.lastUsed = Date.now();
51
+ }
52
+ return label;
53
+ };
54
+ var setLabel = function (text, styleId, label) {
55
+ var key = makeCacheKey(text, styleId);
56
+ // TODO should we worry about key collisions if using custom textures?
57
+ labelCacheByTextAndStyle.set(key, label);
58
+ };
59
+ var checkStyle = function (currentStyleId, newStyle) {
60
+ var currentStyle = styleCache[currentStyleId.toString()];
61
+ if (currentStyle) {
62
+ return checkTextStyleEqual(currentStyle.style, newStyle);
63
+ }
64
+ return false;
65
+ };
66
+ var clearCacheByStyle = function (styleId) {
67
+ for (var _i = 0, _a = Array.from(labelCacheByTextAndStyle.keys()); _i < _a.length; _i++) {
68
+ var keyStr = _a[_i];
69
+ var _b = parseCacheKey(keyStr), text = _b.text, keyStyleId = _b.styleId;
70
+ if (keyStyleId === styleId) {
71
+ labelCacheByTextAndStyle.delete(keyStr);
72
+ }
73
+ }
74
+ };
75
+ var maxSize = 100;
76
+ var minAge = 1000 * 60;
77
+ var lastUsed = 0;
78
+ var getMaxSize = function () { return maxSize; };
79
+ var setMaxSize = function (size) {
80
+ maxSize = size;
81
+ };
82
+ var getMinAge = function () { return minAge; };
83
+ var setMinAge = function (ageInMs) {
84
+ minAge = ageInMs;
85
+ };
86
+ var pruneCache = function () {
87
+ var latest = Date.now() - minAge;
88
+ if (labelCacheByTextAndStyle.size > maxSize && lastUsed < latest) {
89
+ try {
90
+ // remove more than we need so we do this less.
91
+ var toRemove = (labelCacheByTextAndStyle.size - maxSize) * 2;
92
+ // Sort the items by LastUsed ascending
93
+ var labels = Array.from(labelCacheByTextAndStyle.entries());
94
+ labels.sort(function (a, b) { return a[1].lastUsed - b[1].lastUsed; });
95
+ // remove earliest
96
+ for (var index = 0; index < toRemove; index++) {
97
+ var _a = labels[index], key = _a[0], label = _a[1];
98
+ if (label.lastUsed < latest) {
99
+ label.bitmapTexture = (0, Deleter_1.deleteSafe)(label.bitmapTexture);
100
+ labelCacheByTextAndStyle.delete(key);
101
+ }
102
+ else if (index === 0) {
103
+ lastUsed = label.lastUsed;
104
+ }
105
+ }
106
+ }
107
+ catch (err) {
108
+ console.warn(err);
109
+ }
110
+ }
111
+ };
112
+ var checkTextStyleEqual = function (style1, style2) {
113
+ return (style1.alignment === style2.alignment &&
114
+ style1.color === style2.color &&
115
+ style1.fontFamily === style2.fontFamily &&
116
+ style1.fontSize === style2.fontSize &&
117
+ style1.fontStyle === style2.fontStyle &&
118
+ style1.fontWeight === style2.fontWeight &&
119
+ ((style1.padding === undefined && style2.padding === undefined) || style1.padding.equals(style2.padding)) &&
120
+ style1.extras === style2.extras &&
121
+ style1.rotation === style2.rotation &&
122
+ style1.providerId === style2.providerId);
123
+ };
124
+ var resetCache = function () {
125
+ labelCacheByTextAndStyle.clear();
126
+ // tslint:disable-next-line: forin
127
+ for (var key in styleCache) {
128
+ delete styleCache[key];
129
+ }
130
+ };
131
+ /**
132
+ * A global cache for labels, used by all labelProviders, to reduce the amount of time spent creating label textures.
133
+ */
134
+ exports.labelCache = {
135
+ /** Get an identifier for the given text style. Returns an existing identifier if a matching style exists in the cache */
136
+ getStyleId: getStyleId,
137
+ /**
138
+ * Notify the cache that a style is no longer used.
139
+ * Linked labels are only deleted when there are no remaining uses, and then only after minAge has passed.
140
+ */
141
+ freeStyle: freeStyle,
142
+ /** Get a label from the cache. Returns undefined if none found. */
143
+ getLabel: getLabel,
144
+ /** Add a label to the cache */
145
+ setLabel: setLabel,
146
+ /** Check if a text style matches the one for the given id */
147
+ checkStyle: checkStyle,
148
+ /** Get the maximum number of labels allowed to be stored in the cache. Used when calling pruneCache */
149
+ getMaxSize: getMaxSize,
150
+ /** Set the maximum number of labels allowed to be stored in the cache. Used when calling pruneCache */
151
+ setMaxSize: setMaxSize,
152
+ /** Get the minimum age (time since last used) of labels in the cache.
153
+ * This prevents recently used labels from being pruned, or removed when style is freed
154
+ */
155
+ getMinAge: getMinAge,
156
+ /** Set the minimum age (time since last used) of labels in the cache.
157
+ * This prevents recently used labels from being pruned, or removed when style is freed
158
+ */
159
+ setMinAge: setMinAge,
160
+ /** Remove old labels from the cache, if there are more than MaxSize. */
161
+ pruneCache: pruneCache,
162
+ /** Completely clears and resets the cache. Testing use only */
163
+ resetCache: resetCache
164
+ };
@@ -95,7 +95,7 @@ export declare abstract class LabelProvider {
95
95
  applyFormat(value: string): string;
96
96
  toJSON(): {
97
97
  type: string;
98
- options: Required<Pick<ILabelOptions, "labelFormat" | "labelPrecision" | "cursorLabelFormat" | "cursorLabelPrecision" | "labelPrefix" | "labelPostfix">>;
98
+ options: Required<Omit<ILabelOptions, never>>;
99
99
  };
100
100
  protected invalidateParent(): void;
101
101
  }
@@ -2,26 +2,57 @@ import { IDeletable } from "../../../../Core/IDeletable";
2
2
  import { TSRTexture } from "../../../../types/TSciChart";
3
3
  import { TextureManager, TTextureObject } from "../../TextureManager/TextureManager";
4
4
  import { TTextStyle } from "../AxisCore";
5
+ import { TCachedLabelStyle } from "./LabelCache";
5
6
  import { ILabelOptions, LabelProvider } from "./LabelProvider";
6
- export declare type TLabelInfo = {
7
+ export declare class LabelInfo {
7
8
  tick: number;
8
9
  text: string;
9
10
  bitmapTexture: TSRTexture;
10
11
  textureHeight: number;
11
12
  textureWidth: number;
12
13
  lastUsed: number;
13
- };
14
+ private subs;
15
+ constructor(tick: number, text: string, bitmapTexture: TSRTexture, textureHeight: number, textureWidth: number);
16
+ registerNotifier(callback: () => void): void;
17
+ textureUpdated(): void;
18
+ }
14
19
  export interface ILabel2DOptions extends ILabelOptions {
15
20
  rotation?: number;
21
+ /**
22
+ * Experimental - set true to enable async label texture creation
23
+ * Can be set globally using SciChartDefaults.asyncLabels = true;
24
+ * When false getLabelTexture is used. When true, getLabelTextureAsync is used.
25
+ */
26
+ asyncLabels?: boolean;
27
+ /**
28
+ * Whether to use cached labels from other axes that have the same style.
29
+ * You may need to set this false if you are overriding getLabelTexture or getLabelTextureAsync without setting a unique style.
30
+ */
31
+ useSharedCache?: boolean;
16
32
  }
17
33
  /**
18
34
  * The {@link LabelProviderBase2D} provides base functionality for 2D label providers, including caching of label textures
19
35
  */
20
36
  export declare abstract class LabelProviderBase2D extends LabelProvider implements IDeletable {
21
37
  useCache: boolean;
38
+ /** Whether to use cached labels from other axes that have the same style.
39
+ * You may need to set this false if you are overriding getLabelTexture without setting a unique style.
40
+ * Can be set globally using SciChartDefaults. Currently default false.
41
+ */
42
+ useSharedCache: boolean;
43
+ /**
44
+ * Experimental - set true to enable async label texture creation
45
+ * Can be set globally using SciChartDefaults. Currently default false.
46
+ */
47
+ asyncLabels: boolean;
22
48
  protected tickToText: Map<number, string>;
23
- protected labelCacheByText: Map<string, TLabelInfo>;
24
- private cachedLabelStyle;
49
+ /**
50
+ * This is the id for the text style used by this axis, as stored in the label cache. Cached labels are accessed by text and styleId.
51
+ * If you have useSharedCache = true and are overriding getLabelTexture or getLabelTextureAsync and do not ensure the style is unique,
52
+ * you might not get the labels you expect.
53
+ * You can either set useSharedCache = false, set this to some unique value, or override getCachedStyle
54
+ */
55
+ protected styleId: string;
25
56
  private rotationProperty;
26
57
  constructor(options?: ILabel2DOptions);
27
58
  get rotation(): number;
@@ -72,14 +103,33 @@ export declare abstract class LabelProviderBase2D extends LabelProvider implemen
72
103
  * @param labelStyle The style for the text
73
104
  * @returns A TTextureObject containing the bitmapTexture and the size
74
105
  */
106
+ getCachedLabelTexture(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): TTextureObject;
107
+ /**
108
+ * Create a texture for the given label text asynchronously. This method is called if asyncLabels is true, otherwise getLabelTexture is used.
109
+ * If overriding this method with useSharedCache = true, consider setting it false for this LabelProvider,
110
+ * otherwise other axes using the same style and text may see your custom texture. Alternatively you can override getCachedStyle or set styleId directly
111
+ */
112
+ getLabelTextureAsync(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): Promise<TTextureObject>;
113
+ /**
114
+ * Create a texture for the given label text. This method is called if asyncLabels is false, otherwise getLabelTextureAsync is used.
115
+ * If overriding this method with useSharedCache = true, consider setting it false for this LabelProvider,
116
+ * otherwise other axes using the same style and text may see your custom texture. Alternatively you can override getCachedStyle or set styleId directly
117
+ */
75
118
  getLabelTexture(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): TTextureObject;
76
119
  delete(): void;
77
- checkTextStyleEqual(style1: TTextStyle, style2: TTextStyle): boolean;
78
120
  toJSON(): {
79
121
  type: string;
80
- options: Required<Pick<ILabelOptions, "labelFormat" | "labelPrecision" | "cursorLabelFormat" | "cursorLabelPrecision" | "labelPrefix" | "labelPostfix">>;
122
+ options: Required<Omit<ILabelOptions, never>>;
81
123
  };
124
+ protected providerId: string;
125
+ /**
126
+ * This method creates the text style to be stored in the label cache.
127
+ * When useSharedCache = true, the label cache will generate a new styleId if this style does not match any existing style.
128
+ * Cached labels are accessed by text and styleId.
129
+ * If you are overriding getLabelTexture or getLabelTextureAsync and do not ensure the style is unique, you might not get the labels you expect.
130
+ * You can either set useSharedCache = false, override this and set the extras field in {@link TCachedLabelStyle}, or set styleId directly
131
+ */
132
+ protected getCachedStyle(): TCachedLabelStyle;
82
133
  protected clearCache(): void;
83
134
  protected invalidateParent(): void;
84
- protected pruneCache(maxSize: number): void;
85
135
  }