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
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.textureWorker = void 0;
40
+ var app_1 = require("../../../constants/app");
41
+ var resolves = {};
42
+ var rejects = {};
43
+ var globalMsgId = 0;
44
+ // Activate calculation in the worker, returning a promise
45
+ function sendMsg(payload, worker, method) {
46
+ var msgId = globalMsgId++;
47
+ var msg = {
48
+ id: msgId,
49
+ payload: payload,
50
+ method: method
51
+ };
52
+ return new Promise(function (resolve, reject) {
53
+ // save callbacks for later
54
+ resolves[msgId] = resolve;
55
+ rejects[msgId] = reject;
56
+ worker.postMessage(msg);
57
+ });
58
+ }
59
+ // Handle incoming calculation result
60
+ function handleMsg(msg) {
61
+ var _a = msg.data, id = _a.id, err = _a.err, payload = _a.payload;
62
+ if (payload) {
63
+ var resolve = resolves[id];
64
+ if (resolve) {
65
+ resolve(payload);
66
+ }
67
+ }
68
+ else {
69
+ // error condition
70
+ var reject = rejects[id];
71
+ if (reject) {
72
+ if (err) {
73
+ reject(err);
74
+ }
75
+ else {
76
+ reject("Got nothing");
77
+ }
78
+ }
79
+ }
80
+ // purge used callbacks
81
+ delete resolves[id];
82
+ delete rejects[id];
83
+ }
84
+ // Wrapper class
85
+ var TextureWorkerWrapper = /** @class */ (function () {
86
+ function TextureWorkerWrapper() {
87
+ var _this = this;
88
+ this.timeout = 200;
89
+ this.isActiveProperty = true;
90
+ if (!app_1.IS_TEST_ENV && typeof window !== "undefined" && !!window.Worker) {
91
+ this.worker = this.makeWorker(); // new Worker("./TextureWorkerSource.ts", { type: "module" });
92
+ this.worker.onmessage = handleMsg;
93
+ this.worker.onerror = function (ev) {
94
+ console.warn("Label Worker could not be started", ev);
95
+ _this.isActiveProperty = false;
96
+ };
97
+ }
98
+ else {
99
+ this.isActiveProperty = false;
100
+ }
101
+ }
102
+ Object.defineProperty(TextureWorkerWrapper.prototype, "isActive", {
103
+ get: function () {
104
+ return this.isActiveProperty;
105
+ },
106
+ enumerable: false,
107
+ configurable: true
108
+ });
109
+ TextureWorkerWrapper.prototype.measureAndGetImageData = function (text, textStyle, rotation, lineSpacing, backgroundColor, opacity) {
110
+ return __awaiter(this, void 0, void 0, function () {
111
+ var payload, result;
112
+ return __generator(this, function (_a) {
113
+ switch (_a.label) {
114
+ case 0:
115
+ if (!this.isActiveProperty) {
116
+ return [2 /*return*/, Promise.reject("Worker is inactive")];
117
+ }
118
+ payload = { text: text, textStyle: textStyle, rotation: rotation, lineSpacing: lineSpacing, backgroundColor: backgroundColor, opacity: opacity };
119
+ return [4 /*yield*/, sendMsg(payload, this.worker)];
120
+ case 1:
121
+ result = _a.sent();
122
+ return [2 /*return*/, result];
123
+ }
124
+ });
125
+ });
126
+ };
127
+ TextureWorkerWrapper.prototype.makeWorker = function () {
128
+ var blobURL = URL.createObjectURL(new Blob([
129
+ "\n var DEFAULT_HEIGHT = 1080;\n var DEFAULT_WIDTH = 1920;\n var ELabelAlignment;\n (function (ELabelAlignment) {\n ELabelAlignment[\"Auto\"] = \"Auto\";\n ELabelAlignment[\"Left\"] = \"Left\";\n ELabelAlignment[\"Right\"] = \"Right\";\n ELabelAlignment[\"Center\"] = \"Center\";\n })(ELabelAlignment || (ELabelAlignment = {}));\n var canvas = new OffscreenCanvas(DEFAULT_WIDTH, DEFAULT_HEIGHT);\n var ctx = canvas.getContext(\"2d\");\n var createTextTexture = function (text, textStyle, rotation, lineSpacing, backgroundColor, opacity) {\n var fontStyle = textStyle.fontStyle, fontWeight = textStyle.fontWeight, fontFamily = textStyle.fontFamily, fontSizePx = textStyle.fontSize, padding = textStyle.padding, alignment = textStyle.alignment, color = textStyle.color;\n ctx.globalAlpha = opacity !== null && opacity !== void 0 ? opacity : 1;\n ctx.textBaseline = \"top\";\n ctx.fillStyle = color;\n ctx.font = getFontString(fontStyle, fontWeight, fontSizePx, fontFamily);\n var textureWidth = 0;\n // const fontSizePt = Math.ceil(fontSizePx * PX_TO_PT);\n var lineHeight = measureTextHeight(fontSizePx);\n var extraLineHeight = lineHeight * (lineSpacing !== null && lineSpacing !== void 0 ? lineSpacing : 1.1);\n var textureHeight = lineHeight + padding.top + padding.bottom;\n for (var index = 0; index < text.length; index++) {\n var line = text[index];\n var lineWidth = measureTextWidth(line) + padding.left + padding.right;\n if (lineWidth > textureWidth) {\n textureWidth = lineWidth;\n }\n if (index > 0) {\n textureHeight += extraLineHeight;\n }\n }\n var y = padding.top;\n var x = padding.left;\n if (!textureWidth || !textureHeight) {\n return undefined;\n }\n var newTextureWidth = textureWidth;\n var newTextureHeight = textureHeight;\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n if (backgroundColor) {\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n // Save state\n ctx.save();\n if (rotation) {\n // convert to radians\n var rotationRad = (rotation * Math.PI) / 180;\n // We need to Math.ceil to fix rotation for WebGL1\n newTextureWidth = Math.ceil(textureWidth * Math.abs(Math.cos(rotationRad)) + textureHeight * Math.abs(Math.sin(rotationRad)));\n newTextureHeight = Math.ceil(textureWidth * Math.abs(Math.sin(rotationRad)) + textureHeight * Math.abs(Math.cos(rotationRad)));\n // translate to the center of rectangle\n ctx.translate(newTextureWidth / 2, newTextureHeight / 2);\n ctx.rotate(rotationRad);\n // translate to the new origin that is located in the left top center of the texture\n ctx.translate(-textureWidth / 2, -textureHeight / 2);\n }\n for (var _i = 0, text_1 = text; _i < text_1.length; _i++) {\n var line = text_1[_i];\n if (alignment === ELabelAlignment.Center || alignment === ELabelAlignment.Right) {\n var lineWidth = measureTextWidth(line);\n x =\n alignment === ELabelAlignment.Right\n ? textureWidth - lineWidth - padding.right\n : (textureWidth - lineWidth) / 2;\n }\n ctx.fillText(line, Math.round(x), Math.round(y));\n y += extraLineHeight;\n }\n ctx.strokeStyle = color;\n ctx.restore();\n var imageData = ctx.getImageData(0, 0, newTextureWidth, newTextureHeight);\n return {\n imageData: imageData,\n textureWidth: newTextureWidth,\n textureHeight: newTextureHeight\n };\n };\n var measureTextHeight = function (fontSizePx) { return fontSizePx; };\n var measureTextWidth = function (text) {\n var textMeasure = ctx.measureText(text);\n return Math.ceil(textMeasure.width);\n };\n var getFontString = function (fontStyle, fontWeight, fontSize, fontFamily) {\n if (!fontWeight)\n return fontStyle + \" \" + fontSize + \"px \" + fontFamily;\n return fontStyle + \" \" + fontWeight + \" \" + fontSize + \"px \" + fontFamily;\n };\n self.onmessage = function (msg) {\n var _a = msg.data, id = _a.id, payload = _a.payload, method = _a.method;\n var text = payload.text, textStyle = payload.textStyle, rotation = payload.rotation, lineSpacing = payload.lineSpacing, backgroundColor = payload.backgroundColor, opacity = payload.opacity;\n try {\n var result = createTextTexture(text, textStyle, rotation, lineSpacing, backgroundColor, opacity);\n var reply = {\n id: id,\n payload: result\n };\n self.postMessage(reply);\n }\n catch (err) {\n self.postMessage({\n id: id,\n err: err,\n payload: undefined\n });\n }\n };"
130
+ ], { type: "application/javascript" }));
131
+ var worker = new Worker(blobURL);
132
+ // Won't be needing this anymore
133
+ URL.revokeObjectURL(blobURL);
134
+ return worker;
135
+ };
136
+ return TextureWorkerWrapper;
137
+ }());
138
+ exports.textureWorker = new TextureWorkerWrapper();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /** @ignore */
4
+ var DEFAULT_HEIGHT = 1080;
5
+ /** @ignore */
6
+ var DEFAULT_WIDTH = 1920;
7
+ var ELabelAlignment;
8
+ (function (ELabelAlignment) {
9
+ ELabelAlignment["Auto"] = "Auto";
10
+ ELabelAlignment["Left"] = "Left";
11
+ ELabelAlignment["Right"] = "Right";
12
+ ELabelAlignment["Center"] = "Center";
13
+ })(ELabelAlignment || (ELabelAlignment = {}));
14
+ // @ts-ignore
15
+ var canvas = new OffscreenCanvas(DEFAULT_WIDTH, DEFAULT_HEIGHT);
16
+ // @ts-ignore
17
+ var ctx = canvas.getContext("2d");
18
+ /**
19
+ * Create a text texture supporting multiline and arbitrary rotation
20
+ * @param text
21
+ * @param textStyle
22
+ * @param rotation
23
+ * @param lineSpacing Expressed as a fraction of the font size. Default 1.1
24
+ * @param backgroundColor
25
+ * @param opacity
26
+ * @returns
27
+ */
28
+ // tslint:disable-next-line: no-unused-expression
29
+ var createTextTexture = function (text, textStyle, rotation, lineSpacing, backgroundColor, opacity) {
30
+ var fontStyle = textStyle.fontStyle, fontWeight = textStyle.fontWeight, fontFamily = textStyle.fontFamily, fontSizePx = textStyle.fontSize, padding = textStyle.padding, alignment = textStyle.alignment, color = textStyle.color;
31
+ // console.log("Creating label for", text[0], fontSizePx);
32
+ ctx.globalAlpha = opacity !== null && opacity !== void 0 ? opacity : 1;
33
+ ctx.textBaseline = "top";
34
+ ctx.fillStyle = color;
35
+ ctx.font = getFontString(fontStyle, fontWeight, fontSizePx, fontFamily);
36
+ var textureWidth = 0;
37
+ // const fontSizePt = Math.ceil(fontSizePx * PX_TO_PT);
38
+ var lineHeight = measureTextHeight(fontSizePx);
39
+ var extraLineHeight = lineHeight * (lineSpacing !== null && lineSpacing !== void 0 ? lineSpacing : 1.1);
40
+ var textureHeight = lineHeight + padding.top + padding.bottom;
41
+ for (var index = 0; index < text.length; index++) {
42
+ var line = text[index];
43
+ var lineWidth = measureTextWidth(line) + padding.left + padding.right;
44
+ if (lineWidth > textureWidth) {
45
+ textureWidth = lineWidth;
46
+ }
47
+ if (index > 0) {
48
+ textureHeight += extraLineHeight;
49
+ }
50
+ }
51
+ var y = padding.top;
52
+ var x = padding.left;
53
+ if (!textureWidth || !textureHeight) {
54
+ return undefined;
55
+ }
56
+ var newTextureWidth = textureWidth;
57
+ var newTextureHeight = textureHeight;
58
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
59
+ if (backgroundColor) {
60
+ ctx.fillStyle = backgroundColor;
61
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
62
+ }
63
+ // Save state
64
+ ctx.save();
65
+ if (rotation) {
66
+ // convert to radians
67
+ var rotationRad = (rotation * Math.PI) / 180;
68
+ // We need to Math.ceil to fix rotation for WebGL1
69
+ newTextureWidth = Math.ceil(textureWidth * Math.abs(Math.cos(rotationRad)) + textureHeight * Math.abs(Math.sin(rotationRad)));
70
+ newTextureHeight = Math.ceil(textureWidth * Math.abs(Math.sin(rotationRad)) + textureHeight * Math.abs(Math.cos(rotationRad)));
71
+ // translate to the center of rectangle
72
+ ctx.translate(newTextureWidth / 2, newTextureHeight / 2);
73
+ ctx.rotate(rotationRad);
74
+ // translate to the new origin that is located in the left top center of the texture
75
+ ctx.translate(-textureWidth / 2, -textureHeight / 2);
76
+ }
77
+ for (var _i = 0, text_1 = text; _i < text_1.length; _i++) {
78
+ var line = text_1[_i];
79
+ if (alignment === ELabelAlignment.Center || alignment === ELabelAlignment.Right) {
80
+ var lineWidth = measureTextWidth(line);
81
+ x =
82
+ alignment === ELabelAlignment.Right
83
+ ? textureWidth - lineWidth - padding.right
84
+ : (textureWidth - lineWidth) / 2;
85
+ }
86
+ ctx.fillText(line, Math.round(x), Math.round(y));
87
+ y += extraLineHeight;
88
+ }
89
+ ctx.strokeStyle = color;
90
+ ctx.restore();
91
+ // Useful for debugging rotated textures
92
+ // ctx.beginPath();
93
+ // ctx.rect(0, 0, newTextureWidth, newTextureHeight);
94
+ // ctx.stroke();
95
+ var imageData = ctx.getImageData(0, 0, newTextureWidth, newTextureHeight);
96
+ // console.log("Returning label for", text[0], fontSizePx);
97
+ return {
98
+ imageData: imageData,
99
+ textureWidth: newTextureWidth,
100
+ textureHeight: newTextureHeight
101
+ };
102
+ };
103
+ var measureTextHeight = function (fontSizePx) { return fontSizePx; };
104
+ // @ts-ignore
105
+ var measureTextWidth = function (text) {
106
+ var textMeasure = ctx.measureText(text);
107
+ return Math.ceil(textMeasure.width);
108
+ };
109
+ var getFontString = function (fontStyle, fontWeight, fontSize, fontFamily) {
110
+ if (!fontWeight)
111
+ return "".concat(fontStyle, " ").concat(fontSize, "px ").concat(fontFamily);
112
+ return "".concat(fontStyle, " ").concat(fontWeight, " ").concat(fontSize, "px ").concat(fontFamily);
113
+ };
114
+ // Handle incoming messages
115
+ self.onmessage = function (msg) {
116
+ var _a = msg.data, id = _a.id, payload = _a.payload, method = _a.method;
117
+ var text = payload.text, textStyle = payload.textStyle, rotation = payload.rotation, lineSpacing = payload.lineSpacing, backgroundColor = payload.backgroundColor, opacity = payload.opacity;
118
+ try {
119
+ var result = createTextTexture(text, textStyle, rotation, lineSpacing, backgroundColor, opacity);
120
+ var reply = {
121
+ id: id,
122
+ payload: result
123
+ };
124
+ self.postMessage(reply);
125
+ }
126
+ catch (err) {
127
+ self.postMessage({
128
+ id: id,
129
+ err: err,
130
+ payload: undefined
131
+ });
132
+ }
133
+ };
@@ -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 __());
@@ -327,7 +327,7 @@ export declare abstract class AnnotationBase implements IAnnotation, IAdornerPro
327
327
  onDpiChanged(args: TDpiChangedEventArgs): void;
328
328
  toJSON(): {
329
329
  type: EAnnotationType;
330
- options: Required<Pick<IAnnotationBaseOptions, "opacity" | "id" | "annotationLayer" | "isHidden" | "resizeDirections" | "isEditable" | "x1" | "x2" | "y1" | "y2" | "xAxisId" | "xCoordinateMode" | "yAxisId" | "yCoordinateMode" | "isSelected" | "onDragStarted" | "onDragEnded" | "onDrag">>;
330
+ options: Required<Omit<IAnnotationBaseOptions, never>>;
331
331
  };
332
332
  /**
333
333
  * Returns annotationBorders
@@ -79,7 +79,7 @@ var AnnotationBase = /** @class */ (function () {
79
79
  this.yCoordinateModeProperty = ECoordinateMode.DataValue;
80
80
  this.isSelectedProperty = false;
81
81
  this.resizeDirectionsProperty = XyDirection_1.EXyDirection.XyDirection;
82
- this.id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : guid_1.generateGuid();
82
+ this.id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : (0, guid_1.generateGuid)();
83
83
  this.dragStarted = new EventHandler_1.EventHandler();
84
84
  this.dragEnded = new EventHandler_1.EventHandler();
85
85
  this.dragDelta = new EventHandler_1.EventHandler();
@@ -100,7 +100,7 @@ var AnnotationBase = /** @class */ (function () {
100
100
  if (options === null || options === void 0 ? void 0 : options.onDragStarted) {
101
101
  if (typeof options.onDragStarted === "string") {
102
102
  this.typeMap.set("onDragStarted", options.onDragStarted);
103
- this.dragStarted.subscribe(classFactory_1.getFunction(BaseType_1.EBaseType.OptionFunction, options.onDragStarted));
103
+ this.dragStarted.subscribe((0, classFactory_1.getFunction)(BaseType_1.EBaseType.OptionFunction, options.onDragStarted));
104
104
  }
105
105
  else {
106
106
  this.dragStarted.subscribe(options.onDragStarted);
@@ -109,7 +109,7 @@ var AnnotationBase = /** @class */ (function () {
109
109
  if (options === null || options === void 0 ? void 0 : options.onDragEnded) {
110
110
  if (typeof options.onDragEnded === "string") {
111
111
  this.typeMap.set("onDragEnded", options.onDragEnded);
112
- this.dragEnded.subscribe(classFactory_1.getFunction(BaseType_1.EBaseType.OptionFunction, options.onDragEnded));
112
+ this.dragEnded.subscribe((0, classFactory_1.getFunction)(BaseType_1.EBaseType.OptionFunction, options.onDragEnded));
113
113
  }
114
114
  else {
115
115
  this.dragEnded.subscribe(options.onDragEnded);
@@ -118,7 +118,7 @@ var AnnotationBase = /** @class */ (function () {
118
118
  if (options === null || options === void 0 ? void 0 : options.onDrag) {
119
119
  if (typeof options.onDrag === "string") {
120
120
  this.typeMap.set("onDrag", options.onDrag);
121
- this.dragDelta.subscribe(classFactory_1.getFunction(BaseType_1.EBaseType.OptionFunction, options.onDrag));
121
+ this.dragDelta.subscribe((0, classFactory_1.getFunction)(BaseType_1.EBaseType.OptionFunction, options.onDrag));
122
122
  }
123
123
  else {
124
124
  this.dragDelta.subscribe(options.onDrag);
@@ -132,8 +132,10 @@ var AnnotationBase = /** @class */ (function () {
132
132
  },
133
133
  /** @inheritDoc */
134
134
  set: function (annotationCanvas) {
135
- this.annotationLayerProperty = annotationCanvas;
136
- this.notifyPropertyChanged(constants_1.PROPERTY.ANNOTATION_CANVAS);
135
+ if (this.annotationLayerProperty !== annotationCanvas) {
136
+ this.annotationLayerProperty = annotationCanvas;
137
+ this.notifyPropertyChanged(constants_1.PROPERTY.ANNOTATION_CANVAS);
138
+ }
137
139
  },
138
140
  enumerable: false,
139
141
  configurable: true
@@ -145,8 +147,10 @@ var AnnotationBase = /** @class */ (function () {
145
147
  },
146
148
  /** @inheritDoc */
147
149
  set: function (parentSurface) {
148
- this.parentSurfaceProperty = parentSurface;
149
- this.notifyPropertyChanged(constants_1.PROPERTY.PARENT_SURFACE);
150
+ if (this.parentSurfaceProperty !== parentSurface) {
151
+ this.parentSurfaceProperty = parentSurface;
152
+ this.notifyPropertyChanged(constants_1.PROPERTY.PARENT_SURFACE);
153
+ }
150
154
  },
151
155
  enumerable: false,
152
156
  configurable: true
@@ -158,8 +162,10 @@ var AnnotationBase = /** @class */ (function () {
158
162
  },
159
163
  /** @inheritDoc */
160
164
  set: function (isEditable) {
161
- this.isEditableProperty = isEditable;
162
- this.notifyPropertyChanged(constants_1.PROPERTY.IS_EDITABLE);
165
+ if (this.isEditableProperty !== isEditable) {
166
+ this.isEditableProperty = isEditable;
167
+ this.notifyPropertyChanged(constants_1.PROPERTY.IS_EDITABLE);
168
+ }
163
169
  },
164
170
  enumerable: false,
165
171
  configurable: true
@@ -171,8 +177,10 @@ var AnnotationBase = /** @class */ (function () {
171
177
  },
172
178
  /** @inheritDoc */
173
179
  set: function (isHidden) {
174
- this.isHiddenProperty = isHidden;
175
- this.notifyPropertyChanged(constants_1.PROPERTY.IS_HIDDEN);
180
+ if (this.isHiddenProperty !== isHidden) {
181
+ this.isHiddenProperty = isHidden;
182
+ this.notifyPropertyChanged(constants_1.PROPERTY.IS_HIDDEN);
183
+ }
176
184
  },
177
185
  enumerable: false,
178
186
  configurable: true
@@ -184,8 +192,10 @@ var AnnotationBase = /** @class */ (function () {
184
192
  },
185
193
  /** @inheritDoc */
186
194
  set: function (xCoordinateMode) {
187
- this.xCoordinateModeProperty = xCoordinateMode;
188
- this.notifyPropertyChanged(constants_1.PROPERTY.X_COORDINATE_MODE);
195
+ if (this.xCoordinateModeProperty !== xCoordinateMode) {
196
+ this.xCoordinateModeProperty = xCoordinateMode;
197
+ this.notifyPropertyChanged(constants_1.PROPERTY.X_COORDINATE_MODE);
198
+ }
189
199
  },
190
200
  enumerable: false,
191
201
  configurable: true
@@ -197,8 +207,10 @@ var AnnotationBase = /** @class */ (function () {
197
207
  },
198
208
  /** @inheritDoc */
199
209
  set: function (yCoordinateMode) {
200
- this.yCoordinateModeProperty = yCoordinateMode;
201
- this.notifyPropertyChanged(constants_1.PROPERTY.Y_COORDINATE_MODE);
210
+ if (this.yCoordinateModeProperty !== yCoordinateMode) {
211
+ this.yCoordinateModeProperty = yCoordinateMode;
212
+ this.notifyPropertyChanged(constants_1.PROPERTY.Y_COORDINATE_MODE);
213
+ }
202
214
  },
203
215
  enumerable: false,
204
216
  configurable: true
@@ -210,8 +222,10 @@ var AnnotationBase = /** @class */ (function () {
210
222
  },
211
223
  /** @inheritDoc */
212
224
  set: function (x1) {
213
- this.x1Property = x1;
214
- this.notifyPropertyChanged(constants_1.PROPERTY.X1);
225
+ if (this.x1Property !== x1) {
226
+ this.x1Property = x1;
227
+ this.notifyPropertyChanged(constants_1.PROPERTY.X1);
228
+ }
215
229
  },
216
230
  enumerable: false,
217
231
  configurable: true
@@ -223,8 +237,10 @@ var AnnotationBase = /** @class */ (function () {
223
237
  },
224
238
  /** @inheritDoc */
225
239
  set: function (x2) {
226
- this.x2Property = x2;
227
- this.notifyPropertyChanged(constants_1.PROPERTY.X2);
240
+ if (this.x2Property !== x2) {
241
+ this.x2Property = x2;
242
+ this.notifyPropertyChanged(constants_1.PROPERTY.X2);
243
+ }
228
244
  },
229
245
  enumerable: false,
230
246
  configurable: true
@@ -236,8 +252,10 @@ var AnnotationBase = /** @class */ (function () {
236
252
  },
237
253
  /** @inheritDoc */
238
254
  set: function (y1) {
239
- this.y1Property = y1;
240
- this.notifyPropertyChanged(constants_1.PROPERTY.Y1);
255
+ if (this.y1Property !== y1) {
256
+ this.y1Property = y1;
257
+ this.notifyPropertyChanged(constants_1.PROPERTY.Y1);
258
+ }
241
259
  },
242
260
  enumerable: false,
243
261
  configurable: true
@@ -249,8 +267,10 @@ var AnnotationBase = /** @class */ (function () {
249
267
  },
250
268
  /** @inheritDoc */
251
269
  set: function (y2) {
252
- this.y2Property = y2;
253
- this.notifyPropertyChanged(constants_1.PROPERTY.Y2);
270
+ if (this.y2Property !== y2) {
271
+ this.y2Property = y2;
272
+ this.notifyPropertyChanged(constants_1.PROPERTY.Y2);
273
+ }
254
274
  },
255
275
  enumerable: false,
256
276
  configurable: true
@@ -262,8 +282,10 @@ var AnnotationBase = /** @class */ (function () {
262
282
  },
263
283
  /** @inheritDoc */
264
284
  set: function (xAxisId) {
265
- this.xAxisIdProperty = xAxisId;
266
- this.notifyPropertyChanged(constants_1.PROPERTY.XAXIS_ID);
285
+ if (this.xAxisIdProperty !== xAxisId) {
286
+ this.xAxisIdProperty = xAxisId;
287
+ this.notifyPropertyChanged(constants_1.PROPERTY.XAXIS_ID);
288
+ }
267
289
  },
268
290
  enumerable: false,
269
291
  configurable: true
@@ -275,8 +297,10 @@ var AnnotationBase = /** @class */ (function () {
275
297
  },
276
298
  /** @inheritDoc */
277
299
  set: function (yAxisId) {
278
- this.yAxisIdProperty = yAxisId;
279
- this.notifyPropertyChanged(constants_1.PROPERTY.YAXIS_ID);
300
+ if (this.yAxisIdProperty !== yAxisId) {
301
+ this.yAxisIdProperty = yAxisId;
302
+ this.notifyPropertyChanged(constants_1.PROPERTY.YAXIS_ID);
303
+ }
280
304
  },
281
305
  enumerable: false,
282
306
  configurable: true
@@ -298,8 +322,10 @@ var AnnotationBase = /** @class */ (function () {
298
322
  },
299
323
  /** @inheritDoc */
300
324
  set: function (value) {
301
- this.resizeDirectionsProperty = value;
302
- this.notifyPropertyChanged(constants_1.PROPERTY.RESIZE_DIRECTIONS);
325
+ if (this.resizeDirectionsProperty !== value) {
326
+ this.resizeDirectionsProperty = value;
327
+ this.notifyPropertyChanged(constants_1.PROPERTY.RESIZE_DIRECTIONS);
328
+ }
303
329
  },
304
330
  enumerable: false,
305
331
  configurable: true
@@ -311,8 +337,10 @@ var AnnotationBase = /** @class */ (function () {
311
337
  },
312
338
  /** @inheritDoc */
313
339
  set: function (value) {
314
- this.isSelectedProperty = value;
315
- this.notifyPropertyChanged(constants_1.PROPERTY.IS_SELECTED);
340
+ if (this.isSelectedProperty !== value) {
341
+ this.isSelectedProperty = value;
342
+ this.notifyPropertyChanged(constants_1.PROPERTY.IS_SELECTED);
343
+ }
316
344
  },
317
345
  enumerable: false,
318
346
  configurable: true
@@ -324,8 +352,10 @@ var AnnotationBase = /** @class */ (function () {
324
352
  },
325
353
  /** @inheritDoc */
326
354
  set: function (opacity) {
327
- this.opacityProperty = opacity;
328
- this.notifyPropertyChanged(constants_1.PROPERTY.OPACITY);
355
+ if (this.opacityProperty !== opacity) {
356
+ this.opacityProperty = opacity;
357
+ this.notifyPropertyChanged(constants_1.PROPERTY.OPACITY);
358
+ }
329
359
  },
330
360
  enumerable: false,
331
361
  configurable: true
@@ -358,7 +388,7 @@ var AnnotationBase = /** @class */ (function () {
358
388
  this.deleteAdorner();
359
389
  };
360
390
  AnnotationBase.prototype.clickToSelect = function (args) {
361
- var xyPoint = translate_1.translateFromCanvasToSeriesViewRect(args.mousePoint, this.parentSurface.seriesViewRect, true);
391
+ var xyPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(args.mousePoint, this.parentSurface.seriesViewRect, true);
362
392
  if (!xyPoint) {
363
393
  return false;
364
394
  }
@@ -373,7 +403,7 @@ var AnnotationBase = /** @class */ (function () {
373
403
  };
374
404
  AnnotationBase.prototype.checkIsClickedOnAnnotation = function (x, y) {
375
405
  // We multiply by PIXEL_RATIO to get coordinates on the scaled canvas
376
- var xyPoint = translate_1.translateFromCanvasToSeriesViewRect(new Point_1.Point(x * DpiHelper_1.DpiHelper.PIXEL_RATIO, y * DpiHelper_1.DpiHelper.PIXEL_RATIO), this.parentSurface.seriesViewRect, true);
406
+ var xyPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(new Point_1.Point(x * DpiHelper_1.DpiHelper.PIXEL_RATIO, y * DpiHelper_1.DpiHelper.PIXEL_RATIO), this.parentSurface.seriesViewRect, true);
377
407
  if (!xyPoint)
378
408
  return false;
379
409
  return this.checkIsClickedOnAnnotationInternal(xyPoint.x, xyPoint.y);
@@ -450,8 +480,8 @@ var AnnotationBase = /** @class */ (function () {
450
480
  var x2 = this.isSvgAnnotation ? borders.x2 * DpiHelper_1.DpiHelper.PIXEL_RATIO : borders.x2;
451
481
  var y1 = this.isSvgAnnotation ? borders.y1 * DpiHelper_1.DpiHelper.PIXEL_RATIO : borders.y1;
452
482
  var y2 = this.isSvgAnnotation ? borders.y2 * DpiHelper_1.DpiHelper.PIXEL_RATIO : borders.y2;
453
- var point1 = translate_1.translateFromSeriesViewRectToCanvas(new Point_1.Point(x1, y1), this.parentSurface.seriesViewRect, true);
454
- var point2 = translate_1.translateFromSeriesViewRectToCanvas(new Point_1.Point(x2, y2), this.parentSurface.seriesViewRect, true);
483
+ var point1 = (0, translate_1.translateFromSeriesViewRectToCanvas)(new Point_1.Point(x1, y1), this.parentSurface.seriesViewRect, true);
484
+ var point2 = (0, translate_1.translateFromSeriesViewRectToCanvas)(new Point_1.Point(x2, y2), this.parentSurface.seriesViewRect, true);
455
485
  return {
456
486
  x1: point1.x / DpiHelper_1.DpiHelper.PIXEL_RATIO,
457
487
  x2: point2.x / DpiHelper_1.DpiHelper.PIXEL_RATIO,
@@ -501,7 +531,7 @@ var AnnotationBase = /** @class */ (function () {
501
531
  : value * calculator.viewportDimension;
502
532
  }
503
533
  default: {
504
- throw new Error("AnnotationBase.getCoordinate with CoordinateMode." + coordinateMode + " is not implemented");
534
+ throw new Error("AnnotationBase.getCoordinate with CoordinateMode.".concat(coordinateMode, " is not implemented"));
505
535
  }
506
536
  }
507
537
  };
@@ -599,7 +629,7 @@ var AnnotationBase = /** @class */ (function () {
599
629
  var viewRect = this.parentSurface.seriesViewRect;
600
630
  var translatedPoint = !translateToSeriesViewRect
601
631
  ? point
602
- : translate_1.translateFromCanvasToSeriesViewRect(point, viewRect, true);
632
+ : (0, translate_1.translateFromCanvasToSeriesViewRect)(point, viewRect, true);
603
633
  if (!translatedPoint) {
604
634
  return undefined;
605
635
  }
@@ -614,7 +644,7 @@ var AnnotationBase = /** @class */ (function () {
614
644
  AnnotationBase.prototype.getXYCoordinatesFromValues = function (xyDataPoint) {
615
645
  var viewRect = this.parentSurface.seriesViewRect;
616
646
  var pointWithAbsoluteCoordinates = this.getAbsoluteCoordinates(xyDataPoint);
617
- var translatedPoint = translate_1.translateFromSeriesViewRectToCanvas(pointWithAbsoluteCoordinates, viewRect);
647
+ var translatedPoint = (0, translate_1.translateFromSeriesViewRectToCanvas)(pointWithAbsoluteCoordinates, viewRect);
618
648
  if (!translatedPoint) {
619
649
  return undefined;
620
650
  }