scichart 2.2.2411 → 2.2.2416

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.
@@ -84,7 +84,6 @@ export declare class BoxAnnotation extends RenderContextAnnotationBase {
84
84
  delete(): void;
85
85
  /** @inheritDoc */
86
86
  drawWithContext(renderContext: IRenderContext2D, xCalc: CoordinateCalculatorBase, yCalc: CoordinateCalculatorBase, viewRect: Rect): void;
87
- private drawWithProvider;
88
87
  /** @inheritDoc */
89
88
  onAttach(scs: SciChartSurface): void;
90
89
  onDragStarted(args: ModifierMouseArgs): boolean;
@@ -97,4 +96,5 @@ export declare class BoxAnnotation extends RenderContextAnnotationBase {
97
96
  protected checkIsClickedOnAnnotationInternal(x: number, y: number): boolean;
98
97
  protected notifyPropertyChanged(propertyName: string): void;
99
98
  protected updateAdornerInner(): void;
99
+ private drawWithProvider;
100
100
  }
@@ -140,51 +140,15 @@ var BoxAnnotation = /** @class */ (function (_super) {
140
140
  // Temporary HAX! drawRect is rubbish with large strokeThickness, whereas the columnDrawingProvider does a nice
141
141
  // outlined rectangle, but the code is ugly. In 2.3 we will improve the native drawRect to do the outline properly.
142
142
  if (!app_1.IS_TEST_ENV) {
143
- this.drawWithProvider(renderContext, strokePen.scrtPen, fillBrush.scrtBrush, xCalc, yCalc, rect, viewRect);
143
+ if (this.strokeThickness > 3) {
144
+ this.drawWithProvider(renderContext, strokePen.scrtPen, fillBrush.scrtBrush, xCalc, yCalc, rect, viewRect);
145
+ }
146
+ else {
147
+ renderContext.drawRect(rect, viewRect, strokePen, fillBrush);
148
+ }
144
149
  }
145
- //renderContext.drawRect(rect, viewRect, strokePen, fillBrush);
146
150
  this.updateAdornerInner();
147
151
  };
148
- BoxAnnotation.prototype.drawWithProvider = function (renderContext, linesPen, fillBrush, xCalc, yCalc, rect, viewRect) {
149
- var webAssemblyContext = this.parentSurface.webAssemblyContext2D;
150
- var args = new webAssemblyContext.SCRTColumnDrawingParams();
151
- args.forceShaderMethod = true;
152
- args.verticalChart = this.isVerticalChart;
153
- args.zeroLineY = this.isVerticalChart ? yCalc.getDataValue(rect.left) : yCalc.getDataValue(rect.bottom);
154
- args.columnWidth = this.isVerticalChart ? rect.height : rect.width;
155
- // ISSUE: If the strokeThickness property is not provided,
156
- // the fill will be disappeared with large zoom (when the column width will be small or zero)
157
- // if (args.columnWidth === 0 && this.strokeThickness === 0) {
158
- // strokePenCache = this.strokePenFillColoredCache;
159
- // }
160
- if (linesPen) {
161
- args.SetLinesPen(linesPen);
162
- }
163
- if (fillBrush) {
164
- args.SetFillBrush(fillBrush);
165
- }
166
- args.viewportWidth = viewRect.width;
167
- args.viewportHeight = viewRect.height;
168
- var xMid = this.isVerticalChart ? (rect.top + rect.bottom) / 2 : (rect.left + rect.right) / 2;
169
- var xVal = xCalc.getDataValue(xMid);
170
- var xValues = new webAssemblyContext.SCRTDoubleVector();
171
- xValues.push_back(xVal);
172
- var yVal = this.isVerticalChart ? yCalc.getDataValue(rect.right) : yCalc.getDataValue(rect.top);
173
- var yValues = new webAssemblyContext.SCRTDoubleVector();
174
- yValues.push_back(yVal);
175
- args.count = yValues.size();
176
- var nativeContext = renderContext.getNativeContext();
177
- nativeContext.PushMatrix();
178
- nativeContext.PushState();
179
- nativeContext.Translate(viewRect.x, viewRect.y);
180
- nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
181
- this.nativeDrawingProvider.DrawPointsVec(nativeContext, xValues, yValues, xCalc.nativeCalculator, yCalc.nativeCalculator, args);
182
- nativeContext.PopMatrix();
183
- nativeContext.PopState();
184
- xValues.delete();
185
- yValues.delete();
186
- args.delete();
187
- };
188
152
  /** @inheritDoc */
189
153
  BoxAnnotation.prototype.onAttach = function (scs) {
190
154
  _super.prototype.onAttach.call(this, scs);
@@ -354,6 +318,46 @@ var BoxAnnotation = /** @class */ (function (_super) {
354
318
  this.svgAdorner = annotationHelpers_1.annotationHelpers.createSvg(svgString, adornerSvgRoot);
355
319
  }
356
320
  };
321
+ BoxAnnotation.prototype.drawWithProvider = function (renderContext, linesPen, fillBrush, xCalc, yCalc, rect, viewRect) {
322
+ var webAssemblyContext = this.parentSurface.webAssemblyContext2D;
323
+ var args = new webAssemblyContext.SCRTColumnDrawingParams();
324
+ args.forceShaderMethod = true;
325
+ args.verticalChart = this.isVerticalChart;
326
+ args.zeroLineY = this.isVerticalChart ? yCalc.getDataValue(rect.left) : yCalc.getDataValue(rect.bottom);
327
+ args.columnWidth = this.isVerticalChart ? rect.height : rect.width;
328
+ // ISSUE: If the strokeThickness property is not provided,
329
+ // the fill will be disappeared with large zoom (when the column width will be small or zero)
330
+ // if (args.columnWidth === 0 && this.strokeThickness === 0) {
331
+ // strokePenCache = this.strokePenFillColoredCache;
332
+ // }
333
+ if (linesPen) {
334
+ args.SetLinesPen(linesPen);
335
+ }
336
+ if (fillBrush) {
337
+ args.SetFillBrush(fillBrush);
338
+ }
339
+ args.viewportWidth = viewRect.width;
340
+ args.viewportHeight = viewRect.height;
341
+ var xMid = this.isVerticalChart ? (rect.top + rect.bottom) / 2 : (rect.left + rect.right) / 2;
342
+ var xVal = xCalc.getDataValue(xMid);
343
+ var xValues = new webAssemblyContext.SCRTDoubleVector();
344
+ xValues.push_back(xVal);
345
+ var yVal = this.isVerticalChart ? yCalc.getDataValue(rect.right) : yCalc.getDataValue(rect.top);
346
+ var yValues = new webAssemblyContext.SCRTDoubleVector();
347
+ yValues.push_back(yVal);
348
+ args.count = yValues.size();
349
+ var nativeContext = renderContext.getNativeContext();
350
+ nativeContext.PushMatrix();
351
+ nativeContext.PushState();
352
+ nativeContext.Translate(viewRect.x, viewRect.y);
353
+ nativeContext.SetClipRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);
354
+ this.nativeDrawingProvider.DrawPointsVec(nativeContext, xValues, yValues, xCalc.nativeCalculator, yCalc.nativeCalculator, args);
355
+ nativeContext.PopMatrix();
356
+ nativeContext.PopState();
357
+ xValues.delete();
358
+ yValues.delete();
359
+ args.delete();
360
+ };
357
361
  return BoxAnnotation;
358
362
  }(RenderContextAnnotationBase_1.RenderContextAnnotationBase));
359
363
  exports.BoxAnnotation = BoxAnnotation;
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.SplineBandRenderableSeries = void 0;
19
19
  var Deleter_1 = require("../../../Core/Deleter");
20
20
  var SeriesType_1 = require("../../../types/SeriesType");
21
+ var appendDoubleVectorFromJsArray_1 = require("../../../utils/ccall/appendDoubleVectorFromJsArray");
21
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
22
23
  var BaseBandRenderableSeries_1 = require("./BaseBandRenderableSeries");
23
24
  var constants_1 = require("./constants");
@@ -105,7 +106,18 @@ var SplineBandRenderableSeries = /** @class */ (function (_super) {
105
106
  var y1Values = dataSeries.getNativeY1Values();
106
107
  var initialSize = xValues.size();
107
108
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
108
- this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, y1Values, this.xSplineValues, this.y1SplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
109
+ if (yValues.get(0) !== this.ySplineValues.get(0)) {
110
+ console.warn("Spline interpolation could not be calculated. Data may contain duplicate x values");
111
+ this.xSplineValues.resizeFast(initialSize);
112
+ this.webAssemblyContext.SCRTMemCopy(this.xSplineValues.dataPtr(0), dataSeries.getNativeXValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
113
+ this.ySplineValues.resizeFast(initialSize);
114
+ this.webAssemblyContext.SCRTMemCopy(this.ySplineValues.dataPtr(0), dataSeries.getNativeYValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
115
+ this.y1SplineValues.resizeFast(initialSize);
116
+ this.webAssemblyContext.SCRTMemCopy(this.y1SplineValues.dataPtr(0), dataSeries.getNativeY1Values().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
117
+ }
118
+ else {
119
+ this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, y1Values, this.xSplineValues, this.y1SplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
120
+ }
109
121
  this.recalculateSpline = false;
110
122
  };
111
123
  /** @inheritDoc */
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.SplineLineRenderableSeries = void 0;
19
19
  var Deleter_1 = require("../../../Core/Deleter");
20
20
  var SeriesType_1 = require("../../../types/SeriesType");
21
+ var appendDoubleVectorFromJsArray_1 = require("../../../utils/ccall/appendDoubleVectorFromJsArray");
21
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
22
23
  var BaseLineRenderableSeries_1 = require("./BaseLineRenderableSeries");
23
24
  var constants_1 = require("./constants");
@@ -100,6 +101,13 @@ var SplineLineRenderableSeries = /** @class */ (function (_super) {
100
101
  var yValues = dataSeries.getNativeYValues();
101
102
  var initialSize = xValues.size();
102
103
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
104
+ if (yValues.get(0) !== this.ySplineValues.get(0)) {
105
+ console.warn("Spline interpolation could not be calculated. Data may contain duplicate x values");
106
+ this.xSplineValues.resizeFast(initialSize);
107
+ this.webAssemblyContext.SCRTMemCopy(this.xSplineValues.dataPtr(0), dataSeries.getNativeXValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
108
+ this.ySplineValues.resizeFast(initialSize);
109
+ this.webAssemblyContext.SCRTMemCopy(this.ySplineValues.dataPtr(0), dataSeries.getNativeYValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
110
+ }
103
111
  this.recalculateSpline = false;
104
112
  };
105
113
  /** @inheritDoc */
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.SplineMountainRenderableSeries = void 0;
19
19
  var Deleter_1 = require("../../../Core/Deleter");
20
20
  var SeriesType_1 = require("../../../types/SeriesType");
21
+ var appendDoubleVectorFromJsArray_1 = require("../../../utils/ccall/appendDoubleVectorFromJsArray");
21
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
22
23
  var BaseMountainRenderableSeries_1 = require("./BaseMountainRenderableSeries");
23
24
  var constants_1 = require("./constants");
@@ -100,6 +101,13 @@ var SplineMountainRenderableSeries = /** @class */ (function (_super) {
100
101
  var yValues = dataSeries.getNativeYValues();
101
102
  var initialSize = xValues.size();
102
103
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
104
+ if (yValues.get(0) !== this.ySplineValues.get(0)) {
105
+ console.warn("Spline interpolation could not be calculated. Data may contain duplicate x values");
106
+ this.xSplineValues.resizeFast(initialSize);
107
+ this.webAssemblyContext.SCRTMemCopy(this.xSplineValues.dataPtr(0), dataSeries.getNativeXValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
108
+ this.ySplineValues.resizeFast(initialSize);
109
+ this.webAssemblyContext.SCRTMemCopy(this.ySplineValues.dataPtr(0), dataSeries.getNativeYValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
110
+ }
103
111
  this.recalculateSpline = false;
104
112
  };
105
113
  /** @inheritDoc */
@@ -824,6 +824,9 @@ var getSectorPath = function (x, y, outerRadius, a1, a2, delta) {
824
824
  var cy1 = Math.sin(DEG_TO_RAD * a2) * outerRadius + y + deltaY;
825
825
  var cx2 = Math.cos(DEG_TO_RAD * a1) * outerRadius + x + deltaX;
826
826
  var cy2 = Math.sin(DEG_TO_RAD * a1) * outerRadius + y + deltaY;
827
+ if (Math.abs(cx1 - cx2) < 0.0001) {
828
+ cx2 += 0.001;
829
+ }
827
830
  return "M".concat(x + deltaX, " ").concat(y + deltaY, " ").concat(cx1, " ").concat(cy1, " A").concat(outerRadius, " ").concat(outerRadius, " 0 ").concat(bigArc, " 0 ").concat(cx2, " ").concat(cy2, "Z");
828
831
  };
829
832
  /**
@@ -1,4 +1,4 @@
1
1
  import { TSciChart } from "../types/TSciChart";
2
2
  import { TSciChart3D } from "../types/TSciChart3D";
3
- export declare const libraryVersion = "2.2.2411";
3
+ export declare const libraryVersion = "2.2.2416";
4
4
  export declare const checkBuildStamp: (wasmContext: TSciChart | TSciChart3D) => boolean;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkBuildStamp = exports.libraryVersion = void 0;
4
- var buildStamp = "2022-08-25T00:00:00";
4
+ var buildStamp = "2022-11-30T00:00:00";
5
5
  var result;
6
6
  // tslint:disable-next-line:no-var-requires
7
- exports.libraryVersion = "2.2.2411";
7
+ exports.libraryVersion = "2.2.2416";
8
8
  var checkBuildStamp = function (wasmContext) {
9
9
  if (result !== undefined)
10
10
  return result;