scichart 2.0.2139 → 2.0.2144

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 (74) hide show
  1. package/Builder/buildSeries.d.ts +1 -1
  2. package/Charting/ChartModifiers/LegendModifier.js +1 -0
  3. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +2 -2
  4. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +3 -2
  5. package/Charting/Model/BaseDataSeries.d.ts +2 -2
  6. package/Charting/Model/OhlcDataSeries.d.ts +2 -2
  7. package/Charting/Model/XyyDataSeries.d.ts +2 -2
  8. package/Charting/Model/XyzDataSeries.d.ts +2 -2
  9. package/Charting/Services/SciChartRenderer.js +14 -4
  10. package/Charting/Visuals/Axis/AxisBase2D.d.ts +75 -52
  11. package/Charting/Visuals/Axis/AxisBase2D.js +53 -34
  12. package/Charting/Visuals/Axis/AxisCore.d.ts +7 -4
  13. package/Charting/Visuals/Axis/AxisCore.js +21 -5
  14. package/Charting/Visuals/Axis/LogarithmicAxis.d.ts +1 -3
  15. package/Charting/Visuals/Axis/LogarithmicAxis.js +4 -11
  16. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.d.ts +2 -2
  17. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +2 -2
  18. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.d.ts +2 -2
  19. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +2 -2
  20. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.d.ts +1 -1
  21. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.d.ts +2 -2
  22. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +2 -2
  23. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  24. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +2 -2
  25. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.d.ts +2 -2
  26. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +2 -2
  27. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.d.ts +2 -2
  28. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +2 -2
  29. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.d.ts +2 -2
  30. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +2 -2
  31. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  32. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +2 -2
  33. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.d.ts +2 -2
  34. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +2 -2
  35. package/Charting/Visuals/RenderableSeries/Animations/{BaseAnimation.d.ts → SeriesAnimation.d.ts} +3 -2
  36. package/Charting/Visuals/RenderableSeries/Animations/{BaseAnimation.js → SeriesAnimation.js} +13 -13
  37. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  38. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.js +2 -2
  39. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  40. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +2 -2
  41. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +8 -8
  42. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +9 -9
  43. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +3 -3
  44. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +7 -7
  45. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +1 -1
  46. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +7 -7
  47. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +1 -1
  48. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +2 -2
  49. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +3 -3
  50. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.d.ts +5 -0
  51. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.js +29 -5
  52. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  53. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +4 -4
  54. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +4 -4
  55. package/Charting/Visuals/SciChartSurface.d.ts +13 -0
  56. package/Charting/Visuals/SciChartSurface.js +38 -3
  57. package/Charting3D/Visuals/SciChart3DRenderer.js +1 -0
  58. package/Core/Animations/AnimationFiniteStateMachine.d.ts +27 -14
  59. package/Core/Animations/AnimationFiniteStateMachine.js +48 -15
  60. package/Core/Animations/Animator.d.ts +1 -9
  61. package/Core/Animations/Animator.js +1 -9
  62. package/Core/Animations/DoubleAnimator.d.ts +2 -8
  63. package/Core/Animations/DoubleAnimator.js +1 -7
  64. package/Core/Animations/GenericAnimation.d.ts +74 -0
  65. package/Core/Animations/GenericAnimation.js +74 -0
  66. package/Core/Animations/NumberRangeAnimator.d.ts +4 -3
  67. package/Core/Animations/NumberRangeAnimator.js +23 -3
  68. package/Core/NumberRange.js +4 -5
  69. package/_wasm/scichart.browser.js +1 -1
  70. package/_wasm/scichart2d.js +95 -95
  71. package/_wasm/scichart2d.wasm +0 -0
  72. package/_wasm/scichart3d.js +95 -95
  73. package/_wasm/scichart3d.wasm +0 -0
  74. package/package.json +1 -1
@@ -47,9 +47,9 @@ var BaseRenderableSeries = /** @class */ (function () {
47
47
  /** @inheritDoc */
48
48
  this.isStacked = false;
49
49
  /** @inheritDoc */
50
- this.rolloverModifierProps = new RolloverModifierRenderableSeriesProps_1.RolloverModifierRenderableSeriesProps();
50
+ this.rolloverModifierProps = new RolloverModifierRenderableSeriesProps_1.RolloverModifierRenderableSeriesProps(this);
51
51
  /** @inheritDoc */
52
- this.rolloverModifierProps1 = new RolloverModifierRenderableSeriesProps_1.RolloverModifierRenderableSeriesProps();
52
+ this.rolloverModifierProps1 = new RolloverModifierRenderableSeriesProps_1.RolloverModifierRenderableSeriesProps(this, true);
53
53
  /** @inheritDoc */
54
54
  this.drawingProviders = [];
55
55
  /** @inheritDoc */
@@ -667,7 +667,7 @@ var BaseRenderableSeries = /** @class */ (function () {
667
667
  if (!this.animationFSM || ((_a = this.animationFSM) === null || _a === void 0 ? void 0 : _a.is([AnimationFiniteStateMachine_1.EAnimationState.Completed]))) {
668
668
  if (this.animationQueue.length >= 1) {
669
669
  var animation = this.animationQueue.shift();
670
- this.animationFSM = new AnimationFiniteStateMachine_1.AnimationFiniteStateMachine(animation, this);
670
+ this.animationFSM = new AnimationFiniteStateMachine_1.SeriesAnimationFiniteStateMachine(animation, this);
671
671
  }
672
672
  else {
673
673
  this.animationFSM = undefined;
@@ -1,5 +1,5 @@
1
1
  import { TSeriesDefinition } from "../../../Builder/buildSeries";
2
- import { AnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
2
+ import { SeriesAnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
3
3
  import { EventHandler } from "../../../Core/EventHandler";
4
4
  import { NumberRange } from "../../../Core/NumberRange";
5
5
  import { ObservableArray } from "../../../Core/ObservableArray";
@@ -15,7 +15,7 @@ import { AxisCore } from "../Axis/AxisCore";
15
15
  import { IPointMarker } from "../PointMarkers/IPointMarker";
16
16
  import { SciChartSurface } from "../SciChartSurface";
17
17
  import { TDpiChangedEventArgs } from "../TextureManager/DpiHelper";
18
- import { BaseAnimation } from "./Animations/BaseAnimation";
18
+ import { SeriesAnimation } from "./Animations/SeriesAnimation";
19
19
  import { BaseStackedRenderableSeries } from "./BaseStackedRenderableSeries";
20
20
  import { TPalettingState } from "./DrawingProviders/BaseSeriesDrawingProvider";
21
21
  import { ISeriesDrawingProvider } from "./DrawingProviders/ISeriesDrawingProvider";
@@ -72,7 +72,7 @@ export declare abstract class BaseStackedCollection<T extends BaseStackedRendera
72
72
  protected accumulatedFinalAnimationValues0: DoubleVector;
73
73
  protected isAccumulatedVectorDirty: boolean;
74
74
  protected firstAnimationRender: boolean;
75
- protected animationFSM: AnimationFiniteStateMachine;
75
+ protected animationFSM: SeriesAnimationFiniteStateMachine;
76
76
  private isVisibleProperty;
77
77
  private xAxisIdProperty;
78
78
  private yAxisIdProperty;
@@ -272,13 +272,13 @@ export declare abstract class BaseStackedCollection<T extends BaseStackedRendera
272
272
  */
273
273
  getVisibleSeries(): T[];
274
274
  /** @inheritDoc */
275
- enqueueAnimation(animation: BaseAnimation): void;
275
+ enqueueAnimation(animation: SeriesAnimation): void;
276
276
  /** @inheritDoc */
277
- runAnimation(animation: BaseAnimation): void;
277
+ runAnimation(animation: SeriesAnimation): void;
278
278
  /**
279
279
  * Sets a start up animation class, a child class for {@link BaseAnimation}
280
280
  */
281
- set animation(value: BaseAnimation);
281
+ set animation(value: SeriesAnimation);
282
282
  /** @inheritDoc */
283
283
  get isRunningAnimation(): boolean;
284
284
  /** @inheritDoc */
@@ -320,7 +320,7 @@ export declare abstract class BaseStackedCollection<T extends BaseStackedRendera
320
320
  * @param animationFSM The animation finite state machine
321
321
  * @protected
322
322
  */
323
- protected updateAnimationProperties(progress: number, animationFSM: AnimationFiniteStateMachine): void;
323
+ protected updateAnimationProperties(progress: number, animationFSM: SeriesAnimationFiniteStateMachine): void;
324
324
  protected updateHitTestProviders(renderPassData: RenderPassData): void;
325
325
  protected isEnoughDataToDraw(): boolean;
326
326
  }
@@ -540,7 +540,7 @@ var BaseStackedCollection = /** @class */ (function (_super) {
540
540
  if (!this.animationFSM || ((_a = this.animationFSM) === null || _a === void 0 ? void 0 : _a.is([AnimationFiniteStateMachine_1.EAnimationState.Completed]))) {
541
541
  if (this.animationQueue.length >= 1) {
542
542
  var animation = this.animationQueue.shift();
543
- this.animationFSM = new AnimationFiniteStateMachine_1.AnimationFiniteStateMachine(animation, undefined);
543
+ this.animationFSM = new AnimationFiniteStateMachine_1.SeriesAnimationFiniteStateMachine(animation, undefined);
544
544
  }
545
545
  else {
546
546
  this.animationFSM = undefined;
@@ -1,5 +1,5 @@
1
1
  import { TSeriesDefinition } from "../../../Builder/buildSeries";
2
- import { AnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
2
+ import { SeriesAnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
3
3
  import { EventHandler } from "../../../Core/EventHandler";
4
4
  import { NumberRange } from "../../../Core/NumberRange";
5
5
  import { ESeriesType } from "../../../types/SeriesType";
@@ -14,7 +14,7 @@ import { AxisCore } from "../Axis/AxisCore";
14
14
  import { IPointMarker } from "../PointMarkers/IPointMarker";
15
15
  import { SciChartSurface } from "../SciChartSurface";
16
16
  import { TDpiChangedEventArgs } from "../TextureManager/DpiHelper";
17
- import { BaseAnimation } from "./Animations/BaseAnimation";
17
+ import { SeriesAnimation } from "./Animations/SeriesAnimation";
18
18
  import { BaseStackedCollection } from "./BaseStackedCollection";
19
19
  import { ISeriesDrawingProvider } from "./DrawingProviders/ISeriesDrawingProvider";
20
20
  import { HitTestInfo } from "./HitTest/HitTestInfo";
@@ -188,11 +188,11 @@ export declare abstract class BaseStackedRenderableSeries implements IRenderable
188
188
  /**
189
189
  * animation() is not supported for BaseStackedRenderableSeries
190
190
  */
191
- set animation(value: BaseAnimation);
191
+ set animation(value: SeriesAnimation);
192
192
  /**
193
193
  * animation() is not supported for BaseStackedRenderableSeries
194
194
  */
195
- get animation(): BaseAnimation;
195
+ get animation(): SeriesAnimation;
196
196
  /**
197
197
  * @inheritDoc
198
198
  */
@@ -281,7 +281,7 @@ export declare abstract class BaseStackedRenderableSeries implements IRenderable
281
281
  * @param animationFSM The animation finite state machine
282
282
  * @protected
283
283
  */
284
- updateAnimationProperties(progress: number, animationFSM: AnimationFiniteStateMachine): void;
284
+ updateAnimationProperties(progress: number, animationFSM: SeriesAnimationFiniteStateMachine): void;
285
285
  /** @inheritDoc */
286
286
  getSeriesInfo(hitTestInfo: HitTestInfo): SeriesInfo;
287
287
  /** @inheritDoc */
@@ -328,8 +328,8 @@ export declare abstract class BaseStackedRenderableSeries implements IRenderable
328
328
  set effect(effect: ShaderEffect);
329
329
  onAnimate(): void;
330
330
  get isRunningAnimation(): boolean;
331
- enqueueAnimation(animation: BaseAnimation): void;
332
- runAnimation(animation: BaseAnimation): void;
331
+ enqueueAnimation(animation: SeriesAnimation): void;
332
+ runAnimation(animation: SeriesAnimation): void;
333
333
  /**
334
334
  * Factory function to create a {@link IHitTestProvider | Hit Test Provider}; a class which performs hit-test
335
335
  * and checks mouse-over and nearest point.
@@ -29,7 +29,7 @@ var BaseStackedRenderableSeries = /** @class */ (function () {
29
29
  this.id = guid_1.generateGuid();
30
30
  this.isStacked = true;
31
31
  this.isSpline = false;
32
- this.rolloverModifierProps = new RolloverModifierRenderableSeriesProps_1.RolloverModifierRenderableSeriesProps();
32
+ this.rolloverModifierProps = new RolloverModifierRenderableSeriesProps_1.RolloverModifierRenderableSeriesProps(this);
33
33
  /** @inheritDoc */
34
34
  this.selected = new EventHandler_1.EventHandler();
35
35
  /** @inheritDoc */
@@ -3,7 +3,7 @@ import { ELineDrawMode } from "../../Drawing/WebGlRenderContext2D";
3
3
  import { IDataSeries } from "../../Model/IDataSeries";
4
4
  import { IPaletteProvider } from "../../Model/IPaletteProvider";
5
5
  import { IPointMarker } from "../PointMarkers/IPointMarker";
6
- import { BaseAnimation } from "./Animations/BaseAnimation";
6
+ import { SeriesAnimation } from "./Animations/SeriesAnimation";
7
7
  import { IRenderableSeries } from "./IRenderableSeries";
8
8
  import { ShaderEffect } from "./ShaderEffect";
9
9
  /**
@@ -139,7 +139,7 @@ export interface IBaseRenderableSeriesOptions {
139
139
  /**
140
140
  * An animation that runs on the start, child class to {@link BaseAnimation}
141
141
  */
142
- animation?: BaseAnimation | TAnimationDefinition;
142
+ animation?: SeriesAnimation | TAnimationDefinition;
143
143
  /**
144
144
  * Initial selected state for the series. Default to false
145
145
  */
@@ -15,7 +15,7 @@ import { AxisCore } from "../Axis/AxisCore";
15
15
  import { IPointMarker } from "../PointMarkers/IPointMarker";
16
16
  import { SciChartSurface } from "../SciChartSurface";
17
17
  import { INotifyOnDpiChanged } from "../TextureManager/DpiHelper";
18
- import { BaseAnimation } from "./Animations/BaseAnimation";
18
+ import { SeriesAnimation } from "./Animations/SeriesAnimation";
19
19
  import { TPalettingState } from "./DrawingProviders/BaseSeriesDrawingProvider";
20
20
  import { ISeriesDrawingProvider } from "./DrawingProviders/ISeriesDrawingProvider";
21
21
  import { HitTestInfo } from "./HitTest/HitTestInfo";
@@ -304,11 +304,11 @@ export interface IRenderableSeries extends IDeletable, IThemeable, INotifyOnDpiC
304
304
  /**
305
305
  * Add the animation into the queue
306
306
  */
307
- enqueueAnimation(animation: BaseAnimation): void;
307
+ enqueueAnimation(animation: SeriesAnimation): void;
308
308
  /**
309
309
  * Cancel all previous animations and run the current one
310
310
  */
311
- runAnimation(animation: BaseAnimation): void;
311
+ runAnimation(animation: SeriesAnimation): void;
312
312
  /**
313
313
  * Convert the object to a definition that can be serialized to JSON, or used directly with the builder api
314
314
  * @param excludeData if set true, data values will not be included in the json.
@@ -2,6 +2,7 @@ import { RolloverModifier, TRolloverTooltipDataTemplate } from "../../../ChartMo
2
2
  import { SeriesInfo } from "../../../Model/ChartData/SeriesInfo";
3
3
  import { RolloverMarkerSvgAnnotation } from "../../Annotations/RolloverMarkerSvgAnnotation";
4
4
  import { RolloverTooltipSvgAnnotation } from "../../Annotations/RolloverTooltipSvgAnnotation";
5
+ import { IRenderableSeries } from "../IRenderableSeries";
5
6
  export declare type TRolloverTooltipSvgTemplate = (id: string, seriesInfo: SeriesInfo, rolloverTooltip: RolloverTooltipSvgAnnotation) => string;
6
7
  export declare class RolloverModifierRenderableSeriesProps {
7
8
  tooltip: RolloverTooltipSvgAnnotation;
@@ -22,6 +23,9 @@ export declare class RolloverModifierRenderableSeriesProps {
22
23
  private tooltipTitleProperty;
23
24
  private markerColorProperty;
24
25
  private tooltipDataTemplateProperty?;
26
+ private renderableSeries;
27
+ private isY1;
28
+ constructor(renderableSeries: IRenderableSeries, isY1?: boolean);
25
29
  setInvalidateParentCallback(callback: () => void): void;
26
30
  get showRollover(): boolean;
27
31
  set showRollover(value: boolean);
@@ -39,4 +43,5 @@ export declare class RolloverModifierRenderableSeriesProps {
39
43
  set tooltipLegendTemplate(value: (tooltipProps: RolloverModifierRenderableSeriesProps, seriesInfo: SeriesInfo) => string);
40
44
  delete(): void;
41
45
  protected notifyPropertyChanged<T>(propertyName: string): void;
46
+ private getRenderableSeriesStroke;
42
47
  }
@@ -5,13 +5,14 @@ var Deleter_1 = require("../../../../Core/Deleter");
5
5
  var SciChartSurfaceBase_1 = require("../../SciChartSurfaceBase");
6
6
  var constants_1 = require("./constants");
7
7
  var RolloverModifierRenderableSeriesProps = /** @class */ (function () {
8
- function RolloverModifierRenderableSeriesProps() {
8
+ function RolloverModifierRenderableSeriesProps(renderableSeries, isY1) {
9
+ if (isY1 === void 0) { isY1 = false; }
9
10
  this.tooltipLegendOffsetX = 20;
10
11
  this.tooltipLegendOffsetY = 20;
11
12
  this.showsRolloverProperty = true;
12
- this.tooltipColorProperty = SciChartSurfaceBase_1.SciChartSurfaceBase.DEFAULT_THEME.textAnnotationBackground;
13
13
  this.tooltipTextColorProperty = SciChartSurfaceBase_1.SciChartSurfaceBase.DEFAULT_THEME.textAnnotationForeground;
14
- this.markerColorProperty = SciChartSurfaceBase_1.SciChartSurfaceBase.DEFAULT_THEME.textAnnotationBackground;
14
+ this.renderableSeries = renderableSeries;
15
+ this.isY1 = isY1;
15
16
  }
16
17
  RolloverModifierRenderableSeriesProps.prototype.setInvalidateParentCallback = function (callback) {
17
18
  this.invalidateParentCallback = callback;
@@ -29,7 +30,15 @@ var RolloverModifierRenderableSeriesProps = /** @class */ (function () {
29
30
  });
30
31
  Object.defineProperty(RolloverModifierRenderableSeriesProps.prototype, "tooltipColor", {
31
32
  get: function () {
32
- return this.tooltipColorProperty;
33
+ if (this.tooltipColorProperty) {
34
+ return this.tooltipColorProperty;
35
+ }
36
+ else if (this.getRenderableSeriesStroke()) {
37
+ return this.getRenderableSeriesStroke();
38
+ }
39
+ else {
40
+ return SciChartSurfaceBase_1.SciChartSurfaceBase.DEFAULT_THEME.textAnnotationBackground;
41
+ }
33
42
  },
34
43
  set: function (value) {
35
44
  this.tooltipColorProperty = value;
@@ -62,7 +71,15 @@ var RolloverModifierRenderableSeriesProps = /** @class */ (function () {
62
71
  });
63
72
  Object.defineProperty(RolloverModifierRenderableSeriesProps.prototype, "markerColor", {
64
73
  get: function () {
65
- return this.markerColorProperty;
74
+ if (this.markerColorProperty) {
75
+ return this.markerColorProperty;
76
+ }
77
+ else if (this.getRenderableSeriesStroke()) {
78
+ return this.getRenderableSeriesStroke();
79
+ }
80
+ else {
81
+ return SciChartSurfaceBase_1.SciChartSurfaceBase.DEFAULT_THEME.textAnnotationBackground;
82
+ }
66
83
  },
67
84
  set: function (value) {
68
85
  this.markerColorProperty = value;
@@ -104,6 +121,13 @@ var RolloverModifierRenderableSeriesProps = /** @class */ (function () {
104
121
  this.invalidateParentCallback();
105
122
  }
106
123
  };
124
+ RolloverModifierRenderableSeriesProps.prototype.getRenderableSeriesStroke = function () {
125
+ if (this.isY1) {
126
+ var bandRS = this.renderableSeries;
127
+ return bandRS.strokeY1;
128
+ }
129
+ return this.renderableSeries.stroke;
130
+ };
107
131
  return RolloverModifierRenderableSeriesProps;
108
132
  }());
109
133
  exports.RolloverModifierRenderableSeriesProps = RolloverModifierRenderableSeriesProps;
@@ -1,8 +1,8 @@
1
- import { AnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
1
+ import { SeriesAnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
2
2
  import { NumberRange } from "../../../Core/NumberRange";
3
3
  import { ESeriesType } from "../../../types/SeriesType";
4
4
  import { DoubleVector, TSciChart } from "../../../types/TSciChart";
5
- import { BaseAnimation } from "./Animations/BaseAnimation";
5
+ import { SeriesAnimation } from "./Animations/SeriesAnimation";
6
6
  import { BaseBandRenderableSeries, IBaseBandRenderableSeriesOptions } from "./BaseBandRenderableSeries";
7
7
  import { ISpline } from "./ISpline";
8
8
  /**
@@ -71,9 +71,9 @@ export declare class SplineBandRenderableSeries extends BaseBandRenderableSeries
71
71
  /** @inheritDoc */
72
72
  toJSON(excludeData?: boolean): import("../../../Builder/buildSeries").TSeriesDefinition;
73
73
  /** @inheritDoc */
74
- protected setAnimationVectors(animation: BaseAnimation): void;
74
+ protected setAnimationVectors(animation: SeriesAnimation): void;
75
75
  /** @inheritDoc */
76
- protected updateAnimationProperties(progress: number, animationFSM: AnimationFiniteStateMachine): void;
76
+ protected updateAnimationProperties(progress: number, animationFSM: SeriesAnimationFiniteStateMachine): void;
77
77
  /** @inheritDoc */
78
78
  protected dataSeriesDataChanged(): void;
79
79
  }
@@ -1,8 +1,8 @@
1
- import { AnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
1
+ import { SeriesAnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
2
2
  import { NumberRange } from "../../../Core/NumberRange";
3
3
  import { ESeriesType } from "../../../types/SeriesType";
4
4
  import { DoubleVector, TSciChart } from "../../../types/TSciChart";
5
- import { BaseAnimation } from "./Animations/BaseAnimation";
5
+ import { SeriesAnimation } from "./Animations/SeriesAnimation";
6
6
  import { BaseLineRenderableSeries } from "./BaseLineRenderableSeries";
7
7
  import { TPalettingState } from "./DrawingProviders/BaseSeriesDrawingProvider";
8
8
  import { IBaseRenderableSeriesOptions } from "./IBaseRenderableSeriesOptions";
@@ -72,9 +72,9 @@ export declare class SplineLineRenderableSeries extends BaseLineRenderableSeries
72
72
  */
73
73
  pushPalettedColors(color: number, palettingState: TPalettingState): void;
74
74
  /** @inheritDoc */
75
- protected setAnimationVectors(animation: BaseAnimation): void;
75
+ protected setAnimationVectors(animation: SeriesAnimation): void;
76
76
  /** @inheritDoc */
77
- protected updateAnimationProperties(progress: number, animationFSM: AnimationFiniteStateMachine): void;
77
+ protected updateAnimationProperties(progress: number, animationFSM: SeriesAnimationFiniteStateMachine): void;
78
78
  /** @inheritDoc */
79
79
  protected dataSeriesDataChanged(): void;
80
80
  }
@@ -1,8 +1,8 @@
1
- import { AnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
1
+ import { SeriesAnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine";
2
2
  import { NumberRange } from "../../../Core/NumberRange";
3
3
  import { ESeriesType } from "../../../types/SeriesType";
4
4
  import { DoubleVector, TSciChart } from "../../../types/TSciChart";
5
- import { BaseAnimation } from "./Animations/BaseAnimation";
5
+ import { SeriesAnimation } from "./Animations/SeriesAnimation";
6
6
  import { BaseMountainRenderableSeries, IBaseMountainRenderableSeriesOptions } from "./BaseMountainRenderableSeries";
7
7
  import { ISpline } from "./ISpline";
8
8
  /**
@@ -68,9 +68,9 @@ export declare class SplineMountainRenderableSeries extends BaseMountainRenderab
68
68
  /** @inheritDoc */
69
69
  toJSON(excludeData?: boolean): import("../../../Builder/buildSeries").TSeriesDefinition;
70
70
  /** @inheritDoc */
71
- protected setAnimationVectors(animation: BaseAnimation): void;
71
+ protected setAnimationVectors(animation: SeriesAnimation): void;
72
72
  /** @inheritDoc */
73
- protected updateAnimationProperties(progress: number, animationFSM: AnimationFiniteStateMachine): void;
73
+ protected updateAnimationProperties(progress: number, animationFSM: SeriesAnimationFiniteStateMachine): void;
74
74
  /** @inheritDoc */
75
75
  protected dataSeriesDataChanged(): void;
76
76
  }
@@ -1,5 +1,6 @@
1
1
  import { ISciChart2DDefinition } from "../../Builder/buildSurface";
2
2
  import { TEasingFn } from "../../Core/Animations/EasingFunctions";
3
+ import { IGenericAnimation } from "../../Core/Animations/GenericAnimation";
3
4
  import { EventHandler } from "../../Core/EventHandler";
4
5
  import { ObservableArray } from "../../Core/ObservableArray";
5
6
  import { Rect } from "../../Core/Rect";
@@ -174,6 +175,7 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
174
175
  * access to our WebGL2 Engine and WebAssembly numerical methods
175
176
  */
176
177
  readonly webAssemblyContext2D: TSciChart;
178
+ protected animationList: IGenericAnimation[];
177
179
  private readonly sciChartRenderer;
178
180
  private layoutManagerProperty;
179
181
  private zoomStateProperty;
@@ -360,6 +362,17 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
360
362
  * @param timeElapsed
361
363
  */
362
364
  onAnimate(timeElapsed: number): void;
365
+ /**
366
+ * Gets the generic animations currently on the surface. Do not manipulate this array directly.
367
+ * To add, use addAnimation. To remove, find an animation and call .cancel() on it.
368
+ */
369
+ getAnimations(): ReadonlyArray<IGenericAnimation>;
370
+ /**
371
+ * Add a {@link GenericAnimation} to the surface.
372
+ * Multiple animations will be run in parallel, so if you want to run one after another, use the onCompleted callback
373
+ * to add another animation after the first completes
374
+ */
375
+ addAnimation(animation: IGenericAnimation): void;
363
376
  /**
364
377
  * Returns true if an animation is running
365
378
  */
@@ -89,6 +89,7 @@ var SciChartSurface = /** @class */ (function (_super) {
89
89
  * to time render performance, or to update elements of the chart or your UI on redraw.
90
90
  */
91
91
  _this.rendered = new EventHandler_1.EventHandler();
92
+ _this.animationList = [];
92
93
  _this.zoomStateProperty = ZoomState_1.EZoomState.AtExtents;
93
94
  _this.paddingProperty = Thickness_1.Thickness.fromNumber(10);
94
95
  _this.viewportBorderProperty = {
@@ -649,8 +650,40 @@ var SciChartSurface = /** @class */ (function (_super) {
649
650
  SciChartSurface.prototype.onAnimate = function (timeElapsed) {
650
651
  if (timeElapsed) {
651
652
  this.renderableSeries.asArray().forEach(function (rs) { return rs.onAnimate(timeElapsed); });
653
+ // advance all animations in queue
654
+ var remainingAnimations = [];
655
+ for (var i = 0; i < this.animationList.length; i++) {
656
+ var animation = this.animationList[i];
657
+ if (!animation.isComplete) {
658
+ animation.update(timeElapsed);
659
+ if (!animation.isComplete) {
660
+ // Request another draw to advance animation
661
+ this.invalidateElement();
662
+ remainingAnimations.push(animation);
663
+ }
664
+ }
665
+ }
666
+ this.animationList = remainingAnimations;
652
667
  }
653
668
  };
669
+ /**
670
+ * Gets the generic animations currently on the surface. Do not manipulate this array directly.
671
+ * To add, use addAnimation. To remove, find an animation and call .cancel() on it.
672
+ */
673
+ SciChartSurface.prototype.getAnimations = function () {
674
+ return this.animationList;
675
+ };
676
+ /**
677
+ * Add a {@link GenericAnimation} to the surface.
678
+ * Multiple animations will be run in parallel, so if you want to run one after another, use the onCompleted callback
679
+ * to add another animation after the first completes
680
+ */
681
+ SciChartSurface.prototype.addAnimation = function (animation) {
682
+ if (!animation)
683
+ return;
684
+ this.animationList.push(animation);
685
+ this.invalidateElement();
686
+ };
654
687
  Object.defineProperty(SciChartSurface.prototype, "isRunningAnimation", {
655
688
  /**
656
689
  * Returns true if an animation is running
@@ -661,7 +694,7 @@ var SciChartSurface = /** @class */ (function (_super) {
661
694
  return true;
662
695
  }
663
696
  }
664
- return false;
697
+ return this.animationList.some(function (a) { return !a.isComplete; });
665
698
  },
666
699
  enumerable: false,
667
700
  configurable: true
@@ -779,22 +812,24 @@ var SciChartSurface = /** @class */ (function (_super) {
779
812
  this.webAssemblyContext2D.SCRTSetClearAlphaParams(enabled, alpha);
780
813
  };
781
814
  SciChartSurface.prototype.zoomExtentsYInternal = function (xRanges, animationDurationMs, easingFunction, onCompleted) {
815
+ var _this = this;
782
816
  if (animationDurationMs === void 0) { animationDurationMs = 0; }
783
817
  if (easingFunction === void 0) { easingFunction = EasingFunctions_1.easing.outExpo; }
784
818
  if (onCompleted === void 0) { onCompleted = function () { }; }
785
819
  this.yAxes.asArray().forEach(function (yAxis) {
786
820
  var yRange = yAxis.getWindowedYRange(xRanges);
787
- yAxis.animateVisibleRange(yRange, animationDurationMs, easingFunction, onCompleted);
821
+ _this.addAnimation(yAxis.animateVisibleRange(yRange, animationDurationMs, easingFunction, onCompleted));
788
822
  });
789
823
  };
790
824
  SciChartSurface.prototype.zoomExtentsXInternal = function (animationDurationMs, easingFunction, onCompleted) {
825
+ var _this = this;
791
826
  if (animationDurationMs === void 0) { animationDurationMs = 0; }
792
827
  if (easingFunction === void 0) { easingFunction = EasingFunctions_1.easing.outExpo; }
793
828
  if (onCompleted === void 0) { onCompleted = function () { }; }
794
829
  var xRanges = new Dictionary_1.Dictionary();
795
830
  this.xAxes.asArray().forEach(function (xAxis) {
796
831
  var maxXRange = xAxis.getMaximumRange();
797
- xAxis.animateVisibleRange(maxXRange, animationDurationMs, easingFunction, onCompleted);
832
+ _this.addAnimation(xAxis.animateVisibleRange(maxXRange, animationDurationMs, easingFunction, onCompleted));
798
833
  xRanges.add(xAxis.id, maxXRange);
799
834
  });
800
835
  return xRanges;
@@ -117,6 +117,7 @@ var SciChart3DRenderer = /** @class */ (function () {
117
117
  axis.forEach(function (el) {
118
118
  el.validateAxis();
119
119
  SciChart3DRenderer.tryPerformAutoRangeOn(el, _this.scs);
120
+ el.isMeasured = true;
120
121
  });
121
122
  };
122
123
  SciChart3DRenderer.prototype.updateWorldDimensions = function (sceneWorld, worldDimensions) {
@@ -1,6 +1,7 @@
1
- import { BaseAnimation } from "../../Charting/Visuals/RenderableSeries/Animations/BaseAnimation";
2
1
  import { BaseAnimationStyle } from "../../Charting/Visuals/RenderableSeries/Animations/BaseAnimationStyle";
2
+ import { SeriesAnimation } from "../../Charting/Visuals/RenderableSeries/Animations/SeriesAnimation";
3
3
  import { IRenderableSeries } from "../../Charting/Visuals/RenderableSeries/IRenderableSeries";
4
+ import { TEasingFn } from "./EasingFunctions";
4
5
  export declare enum EAnimationState {
5
6
  InitialState = "InitialState",
6
7
  Delayed = "Delayed",
@@ -15,15 +16,19 @@ export declare enum EAnimationStateTransition {
15
16
  Delayed_Running = "Delayed_Running",
16
17
  Running_Completed = "Running_Completed"
17
18
  }
19
+ export interface IAnimation {
20
+ delay: number;
21
+ duration: number;
22
+ ease: TEasingFn;
23
+ }
18
24
  export declare class AnimationFiniteStateMachine {
19
- private readonly animationProperty;
20
- private readonly initialStylesProperty;
21
- private stateProperty;
22
- private animationDelayStartTimestamp;
23
- private animationDelayElapsed;
24
- private animationStartTimestamp;
25
- private animationElapsed;
26
- constructor(animation: BaseAnimation, renderableSeries: IRenderableSeries);
25
+ protected readonly animationProperty: IAnimation;
26
+ protected stateProperty: EAnimationState;
27
+ protected animationDelayStartTimestamp: number;
28
+ protected animationDelayElapsed: number;
29
+ protected animationStartTimestamp: number;
30
+ protected animationElapsed: number;
31
+ constructor(animation: IAnimation);
27
32
  /**
28
33
  * Gets the current state
29
34
  */
@@ -31,11 +36,7 @@ export declare class AnimationFiniteStateMachine {
31
36
  /**
32
37
  * Gets the animation property
33
38
  */
34
- get animation(): BaseAnimation;
35
- /**
36
- * Gets the initial styles for the animation
37
- */
38
- get initialStyles(): BaseAnimationStyle;
39
+ get animation(): IAnimation;
39
40
  /**
40
41
  * Checks the current state
41
42
  * @param states
@@ -60,3 +61,15 @@ export declare class AnimationFiniteStateMachine {
60
61
  private updateDelayedState;
61
62
  private updateRunningState;
62
63
  }
64
+ export declare class SeriesAnimationFiniteStateMachine extends AnimationFiniteStateMachine {
65
+ private readonly initialStylesProperty;
66
+ constructor(animation: SeriesAnimation, renderableSeries: IRenderableSeries);
67
+ /**
68
+ * Gets the animation property
69
+ */
70
+ get animation(): SeriesAnimation;
71
+ /**
72
+ * Gets the initial styles for the animation
73
+ */
74
+ get initialStyles(): BaseAnimationStyle;
75
+ }
@@ -1,6 +1,19 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
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]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
2
15
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AnimationFiniteStateMachine = exports.EAnimationStateTransition = exports.EAnimationState = void 0;
16
+ exports.SeriesAnimationFiniteStateMachine = exports.AnimationFiniteStateMachine = exports.EAnimationStateTransition = exports.EAnimationState = void 0;
4
17
  var NumberUtil_1 = require("../NumberUtil");
5
18
  var EAnimationState;
6
19
  (function (EAnimationState) {
@@ -19,12 +32,9 @@ var EAnimationStateTransition;
19
32
  EAnimationStateTransition["Running_Completed"] = "Running_Completed";
20
33
  })(EAnimationStateTransition = exports.EAnimationStateTransition || (exports.EAnimationStateTransition = {}));
21
34
  var AnimationFiniteStateMachine = /** @class */ (function () {
22
- function AnimationFiniteStateMachine(animation, renderableSeries) {
35
+ function AnimationFiniteStateMachine(animation) {
23
36
  this.stateProperty = EAnimationState.InitialState;
24
37
  this.animationProperty = animation;
25
- if (renderableSeries) {
26
- this.initialStylesProperty = animation.getSeriesStyle(renderableSeries);
27
- }
28
38
  }
29
39
  Object.defineProperty(AnimationFiniteStateMachine.prototype, "state", {
30
40
  /**
@@ -46,16 +56,6 @@ var AnimationFiniteStateMachine = /** @class */ (function () {
46
56
  enumerable: false,
47
57
  configurable: true
48
58
  });
49
- Object.defineProperty(AnimationFiniteStateMachine.prototype, "initialStyles", {
50
- /**
51
- * Gets the initial styles for the animation
52
- */
53
- get: function () {
54
- return this.initialStylesProperty;
55
- },
56
- enumerable: false,
57
- configurable: true
58
- });
59
59
  /**
60
60
  * Checks the current state
61
61
  * @param states
@@ -147,3 +147,36 @@ var AnimationFiniteStateMachine = /** @class */ (function () {
147
147
  return AnimationFiniteStateMachine;
148
148
  }());
149
149
  exports.AnimationFiniteStateMachine = AnimationFiniteStateMachine;
150
+ // tslint:disable-next-line: max-classes-per-file
151
+ var SeriesAnimationFiniteStateMachine = /** @class */ (function (_super) {
152
+ __extends(SeriesAnimationFiniteStateMachine, _super);
153
+ function SeriesAnimationFiniteStateMachine(animation, renderableSeries) {
154
+ var _this = _super.call(this, animation) || this;
155
+ if (renderableSeries) {
156
+ _this.initialStylesProperty = animation.getSeriesStyle(renderableSeries);
157
+ }
158
+ return _this;
159
+ }
160
+ Object.defineProperty(SeriesAnimationFiniteStateMachine.prototype, "animation", {
161
+ /**
162
+ * Gets the animation property
163
+ */
164
+ get: function () {
165
+ return this.animationProperty;
166
+ },
167
+ enumerable: false,
168
+ configurable: true
169
+ });
170
+ Object.defineProperty(SeriesAnimationFiniteStateMachine.prototype, "initialStyles", {
171
+ /**
172
+ * Gets the initial styles for the animation
173
+ */
174
+ get: function () {
175
+ return this.initialStylesProperty;
176
+ },
177
+ enumerable: false,
178
+ configurable: true
179
+ });
180
+ return SeriesAnimationFiniteStateMachine;
181
+ }(AnimationFiniteStateMachine));
182
+ exports.SeriesAnimationFiniteStateMachine = SeriesAnimationFiniteStateMachine;
@@ -1,14 +1,6 @@
1
1
  import { AnimationToken } from "../AnimationToken";
2
2
  import { TEasingFn } from "./EasingFunctions";
3
3
  /**
4
- * @description A generic function for animating any value
5
- * @remarks See functions {@link DoubleAnimator.animate} and {@link NumberRangeAnimator.animate} for examples on how to use this
6
- * @param durationMs The duration of the animation in milliseconds
7
- * @param from The start value
8
- * @param to The end value
9
- * @param onAnimate A function which is called on animation step, with the current intermediate value passed in
10
- * @param interpolate An interpolation function
11
- * @param onCompleted A function which is called when animation is completed
12
- * @param easingFn An easing function. See {@link IEasingMap} for a list of values
4
+ * @deprecated Instead create an {@link GenericAnimation} and pass it to sciChartSurface.addAnimation
13
5
  */
14
6
  export declare function animateAny<T>(durationMs: number, from: T, to: T, onAnimate: (intermediateValue: T) => void, interpolate: (start: T, end: T, interpolationFactor: number) => T, onCompleted: () => void, easingFn: TEasingFn): AnimationToken;