scichart 2.0.0-alpha.1930 → 2.0.0-alpha.1991

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 (212) hide show
  1. package/Builder/buildAxis.d.ts +3 -3
  2. package/Builder/buildDataSeries.d.ts +44 -4
  3. package/Builder/buildDataSeries.js +66 -0
  4. package/Builder/buildSeries.d.ts +7 -5
  5. package/Builder/buildSeries.js +3 -4
  6. package/Builder/buildSurface.d.ts +14 -6
  7. package/Builder/buildSurface.js +13 -8
  8. package/Builder/chartBuilder.d.ts +14 -8
  9. package/Builder/chartBuilder.js +6 -6
  10. package/Charting/ChartModifiers/ChartModifierBase.d.ts +37 -81
  11. package/Charting/ChartModifiers/ChartModifierBase.js +28 -73
  12. package/Charting/ChartModifiers/ChartModifierBase2D.d.ts +5 -1
  13. package/Charting/ChartModifiers/ChartModifierBase2D.js +6 -17
  14. package/Charting/ChartModifiers/CursorModifier.d.ts +4 -2
  15. package/Charting/ChartModifiers/CursorModifier.js +1 -1
  16. package/Charting/ChartModifiers/DataPointSelectionModifier.d.ts +3 -1
  17. package/Charting/ChartModifiers/DataPointSelectionModifier.js +62 -27
  18. package/Charting/ChartModifiers/LegendModifier.d.ts +5 -1
  19. package/Charting/ChartModifiers/LegendModifier.js +2 -1
  20. package/Charting/ChartModifiers/MouseWheelZoomModifier.d.ts +1 -1
  21. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +1 -1
  22. package/Charting/ChartModifiers/RolloverModifier.d.ts +1 -1
  23. package/Charting/ChartModifiers/RolloverModifier.js +44 -58
  24. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  25. package/Charting/ChartModifiers/SeriesSelectionModifier.d.ts +15 -7
  26. package/Charting/ChartModifiers/SeriesSelectionModifier.js +10 -10
  27. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  28. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  29. package/Charting/ChartModifiers/ZoomExtentsModifier.d.ts +14 -1
  30. package/Charting/ChartModifiers/ZoomExtentsModifier.js +16 -4
  31. package/Charting/Drawing/BrushCache.js +6 -8
  32. package/Charting/Drawing/Pen2DCache.d.ts +4 -6
  33. package/Charting/Drawing/Pen2DCache.js +14 -11
  34. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  35. package/Charting/Drawing/WebGlPen.js +3 -2
  36. package/Charting/LayoutManager/BottomAlignedOuterAxisLayoutStrategy.js +1 -1
  37. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +3 -2
  38. package/Charting/LayoutManager/LeftAlignedOuterAxisLayoutStrategy.js +1 -1
  39. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +3 -2
  40. package/Charting/LayoutManager/RightAlignedOuterAxisLayoutStrategy.js +1 -1
  41. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +3 -2
  42. package/Charting/LayoutManager/TopAlignedOuterAxisLayoutStrategy.js +1 -1
  43. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +3 -2
  44. package/Charting/Model/BaseDataSeries.d.ts +64 -52
  45. package/Charting/Model/BaseDataSeries.js +158 -84
  46. package/Charting/Model/BaseHeatmapDataSeries.d.ts +2 -2
  47. package/Charting/Model/DataPointSelectionPaletteProvider.d.ts +22 -10
  48. package/Charting/Model/DataPointSelectionPaletteProvider.js +35 -5
  49. package/Charting/Model/Filters/OhlcScaleOffsetFilter.d.ts +106 -0
  50. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +21 -0
  51. package/Charting/Model/Filters/XyLinearTrendFilter.d.ts +112 -1
  52. package/Charting/Model/Filters/XyLinearTrendFilter.js +21 -0
  53. package/Charting/Model/Filters/XyMovingAverageFilter.d.ts +110 -1
  54. package/Charting/Model/Filters/XyMovingAverageFilter.js +21 -0
  55. package/Charting/Model/Filters/XyRatioFilter.d.ts +111 -2
  56. package/Charting/Model/Filters/XyRatioFilter.js +34 -3
  57. package/Charting/Model/Filters/XyScaleOffsetFilter.d.ts +112 -1
  58. package/Charting/Model/Filters/XyScaleOffsetFilter.js +21 -0
  59. package/Charting/Model/Filters/XyyScaleOffsetFilter.d.ts +116 -0
  60. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +21 -0
  61. package/Charting/Model/Filters/XyzScaleOffsetFilter.d.ts +116 -0
  62. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +21 -0
  63. package/Charting/Model/IDataSeries.d.ts +18 -3
  64. package/Charting/Model/IDataSeries.js +12 -1
  65. package/Charting/Model/IPaletteProvider.d.ts +8 -8
  66. package/Charting/Model/OhlcDataSeries.d.ts +39 -10
  67. package/Charting/Model/OhlcDataSeries.js +106 -19
  68. package/Charting/Model/UniformHeatmapDataSeries.d.ts +2 -2
  69. package/Charting/Model/XyyDataSeries.d.ts +21 -12
  70. package/Charting/Model/XyyDataSeries.js +70 -16
  71. package/Charting/Model/XyzDataSeries.d.ts +20 -5
  72. package/Charting/Model/XyzDataSeries.js +63 -7
  73. package/Charting/Numerics/TickProviders/LogarithmicTickProvider.d.ts +24 -0
  74. package/Charting/Numerics/TickProviders/LogarithmicTickProvider.js +26 -4
  75. package/Charting/Services/SciChartRenderer.js +4 -2
  76. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +7 -21
  77. package/Charting/Visuals/Annotations/AnnotationBase.js +28 -42
  78. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +1 -1
  79. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +2 -4
  80. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -1
  81. package/Charting/Visuals/Annotations/BoxAnnotation.js +3 -2
  82. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  83. package/Charting/Visuals/Annotations/CustomAnnotation.js +2 -2
  84. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +0 -3
  85. package/Charting/Visuals/Annotations/IAnnotation.d.ts +4 -0
  86. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -1
  87. package/Charting/Visuals/Annotations/LineAnnotation.js +2 -4
  88. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +3 -2
  89. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +1 -1
  90. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +1 -1
  91. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +3 -2
  92. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +1 -1
  93. package/Charting/Visuals/Annotations/TextAnnotation.js +1 -1
  94. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +0 -3
  95. package/Charting/Visuals/Annotations/annotationHelpers.d.ts +21 -0
  96. package/Charting/Visuals/Annotations/annotationHelpers.js +19 -0
  97. package/Charting/Visuals/Axis/AxisBase2D.d.ts +21 -0
  98. package/Charting/Visuals/Axis/AxisBase2D.js +81 -14
  99. package/Charting/Visuals/Axis/AxisCore.d.ts +5 -5
  100. package/Charting/Visuals/Axis/AxisCore.js +50 -55
  101. package/Charting/Visuals/Axis/AxisRenderer.js +1 -1
  102. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +13 -0
  103. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +1 -1
  104. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +3 -2
  105. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +13 -0
  106. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +1 -1
  107. package/Charting/Visuals/Axis/LogarithmicAxis.d.ts +53 -0
  108. package/Charting/Visuals/Axis/LogarithmicAxis.js +107 -3
  109. package/Charting/Visuals/Axis/constants.d.ts +2 -1
  110. package/Charting/Visuals/Axis/constants.js +1 -0
  111. package/Charting/Visuals/Legend/SciChartLegend.js +1 -1
  112. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +11 -0
  113. package/Charting/Visuals/Legend/SciChartLegendBase.js +45 -16
  114. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +4 -0
  115. package/Charting/Visuals/RenderableSeries/Animations/BaseAnimation.d.ts +1 -1
  116. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +1 -1
  117. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +1 -1
  118. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +9 -2
  119. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +65 -4
  120. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +0 -11
  121. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +0 -29
  122. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +1 -1
  123. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +0 -37
  124. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +0 -120
  125. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +4 -24
  126. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +65 -91
  127. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +26 -2
  128. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +55 -3
  129. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +3 -1
  130. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +1 -1
  131. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +7 -1
  132. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +66 -64
  133. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +7 -0
  134. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +12 -0
  135. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +2 -1
  136. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +6 -6
  137. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +6 -0
  138. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +12 -0
  139. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.d.ts +0 -6
  140. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +0 -42
  141. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -17
  142. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -71
  143. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +1 -1
  144. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +1 -1
  145. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.d.ts +4 -0
  146. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +7 -0
  147. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +2 -1
  148. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.d.ts +4 -0
  149. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +7 -0
  150. package/Charting/Visuals/RenderableSeries/HitTest/IHitTestProvider.d.ts +13 -0
  151. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.d.ts +4 -0
  152. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +7 -0
  153. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.d.ts +4 -0
  154. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +7 -0
  155. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +17 -5
  156. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +2 -2
  157. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +3 -0
  158. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +10 -32
  159. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +4 -0
  160. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +11 -21
  161. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +3 -0
  162. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +10 -21
  163. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.d.ts +18 -5
  164. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +16 -35
  165. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +4 -5
  166. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +2 -5
  167. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +2 -35
  168. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +3 -1
  169. package/Charting/Visuals/SciChartOverview.d.ts +1 -1
  170. package/Charting/Visuals/SciChartOverview.js +1 -1
  171. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.d.ts +3 -1
  172. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +9 -8
  173. package/Charting/Visuals/SciChartSurface.d.ts +20 -3
  174. package/Charting/Visuals/SciChartSurface.js +36 -8
  175. package/Charting/Visuals/SciChartSurfaceBase.d.ts +3 -3
  176. package/Charting/Visuals/SciChartSurfaceBase.js +2 -6
  177. package/Charting/Visuals/TextureManager/DpiHelper.d.ts +1 -1
  178. package/Charting/Visuals/TextureManager/DpiHelper.js +5 -3
  179. package/Charting/Visuals/TextureManager/TextureManager.d.ts +7 -1
  180. package/Charting/Visuals/TextureManager/TextureManager.js +14 -7
  181. package/Charting/Visuals/licenseManager2D.js +35 -28
  182. package/Charting/Visuals/loader.d.ts +3 -0
  183. package/Charting/Visuals/loader.js +3 -0
  184. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +21 -45
  185. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +15 -36
  186. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +35 -73
  187. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +25 -66
  188. package/Charting3D/Visuals/SciChart3DRenderer.js +1 -1
  189. package/Charting3D/Visuals/SciChart3DSurface.d.ts +13 -1
  190. package/Charting3D/Visuals/SciChart3DSurface.js +13 -1
  191. package/Core/ObservableArray.d.ts +8 -1
  192. package/Core/ObservableArray.js +7 -0
  193. package/_wasm/scichart.browser.js +1 -1
  194. package/_wasm/scichart2d.js +95 -95
  195. package/_wasm/scichart2d.wasm +0 -0
  196. package/_wasm/scichart3d.js +1 -1
  197. package/_wasm/scichart3d.wasm +0 -0
  198. package/package.json +1 -1
  199. package/types/AnchorPoint.d.ts +0 -3
  200. package/types/AnchorPoint.js +0 -3
  201. package/types/BaseType.d.ts +3 -1
  202. package/types/BaseType.js +2 -0
  203. package/types/DataFilterType.d.ts +9 -0
  204. package/types/DataFilterType.js +13 -0
  205. package/types/HelperTypes.d.ts +5 -0
  206. package/types/HelperTypes.js +2 -0
  207. package/types/SeriesType.d.ts +17 -17
  208. package/types/SeriesType.js +17 -17
  209. package/utils/font.d.ts +8 -0
  210. package/utils/font.js +15 -0
  211. package/utils/imageUtil.d.ts +6 -0
  212. package/utils/imageUtil.js +11 -1
@@ -90,7 +90,7 @@ var SciChartSurface = /** @class */ (function (_super) {
90
90
  */
91
91
  _this.rendered = new EventHandler_1.EventHandler();
92
92
  _this.zoomStateProperty = ZoomState_1.EZoomState.AtExtents;
93
- _this.paddingProperty = Thickness_1.Thickness.fromNumber(DpiHelper_1.DpiHelper.PIXEL_RATIO * 10);
93
+ _this.paddingProperty = Thickness_1.Thickness.fromNumber(10);
94
94
  _this.viewportBorderProperty = {
95
95
  borderBottom: undefined,
96
96
  borderLeft: undefined,
@@ -185,7 +185,7 @@ var SciChartSurface = /** @class */ (function (_super) {
185
185
  * Creates a {@link SciChartSurface} and {@link TSciChart | WebAssembly Context} to occupy the div by element ID in your DOM.
186
186
  * @remarks This method is async and must be awaited
187
187
  * @param divElementId The Div Element ID where the {@link SciChartSurface} will reside
188
- * @param options Optional - Optional parameters for chart creation. See {@link IChartCreationOptions} for more details
188
+ * @param options Optional - Optional parameters for chart creation. See {@link I2DSurfaceOptions} for more details
189
189
  */
190
190
  SciChartSurface.create = function (divElementId, options) {
191
191
  chartBuilder_1.ensureRegistrations();
@@ -203,7 +203,7 @@ var SciChartSurface = /** @class */ (function (_super) {
203
203
  /**
204
204
  * USED INTERNALLY - performs a similar operation to {@link SciChartSurface.create} but used internally for testing
205
205
  * @param divElementId
206
- * @param options - optional parameters for chart creation. See {@link IChartCreationOptions} for more details
206
+ * @param options - optional parameters for chart creation. See {@link I2DSurfaceOptions} for more details
207
207
  */
208
208
  SciChartSurface.createSingle = function (divElementId, options) {
209
209
  chartBuilder_1.ensureRegistrations();
@@ -218,6 +218,18 @@ var SciChartSurface = /** @class */ (function (_super) {
218
218
  });
219
219
  }
220
220
  };
221
+ /**
222
+ * Allows setting of web URL for Wasm and Data files, in the case you are loading SciChart outside of npm/webpack environment.
223
+ * Note if loading from CDN the version number of data/wasm Urls must match the version number of SciChart.js you are using.
224
+ * @example
225
+ * ```ts
226
+ * SciChart.SciChartSurface.configure({
227
+ * dataUrl: "https://cdn.jsdelivr.net/npm/scichart@1.3.1500/_wasm/scichart2d.data",
228
+ * wasmUrl: "https://cdn.jsdelivr.net/npm/scichart@1.3.1500/_wasm/scichart2d.wasm"
229
+ * });
230
+ * ```
231
+ * @param config
232
+ */
221
233
  SciChartSurface.configure = function (config) {
222
234
  var _a, _b;
223
235
  exports.sciChartConfig.dataUrl = (_a = config === null || config === void 0 ? void 0 : config.dataUrl) !== null && _a !== void 0 ? _a : undefined;
@@ -284,6 +296,17 @@ var SciChartSurface = /** @class */ (function (_super) {
284
296
  enumerable: false,
285
297
  configurable: true
286
298
  });
299
+ Object.defineProperty(SciChartSurface.prototype, "adjustedPadding", {
300
+ /**
301
+ * Gets the adjusted padding between the SciChartSurface and it's inner elements, in order top, right, bottom, left
302
+ * Defines a resulting padding accordingly to DPI scaling.
303
+ */
304
+ get: function () {
305
+ return DpiHelper_1.DpiHelper.adjustThickness(this.padding);
306
+ },
307
+ enumerable: false,
308
+ configurable: true
309
+ });
287
310
  Object.defineProperty(SciChartSurface.prototype, "debugRendering", {
288
311
  /**
289
312
  * Gets or sets a property whether rendering should be debugged. This will draw rectangles around key boxes and areas on the chart.
@@ -404,8 +427,8 @@ var SciChartSurface = /** @class */ (function (_super) {
404
427
  if (easingFunction === void 0) { easingFunction = EasingFunctions_1.easing.outExpo; }
405
428
  if (onCompleted === void 0) { onCompleted = function () { }; }
406
429
  // Update accumulated vectors for stacked series
407
- var stackedSeries = this.renderableSeries.asArray().filter(function (el) { return el.isStacked; });
408
- stackedSeries.forEach(function (el) { return el.updateAccumulatedVectors(); });
430
+ var stackedCollection = this.renderableSeries.asArray().filter(function (el) { return el.isStacked; });
431
+ stackedCollection.forEach(function (el) { return el.updateAccumulatedVectors(); });
409
432
  var xSize = this.xAxes === undefined ? 0 : this.xAxes.size();
410
433
  var ySize = this.yAxes === undefined ? 0 : this.yAxes.size();
411
434
  if (xSize === 0 || ySize === 0) {
@@ -638,7 +661,8 @@ var SciChartSurface = /** @class */ (function (_super) {
638
661
  layoutManager: (_a = this.layoutManager) === null || _a === void 0 ? void 0 : _a.toJSON(),
639
662
  padding: this.padding,
640
663
  theme: theme,
641
- viewportBorder: this.viewportBorder
664
+ viewportBorder: this.viewportBorder,
665
+ loader: this.loaderJson
642
666
  };
643
667
  var definition = {
644
668
  surface: options,
@@ -668,6 +692,10 @@ var SciChartSurface = /** @class */ (function (_super) {
668
692
  if (options === null || options === void 0 ? void 0 : options.canvasBorder) {
669
693
  this.canvasBorder = options.canvasBorder;
670
694
  }
695
+ if ((options === null || options === void 0 ? void 0 : options.loader) && "toJSON" in options.loader) {
696
+ // @ts-ignore
697
+ this.loaderJson = options.loader.toJSON();
698
+ }
671
699
  };
672
700
  /**
673
701
  * @inheritDoc
@@ -793,10 +821,10 @@ var SciChartSurface = /** @class */ (function (_super) {
793
821
  throw new Error("Invalid operation in sciChartSurface.attachAxis, this axis has already been attached to a SciChartSurface. Please detach it from a SciChartSurface before attaching to another");
794
822
  }
795
823
  var isPrimaryAxis = false;
796
- if (isXAxis && this.xAxes.size() === 1) {
824
+ if (isXAxis && !this.xAxes.asArray().some(function (a) { return a.isPrimaryAxis; })) {
797
825
  isPrimaryAxis = true;
798
826
  }
799
- if (!isXAxis && this.yAxes.size() === 1) {
827
+ if (!isXAxis && !this.yAxes.asArray().some(function (a) { return a.isPrimaryAxis; })) {
800
828
  isPrimaryAxis = true;
801
829
  }
802
830
  axis.onAttach(this, isXAxis, isPrimaryAxis);
@@ -34,10 +34,9 @@ export interface ISurfaceOptionsBase {
34
34
  * themes are included out of the box {@link SciChartJSLightTheme} and {@link SciChartJSDarkTheme}.
35
35
  * Custom themes may be created by implementing {@link IThemeProvider}
36
36
  */
37
- theme?: IThemeProvider | {
37
+ theme?: IThemeProvider | ({
38
38
  type: string | EThemeProviderType;
39
- overrides?: IThemePartial;
40
- };
39
+ } & IThemePartial);
41
40
  /**
42
41
  * Allows you to customize the loading elements or animation as part of the HTML page / DOM when a {@link SciChartSurface}
43
42
  * or {@link SciChart3DSurface} is loading WebAssembly
@@ -175,6 +174,7 @@ export declare abstract class SciChartSurfaceBase implements ISciChartSurfaceBas
175
174
  protected backgroundProperty: string;
176
175
  protected widthAspect: number;
177
176
  protected heightAspect: number;
177
+ protected loaderJson: any;
178
178
  private readonly sharedWasmContext;
179
179
  private readonly suspendableIdProperty;
180
180
  private seriesViewRectProperty;
@@ -396,12 +396,8 @@ var SciChartSurfaceBase = /** @class */ (function () {
396
396
  var backBufferHeight = pixelHeight * DpiHelper_1.DpiHelper.PIXEL_RATIO;
397
397
  // domMasterCanvas.width/height are backBuffer sizes so we want to expand canvas size
398
398
  // if the backBuffer size is too small
399
- if (backBufferWidth > SciChartSurfaceBase.domMasterCanvas.width) {
400
- DpiHelper_1.DpiHelper.setWidth(SciChartSurfaceBase.domMasterCanvas, pixelWidth);
401
- }
402
- if (backBufferHeight > SciChartSurfaceBase.domMasterCanvas.height) {
403
- DpiHelper_1.DpiHelper.setHeight(SciChartSurfaceBase.domMasterCanvas, pixelHeight);
404
- }
399
+ DpiHelper_1.DpiHelper.setWidth(SciChartSurfaceBase.domMasterCanvas, pixelWidth);
400
+ DpiHelper_1.DpiHelper.setHeight(SciChartSurfaceBase.domMasterCanvas, pixelHeight);
405
401
  }
406
402
  };
407
403
  /**
@@ -75,7 +75,7 @@ export declare class DpiHelper {
75
75
  static setHeight(canvas: HTMLCanvasElement, desiredHeight: number): void;
76
76
  static adjustLineStyle(lineStyle: ILineStyle, dpiScale?: number): ILineStyle;
77
77
  static adjustTextStyle(textStyle: TTextStyle, dpiScale?: number): TTextStyle;
78
- static adjustGridlineStyle(gridLineStyle: TGridLineStyle, dpiScale?: number): TGridLineStyle;
78
+ static adjustStrokeSize(gridLineStyle: TGridLineStyle, dpiScale?: number): TGridLineStyle;
79
79
  static adjustThickness(thickness: Thickness, dpiScale?: number): Thickness;
80
80
  private static initialized;
81
81
  }
@@ -121,12 +121,14 @@ var DpiHelper = /** @class */ (function () {
121
121
  dpiAdjusted.padding = DpiHelper.adjustThickness(textStyle.padding, dpiScale);
122
122
  return dpiAdjusted;
123
123
  };
124
- DpiHelper.adjustGridlineStyle = function (gridLineStyle, dpiScale) {
124
+ DpiHelper.adjustStrokeSize = function (gridLineStyle, dpiScale) {
125
125
  var _a;
126
126
  if (dpiScale === void 0) { dpiScale = DpiHelper.PIXEL_RATIO; }
127
127
  var dpiAdjusted = __assign({}, gridLineStyle);
128
- dpiAdjusted.strokeDasharray = (_a = gridLineStyle.strokeDasharray) === null || _a === void 0 ? void 0 : _a.map(function (sd) { return sd * dpiScale; });
129
- dpiAdjusted.strokeThickness *= dpiScale;
128
+ var roundedStrokeThickness = Math.round(gridLineStyle.strokeThickness * dpiScale);
129
+ dpiAdjusted.strokeDashArray = (_a = gridLineStyle.strokeDashArray) === null || _a === void 0 ? void 0 : _a.map(function (sd) { return sd * dpiScale; });
130
+ dpiAdjusted.strokeThickness =
131
+ roundedStrokeThickness > 0 || gridLineStyle.strokeThickness === 0 ? roundedStrokeThickness : 1;
130
132
  return dpiAdjusted;
131
133
  };
132
134
  DpiHelper.adjustThickness = function (thickness, dpiScale) {
@@ -25,7 +25,13 @@ export declare class TextureManager {
25
25
  */
26
26
  createTextTexture(text: string[], textStyle: TTextStyle, rotation?: number, lineSpacing?: number, backgroundColor?: string, opacity?: number): TTextureObject;
27
27
  createAxisMarkerTexture(axisAlignment: EAxisAlignment, text: string, fontStyle: string, fontWeight: string, fontSizePx: number, fontFamily: string, color: string, padding?: number, backgroundColor?: string, opacity?: number): TTextureObject;
28
- createAxisMarkerTextureFromImage(image: HTMLImageElement, imageWidth: number, imageHeight: number): TTextureObject;
28
+ /**
29
+ * Creates {@link TSRTexture} from image
30
+ * @param image The image
31
+ * @param imageWidth The image width, not premultiplied value
32
+ * @param imageHeight The image height, not premultiplied value
33
+ */
34
+ createTextureFromImage(image: HTMLImageElement, imageWidth: number, imageHeight: number): TTextureObject;
29
35
  getTextureContext(width: number, height: number): CanvasRenderingContext2D;
30
36
  createTextureFromCtxBuffer(textureWidth: number, textureHeight: number): TTextureObject;
31
37
  private createTextureFromCtx;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.measureTextWidth = exports.measureTextHeight = exports.TextureManager = void 0;
4
4
  var app_1 = require("../../../constants/app");
5
5
  var AxisAlignment_1 = require("../../../types/AxisAlignment");
6
+ var font_1 = require("../../../utils/font");
6
7
  var ELabelAlignment_1 = require("../Axis/ELabelAlignment");
7
8
  var DpiHelper_1 = require("./DpiHelper");
8
9
  /** @ignore */
@@ -54,7 +55,7 @@ var TextureManager = /** @class */ (function () {
54
55
  this.ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
55
56
  }
56
57
  this.ctx.fillStyle = color;
57
- this.ctx.font = fontStyle + " " + fontWeight + " " + fontSizePx + "px " + fontFamily;
58
+ this.ctx.font = font_1.getFontString(fontStyle, fontWeight, fontSizePx, fontFamily);
58
59
  var textureWidth = 0;
59
60
  var fontSizePt = Math.ceil(fontSizePx * PX_TO_PT);
60
61
  var lineHeight = exports.measureTextHeight(fontSizePx) * (lineSpacing !== null && lineSpacing !== void 0 ? lineSpacing : 1.1);
@@ -81,10 +82,9 @@ var TextureManager = /** @class */ (function () {
81
82
  if (rotation) {
82
83
  // convert to radians
83
84
  var rotationRad = (rotation * Math.PI) / 180;
84
- newTextureWidth =
85
- textureWidth * Math.abs(Math.cos(rotationRad)) + textureHeight * Math.abs(Math.sin(rotationRad));
86
- newTextureHeight =
87
- textureWidth * Math.abs(Math.sin(rotationRad)) + textureHeight * Math.abs(Math.cos(rotationRad));
85
+ // We need to Math.ceil to fix rotation for WebGL1
86
+ newTextureWidth = Math.ceil(textureWidth * Math.abs(Math.cos(rotationRad)) + textureHeight * Math.abs(Math.sin(rotationRad)));
87
+ newTextureHeight = Math.ceil(textureWidth * Math.abs(Math.sin(rotationRad)) + textureHeight * Math.abs(Math.cos(rotationRad)));
88
88
  // translate to the center of rectangle
89
89
  this.ctx.translate(newTextureWidth / 2, newTextureHeight / 2);
90
90
  this.ctx.rotate(rotationRad);
@@ -110,7 +110,7 @@ var TextureManager = /** @class */ (function () {
110
110
  if (padding === void 0) { padding = 0; }
111
111
  this.ctx.globalAlpha = opacity !== null && opacity !== void 0 ? opacity : 1;
112
112
  this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
113
- this.ctx.font = fontStyle + " " + fontWeight + " " + fontSizePx + "px " + fontFamily;
113
+ this.ctx.font = font_1.getFontString(fontStyle, fontWeight, fontSizePx, fontFamily);
114
114
  var textureWidth = exports.measureTextWidth(this.ctx, text) + 4 * padding;
115
115
  var textureHeight = exports.measureTextHeight(fontSizePx) + 2 * padding;
116
116
  var _a = calcAxisMarkerTextureParams(textureHeight, textureWidth, text, axisAlignment), angle = _a.angle, alignmentLeft = _a.alignmentLeft, alignmentTop = _a.alignmentTop, finalTextureWidth = _a.finalTextureWidth, finalTextureHeight = _a.finalTextureHeight, halfHeight = _a.halfHeight;
@@ -146,7 +146,14 @@ var TextureManager = /** @class */ (function () {
146
146
  // console.log("createAxisMarkerTexture width, height", finalTextureWidth, finalTextureHeight);
147
147
  return this.createTextureFromCtxBuffer(finalTextureWidth, finalTextureHeight);
148
148
  };
149
- TextureManager.prototype.createAxisMarkerTextureFromImage = function (image, imageWidth, imageHeight) {
149
+ /**
150
+ * Creates {@link TSRTexture} from image
151
+ * @param image The image
152
+ * @param imageWidth The image width, not premultiplied value
153
+ * @param imageHeight The image height, not premultiplied value
154
+ */
155
+ TextureManager.prototype.createTextureFromImage = function (image, imageWidth, imageHeight) {
156
+ this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
150
157
  var width = (imageWidth !== null && imageWidth !== void 0 ? imageWidth : image.width) * DpiHelper_1.DpiHelper.PIXEL_RATIO;
151
158
  var height = (imageHeight !== null && imageHeight !== void 0 ? imageHeight : image.height) * DpiHelper_1.DpiHelper.PIXEL_RATIO;
152
159
  this.ctx.drawImage(image, 0, 0, width, height);
@@ -37,11 +37,11 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.licenseManager = exports.updateLicenseDisplay = exports.getLicenseInfo = exports.applyLicense = exports.getLicenseCookie = exports.setCallbacks3D = exports.setUseLicenseWizard = exports.setRuntimeLicenseKey = exports.setLicenseCallback = exports.setDependencies = void 0;
40
+ var app_1 = require("../../constants/app");
40
41
  var Dictionary_1 = require("../../Core/Dictionary");
41
42
  var Color_1 = require("../../types/Color");
42
43
  var licensingClasses_1 = require("../../types/licensingClasses");
43
44
  var cookie_1 = require("../../utils/cookie");
44
- var app_1 = require("../../constants/app");
45
45
  var licenseWizardPort = 24278;
46
46
  var licenseWizardAlternatePort = 24279;
47
47
  if (typeof localStorage !== "undefined") {
@@ -365,10 +365,36 @@ var applyLicense2D = function (licenseContext, sciChartSurface, isSingle) {
365
365
  exports.applyLicense = function (licenseContext) {
366
366
  debug("applyLicense running");
367
367
  var licenseKey = "";
368
+ var lt = licenseContext.SCRTLicenseType.LICENSE_TYPE_NO_LICENSE;
369
+ // Get from global store
370
+ var runtimelicense = getRuntimeLicenseKey();
371
+ if (checkStatus === licensingClasses_1.LicenseCheckStatus.NoLicense && runtimelicense) {
372
+ debug("Runtime license found");
373
+ var sep = runtimelicense.indexOf(";");
374
+ if (sep > 0) {
375
+ var timeNow = Math.floor(new Date().getTime() / 1000);
376
+ var token = runtimelicense.substring(sep + 1);
377
+ setLicenseCookie(runtimelicense.substr(0, sep), token, timeNow + 60, timeNow);
378
+ }
379
+ else {
380
+ licenseContext.SCRTCredentials.SetRuntimeLicenseKeyW(runtimelicense);
381
+ lt = licenseContext.SCRTCredentials.GetLicenseType();
382
+ var licenseType = convertLicenseType(lt, licenseContext);
383
+ debug("Runtime license status is " + licensingClasses_1.LicenseType[licenseType]);
384
+ if (lt === licenseContext.SCRTLicenseType.LICENSE_TYPE_FULL ||
385
+ lt === licenseContext.SCRTLicenseType.LICENSE_TYPE_TRIAL ||
386
+ lt === licenseContext.SCRTLicenseType.LICENSE_TYPE_REQUIRES_VALIDATION) {
387
+ isRuntimeKey = true;
388
+ licenseKey = runtimelicense;
389
+ }
390
+ else {
391
+ licenseKey = "";
392
+ }
393
+ }
394
+ }
368
395
  // Get from cookie store
369
396
  var licenseCookie = exports.getLicenseCookie();
370
- var lt = licenseContext.SCRTLicenseType.LICENSE_TYPE_NO_LICENSE;
371
- if (licenseCookie !== null && licenseCookie.key !== "") {
397
+ if (licenseKey === "" && licenseCookie && licenseCookie.key !== "") {
372
398
  debug("Found license in cookie.");
373
399
  licenseKey = licenseCookie.key;
374
400
  licenseContext.SCRTCredentials.SetRuntimeLicenseKeyW(licenseKey);
@@ -383,28 +409,6 @@ exports.applyLicense = function (licenseContext) {
383
409
  lt = licenseContext.SCRTLicenseType.LICENSE_TYPE_NO_LICENSE;
384
410
  }
385
411
  }
386
- if (licenseKey === "" && checkStatus === licensingClasses_1.LicenseCheckStatus.NoLicense) {
387
- debug("No valid license in cookie");
388
- // Get from global store
389
- var runtimelicense = getRuntimeLicenseKey();
390
- // if exists, set
391
- if (runtimelicense != null && runtimelicense !== "") {
392
- debug("runtime license found");
393
- var sep = runtimelicense.indexOf(";");
394
- if (sep > 0) {
395
- var timeNow = Math.floor(new Date().getTime() / 1000);
396
- licenseKey = runtimelicense.substr(0, sep);
397
- var token = runtimelicense.substring(sep + 1);
398
- setLicenseCookie(licenseKey, token, timeNow + 60, timeNow);
399
- licenseCookie = exports.getLicenseCookie();
400
- }
401
- else {
402
- isRuntimeKey = true;
403
- setLicenseCookie(runtimelicense, null, null, null);
404
- licenseKey = runtimelicense;
405
- }
406
- }
407
- }
408
412
  else if (checkStatus === licensingClasses_1.LicenseCheckStatus.FetchingFromServer) {
409
413
  checkStatus = licensingClasses_1.LicenseCheckStatus.NoLicense;
410
414
  }
@@ -609,8 +613,7 @@ var updateLicenseMessageDOM = function (divContainer, licenseMsgDiv) {
609
613
  if (useLicenseWizard)
610
614
  msgCloneOther.onclick = openLicenseModal;
611
615
  };
612
- exports.getLicenseInfo = function (licenseContext) {
613
- var sclt = licenseContext.SCRTCredentials.GetLicenseType();
616
+ var convertLicenseType = function (sclt, licenseContext) {
614
617
  var licenseType = licensingClasses_1.LicenseType.NoLicense;
615
618
  switch (sclt) {
616
619
  case licenseContext.SCRTLicenseType.LICENSE_TYPE_NO_LICENSE: {
@@ -650,9 +653,13 @@ exports.getLicenseInfo = function (licenseContext) {
650
653
  break;
651
654
  }
652
655
  }
656
+ return licenseType;
657
+ };
658
+ exports.getLicenseInfo = function (licenseContext) {
659
+ var sclt = licenseContext.SCRTCredentials.GetLicenseType();
660
+ var licenseType = convertLicenseType(sclt, licenseContext);
653
661
  var daysRemaining = licenseContext.SCRTCredentials.GetLicenseDaysRemaining();
654
662
  debug(licenseContext.SCRTCredentials.Dump());
655
- debug("If this is not the license you were expecting, clear cookies and reload");
656
663
  var error = licenseContext.SCRTCredentials.GetLicenseErrors();
657
664
  return { licenseType: licenseType, daysRemaining: daysRemaining, error: error };
658
665
  };
@@ -87,5 +87,8 @@ export declare class DefaultSciChartLoader implements ISciChartLoader {
87
87
  * @inheritDoc
88
88
  */
89
89
  removeChartLoader(domChartRoot: HTMLDivElement, loaderElement: HTMLElement): void;
90
+ toJSON(): {
91
+ type: "Default";
92
+ };
90
93
  private addLoaderStyles;
91
94
  }
@@ -40,6 +40,9 @@ var DefaultSciChartLoader = /** @class */ (function () {
40
40
  DefaultSciChartLoader.prototype.removeChartLoader = function (domChartRoot, loaderElement) {
41
41
  domChartRoot.removeChild(loaderElement);
42
42
  };
43
+ DefaultSciChartLoader.prototype.toJSON = function () {
44
+ return { type: this.type };
45
+ };
43
46
  DefaultSciChartLoader.prototype.addLoaderStyles = function () {
44
47
  if (DefaultSciChartLoader.hasStyles) {
45
48
  return;
@@ -10,6 +10,10 @@ import { RenderPassInfo3D } from "./RenderPassInfo3D";
10
10
  * SciChart's High Performance {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
11
11
  */
12
12
  export interface IBaseSceneEntity extends IDeletable, INotifyOnDpiChanged {
13
+ /**
14
+ * A unique Id for the {@link IBaseSceneEntity}
15
+ */
16
+ readonly id: string;
13
17
  /**
14
18
  * Gets the type of Scene Entity. See {@link ESceneEntityType} for a list of values
15
19
  */
@@ -81,17 +85,13 @@ export interface IBaseSceneEntity extends IDeletable, INotifyOnDpiChanged {
81
85
  * to the {@link SciChart3DSurface.rootEntity} collection.
82
86
  */
83
87
  export declare abstract class BaseSceneEntity3D<TNativeEntity extends SCRTSceneEntity> implements IBaseSceneEntity {
84
- /**
85
- * @inheritDoc
86
- */
88
+ /** @inheritDoc */
89
+ readonly id: string;
90
+ /** @inheritDoc */
87
91
  abstract readonly type: ESceneEntityType;
88
- /**
89
- * @inheritDoc
90
- */
92
+ /** @inheritDoc */
91
93
  readonly rootSceneEntity: RootSceneEntity;
92
- /**
93
- * @inheritDoc
94
- */
94
+ /** @inheritDoc */
95
95
  readonly children: ObservableArray<IBaseSceneEntity>;
96
96
  /**
97
97
  * When true, the entity and all its children are visible
@@ -120,13 +120,9 @@ export declare abstract class BaseSceneEntity3D<TNativeEntity extends SCRTSceneE
120
120
  * @protected
121
121
  */
122
122
  protected constructor(webAssemblyContext: TSciChart3D);
123
- /**
124
- * @inheritDoc
125
- */
123
+ /** @inheritDoc */
126
124
  getRoot(): RootSceneEntity;
127
- /**
128
- * @inheritDoc
129
- */
125
+ /** @inheritDoc */
130
126
  delete(): void;
131
127
  /**
132
128
  * Update method called from WebAssembly engine. Use this to update meshes, properties, geometry before draw.
@@ -141,49 +137,29 @@ export declare abstract class BaseSceneEntity3D<TNativeEntity extends SCRTSceneE
141
137
  * @constructor
142
138
  */
143
139
  Render(): void;
144
- /**
145
- * @inheritDoc
146
- */
140
+ /** @inheritDoc */
147
141
  onEngineRestart(): void;
148
- /**
149
- * @inheritDoc
150
- */
142
+ /** @inheritDoc */
151
143
  onDpiChanged(args: TDpiChangedEventArgs): void;
152
- /**
153
- * @inheritDoc
154
- */
144
+ /** @inheritDoc */
155
145
  get entityId(): number;
156
- /**
157
- * @inheritDoc
158
- */
146
+ /** @inheritDoc */
159
147
  set entityId(value: number);
160
- /**
161
- * @inheritDoc
162
- */
148
+ /** @inheritDoc */
163
149
  setRenderPassData(rpd: RenderPassInfo3D): void;
164
- /**
165
- * @inheritDoc
166
- */
150
+ /** @inheritDoc */
167
151
  getEntity(type: ESceneEntityType): IBaseSceneEntity;
168
152
  /**
169
153
  * Call this to inform SciChart that data or properties have changed and the 3D Scene must be redrawn
170
154
  */
171
155
  invalidateScene(): void;
172
- /**
173
- * @inheritDoc
174
- */
156
+ /** @inheritDoc */
175
157
  onAttached(): void;
176
- /**
177
- * @inheritDoc
178
- */
158
+ /** @inheritDoc */
179
159
  onDetached(): void;
180
- /**
181
- * @inheritDoc
182
- */
160
+ /** @inheritDoc */
183
161
  visitEntities(operation: (e: IBaseSceneEntity) => void): void;
184
- /**
185
- * @inheritDoc
186
- */
162
+ /** @inheritDoc */
187
163
  get nativeEntity(): TNativeEntity;
188
164
  /**
189
165
  * Called internally - Attach a child to the current entity