@visactor/vrender-core 0.23.0-alpha.2 → 0.23.0-alpha.3
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.
- package/cjs/canvas/empty-context.d.ts +1 -0
- package/cjs/canvas/empty-context.js +4 -0
- package/cjs/canvas/empty-context.js.map +1 -1
- package/cjs/color-string/index.js +2 -1
- package/cjs/common/enums.js +1 -2
- package/cjs/common/path-svg.js +2 -1
- package/cjs/common/performance-raf.d.ts +2 -0
- package/cjs/common/performance-raf.js +8 -3
- package/cjs/common/performance-raf.js.map +1 -1
- package/cjs/common/store.js +1 -2
- package/cjs/core/global.d.ts +3 -0
- package/cjs/core/global.js +13 -3
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/stage.d.ts +1 -0
- package/cjs/core/stage.js +7 -6
- package/cjs/core/stage.js.map +1 -1
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/interface/context.d.ts +1 -0
- package/cjs/interface/context.js.map +1 -1
- package/cjs/interface/global.d.ts +2 -0
- package/cjs/interface/global.js.map +1 -1
- package/cjs/interface/graphic.d.ts +1 -1
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/render.d.ts +6 -0
- package/cjs/interface/render.js.map +1 -1
- package/cjs/interface/stage.d.ts +1 -1
- package/cjs/interface/stage.js.map +1 -1
- package/cjs/render/contributions/render/arc-render.d.ts +4 -2
- package/cjs/render/contributions/render/arc-render.js +19 -17
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/base-render.d.ts +2 -2
- package/cjs/render/contributions/render/base-render.js +2 -2
- package/cjs/render/contributions/render/base-render.js.map +1 -1
- package/cjs/render/contributions/render/draw-contribution.d.ts +1 -0
- package/cjs/render/contributions/render/draw-contribution.js +23 -19
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.js +1 -0
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/cjs/render/contributions/render/group-render.d.ts +2 -2
- package/cjs/render/contributions/render/group-render.js +14 -10
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/rect-render.d.ts +3 -1
- package/cjs/render/contributions/render/rect-render.js +17 -15
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-render.d.ts +4 -2
- package/cjs/render/contributions/render/symbol-render.js +16 -11
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/dist/index.es.js +222 -172
- package/es/canvas/empty-context.d.ts +1 -0
- package/es/canvas/empty-context.js +4 -0
- package/es/canvas/empty-context.js.map +1 -1
- package/es/color-string/index.js +2 -1
- package/es/common/enums.js +1 -2
- package/es/common/path-svg.js +2 -1
- package/es/common/performance-raf.d.ts +2 -0
- package/es/common/performance-raf.js +8 -3
- package/es/common/performance-raf.js.map +1 -1
- package/es/common/store.js +1 -2
- package/es/core/global.d.ts +3 -0
- package/es/core/global.js +14 -2
- package/es/core/global.js.map +1 -1
- package/es/core/stage.d.ts +1 -0
- package/es/core/stage.js +7 -6
- package/es/core/stage.js.map +1 -1
- package/es/graphic/graphic.js.map +1 -1
- package/es/interface/context.d.ts +1 -0
- package/es/interface/context.js.map +1 -1
- package/es/interface/global.d.ts +2 -0
- package/es/interface/global.js.map +1 -1
- package/es/interface/graphic.d.ts +1 -1
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/render.d.ts +6 -0
- package/es/interface/render.js.map +1 -1
- package/es/interface/stage.d.ts +1 -1
- package/es/interface/stage.js.map +1 -1
- package/es/render/contributions/render/arc-render.d.ts +4 -2
- package/es/render/contributions/render/arc-render.js +19 -17
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/base-render.d.ts +2 -2
- package/es/render/contributions/render/base-render.js +2 -2
- package/es/render/contributions/render/base-render.js.map +1 -1
- package/es/render/contributions/render/draw-contribution.d.ts +1 -0
- package/es/render/contributions/render/draw-contribution.js +23 -19
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.js +1 -0
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/es/render/contributions/render/group-render.d.ts +2 -2
- package/es/render/contributions/render/group-render.js +14 -10
- package/es/render/contributions/render/group-render.js.map +1 -1
- package/es/render/contributions/render/rect-render.d.ts +3 -1
- package/es/render/contributions/render/rect-render.js +17 -14
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/symbol-render.d.ts +4 -2
- package/es/render/contributions/render/symbol-render.js +16 -11
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/package.json +3 -3
package/dist/index.es.js
CHANGED
|
@@ -852,6 +852,41 @@ const EnvContribution = Symbol.for('EnvContribution');
|
|
|
852
852
|
const VGlobal = Symbol.for('VGlobal');
|
|
853
853
|
const DEFAULT_TEXT_FONT_FAMILY = 'PingFang SC,Helvetica Neue,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol';
|
|
854
854
|
|
|
855
|
+
class PerformanceRAF {
|
|
856
|
+
constructor() {
|
|
857
|
+
this.nextAnimationFrameCbs = [];
|
|
858
|
+
this._rafHandle = null;
|
|
859
|
+
this.runAnimationFrame = (time) => {
|
|
860
|
+
this._rafHandle = null;
|
|
861
|
+
const cbs = this.nextAnimationFrameCbs;
|
|
862
|
+
this.nextAnimationFrameCbs = [];
|
|
863
|
+
for (let i = 0; i < cbs.length; i++) {
|
|
864
|
+
if (cbs[i]) {
|
|
865
|
+
cbs[i](time);
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
};
|
|
869
|
+
this.tryRunAnimationFrameNextFrame = () => {
|
|
870
|
+
if (this._rafHandle !== null || this.nextAnimationFrameCbs.length === 0) {
|
|
871
|
+
return;
|
|
872
|
+
}
|
|
873
|
+
this._rafHandle = vglobal.getRequestAnimationFrame()(this.runAnimationFrame);
|
|
874
|
+
};
|
|
875
|
+
}
|
|
876
|
+
addAnimationFrameCb(callback) {
|
|
877
|
+
this.nextAnimationFrameCbs.push(callback);
|
|
878
|
+
this.tryRunAnimationFrameNextFrame();
|
|
879
|
+
return this.nextAnimationFrameCbs.length - 1;
|
|
880
|
+
}
|
|
881
|
+
removeAnimationFrameCb(index) {
|
|
882
|
+
if (index >= 0 && index < this.nextAnimationFrameCbs.length) {
|
|
883
|
+
this.nextAnimationFrameCbs[index] = null;
|
|
884
|
+
return true;
|
|
885
|
+
}
|
|
886
|
+
return false;
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
|
|
855
890
|
const defaultEnv = 'browser';
|
|
856
891
|
let DefaultGlobal = class DefaultGlobal {
|
|
857
892
|
get env() {
|
|
@@ -932,6 +967,7 @@ let DefaultGlobal = class DefaultGlobal {
|
|
|
932
967
|
constructor(contributions) {
|
|
933
968
|
this.contributions = contributions;
|
|
934
969
|
this._isImageAnonymous = true;
|
|
970
|
+
this._performanceRAFList = [];
|
|
935
971
|
this.id = Generator.GenAutoIncrementId();
|
|
936
972
|
this.hooks = {
|
|
937
973
|
onSetEnv: new SyncHook(['lastEnv', 'env', 'global'])
|
|
@@ -1031,6 +1067,30 @@ let DefaultGlobal = class DefaultGlobal {
|
|
|
1031
1067
|
}
|
|
1032
1068
|
return this.envContribution.getRequestAnimationFrame();
|
|
1033
1069
|
}
|
|
1070
|
+
getSpecifiedRequestAnimationFrame(id) {
|
|
1071
|
+
if (!this._env) {
|
|
1072
|
+
this.setEnv(defaultEnv);
|
|
1073
|
+
}
|
|
1074
|
+
if (!this._performanceRAFList[id]) {
|
|
1075
|
+
this._performanceRAFList[id] = new PerformanceRAF();
|
|
1076
|
+
}
|
|
1077
|
+
const performanceRAF = this._performanceRAFList[id];
|
|
1078
|
+
return (callback) => {
|
|
1079
|
+
return performanceRAF.addAnimationFrameCb(callback);
|
|
1080
|
+
};
|
|
1081
|
+
}
|
|
1082
|
+
getSpecifiedCancelAnimationFrame(id) {
|
|
1083
|
+
if (!this._env) {
|
|
1084
|
+
this.setEnv(defaultEnv);
|
|
1085
|
+
}
|
|
1086
|
+
if (!this._performanceRAFList[id]) {
|
|
1087
|
+
return () => false;
|
|
1088
|
+
}
|
|
1089
|
+
const performanceRAF = this._performanceRAFList[id];
|
|
1090
|
+
return (handle) => {
|
|
1091
|
+
return performanceRAF.removeAnimationFrameCb(handle);
|
|
1092
|
+
};
|
|
1093
|
+
}
|
|
1034
1094
|
getCancelAnimationFrame() {
|
|
1035
1095
|
if (!this._env) {
|
|
1036
1096
|
this.setEnv(defaultEnv);
|
|
@@ -17672,7 +17732,7 @@ class BaseRender {
|
|
|
17672
17732
|
context.translate(-p.x, -p.y, false);
|
|
17673
17733
|
context.setTransformForCurrent();
|
|
17674
17734
|
}
|
|
17675
|
-
_draw(graphic, defaultAttr, computed3dMatrix, drawContext, params) {
|
|
17735
|
+
_draw(graphic, defaultAttr, computed3dMatrix, drawContext, params, themeAttribute) {
|
|
17676
17736
|
const { context } = drawContext;
|
|
17677
17737
|
if (!context) {
|
|
17678
17738
|
return;
|
|
@@ -17689,7 +17749,7 @@ class BaseRender {
|
|
|
17689
17749
|
context.highPerformanceRestore();
|
|
17690
17750
|
return;
|
|
17691
17751
|
}
|
|
17692
|
-
this.drawShape(graphic, context, x, y, drawContext, params);
|
|
17752
|
+
this.drawShape(graphic, context, x, y, drawContext, params, null, null, themeAttribute);
|
|
17693
17753
|
this.z = 0;
|
|
17694
17754
|
if (context.modelMatrix !== lastModelMatrix) {
|
|
17695
17755
|
mat4Allocate.free(context.modelMatrix);
|
|
@@ -17773,8 +17833,8 @@ let DefaultCanvasArcRender = class DefaultCanvasArcRender extends BaseRender {
|
|
|
17773
17833
|
}
|
|
17774
17834
|
return collapsedToLine;
|
|
17775
17835
|
}
|
|
17776
|
-
drawShape(arc, context, x, y, drawContext, params, fillCb, strokeCb) {
|
|
17777
|
-
|
|
17836
|
+
drawShape(arc, context, x, y, drawContext, params, fillCb, strokeCb, arcAttribute) {
|
|
17837
|
+
arcAttribute = arcAttribute !== null && arcAttribute !== void 0 ? arcAttribute : getTheme(arc, params === null || params === void 0 ? void 0 : params.theme).arc;
|
|
17778
17838
|
const { fill = arcAttribute.fill, stroke = arcAttribute.stroke, x: originX = arcAttribute.x, y: originY = arcAttribute.y, fillStrokeOrder = arcAttribute.fillStrokeOrder } = arc.attribute;
|
|
17779
17839
|
const data = this.valid(arc, arcAttribute, fillCb, strokeCb);
|
|
17780
17840
|
if (!data) {
|
|
@@ -17803,35 +17863,13 @@ let DefaultCanvasArcRender = class DefaultCanvasArcRender extends BaseRender {
|
|
|
17803
17863
|
beforeRenderContribitionsRuned = true;
|
|
17804
17864
|
context.setShadowBlendStyle && context.setShadowBlendStyle(arc, arc.attribute, arcAttribute);
|
|
17805
17865
|
this.beforeRenderStep(arc, context, x, y, doFill, doStroke, fVisible, sVisible, arcAttribute, drawContext, fillCb, strokeCb);
|
|
17806
|
-
const _runFill = () => {
|
|
17807
|
-
if (doFill) {
|
|
17808
|
-
if (fillCb) {
|
|
17809
|
-
fillCb(context, arc.attribute, arcAttribute);
|
|
17810
|
-
}
|
|
17811
|
-
else if (fVisible) {
|
|
17812
|
-
context.setCommonStyle(arc, arc.attribute, originX - x, originY - y, arcAttribute);
|
|
17813
|
-
context.fill();
|
|
17814
|
-
}
|
|
17815
|
-
}
|
|
17816
|
-
};
|
|
17817
|
-
const _runStroke = () => {
|
|
17818
|
-
if (doStroke && isFullStroke) {
|
|
17819
|
-
if (strokeCb) {
|
|
17820
|
-
strokeCb(context, arc.attribute, arcAttribute);
|
|
17821
|
-
}
|
|
17822
|
-
else if (sVisible) {
|
|
17823
|
-
context.setStrokeStyle(arc, arc.attribute, originX - x, originY - y, arcAttribute);
|
|
17824
|
-
context.stroke();
|
|
17825
|
-
}
|
|
17826
|
-
}
|
|
17827
|
-
};
|
|
17828
17866
|
if (!fillStrokeOrder) {
|
|
17829
|
-
_runFill();
|
|
17830
|
-
_runStroke();
|
|
17867
|
+
this._runFill(arc, context, x, y, arcAttribute, doFill, fVisible, originX, originY, fillCb);
|
|
17868
|
+
this._runStroke(arc, context, x, y, arcAttribute, doStroke, sVisible, strokeCb);
|
|
17831
17869
|
}
|
|
17832
17870
|
else {
|
|
17833
|
-
_runStroke();
|
|
17834
|
-
_runFill();
|
|
17871
|
+
this._runStroke(arc, context, x, y, arcAttribute, doStroke, sVisible, strokeCb);
|
|
17872
|
+
this._runFill(arc, context, x, y, arcAttribute, doFill, fVisible, originX, originY, fillCb);
|
|
17835
17873
|
}
|
|
17836
17874
|
}
|
|
17837
17875
|
if (!isFullStroke && doStroke) {
|
|
@@ -17900,9 +17938,29 @@ let DefaultCanvasArcRender = class DefaultCanvasArcRender extends BaseRender {
|
|
|
17900
17938
|
fill.endAngle += conicalOffset;
|
|
17901
17939
|
}
|
|
17902
17940
|
}
|
|
17941
|
+
_runFill(arc, context, x, y, arcAttribute, doFill, fVisible, originX, originY, fillCb) {
|
|
17942
|
+
if (doFill) {
|
|
17943
|
+
if (fillCb) {
|
|
17944
|
+
fillCb(context, arc.attribute, arcAttribute);
|
|
17945
|
+
}
|
|
17946
|
+
else if (fVisible) {
|
|
17947
|
+
context.setCommonStyle(arc, arc.attribute, originX - x, originY - y, arcAttribute);
|
|
17948
|
+
context.fill();
|
|
17949
|
+
}
|
|
17950
|
+
}
|
|
17951
|
+
}
|
|
17952
|
+
_runStroke(arc, context, x, y, arcAttribute, doStroke, sVisible, strokeCb) {
|
|
17953
|
+
if (doStroke) {
|
|
17954
|
+
if (strokeCb) ;
|
|
17955
|
+
else if (sVisible) {
|
|
17956
|
+
context.setStrokeStyle(arc, arc.attribute, x, y, arcAttribute);
|
|
17957
|
+
context.stroke();
|
|
17958
|
+
}
|
|
17959
|
+
}
|
|
17960
|
+
}
|
|
17903
17961
|
draw(arc, renderService, drawContext, params) {
|
|
17904
17962
|
const arcAttribute = getTheme(arc, params === null || params === void 0 ? void 0 : params.theme).arc;
|
|
17905
|
-
this._draw(arc, arcAttribute, false, drawContext, params);
|
|
17963
|
+
this._draw(arc, arcAttribute, false, drawContext, params, arcAttribute);
|
|
17906
17964
|
}
|
|
17907
17965
|
};
|
|
17908
17966
|
DefaultCanvasArcRender = __decorate([
|
|
@@ -18923,9 +18981,8 @@ let DefaultCanvasRectRender = class DefaultCanvasRectRender extends BaseRender {
|
|
|
18923
18981
|
];
|
|
18924
18982
|
this.init(rectRenderContribitions);
|
|
18925
18983
|
}
|
|
18926
|
-
drawShape(rect, context, x, y, drawContext, params, fillCb, strokeCb) {
|
|
18927
|
-
|
|
18928
|
-
const rectAttribute = (_a = this.tempTheme) !== null && _a !== void 0 ? _a : getTheme(rect, params === null || params === void 0 ? void 0 : params.theme).rect;
|
|
18984
|
+
drawShape(rect, context, x, y, drawContext, params, fillCb, strokeCb, rectAttribute) {
|
|
18985
|
+
rectAttribute = rectAttribute !== null && rectAttribute !== void 0 ? rectAttribute : getTheme(rect, params === null || params === void 0 ? void 0 : params.theme).rect;
|
|
18929
18986
|
const { fill = rectAttribute.fill, background, stroke = rectAttribute.stroke, cornerRadius = rectAttribute.cornerRadius, cornerType = rectAttribute.cornerType, opacity = rectAttribute.opacity, fillOpacity = rectAttribute.fillOpacity, lineWidth = rectAttribute.lineWidth, strokeOpacity = rectAttribute.strokeOpacity, visible = rectAttribute.visible, x1, y1, x: originX = rectAttribute.x, y: originY = rectAttribute.y, fillStrokeOrder = rectAttribute.fillStrokeOrder } = rect.attribute;
|
|
18930
18987
|
let { width, height } = rect.attribute;
|
|
18931
18988
|
width = (width !== null && width !== void 0 ? width : x1 - originX) || 0;
|
|
@@ -18957,43 +19014,41 @@ let DefaultCanvasRectRender = class DefaultCanvasRectRender extends BaseRender {
|
|
|
18957
19014
|
};
|
|
18958
19015
|
context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute);
|
|
18959
19016
|
this.beforeRenderStep(rect, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, drawContext, fillCb, strokeCb, doFillOrStroke);
|
|
18960
|
-
const _runFill = () => {
|
|
18961
|
-
if (doFillOrStroke.doFill) {
|
|
18962
|
-
if (fillCb) {
|
|
18963
|
-
fillCb(context, rect.attribute, rectAttribute);
|
|
18964
|
-
}
|
|
18965
|
-
else if (fVisible) {
|
|
18966
|
-
context.setCommonStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);
|
|
18967
|
-
context.fill();
|
|
18968
|
-
}
|
|
18969
|
-
}
|
|
18970
|
-
};
|
|
18971
|
-
const _runStroke = () => {
|
|
18972
|
-
if (doFillOrStroke.doStroke) {
|
|
18973
|
-
if (strokeCb) {
|
|
18974
|
-
strokeCb(context, rect.attribute, rectAttribute);
|
|
18975
|
-
}
|
|
18976
|
-
else if (sVisible) {
|
|
18977
|
-
context.setStrokeStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);
|
|
18978
|
-
context.stroke();
|
|
18979
|
-
}
|
|
18980
|
-
}
|
|
18981
|
-
};
|
|
18982
19017
|
if (!fillStrokeOrder) {
|
|
18983
|
-
_runFill();
|
|
18984
|
-
_runStroke();
|
|
19018
|
+
this._runFill(rect, context, x, y, rectAttribute, doFillOrStroke, fVisible, originX, originY, fillCb);
|
|
19019
|
+
this._runStroke(rect, context, x, y, rectAttribute, doFillOrStroke, sVisible, originX, originY, strokeCb);
|
|
18985
19020
|
}
|
|
18986
19021
|
else {
|
|
18987
|
-
_runStroke();
|
|
18988
|
-
_runFill();
|
|
19022
|
+
this._runStroke(rect, context, x, y, rectAttribute, doFillOrStroke, sVisible, originX, originY, strokeCb);
|
|
19023
|
+
this._runFill(rect, context, x, y, rectAttribute, doFillOrStroke, fVisible, originX, originY, fillCb);
|
|
18989
19024
|
}
|
|
18990
19025
|
this.afterRenderStep(rect, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, drawContext, fillCb, strokeCb);
|
|
18991
19026
|
}
|
|
19027
|
+
_runFill(rect, context, x, y, rectAttribute, doFillOrStroke, fVisible, originX, originY, fillCb) {
|
|
19028
|
+
if (doFillOrStroke.doFill) {
|
|
19029
|
+
if (fillCb) {
|
|
19030
|
+
fillCb(context, rect.attribute, rectAttribute);
|
|
19031
|
+
}
|
|
19032
|
+
else if (fVisible) {
|
|
19033
|
+
context.setCommonStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);
|
|
19034
|
+
context.fill();
|
|
19035
|
+
}
|
|
19036
|
+
}
|
|
19037
|
+
}
|
|
19038
|
+
_runStroke(rect, context, x, y, rectAttribute, doFillOrStroke, sVisible, originX, originY, strokeCb) {
|
|
19039
|
+
if (doFillOrStroke.doStroke) {
|
|
19040
|
+
if (strokeCb) {
|
|
19041
|
+
strokeCb(context, rect.attribute, rectAttribute);
|
|
19042
|
+
}
|
|
19043
|
+
else if (sVisible) {
|
|
19044
|
+
context.setStrokeStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);
|
|
19045
|
+
context.stroke();
|
|
19046
|
+
}
|
|
19047
|
+
}
|
|
19048
|
+
}
|
|
18992
19049
|
draw(rect, renderService, drawContext, params) {
|
|
18993
19050
|
const rectAttribute = getTheme(rect, params === null || params === void 0 ? void 0 : params.theme).rect;
|
|
18994
|
-
this.
|
|
18995
|
-
this._draw(rect, rectAttribute, false, drawContext, params);
|
|
18996
|
-
this.tempTheme = null;
|
|
19051
|
+
this._draw(rect, rectAttribute, false, drawContext, params, rectAttribute);
|
|
18997
19052
|
}
|
|
18998
19053
|
};
|
|
18999
19054
|
DefaultCanvasRectRender = __decorate([
|
|
@@ -19016,9 +19071,9 @@ let DefaultCanvasSymbolRender = class DefaultCanvasSymbolRender extends BaseRend
|
|
|
19016
19071
|
];
|
|
19017
19072
|
this.init(symbolRenderContribitions);
|
|
19018
19073
|
}
|
|
19019
|
-
drawShape(symbol, context, x, y, drawContext, params, fillCb, strokeCb) {
|
|
19074
|
+
drawShape(symbol, context, x, y, drawContext, params, fillCb, strokeCb, symbolAttribute) {
|
|
19020
19075
|
var _a;
|
|
19021
|
-
|
|
19076
|
+
symbolAttribute = symbolAttribute !== null && symbolAttribute !== void 0 ? symbolAttribute : getTheme(symbol, params === null || params === void 0 ? void 0 : params.theme).symbol;
|
|
19022
19077
|
const { size = symbolAttribute.size, x: originX = symbolAttribute.x, y: originY = symbolAttribute.y, scaleX = symbolAttribute.scaleX, scaleY = symbolAttribute.scaleY, fillStrokeOrder = symbolAttribute.fillStrokeOrder, clipRange = symbolAttribute.clipRange } = symbol.attribute;
|
|
19023
19078
|
const data = this.valid(symbol, symbolAttribute, fillCb, strokeCb);
|
|
19024
19079
|
if (!data) {
|
|
@@ -19092,38 +19147,38 @@ let DefaultCanvasSymbolRender = class DefaultCanvasSymbolRender extends BaseRend
|
|
|
19092
19147
|
context.camera = camera;
|
|
19093
19148
|
context.setShadowBlendStyle && context.setShadowBlendStyle(symbol, symbol.attribute, symbolAttribute);
|
|
19094
19149
|
this.beforeRenderStep(symbol, context, x, y, doFill, doStroke, fVisible, sVisible, symbolAttribute, drawContext, fillCb, strokeCb);
|
|
19095
|
-
const _runFill = () => {
|
|
19096
|
-
if (doFill && !parsedPath.isSvg) {
|
|
19097
|
-
if (fillCb) {
|
|
19098
|
-
fillCb(context, symbol.attribute, symbolAttribute);
|
|
19099
|
-
}
|
|
19100
|
-
else if (fVisible) {
|
|
19101
|
-
context.setCommonStyle(symbol, symbol.attribute, originX - x, originY - y, symbolAttribute);
|
|
19102
|
-
context.fill();
|
|
19103
|
-
}
|
|
19104
|
-
}
|
|
19105
|
-
};
|
|
19106
|
-
const _runStroke = () => {
|
|
19107
|
-
if (doStroke && !parsedPath.isSvg) {
|
|
19108
|
-
if (strokeCb) {
|
|
19109
|
-
strokeCb(context, symbol.attribute, symbolAttribute);
|
|
19110
|
-
}
|
|
19111
|
-
else if (sVisible && clipRange >= 1) {
|
|
19112
|
-
context.setStrokeStyle(symbol, symbol.attribute, (originX - x) / scaleX, (originY - y) / scaleY, symbolAttribute);
|
|
19113
|
-
context.stroke();
|
|
19114
|
-
}
|
|
19115
|
-
}
|
|
19116
|
-
};
|
|
19117
19150
|
if (!fillStrokeOrder) {
|
|
19118
|
-
_runFill();
|
|
19119
|
-
_runStroke();
|
|
19151
|
+
this._runFill(symbol, context, x, y, symbolAttribute, doFill, fVisible, originX, originY, parsedPath, fillCb);
|
|
19152
|
+
this._runStroke(symbol, context, x, y, symbolAttribute, doStroke, sVisible, originX, originY, parsedPath, clipRange, scaleX, scaleY, strokeCb);
|
|
19120
19153
|
}
|
|
19121
19154
|
else {
|
|
19122
|
-
_runStroke();
|
|
19123
|
-
_runFill();
|
|
19155
|
+
this._runStroke(symbol, context, x, y, symbolAttribute, doStroke, sVisible, originX, originY, parsedPath, clipRange, scaleX, scaleY, strokeCb);
|
|
19156
|
+
this._runFill(symbol, context, x, y, symbolAttribute, doFill, fVisible, originX, originY, parsedPath, fillCb);
|
|
19124
19157
|
}
|
|
19125
19158
|
this.afterRenderStep(symbol, context, x, y, doFill, doStroke, fVisible, sVisible, symbolAttribute, drawContext, fillCb, strokeCb);
|
|
19126
19159
|
}
|
|
19160
|
+
_runFill(symbol, context, x, y, symbolAttribute, doFill, fVisible, originX, originY, parsedPath, fillCb) {
|
|
19161
|
+
if (doFill && !parsedPath.isSvg) {
|
|
19162
|
+
if (fillCb) {
|
|
19163
|
+
fillCb(context, symbol.attribute, symbolAttribute);
|
|
19164
|
+
}
|
|
19165
|
+
else if (fVisible) {
|
|
19166
|
+
context.setCommonStyle(symbol, symbol.attribute, originX - x, originY - y, symbolAttribute);
|
|
19167
|
+
context.fill();
|
|
19168
|
+
}
|
|
19169
|
+
}
|
|
19170
|
+
}
|
|
19171
|
+
_runStroke(symbol, context, x, y, symbolAttribute, doStroke, sVisible, originX, originY, parsedPath, clipRange, scaleX, scaleY, strokeCb) {
|
|
19172
|
+
if (doStroke && !parsedPath.isSvg) {
|
|
19173
|
+
if (strokeCb) {
|
|
19174
|
+
strokeCb(context, symbol.attribute, symbolAttribute);
|
|
19175
|
+
}
|
|
19176
|
+
else if (sVisible && clipRange >= 1) {
|
|
19177
|
+
context.setStrokeStyle(symbol, symbol.attribute, (originX - x) / scaleX, (originY - y) / scaleY, symbolAttribute);
|
|
19178
|
+
context.stroke();
|
|
19179
|
+
}
|
|
19180
|
+
}
|
|
19181
|
+
}
|
|
19127
19182
|
draw(symbol, renderService, drawContext, params) {
|
|
19128
19183
|
const symbolAttribute = getTheme(symbol, params === null || params === void 0 ? void 0 : params.theme).symbol;
|
|
19129
19184
|
this._draw(symbol, symbolAttribute, false, drawContext, params);
|
|
@@ -19619,9 +19674,13 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
|
|
|
19619
19674
|
this.groupRenderContribitions = groupRenderContribitions;
|
|
19620
19675
|
this.numberType = GROUP_NUMBER_TYPE;
|
|
19621
19676
|
}
|
|
19622
|
-
drawShape(group, context, x, y, drawContext, params, fillCb, strokeCb) {
|
|
19623
|
-
const
|
|
19624
|
-
|
|
19677
|
+
drawShape(group, context, x, y, drawContext, params, fillCb, strokeCb, groupAttribute) {
|
|
19678
|
+
const { clip, fill, stroke, background } = group.attribute;
|
|
19679
|
+
if (!(clip || fill || stroke || background)) {
|
|
19680
|
+
return;
|
|
19681
|
+
}
|
|
19682
|
+
groupAttribute = groupAttribute !== null && groupAttribute !== void 0 ? groupAttribute : getTheme(group, params === null || params === void 0 ? void 0 : params.theme).group;
|
|
19683
|
+
const { opacity = groupAttribute.opacity, width = groupAttribute.width, height = groupAttribute.height, fillOpacity = groupAttribute.fillOpacity, strokeOpacity = groupAttribute.strokeOpacity, cornerRadius = groupAttribute.cornerRadius, path = groupAttribute.path, lineWidth = groupAttribute.lineWidth, visible = groupAttribute.visible, fillStrokeOrder = groupAttribute.fillStrokeOrder, cornerType = groupAttribute.cornerType, x: originX = groupAttribute.x, y: originY = groupAttribute.y } = group.attribute;
|
|
19625
19684
|
const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill);
|
|
19626
19685
|
const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);
|
|
19627
19686
|
const doFill = runFill(fill, background);
|
|
@@ -19714,14 +19773,16 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
|
|
|
19714
19773
|
});
|
|
19715
19774
|
}
|
|
19716
19775
|
draw(group, renderService, drawContext, params) {
|
|
19776
|
+
var _a;
|
|
19717
19777
|
const { context } = drawContext;
|
|
19718
19778
|
if (!context) {
|
|
19719
19779
|
return;
|
|
19720
19780
|
}
|
|
19721
|
-
const { clip, baseOpacity = 1, drawMode
|
|
19781
|
+
const { clip, baseOpacity = 1, drawMode } = group.attribute;
|
|
19722
19782
|
const lastNativeContext = context.nativeContext;
|
|
19723
19783
|
const lastNativeCanvas = context.canvas.nativeCanvas;
|
|
19724
19784
|
if (drawMode > 0) {
|
|
19785
|
+
const { x, y, width, height } = group.attribute;
|
|
19725
19786
|
const canvas = context.canvas;
|
|
19726
19787
|
const newCanvas = vglobal.createCanvas({ width: canvas.width, height: canvas.height, dpr: 1 });
|
|
19727
19788
|
const newContext = newCanvas.getContext('2d');
|
|
@@ -19747,10 +19808,10 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
|
|
|
19747
19808
|
}
|
|
19748
19809
|
const baseGlobalAlpha = context.baseGlobalAlpha;
|
|
19749
19810
|
context.baseGlobalAlpha *= baseOpacity;
|
|
19750
|
-
const groupAttribute = getTheme(group, params === null || params === void 0 ? void 0 : params.theme).group;
|
|
19751
19811
|
const lastModelMatrix = context.modelMatrix;
|
|
19752
19812
|
const camera = context.camera;
|
|
19753
19813
|
if (camera) {
|
|
19814
|
+
const groupAttribute = getTheme(group, params === null || params === void 0 ? void 0 : params.theme).group;
|
|
19754
19815
|
const nextModelMatrix = mat4Allocate.allocate();
|
|
19755
19816
|
const modelMatrix = mat4Allocate.allocate();
|
|
19756
19817
|
getModelMatrix(modelMatrix, group, groupAttribute);
|
|
@@ -19772,15 +19833,15 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
|
|
|
19772
19833
|
this.drawShape(group, context, 0, 0, drawContext, params, () => false, () => false);
|
|
19773
19834
|
}
|
|
19774
19835
|
else {
|
|
19775
|
-
this.drawShape(group, context, 0, 0, drawContext);
|
|
19836
|
+
this.drawShape(group, context, 0, 0, drawContext, null, null, null);
|
|
19776
19837
|
}
|
|
19777
|
-
const { scrollX
|
|
19838
|
+
const { scrollX, scrollY } = group.attribute;
|
|
19778
19839
|
if (scrollX || scrollY) {
|
|
19779
19840
|
context.translate(scrollX, scrollY);
|
|
19780
19841
|
}
|
|
19781
19842
|
let p;
|
|
19782
|
-
if (params && params.
|
|
19783
|
-
p = params.
|
|
19843
|
+
if (params && params.renderInGroup) {
|
|
19844
|
+
p = params.renderInGroup(params.skipDraw, group, drawContext, (_a = params.renderInGroupParams) === null || _a === void 0 ? void 0 : _a.nextM);
|
|
19784
19845
|
}
|
|
19785
19846
|
if (context.modelMatrix !== lastModelMatrix) {
|
|
19786
19847
|
mat4Allocate.free(context.modelMatrix);
|
|
@@ -19788,6 +19849,7 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
|
|
|
19788
19849
|
context.modelMatrix = lastModelMatrix;
|
|
19789
19850
|
context.baseGlobalAlpha = baseGlobalAlpha;
|
|
19790
19851
|
if (drawMode > 0) {
|
|
19852
|
+
const { x, y, width, height } = group.attribute;
|
|
19791
19853
|
const newContext = context.nativeContext;
|
|
19792
19854
|
const newCanvas = context.canvas.nativeCanvas;
|
|
19793
19855
|
lastNativeContext.save();
|
|
@@ -20169,6 +20231,11 @@ let CommonDrawItemInterceptorContribution = class CommonDrawItemInterceptorContr
|
|
|
20169
20231
|
];
|
|
20170
20232
|
}
|
|
20171
20233
|
afterDrawItem(graphic, renderService, drawContext, drawContribution, params) {
|
|
20234
|
+
if ((!graphic.in3dMode || drawContext.in3dInterceptor) &&
|
|
20235
|
+
!graphic.shadowRoot &&
|
|
20236
|
+
!(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)) {
|
|
20237
|
+
return false;
|
|
20238
|
+
}
|
|
20172
20239
|
for (let i = 0; i < this.interceptors.length; i++) {
|
|
20173
20240
|
if (this.interceptors[i].afterDrawItem &&
|
|
20174
20241
|
this.interceptors[i].afterDrawItem(graphic, renderService, drawContext, drawContribution, params)) {
|
|
@@ -20871,6 +20938,32 @@ let DefaultDrawContribution = class DefaultDrawContribution {
|
|
|
20871
20938
|
constructor(contributions, drawItemInterceptorContributions) {
|
|
20872
20939
|
this.contributions = contributions;
|
|
20873
20940
|
this.drawItemInterceptorContributions = drawItemInterceptorContributions;
|
|
20941
|
+
this._renderInGroup = (skipSort, group, drawContext, nextM) => {
|
|
20942
|
+
var _a;
|
|
20943
|
+
skipSort
|
|
20944
|
+
? group.forEachChildren((item) => {
|
|
20945
|
+
if (drawContext.break) {
|
|
20946
|
+
return;
|
|
20947
|
+
}
|
|
20948
|
+
if (item.isContainer) {
|
|
20949
|
+
this.renderGroup(item, drawContext, nextM);
|
|
20950
|
+
}
|
|
20951
|
+
else {
|
|
20952
|
+
this.renderItem(item, drawContext);
|
|
20953
|
+
}
|
|
20954
|
+
})
|
|
20955
|
+
: foreach(group, DefaultAttribute.zIndex, (item) => {
|
|
20956
|
+
if (drawContext.break) {
|
|
20957
|
+
return;
|
|
20958
|
+
}
|
|
20959
|
+
if (item.isContainer) {
|
|
20960
|
+
this.renderGroup(item, drawContext, nextM);
|
|
20961
|
+
}
|
|
20962
|
+
else {
|
|
20963
|
+
this.renderItem(item, drawContext);
|
|
20964
|
+
}
|
|
20965
|
+
}, false, !!((_a = drawContext.context) === null || _a === void 0 ? void 0 : _a.camera));
|
|
20966
|
+
};
|
|
20874
20967
|
this.currentRenderMap = new Map();
|
|
20875
20968
|
this.defaultRenderMap = new Map();
|
|
20876
20969
|
this.styleRenderMap = new Map();
|
|
@@ -20931,10 +21024,10 @@ let DefaultDrawContribution = class DefaultDrawContribution {
|
|
|
20931
21024
|
dirtyBounds.y2 = Math.ceil(dirtyBounds.y2 * context.dpr) / context.dpr;
|
|
20932
21025
|
}
|
|
20933
21026
|
this.backupDirtyBounds.copy(dirtyBounds);
|
|
20934
|
-
context.
|
|
21027
|
+
context.save();
|
|
21028
|
+
context.reset(false);
|
|
20935
21029
|
context.setClearMatrix(transMatrix.a, transMatrix.b, transMatrix.c, transMatrix.d, transMatrix.e, transMatrix.f);
|
|
20936
|
-
context.clearMatrix();
|
|
20937
|
-
context.setTransformForCurrent(true);
|
|
21030
|
+
context.clearMatrix(false);
|
|
20938
21031
|
context.translate(viewBox.x1, viewBox.y1, true);
|
|
20939
21032
|
context.beginPath();
|
|
20940
21033
|
context.rect(dirtyBounds.x1, dirtyBounds.y1, dirtyBounds.width(), dirtyBounds.height());
|
|
@@ -20944,7 +21037,6 @@ let DefaultDrawContribution = class DefaultDrawContribution {
|
|
|
20944
21037
|
this.backupDirtyBounds.setValue(-Infinity, -Infinity, Infinity, Infinity);
|
|
20945
21038
|
}
|
|
20946
21039
|
this.clearScreen(renderService, context, drawContext);
|
|
20947
|
-
context.save();
|
|
20948
21040
|
renderService.renderTreeRoots
|
|
20949
21041
|
.sort((a, b) => {
|
|
20950
21042
|
var _a, _b;
|
|
@@ -20956,8 +21048,6 @@ let DefaultDrawContribution = class DefaultDrawContribution {
|
|
|
20956
21048
|
: this.renderItem(group, drawContext);
|
|
20957
21049
|
});
|
|
20958
21050
|
context.restore();
|
|
20959
|
-
context.setClearMatrix(1, 0, 0, 1, 0, 0);
|
|
20960
|
-
context.inuse = false;
|
|
20961
21051
|
context.draw();
|
|
20962
21052
|
}
|
|
20963
21053
|
doRegister() {
|
|
@@ -20998,33 +21088,13 @@ let DefaultDrawContribution = class DefaultDrawContribution {
|
|
|
20998
21088
|
nextM = matrixAllocate.allocateByObj(parentMatrix).multiply(gm.a, gm.b, gm.c, gm.d, gm.e, gm.f);
|
|
20999
21089
|
this.dirtyBounds.copy(this.backupDirtyBounds).transformWithMatrix(nextM.getInverse());
|
|
21000
21090
|
}
|
|
21091
|
+
drawContext.isGroupScroll = !!(group.attribute.scrollX || group.attribute.scrollY);
|
|
21001
21092
|
this.renderItem(group, drawContext, {
|
|
21002
|
-
|
|
21003
|
-
|
|
21004
|
-
|
|
21005
|
-
|
|
21006
|
-
|
|
21007
|
-
return;
|
|
21008
|
-
}
|
|
21009
|
-
if (item.isContainer) {
|
|
21010
|
-
this.renderGroup(item, drawContext, nextM);
|
|
21011
|
-
}
|
|
21012
|
-
else {
|
|
21013
|
-
this.renderItem(item, drawContext);
|
|
21014
|
-
}
|
|
21015
|
-
})
|
|
21016
|
-
: foreach(group, DefaultAttribute.zIndex, (item) => {
|
|
21017
|
-
if (drawContext.break) {
|
|
21018
|
-
return;
|
|
21019
|
-
}
|
|
21020
|
-
if (item.isContainer) {
|
|
21021
|
-
this.renderGroup(item, drawContext, nextM);
|
|
21022
|
-
}
|
|
21023
|
-
else {
|
|
21024
|
-
this.renderItem(item, drawContext);
|
|
21025
|
-
}
|
|
21026
|
-
}, false, !!((_a = drawContext.context) === null || _a === void 0 ? void 0 : _a.camera));
|
|
21027
|
-
}
|
|
21093
|
+
renderInGroupParams: {
|
|
21094
|
+
skipSort,
|
|
21095
|
+
nextM
|
|
21096
|
+
},
|
|
21097
|
+
renderInGroup: this._renderInGroup
|
|
21028
21098
|
});
|
|
21029
21099
|
if (this.useDirtyBounds) {
|
|
21030
21100
|
this.dirtyBounds.copy(tempBounds);
|
|
@@ -21093,17 +21163,15 @@ let DefaultDrawContribution = class DefaultDrawContribution {
|
|
|
21093
21163
|
if (!renderer) {
|
|
21094
21164
|
return;
|
|
21095
21165
|
}
|
|
21096
|
-
let retrans =
|
|
21166
|
+
let retrans = false;
|
|
21097
21167
|
let tempBounds;
|
|
21098
|
-
if (
|
|
21168
|
+
if (drawContext.isGroupScroll) {
|
|
21099
21169
|
const { scrollX = 0, scrollY = 0 } = graphic.parent.attribute;
|
|
21100
|
-
|
|
21101
|
-
|
|
21102
|
-
|
|
21103
|
-
this.scrollMatrix = matrixAllocate.allocate(1, 0, 0, 1, 0, 0);
|
|
21104
|
-
}
|
|
21105
|
-
this.scrollMatrix.translate(-scrollX, -scrollY);
|
|
21170
|
+
retrans = true;
|
|
21171
|
+
if (!this.scrollMatrix) {
|
|
21172
|
+
this.scrollMatrix = matrixAllocate.allocate(1, 0, 0, 1, 0, 0);
|
|
21106
21173
|
}
|
|
21174
|
+
this.scrollMatrix.translate(-scrollX, -scrollY);
|
|
21107
21175
|
}
|
|
21108
21176
|
if (retrans) {
|
|
21109
21177
|
tempBounds = this.dirtyBounds.clone().transformWithMatrix(this.scrollMatrix);
|
|
@@ -21923,7 +21991,7 @@ class Stage extends Group {
|
|
|
21923
21991
|
return this._eventSystem;
|
|
21924
21992
|
}
|
|
21925
21993
|
constructor(params = {}) {
|
|
21926
|
-
var _a;
|
|
21994
|
+
var _a, _b;
|
|
21927
21995
|
super({});
|
|
21928
21996
|
this.tickedBeforeRender = true;
|
|
21929
21997
|
this._onVisibleChange = (visible) => {
|
|
@@ -21955,12 +22023,8 @@ class Stage extends Group {
|
|
|
21955
22023
|
this.tickedBeforeRender = false;
|
|
21956
22024
|
};
|
|
21957
22025
|
this.afterTickCb = () => {
|
|
21958
|
-
var _a;
|
|
21959
22026
|
this.tickedBeforeRender = true;
|
|
21960
|
-
|
|
21961
|
-
else {
|
|
21962
|
-
this.state !== 'rendering' && this.render();
|
|
21963
|
-
}
|
|
22027
|
+
this.state !== 'rendering' && this.render();
|
|
21964
22028
|
};
|
|
21965
22029
|
this.params = params;
|
|
21966
22030
|
this.theme = new Theme();
|
|
@@ -22019,7 +22083,7 @@ class Stage extends Group {
|
|
|
22019
22083
|
this.supportInteractiveLayer = params.interactiveLayer !== false;
|
|
22020
22084
|
if (!params.optimize) {
|
|
22021
22085
|
params.optimize = {
|
|
22022
|
-
|
|
22086
|
+
tickRenderMode: 'performance'
|
|
22023
22087
|
};
|
|
22024
22088
|
}
|
|
22025
22089
|
this.optmize(params.optimize);
|
|
@@ -22027,10 +22091,15 @@ class Stage extends Group {
|
|
|
22027
22091
|
this.setAttributes({ background: this._background });
|
|
22028
22092
|
}
|
|
22029
22093
|
this.initAnimate(params);
|
|
22094
|
+
this.rafId = (_b = params.rafId) !== null && _b !== void 0 ? _b : Math.floor(Math.random() * 6);
|
|
22030
22095
|
}
|
|
22031
22096
|
initAnimate(params) {
|
|
22097
|
+
var _a;
|
|
22032
22098
|
if (this.createTicker && this.createTimeline) {
|
|
22033
22099
|
this.ticker = params.ticker || this.createTicker(this);
|
|
22100
|
+
if (((_a = this.params.optimize) === null || _a === void 0 ? void 0 : _a.tickRenderMode) !== 'effect') {
|
|
22101
|
+
this.ticker.setFPS(30);
|
|
22102
|
+
}
|
|
22034
22103
|
this.timeline = this.createTimeline();
|
|
22035
22104
|
this.ticker.addTimeline(this.timeline);
|
|
22036
22105
|
this.ticker.on('tick', this.afterTickCb);
|
|
@@ -22390,7 +22459,7 @@ class Stage extends Group {
|
|
|
22390
22459
|
}
|
|
22391
22460
|
if (!this.willNextFrameRender) {
|
|
22392
22461
|
this.willNextFrameRender = true;
|
|
22393
|
-
this.global.
|
|
22462
|
+
this.global.getSpecifiedRequestAnimationFrame(this.rafId)(() => {
|
|
22394
22463
|
this._doRenderInThisFrame(), (this.willNextFrameRender = false);
|
|
22395
22464
|
});
|
|
22396
22465
|
}
|
|
@@ -22698,6 +22767,11 @@ let EmptyContext2d = class EmptyContext2d {
|
|
|
22698
22767
|
this.resetTransform();
|
|
22699
22768
|
this.restore();
|
|
22700
22769
|
}
|
|
22770
|
+
reset() {
|
|
22771
|
+
this.matrix.setValue(1, 0, 0, 1, 0, 0);
|
|
22772
|
+
this.applyedMatrix = new Matrix(1, 0, 0, 1, 0, 0);
|
|
22773
|
+
this.stack.length = 0;
|
|
22774
|
+
}
|
|
22701
22775
|
restore() {
|
|
22702
22776
|
if (this.stack.length > 0) {
|
|
22703
22777
|
matrixAllocate.free(this.matrix);
|
|
@@ -24383,30 +24457,6 @@ const splitPath = (path, count) => {
|
|
|
24383
24457
|
return res;
|
|
24384
24458
|
};
|
|
24385
24459
|
|
|
24386
|
-
class PerformanceRAF {
|
|
24387
|
-
constructor() {
|
|
24388
|
-
this.nextAnimationFrameCbs = [];
|
|
24389
|
-
this.runAnimationFrame = (time) => {
|
|
24390
|
-
const cbs = this.nextAnimationFrameCbs;
|
|
24391
|
-
this.nextAnimationFrameCbs = [];
|
|
24392
|
-
for (let i = 0; i < cbs.length; i++) {
|
|
24393
|
-
cbs[i](time);
|
|
24394
|
-
}
|
|
24395
|
-
};
|
|
24396
|
-
this.tryRunAnimationFrameNextFrame = () => {
|
|
24397
|
-
if (!(this.nextAnimationFrameCbs && this.nextAnimationFrameCbs.length === 1)) {
|
|
24398
|
-
return;
|
|
24399
|
-
}
|
|
24400
|
-
vglobal.getRequestAnimationFrame()(this.runAnimationFrame);
|
|
24401
|
-
};
|
|
24402
|
-
}
|
|
24403
|
-
addAnimationFrameCb(callback) {
|
|
24404
|
-
this.nextAnimationFrameCbs.push(callback);
|
|
24405
|
-
this.tryRunAnimationFrameNextFrame();
|
|
24406
|
-
return this.nextAnimationFrameCbs.length - 1;
|
|
24407
|
-
}
|
|
24408
|
-
}
|
|
24409
|
-
|
|
24410
24460
|
function getDefaultCharacterConfig(attribute) {
|
|
24411
24461
|
const { fill = 'black', stroke = false, fontWeight = 'normal', lineHeight, fontFamily = 'Arial', textAlign } = attribute;
|
|
24412
24462
|
let { fontSize = 12 } = attribute;
|
|
@@ -33,6 +33,7 @@ export declare class EmptyContext2d implements IContext2d {
|
|
|
33
33
|
get currentMatrix(): Matrix;
|
|
34
34
|
cloneMatrix(m: Matrix): IMatrix;
|
|
35
35
|
clear(): void;
|
|
36
|
+
reset(): void;
|
|
36
37
|
restore(): void;
|
|
37
38
|
highPerformanceRestore(): void;
|
|
38
39
|
rotate(rad: number, setTransform?: boolean): void;
|
|
@@ -49,6 +49,10 @@ let EmptyContext2d = class {
|
|
|
49
49
|
clear() {
|
|
50
50
|
this.save(), this.resetTransform(), this.restore();
|
|
51
51
|
}
|
|
52
|
+
reset() {
|
|
53
|
+
this.matrix.setValue(1, 0, 0, 1, 0, 0), this.applyedMatrix = new Matrix(1, 0, 0, 1, 0, 0),
|
|
54
|
+
this.stack.length = 0;
|
|
55
|
+
}
|
|
52
56
|
restore() {
|
|
53
57
|
this.stack.length > 0 && (matrixAllocate.free(this.matrix), this.matrix = this.stack.pop(),
|
|
54
58
|
this.setTransformForCurrent());
|