scichart 2.0.2144 → 2.0.2186

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/Builder/buildAnnotations.js +11 -10
  2. package/Builder/buildAxis.js +7 -6
  3. package/Builder/buildDataSeries.js +3 -6
  4. package/Builder/buildModifiers.js +17 -16
  5. package/Builder/buildSeries.js +21 -20
  6. package/Builder/buildSurface.js +29 -27
  7. package/Builder/chartBuilder.d.ts +10 -162
  8. package/Builder/chartBuilder.js +9 -6
  9. package/Builder/classFactory.js +12 -6
  10. package/Charting/ChartModifiers/ChartModifierBase.js +1 -1
  11. package/Charting/ChartModifiers/ChartModifierBase2D.d.ts +1 -1
  12. package/Charting/ChartModifiers/ChartModifierBase2D.js +11 -6
  13. package/Charting/ChartModifiers/CursorModifier.d.ts +23 -3
  14. package/Charting/ChartModifiers/CursorModifier.js +72 -40
  15. package/Charting/ChartModifiers/DataPointSelectionModifier.d.ts +1 -1
  16. package/Charting/ChartModifiers/DataPointSelectionModifier.js +18 -16
  17. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  18. package/Charting/ChartModifiers/LegendModifier.js +3 -1
  19. package/Charting/ChartModifiers/ModifierMouseArgs.js +4 -3
  20. package/Charting/ChartModifiers/MouseWheelZoomModifier.d.ts +52 -2
  21. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +105 -10
  22. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +10 -8
  23. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +1 -1
  24. package/Charting/ChartModifiers/PinchZoomModifier.js +4 -2
  25. package/Charting/ChartModifiers/RolloverModifier.d.ts +1 -1
  26. package/Charting/ChartModifiers/RolloverModifier.js +27 -20
  27. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  28. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +11 -9
  29. package/Charting/ChartModifiers/SeriesSelectionModifier.d.ts +1 -1
  30. package/Charting/ChartModifiers/SeriesSelectionModifier.js +9 -7
  31. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  32. package/Charting/ChartModifiers/XAxisDragModifier.js +12 -10
  33. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  34. package/Charting/ChartModifiers/YAxisDragModifier.js +12 -10
  35. package/Charting/ChartModifiers/ZoomExtentsModifier.d.ts +17 -1
  36. package/Charting/ChartModifiers/ZoomExtentsModifier.js +65 -10
  37. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +4 -2
  38. package/Charting/ChartModifiers/ZoomPanModifier.js +25 -21
  39. package/Charting/Drawing/BaseCache.js +2 -2
  40. package/Charting/Drawing/BrushCache.js +12 -7
  41. package/Charting/Drawing/PaletteCache.js +4 -2
  42. package/Charting/Drawing/Pen2DCache.js +14 -9
  43. package/Charting/Drawing/SolidBrushCache.js +2 -2
  44. package/Charting/Drawing/TextureCache.js +4 -2
  45. package/Charting/Drawing/WebGlBrush.js +1 -1
  46. package/Charting/Drawing/WebGlPen.js +2 -2
  47. package/Charting/Drawing/WebGlRenderContext2D.js +5 -5
  48. package/Charting/LayoutManager/AxisLayoutHelpers.js +6 -4
  49. package/Charting/LayoutManager/BaseAxisLayoutStrategy.js +4 -4
  50. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.d.ts +1 -1
  51. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.js +3 -1
  52. package/Charting/LayoutManager/BottomAlignedInnerAxisLayoutStrategy.js +6 -4
  53. package/Charting/LayoutManager/BottomAlignedOuterAxisLayoutStrategy.js +6 -4
  54. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +7 -5
  55. package/Charting/LayoutManager/CentralAxesLayoutManager.js +7 -3
  56. package/Charting/LayoutManager/LayoutManager.js +2 -2
  57. package/Charting/LayoutManager/LeftAlignedInnerAxisLayoutStrategy.js +6 -4
  58. package/Charting/LayoutManager/LeftAlignedOuterAxisLayoutStrategy.js +6 -4
  59. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +7 -5
  60. package/Charting/LayoutManager/RightAlignedInnerAxisLayoutStrategy.js +6 -4
  61. package/Charting/LayoutManager/RightAlignedOuterAxisLayoutStrategy.js +6 -4
  62. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +7 -5
  63. package/Charting/LayoutManager/SynchronizedLayoutManager.js +4 -2
  64. package/Charting/LayoutManager/TopAlignedInnerAxisLayoutStrategy.js +6 -4
  65. package/Charting/LayoutManager/TopAlignedOuterAxisLayoutStrategy.js +6 -4
  66. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +7 -5
  67. package/Charting/Model/BaseDataSeries.js +23 -20
  68. package/Charting/Model/BaseHeatmapDataSeries.js +5 -5
  69. package/Charting/Model/ChartData/HeatmapSeriesInfo.js +4 -2
  70. package/Charting/Model/ChartData/OhlcSeriesInfo.js +3 -1
  71. package/Charting/Model/ChartData/SeriesInfo.d.ts +1 -0
  72. package/Charting/Model/ChartData/SeriesInfo.js +15 -0
  73. package/Charting/Model/ChartData/StackedXySeriesInfo.js +3 -1
  74. package/Charting/Model/ChartData/XySeriesInfo.js +3 -1
  75. package/Charting/Model/ChartData/XyySeriesInfo.js +3 -1
  76. package/Charting/Model/DataPointSelectionPaletteProvider.js +2 -2
  77. package/Charting/Model/Filters/OhlcCustomFilter.js +7 -2
  78. package/Charting/Model/Filters/OhlcFilterBase.js +3 -1
  79. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +3 -1
  80. package/Charting/Model/Filters/XyCustomFilter.js +3 -1
  81. package/Charting/Model/Filters/XyFilterBase.js +9 -6
  82. package/Charting/Model/Filters/XyLinearTrendFilter.js +3 -1
  83. package/Charting/Model/Filters/XyMovingAverageFilter.js +3 -1
  84. package/Charting/Model/Filters/XyRatioFilter.js +6 -4
  85. package/Charting/Model/Filters/XyScaleOffsetFilter.js +3 -1
  86. package/Charting/Model/Filters/XyyCustomFilter.js +3 -1
  87. package/Charting/Model/Filters/XyyFilterBase.js +7 -5
  88. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +3 -1
  89. package/Charting/Model/Filters/XyzCustomFilter.js +3 -1
  90. package/Charting/Model/Filters/XyzFilterBase.js +7 -5
  91. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +3 -1
  92. package/Charting/Model/OhlcDataSeries.js +27 -25
  93. package/Charting/Model/PaletteFactory.js +3 -3
  94. package/Charting/Model/UniformHeatmapDataSeries.js +3 -1
  95. package/Charting/Model/XyDataSeries.js +9 -7
  96. package/Charting/Model/XyyDataSeries.js +15 -13
  97. package/Charting/Model/XyzDataSeries.js +15 -13
  98. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +3 -1
  99. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +3 -1
  100. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +3 -1
  101. package/Charting/Numerics/CoordinateCalculators/LogarithmicCoordinateCalculator.js +3 -1
  102. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +3 -1
  103. package/Charting/Numerics/TickCoordinateProviders/DefaultTickCoordinatesProvider.js +3 -1
  104. package/Charting/Numerics/TickProviders/LogarithmicTickProvider.js +7 -5
  105. package/Charting/Numerics/TickProviders/NumericTickProvider.js +4 -2
  106. package/Charting/Services/SciChartRenderer.d.ts +1 -0
  107. package/Charting/Services/SciChartRenderer.js +29 -20
  108. package/Charting/Services/Workers/TextureWorker.d.ts +16 -0
  109. package/Charting/Services/Workers/TextureWorker.js +138 -0
  110. package/Charting/Services/Workers/TextureWorkerSource.d.ts +1 -0
  111. package/Charting/Services/Workers/TextureWorkerSource.js +133 -0
  112. package/Charting/Themes/SciChartJSDarkTheme.js +3 -1
  113. package/Charting/Themes/SciChartJSDarkv2Theme.js +3 -1
  114. package/Charting/Themes/SciChartJSLightTheme.js +3 -1
  115. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +1 -1
  116. package/Charting/Visuals/Annotations/AnnotationBase.js +71 -41
  117. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +28 -1
  118. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +11 -9
  119. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -1
  120. package/Charting/Visuals/Annotations/BoxAnnotation.js +18 -16
  121. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +1 -1
  122. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +36 -14
  123. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  124. package/Charting/Visuals/Annotations/CustomAnnotation.js +3 -1
  125. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +8 -6
  126. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -1
  127. package/Charting/Visuals/Annotations/LineAnnotation.js +21 -17
  128. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +20 -17
  129. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +3 -1
  130. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.js +3 -1
  131. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +4 -2
  132. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +17 -15
  133. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +1 -1
  134. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +23 -13
  135. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +1 -1
  136. package/Charting/Visuals/Annotations/TextAnnotation.js +4 -2
  137. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +8 -6
  138. package/Charting/Visuals/Axis/AxisBase2D.d.ts +16 -8
  139. package/Charting/Visuals/Axis/AxisBase2D.js +70 -37
  140. package/Charting/Visuals/Axis/AxisCore.d.ts +1 -1
  141. package/Charting/Visuals/Axis/AxisCore.js +3 -33
  142. package/Charting/Visuals/Axis/AxisRenderer.d.ts +63 -0
  143. package/Charting/Visuals/Axis/AxisRenderer.js +92 -16
  144. package/Charting/Visuals/Axis/AxisTitleRenderer.js +7 -3
  145. package/Charting/Visuals/Axis/CategoryAxis.js +5 -2
  146. package/Charting/Visuals/Axis/CategoryAxisBase.js +10 -8
  147. package/Charting/Visuals/Axis/DeltaCalculator/CategoryDeltaCalculator.js +3 -1
  148. package/Charting/Visuals/Axis/DeltaCalculator/LogarithmicDeltaCalculator.js +3 -1
  149. package/Charting/Visuals/Axis/DeltaCalculator/NumericDeltaCalculator.js +3 -1
  150. package/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.js +5 -3
  151. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +41 -0
  152. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +164 -0
  153. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +1 -1
  154. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +57 -7
  155. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +171 -74
  156. package/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.js +5 -3
  157. package/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.js +5 -3
  158. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +30 -37
  159. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +5 -2
  160. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.js +86 -5
  161. package/Charting/Visuals/Axis/LogarithmicAxis.js +10 -3
  162. package/Charting/Visuals/Axis/NumericAxis.js +5 -2
  163. package/Charting/Visuals/Axis/getAxisById.js +1 -1
  164. package/Charting/Visuals/Helpers/createNativeRect.js +2 -1
  165. package/Charting/Visuals/Helpers/createPen.js +4 -3
  166. package/Charting/Visuals/Helpers/createSolidBrush.js +5 -4
  167. package/Charting/Visuals/Helpers/drawBorder.js +6 -5
  168. package/Charting/Visuals/Helpers/drawLabel.js +10 -6
  169. package/Charting/Visuals/Legend/SciChartLegend.js +4 -2
  170. package/Charting/Visuals/Legend/SciChartLegendBase.js +16 -14
  171. package/Charting/Visuals/Legend/SciChartPieLegend.js +6 -4
  172. package/Charting/Visuals/PointMarkers/BasePointMarker.js +3 -3
  173. package/Charting/Visuals/PointMarkers/CrossPointMarker.js +3 -1
  174. package/Charting/Visuals/PointMarkers/EllipsePointMarker.js +3 -1
  175. package/Charting/Visuals/PointMarkers/SpritePointMarker.js +3 -1
  176. package/Charting/Visuals/PointMarkers/SquarePointMarker.js +3 -1
  177. package/Charting/Visuals/PointMarkers/TrianglePointMarker.js +3 -1
  178. package/Charting/Visuals/PointMarkers/XPointMarker.js +3 -1
  179. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +6 -4
  180. package/Charting/Visuals/RenderableSeries/Animations/BandAnimationStyle.js +6 -4
  181. package/Charting/Visuals/RenderableSeries/Animations/BaseAnimationStyle.js +1 -1
  182. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +3 -1
  183. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.js +5 -3
  184. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimationStyle.js +5 -3
  185. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +4 -2
  186. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimationStyle.js +4 -2
  187. package/Charting/Visuals/RenderableSeries/Animations/CustomPointMarkerStyle.js +3 -1
  188. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +3 -1
  189. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +3 -1
  190. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +4 -2
  191. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimationStyle.js +4 -2
  192. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +5 -3
  193. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimationStyle.js +5 -3
  194. package/Charting/Visuals/RenderableSeries/Animations/PointMarkerStyle.js +5 -3
  195. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +1 -1
  196. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +3 -1
  197. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +3 -1
  198. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +1 -1
  199. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +3 -3
  200. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.js +3 -1
  201. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +1 -1
  202. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +3 -1
  203. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  204. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +3 -1
  205. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +3 -1
  206. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +3 -1
  207. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +3 -1
  208. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +15 -14
  209. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +7 -5
  210. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +3 -3
  211. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +20 -18
  212. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +12 -12
  213. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +4 -2
  214. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +12 -10
  215. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +9 -7
  216. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +10 -8
  217. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +20 -18
  218. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +6 -4
  219. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +9 -7
  220. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +6 -4
  221. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +3 -1
  222. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +3 -1
  223. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +3 -1
  224. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +6 -3
  225. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +3 -1
  226. package/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.js +3 -1
  227. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +3 -1
  228. package/Charting/Visuals/RenderableSeries/GlowEffect.js +3 -1
  229. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +3 -1
  230. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  231. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +4 -2
  232. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +4 -2
  233. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +8 -6
  234. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +3 -1
  235. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +4 -2
  236. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +6 -4
  237. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +7 -5
  238. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +3 -1
  239. package/Charting/Visuals/RenderableSeries/HitTest/UniformHeatmapHitTestProvider.js +3 -1
  240. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +12 -12
  241. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.js +2 -2
  242. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +4 -4
  243. package/Charting/Visuals/RenderableSeries/ShadowEffect.js +4 -2
  244. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +6 -4
  245. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +5 -3
  246. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +5 -3
  247. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +6 -4
  248. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +11 -9
  249. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +7 -5
  250. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +11 -9
  251. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -4
  252. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +5 -2
  253. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +3 -1
  254. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +3 -3
  255. package/Charting/Visuals/SciChartDefaults.d.ts +11 -0
  256. package/Charting/Visuals/SciChartDefaults.js +18 -0
  257. package/Charting/Visuals/SciChartOverview.js +13 -7
  258. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +1 -1
  259. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +27 -24
  260. package/Charting/Visuals/SciChartSurface.js +20 -17
  261. package/Charting/Visuals/SciChartSurfaceBase.js +15 -11
  262. package/Charting/Visuals/TextureManager/CanvasTexture.js +5 -5
  263. package/Charting/Visuals/TextureManager/DpiHelper.js +3 -3
  264. package/Charting/Visuals/TextureManager/TextureManager.d.ts +1 -0
  265. package/Charting/Visuals/TextureManager/TextureManager.js +16 -12
  266. package/Charting/Visuals/createMaster.js +6 -5
  267. package/Charting/Visuals/createSingle.js +6 -4
  268. package/Charting/Visuals/licenseManager2D.js +65 -48
  269. package/Charting/Visuals/loader.js +1 -1
  270. package/Charting/Visuals/sciChartInitCommon.js +12 -12
  271. package/Charting3D/CameraController.js +6 -6
  272. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +3 -1
  273. package/Charting3D/ChartModifiers/MouseWheelZoomModifier3D.js +3 -1
  274. package/Charting3D/ChartModifiers/OrbitModifier3D.js +3 -1
  275. package/Charting3D/ChartModifiers/ResetCamera3DModifier.d.ts +79 -0
  276. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +143 -0
  277. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.js +4 -2
  278. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +3 -1
  279. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +6 -4
  280. package/Charting3D/Vector3.js +1 -1
  281. package/Charting3D/Visuals/Axis/AxisBase3D.js +9 -7
  282. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +20 -15
  283. package/Charting3D/Visuals/Axis/NumericAxis3D.d.ts +5 -0
  284. package/Charting3D/Visuals/Axis/NumericAxis3D.js +29 -1
  285. package/Charting3D/Visuals/DefaultViewportManager3D.js +3 -1
  286. package/Charting3D/Visuals/GizmoEntity.js +3 -1
  287. package/Charting3D/Visuals/PointMarkers/BaseMeshPointMarker3D.js +3 -1
  288. package/Charting3D/Visuals/PointMarkers/BaseTexturePointMarker3D.js +3 -1
  289. package/Charting3D/Visuals/PointMarkers/DefaultPointMarkers.js +3 -1
  290. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +2 -2
  291. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +3 -1
  292. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +7 -5
  293. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +22 -20
  294. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +3 -3
  295. package/Charting3D/Visuals/RenderableSeries/ScatterRenderableSeries3D.js +3 -1
  296. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/GradientColorPalette.js +3 -1
  297. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SolidColorBrushPalette.js +5 -3
  298. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.js +3 -1
  299. package/Charting3D/Visuals/RootSceneEntity.js +3 -1
  300. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  301. package/Charting3D/Visuals/SciChart3DRenderer.js +10 -2
  302. package/Charting3D/Visuals/SciChart3DSurface.d.ts +22 -0
  303. package/Charting3D/Visuals/SciChart3DSurface.js +64 -11
  304. package/Charting3D/Visuals/createMaster3d.js +8 -7
  305. package/Charting3D/Visuals/createSingle3d.js +5 -4
  306. package/Charting3D/Visuals/licenseManager3D.js +7 -6
  307. package/Core/Animations/AnimationFiniteStateMachine.js +4 -2
  308. package/Core/Animations/DoubleAnimator.js +1 -1
  309. package/Core/Animations/GenericAnimation.js +1 -1
  310. package/Core/Guard.js +4 -4
  311. package/Core/Mouse/MouseManager.js +1 -1
  312. package/Core/NumberRange.js +4 -4
  313. package/Core/Point.js +1 -1
  314. package/_wasm/scichart.browser.js +1 -1
  315. package/_wasm/scichart2d.js +1 -1
  316. package/_wasm/scichart2d.wasm +0 -0
  317. package/_wasm/scichart3d.js +95 -95
  318. package/_wasm/scichart3d.wasm +0 -0
  319. package/index.js +1 -0
  320. package/package.json +2 -2
  321. package/types/AxisAlignment.js +6 -4
  322. package/types/ChartModifierType.d.ts +2 -1
  323. package/types/ChartModifierType.js +1 -0
  324. package/utils/array.js +2 -1
  325. package/utils/calcAverage.js +4 -2
  326. package/utils/colorUtil.js +4 -4
  327. package/utils/convertColor.js +6 -4
  328. package/utils/convertToPixel.js +2 -1
  329. package/utils/date.js +26 -17
  330. package/utils/font.js +4 -3
  331. package/utils/guid.js +2 -1
  332. package/utils/hasAllProperties.js +2 -1
  333. package/utils/includedAxis.d.ts +3 -0
  334. package/utils/includedAxis.js +23 -0
  335. package/utils/math.js +6 -3
  336. package/utils/number.js +18 -13
  337. package/utils/parseColor.js +7 -5
  338. package/utils/pointUtil.js +24 -15
  339. package/utils/random.js +2 -1
  340. package/utils/randomPricesDataSource.js +7 -5
  341. package/utils/svgString.js +2 -1
  342. package/utils/translate.js +10 -5
  343. package/utils/tsrExtensions.js +4 -2
  344. package/utils/zeroArray2D.js +3 -2
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -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 __());
@@ -242,10 +244,10 @@ var LogarithmicTickProvider = /** @class */ (function (_super) {
242
244
  LogarithmicTickProvider.prototype.isParamsValid = function (visibleRange, deltaRange) {
243
245
  Guard_1.Guard.notNull(visibleRange, "visibleRange");
244
246
  Guard_1.Guard.notNull(deltaRange, "deltaRange");
245
- return (isRealNumber_1.isRealNumber(visibleRange.min) &&
246
- isRealNumber_1.isRealNumber(visibleRange.max) &&
247
- isRealNumber_1.isRealNumber(deltaRange.min) &&
248
- isRealNumber_1.isRealNumber(deltaRange.max));
247
+ return ((0, isRealNumber_1.isRealNumber)(visibleRange.min) &&
248
+ (0, isRealNumber_1.isRealNumber)(visibleRange.max) &&
249
+ (0, isRealNumber_1.isRealNumber)(deltaRange.min) &&
250
+ (0, isRealNumber_1.isRealNumber)(deltaRange.max));
249
251
  };
250
252
  return LogarithmicTickProvider;
251
253
  }(TickProvider_1.TickProvider));
@@ -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 __());
@@ -77,7 +79,7 @@ var NumericTickProvider = /** @class */ (function (_super) {
77
79
  NumericTickProvider.prototype.isParamsValid = function (visibleRange, deltaRange) {
78
80
  Guard_1.Guard.notNull(visibleRange, "visibleRange");
79
81
  Guard_1.Guard.notNull(deltaRange, "deltaRange");
80
- return (isRealNumber_1.isRealNumber(visibleRange.min) && isRealNumber_1.isRealNumber(visibleRange.max) && deltaRange.min > 0 && deltaRange.max > 0);
82
+ return ((0, isRealNumber_1.isRealNumber)(visibleRange.min) && (0, isRealNumber_1.isRealNumber)(visibleRange.max) && deltaRange.min > 0 && deltaRange.max > 0);
81
83
  };
82
84
  /**
83
85
  * @summary Performs the Numeric tick calculation
@@ -26,4 +26,5 @@ export declare class SciChartRenderer {
26
26
  private drawDebugAxes;
27
27
  private tryPerformAutoRangeOn;
28
28
  private onParentSurfaceRendered;
29
+ private updateWatermark;
29
30
  }
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
- var __spreadArrays = (this && this.__spreadArrays) || function () {
3
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
5
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6
- r[k] = a[j];
7
- return r;
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
8
10
  };
9
11
  Object.defineProperty(exports, "__esModule", { value: true });
10
12
  exports.SciChartRenderer = void 0;
@@ -46,6 +48,7 @@ var SciChartRenderer = /** @class */ (function () {
46
48
  this.validate();
47
49
  // Animation Step
48
50
  var timeElapsed = this.previousTime ? Date.now() - this.previousTime : undefined;
51
+ // console.log("draw ", timeElapsed);
49
52
  this.previousTime = Date.now();
50
53
  this.sciChartSurface.onAnimate(timeElapsed);
51
54
  this.sciChartSurface.updateBackground();
@@ -69,7 +72,7 @@ var SciChartRenderer = /** @class */ (function () {
69
72
  // Step 6 Draw annotations below the series
70
73
  var userAnnotations = this.sciChartSurface.annotations.asArray();
71
74
  var modifierAnnotations = this.sciChartSurface.modifierAnnotations.asArray();
72
- var annotations = __spreadArrays(userAnnotations, modifierAnnotations);
75
+ var annotations = __spreadArray(__spreadArray([], userAnnotations, true), modifierAnnotations, true);
73
76
  var renderContextAnnotations = annotations.filter(function (el) {
74
77
  return (el.type === IAnnotation_1.EAnnotationType.RenderContextBoxAnnotation ||
75
78
  el.type === IAnnotation_1.EAnnotationType.RenderContextLineAnnotation ||
@@ -93,9 +96,7 @@ var SciChartRenderer = /** @class */ (function () {
93
96
  });
94
97
  this.drawSvgAnnotations(svgAnnotations, xyAxesById[0], xyAxesById[1]);
95
98
  // Update watermark
96
- var left = seriesViewRect.x;
97
- var bottom = SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.height - (seriesViewRect.top + seriesViewRect.height);
98
- this.sciChartSurface.updateWatermark(left, bottom);
99
+ this.updateWatermark(renderContext, seriesViewRect);
99
100
  // Step 10 Call OnParentSurfaceRendered
100
101
  this.onParentSurfaceRendered();
101
102
  nativeContext.SetBlendMode(oldBlendMode);
@@ -116,10 +117,10 @@ var SciChartRenderer = /** @class */ (function () {
116
117
  var yAxis = yAxisById.item(a.yAxisId) || yAxisById.values[0];
117
118
  if (a.showWarning) {
118
119
  if (xAxisById.count > 0 && xAxis.id !== a.xAxisId) {
119
- console.warn("Annotation looked for xAxis Id " + a.xAxisId + " but got " + xAxis.id + ". Do you need to set xAxisId on an annotation or modifier?");
120
+ console.warn("Annotation looked for xAxis Id ".concat(a.xAxisId, " but got ").concat(xAxis.id, ". Do you need to set xAxisId on an annotation or modifier?"));
120
121
  }
121
122
  if (yAxisById.count > 0 && yAxis.id !== a.yAxisId) {
122
- console.warn("Annotation looked for yAxis Id " + a.yAxisId + " but got " + yAxis.id + ". Do you need to set yAxisId on an annotation or modifier?");
123
+ console.warn("Annotation looked for yAxis Id ".concat(a.yAxisId, " but got ").concat(yAxis.id, ". Do you need to set yAxisId on an annotation or modifier?"));
123
124
  }
124
125
  a.showWarning = false;
125
126
  }
@@ -135,10 +136,10 @@ var SciChartRenderer = /** @class */ (function () {
135
136
  var yAxis = yAxisById.item(a.yAxisId) || yAxisById.values[0];
136
137
  if (a.showWarning) {
137
138
  if (xAxisById.count > 0 && xAxis.id !== a.xAxisId) {
138
- console.warn("Annotation looked for xAxis Id " + a.xAxisId + " but got " + xAxis.id + ". Do you need to set xAxisId on an annotation or modifier?");
139
+ console.warn("Annotation looked for xAxis Id ".concat(a.xAxisId, " but got ").concat(xAxis.id, ". Do you need to set xAxisId on an annotation or modifier?"));
139
140
  }
140
141
  if (yAxisById.count > 0 && yAxis.id !== a.yAxisId) {
141
- console.warn("Annotation looked for yAxis Id " + a.yAxisId + " but got " + yAxis.id + ". Do you need to set yAxisId on an annotation or modifier?");
142
+ console.warn("Annotation looked for yAxis Id ".concat(a.yAxisId, " but got ").concat(yAxis.id, ". Do you need to set yAxisId on an annotation or modifier?"));
142
143
  }
143
144
  a.showWarning = false;
144
145
  }
@@ -160,8 +161,8 @@ var SciChartRenderer = /** @class */ (function () {
160
161
  var viewRectInDevicePixels = new Rect_1.Rect(seriesViewRect.x / DpiHelper_1.DpiHelper.PIXEL_RATIO, seriesViewRect.y / DpiHelper_1.DpiHelper.PIXEL_RATIO, seriesViewRect.width / DpiHelper_1.DpiHelper.PIXEL_RATIO, seriesViewRect.height / DpiHelper_1.DpiHelper.PIXEL_RATIO);
161
162
  var svgRootElement = this.sciChartSurface.domSvgContainer;
162
163
  if (svgRootElement) {
163
- svgRootElement.style.marginLeft = viewRectInDevicePixels.x + "px";
164
- svgRootElement.style.marginTop = viewRectInDevicePixels.y + "px";
164
+ svgRootElement.style.marginLeft = "".concat(viewRectInDevicePixels.x, "px");
165
+ svgRootElement.style.marginTop = "".concat(viewRectInDevicePixels.y, "px");
165
166
  // Set width, height
166
167
  svgRootElement.setAttribute("width", viewRectInDevicePixels.width.toString());
167
168
  svgRootElement.setAttribute("height", viewRectInDevicePixels.height.toString());
@@ -207,12 +208,12 @@ var SciChartRenderer = /** @class */ (function () {
207
208
  throw Error("Cannot find a Y Axis with ID = " + series.yAxisId);
208
209
  }
209
210
  if (xAxis.isVerticalChart && ![AxisAlignment_1.EAxisAlignment.Top, AxisAlignment_1.EAxisAlignment.Bottom].includes(yAxis.axisAlignment)) {
210
- throw Error("For vertical chart (chart with X Axis alignment Left or Right) Y Axis alignment should be Top or Bottom, X Axis ID = " + xAxis.id);
211
+ throw Error("For vertical chart (chart with X Axis alignment Left or Right) Y Axis alignment should be Top or Bottom, X Axis ID = ".concat(xAxis.id));
211
212
  }
212
- if (AxisAlignment_1.getIsVertical(xAxis.axisAlignment) && AxisAlignment_1.getIsVertical(yAxis.axisAlignment)) {
213
+ if ((0, AxisAlignment_1.getIsVertical)(xAxis.axisAlignment) && (0, AxisAlignment_1.getIsVertical)(yAxis.axisAlignment)) {
213
214
  throw Error("Both x and y axes can't have vertical alignment");
214
215
  }
215
- if (AxisAlignment_1.getIsHorizontal(xAxis.axisAlignment) && AxisAlignment_1.getIsHorizontal(yAxis.axisAlignment)) {
216
+ if ((0, AxisAlignment_1.getIsHorizontal)(xAxis.axisAlignment) && (0, AxisAlignment_1.getIsHorizontal)(yAxis.axisAlignment)) {
216
217
  throw Error("Both x and y axes can't have horizontal alignment");
217
218
  }
218
219
  var xCalc = xAxis.getCurrentCoordinateCalculator();
@@ -253,7 +254,7 @@ var SciChartRenderer = /** @class */ (function () {
253
254
  axis.visibleRange = newRange;
254
255
  }
255
256
  else if (!newRange.equals(axis.animatedVisibleRange)) {
256
- sciChartSurface.addAnimation(axis.animateVisibleRange(newRange, axis.autoRangeAnimation.duration, axis.autoRangeAnimation.easing));
257
+ axis.animateVisibleRange(newRange, axis.autoRangeAnimation.duration, axis.autoRangeAnimation.easing);
257
258
  }
258
259
  }
259
260
  }
@@ -264,6 +265,14 @@ var SciChartRenderer = /** @class */ (function () {
264
265
  });
265
266
  this.sciChartSurface.rendered.raiseEvent();
266
267
  };
268
+ SciChartRenderer.prototype.updateWatermark = function (renderContext, seriesViewRect) {
269
+ var left = seriesViewRect.x;
270
+ var chartHeight = this.sciChartSurface.isCopyCanvasSurface
271
+ ? SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.height
272
+ : renderContext.viewportSize.height;
273
+ var bottom = chartHeight - (seriesViewRect.top + seriesViewRect.height);
274
+ this.sciChartSurface.updateWatermark(left, bottom);
275
+ };
267
276
  return SciChartRenderer;
268
277
  }());
269
278
  exports.SciChartRenderer = SciChartRenderer;
@@ -0,0 +1,16 @@
1
+ import { TTextStyle } from "../../Visuals/Axis/AxisCore";
2
+ declare class TextureWorkerWrapper {
3
+ private readonly worker;
4
+ private timeout;
5
+ private isActiveProperty;
6
+ constructor();
7
+ get isActive(): boolean;
8
+ measureAndGetImageData(text: string[], textStyle: TTextStyle, rotation?: number, lineSpacing?: number, backgroundColor?: string, opacity?: number): Promise<{
9
+ imageData: ImageData;
10
+ textureWidth: number;
11
+ textureHeight: number;
12
+ }>;
13
+ private makeWorker;
14
+ }
15
+ export declare const textureWorker: TextureWorkerWrapper;
16
+ export {};
@@ -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