@visactor/vrender-core 1.1.12 → 1.1.13
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/conical-gradient.js +1 -1
- package/cjs/canvas/constants.js +1 -1
- package/cjs/canvas/empty-context.js +1 -1
- package/cjs/canvas/index.js +1 -1
- package/cjs/canvas/util.js +1 -1
- package/cjs/common/bezier-utils.js +1 -2
- package/cjs/common/contribution-store-state.js +2 -1
- package/cjs/common/path-svg.js +1 -2
- package/cjs/common/render-command-list.js +2 -1
- package/cjs/common/seg-context.js +1 -1
- package/cjs/common/simplify.js +1 -1
- package/cjs/common/sort.js +1 -1
- package/cjs/common/split-path.js +1 -1
- package/cjs/common/text.js +1 -1
- package/cjs/core/contributions/layerHandler/modules.js +4 -2
- package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
- package/cjs/core/stage.d.ts +10 -3
- package/cjs/core/stage.js +39 -20
- package/cjs/core/stage.js.map +1 -1
- package/cjs/event/event-manager.d.ts +29 -1
- package/cjs/event/event-manager.js +161 -42
- package/cjs/event/event-manager.js.map +1 -1
- package/cjs/event/event-system.d.ts +19 -3
- package/cjs/event/event-system.js +110 -62
- package/cjs/event/event-system.js.map +1 -1
- package/cjs/event/federated-event/base-event.js +3 -1
- package/cjs/event/federated-event/base-event.js.map +1 -1
- package/cjs/event/input-source.d.ts +7 -0
- package/cjs/event/input-source.js +37 -0
- package/cjs/event/input-source.js.map +1 -0
- package/cjs/interface/event.d.ts +9 -0
- package/cjs/interface/event.js.map +1 -1
- package/cjs/interface/stage.d.ts +10 -2
- package/cjs/interface/stage.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.js +13 -3
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/dist/index.es.js +622 -145
- package/es/canvas/conical-gradient.js +1 -1
- package/es/canvas/constants.js +1 -1
- package/es/canvas/empty-context.js +1 -1
- package/es/canvas/index.js +1 -1
- package/es/canvas/util.js +1 -1
- package/es/common/bezier-utils.js +1 -2
- package/es/common/contribution-store-state.js +2 -1
- package/es/common/path-svg.js +1 -2
- package/es/common/render-command-list.js +2 -1
- package/es/common/seg-context.js +1 -1
- package/es/common/simplify.js +1 -1
- package/es/common/sort.js +1 -1
- package/es/common/split-path.js +1 -1
- package/es/common/text.js +1 -1
- package/es/core/contributions/layerHandler/modules.js +6 -2
- package/es/core/contributions/layerHandler/modules.js.map +1 -1
- package/es/core/stage.d.ts +10 -3
- package/es/core/stage.js +40 -21
- package/es/core/stage.js.map +1 -1
- package/es/event/event-manager.d.ts +29 -1
- package/es/event/event-manager.js +162 -41
- package/es/event/event-manager.js.map +1 -1
- package/es/event/event-system.d.ts +19 -3
- package/es/event/event-system.js +110 -62
- package/es/event/event-system.js.map +1 -1
- package/es/event/federated-event/base-event.js +2 -1
- package/es/event/federated-event/base-event.js.map +1 -1
- package/es/event/input-source.d.ts +7 -0
- package/es/event/input-source.js +29 -0
- package/es/event/input-source.js.map +1 -0
- package/es/interface/event.d.ts +9 -0
- package/es/interface/event.js.map +1 -1
- package/es/interface/stage.d.ts +10 -2
- package/es/interface/stage.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.js +12 -3
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/package.json +1 -1
|
@@ -123,4 +123,4 @@ export function createConicalGradient(context, stops, x, y, deltaAngle, startAng
|
|
|
123
123
|
pattern && ConicalPatternStore.Set(stops, x, y, startAngle, endAngle, pattern, width, height),
|
|
124
124
|
pattern;
|
|
125
125
|
}
|
|
126
|
-
//# sourceMappingURL=conical-gradient.js.map
|
|
126
|
+
//# sourceMappingURL=conical-gradient.js.map
|
package/es/canvas/constants.js
CHANGED
package/es/canvas/index.js
CHANGED
package/es/canvas/util.js
CHANGED
|
@@ -10,4 +10,5 @@ export function getContributionStoreState() {
|
|
|
10
10
|
const scope = globalThis;
|
|
11
11
|
return scope[CONTRIBUTION_STORE_STATE_SYMBOL] || (scope[CONTRIBUTION_STORE_STATE_SYMBOL] = createContributionStoreState()),
|
|
12
12
|
scope[CONTRIBUTION_STORE_STATE_SYMBOL];
|
|
13
|
-
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=contribution-store-state.js.map
|
package/es/common/path-svg.js
CHANGED
package/es/common/seg-context.js
CHANGED
package/es/common/simplify.js
CHANGED
|
@@ -30,4 +30,4 @@ export function flatten_simplify(points, tolerance, highestQuality) {
|
|
|
30
30
|
if (points.length <= 10) return points;
|
|
31
31
|
return points = highestQuality ? points : simplifyRadialDist(points, void 0 !== tolerance ? tolerance * tolerance : 1);
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=simplify.js.map
|
|
33
|
+
//# sourceMappingURL=simplify.js.map
|
package/es/common/sort.js
CHANGED
package/es/common/split-path.js
CHANGED
package/es/common/text.js
CHANGED
|
@@ -24,4 +24,4 @@ export function textAttributesToStyle(attrs) {
|
|
|
24
24
|
attrs.underline ? style["text-decoration"] = "underline" : attrs.lineThrough && (style["text-decoration"] = "line-through"),
|
|
25
25
|
attrs.fill && isString(attrs.fill) && (style.color = attrs.fill), style;
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=text.js.map
|
|
27
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { StaticLayerHandlerContribution } from "../../constants";
|
|
1
|
+
import { StaticLayerHandlerContribution, VirtualLayerHandlerContribution } from "../../constants";
|
|
2
2
|
|
|
3
3
|
import { CanvasLayerHandlerContribution } from "./canvas2d-contribution";
|
|
4
4
|
|
|
5
|
+
import { EmptyLayerHandlerContribution } from "./empty-contribution";
|
|
6
|
+
|
|
5
7
|
export function bindLayerHandlerModules({bind: bind}) {
|
|
6
|
-
bind(CanvasLayerHandlerContribution).toSelf(), bind(
|
|
8
|
+
bind(CanvasLayerHandlerContribution).toSelf(), bind(EmptyLayerHandlerContribution).toSelf(),
|
|
9
|
+
bind(StaticLayerHandlerContribution).toService(CanvasLayerHandlerContribution),
|
|
10
|
+
bind(VirtualLayerHandlerContribution).toService(EmptyLayerHandlerContribution);
|
|
7
11
|
}
|
|
8
12
|
|
|
9
13
|
export default bindLayerHandlerModules;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/contributions/layerHandler/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,8BAA8B,
|
|
1
|
+
{"version":3,"sources":["../src/core/contributions/layerHandler/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAGrE,MAAM,UAAU,uBAAuB,CAAC,EAAE,IAAI,EAAiB;IAC7D,IAAI,CAAC,8BAA8B,CAAC,CAAC,MAAM,EAAE,CAAC;IAE9C,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7C,IAAI,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;IAE/E,IAAI,CAAC,+BAA+B,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;AAQjF,CAAC;AAED,eAAe,uBAAuB,CAAC","file":"modules.js","sourcesContent":["import {\n // DynamicLayerHandlerContribution,\n StaticLayerHandlerContribution,\n VirtualLayerHandlerContribution\n} from '../../constants';\nimport { CanvasLayerHandlerContribution } from './canvas2d-contribution';\nimport { EmptyLayerHandlerContribution } from './empty-contribution';\n// import { OffscreenLayerHandlerContribution } from './offscreen2d-contribution';\n\nexport function bindLayerHandlerModules({ bind }: { bind: any }) {\n bind(CanvasLayerHandlerContribution).toSelf();\n // bind(OffscreenLayerHandlerContribution).toSelf();\n bind(EmptyLayerHandlerContribution).toSelf();\n bind(StaticLayerHandlerContribution).toService(CanvasLayerHandlerContribution);\n // bind(DynamicLayerHandlerContribution).toService(OffscreenLayerHandlerContribution);\n bind(VirtualLayerHandlerContribution).toService(EmptyLayerHandlerContribution);\n // try {\n // if (typeof OffscreenCanvas === 'function') {\n // bind(LayerHandlerContribution).toService(OffscreenLayerHandlerContribution);\n // }\n // } catch (err) {\n // bind(LayerHandlerContribution).toService(CanvasLayerHandlerContribution);\n // }\n}\n\nexport default bindLayerHandlerModules;\n"]}
|
package/es/core/stage.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type IAABBBounds, type IBounds, type IBoundsLike, type IMatrix } from '@visactor/vutils';
|
|
2
|
-
import type { IGraphic, IExportType, IStage, IStageParams, ILayer, IColor, IOption3D, ICamera, vec3, IDirectionLight, ITicker, IRenderService, IPickerService, IPluginService, ISyncHook, IDrawContext, IWindow, ILayerService, ITimeline, IOptimizeType, LayerMode, PickResult, IPlugin, IGraphicService, IRenderServiceDrawParams } from '../interface';
|
|
2
|
+
import type { IGraphic, IExportType, IStage, IStageParams, ILayer, IColor, IOption3D, ICamera, vec3, IDirectionLight, ITicker, IRenderService, IPickerService, IPluginService, ISyncHook, IDrawContext, IWindow, ILayerService, ITimeline, IOptimizeType, LayerMode, PickResult, IPlugin, IGraphicService, IRenderServiceDrawParams, IRenderToOptions } from '../interface';
|
|
3
3
|
import type { Layer } from './layer';
|
|
4
|
+
import { FederatedMouseEvent } from '../event';
|
|
4
5
|
import { Group } from '../graphic/group';
|
|
5
6
|
import { type IStageFactoryDeps } from '../factory';
|
|
6
7
|
import { type SharedStateScope } from '../graphic/state/shared-state-scope';
|
|
@@ -147,6 +148,7 @@ export declare class Stage extends Group implements IStage {
|
|
|
147
148
|
sortLayer(cb: (ILayer1: ILayer, layer2: ILayer) => number): void;
|
|
148
149
|
removeLayer(ILayerId: number): ILayer | false;
|
|
149
150
|
tryInitInteractiveLayer(): void;
|
|
151
|
+
private prepareRenderLayers;
|
|
150
152
|
clearViewBox(color?: string): void;
|
|
151
153
|
render(layers?: ILayer[], params?: Partial<IDrawContext>): void;
|
|
152
154
|
protected combineLayersToWindow(): void;
|
|
@@ -168,12 +170,17 @@ export declare class Stage extends Group implements IStage {
|
|
|
168
170
|
setStage(stage?: IStage): void;
|
|
169
171
|
dirty(b: IBounds, matrix?: IMatrix): void;
|
|
170
172
|
getLayer(name: string): undefined | ILayer;
|
|
171
|
-
renderTo(window: IWindow
|
|
173
|
+
renderTo(window: IWindow, _params?: {
|
|
174
|
+
x: number;
|
|
175
|
+
y: number;
|
|
176
|
+
width: number;
|
|
177
|
+
height: number;
|
|
178
|
+
}, options?: IRenderToOptions): void;
|
|
172
179
|
renderToNewWindow(fullImage?: boolean, viewBox?: IAABBBounds): IWindow;
|
|
173
180
|
toCanvas(fullImage?: boolean, viewBox?: IAABBBounds): HTMLCanvasElement | null;
|
|
174
181
|
setCursor(mode?: string): void;
|
|
175
182
|
getCursor(): string;
|
|
176
|
-
eventPointTransform(e: PointerEvent | WheelEvent | TouchEvent): {
|
|
183
|
+
eventPointTransform(e: PointerEvent | WheelEvent | TouchEvent | FederatedMouseEvent): {
|
|
177
184
|
x: number;
|
|
178
185
|
y: number;
|
|
179
186
|
};
|
package/es/core/stage.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Bounds, Point, isString } from "@visactor/vutils";
|
|
|
2
2
|
|
|
3
3
|
import { DefaultWindow } from "./window";
|
|
4
4
|
|
|
5
|
-
import { EventSystem } from "../event";
|
|
5
|
+
import { EventSystem, FederatedMouseEvent } from "../event";
|
|
6
6
|
|
|
7
7
|
import { Group } from "../graphic/group";
|
|
8
8
|
|
|
@@ -381,31 +381,37 @@ export class Stage extends Group {
|
|
|
381
381
|
layerMode: layerMode,
|
|
382
382
|
canvasId: canvasId
|
|
383
383
|
});
|
|
384
|
-
return this.appendChild(layer), layer
|
|
384
|
+
return this.appendChild(layer), this.interactiveLayer && layer !== this.interactiveLayer && this.appendChild(this.interactiveLayer),
|
|
385
|
+
layer;
|
|
385
386
|
}
|
|
386
387
|
sortLayer(cb) {
|
|
387
388
|
const children = this.children;
|
|
388
389
|
children.sort(cb), this.removeAllChild(), children.forEach((c => {
|
|
389
390
|
this.appendChild(c);
|
|
390
|
-
}));
|
|
391
|
+
})), this.interactiveLayer && this.appendChild(this.interactiveLayer);
|
|
391
392
|
}
|
|
392
393
|
removeLayer(ILayerId) {
|
|
393
394
|
return this.removeChild(this.findChildByUid(ILayerId));
|
|
394
395
|
}
|
|
395
396
|
tryInitInteractiveLayer() {
|
|
396
|
-
"released" !== this.releaseStatus && this.supportInteractiveLayer && !this.interactiveLayer && (this.interactiveLayer = this.createLayer(),
|
|
397
|
+
"released" !== this.releaseStatus && this.supportInteractiveLayer && !this.interactiveLayer && (this.interactiveLayer = this.createLayer(void 0, this.params.interactiveLayerMode),
|
|
397
398
|
this.interactiveLayer.name = "_builtin_interactive", this.interactiveLayer.attribute.pickable = !1,
|
|
398
399
|
this.nextFrameRenderLayerSet.add(this.interactiveLayer));
|
|
399
400
|
}
|
|
401
|
+
prepareRenderLayers() {
|
|
402
|
+
"virtual" === this.params.interactiveLayerMode && this.tryInitInteractiveLayer(),
|
|
403
|
+
this.layerService.prepareStageLayer(this);
|
|
404
|
+
}
|
|
400
405
|
clearViewBox(color) {
|
|
401
406
|
this.window.clearViewBox(color);
|
|
402
407
|
}
|
|
403
408
|
render(layers, params) {
|
|
404
409
|
if ("released" === this.releaseStatus) return;
|
|
410
|
+
if (this.params.requestRender) return void this.params.requestRender();
|
|
405
411
|
this.startAnimate();
|
|
406
412
|
const state = this.state;
|
|
407
|
-
this.state = "rendering", this.
|
|
408
|
-
this.
|
|
413
|
+
this.state = "rendering", this._skipRender || (this.lastRenderparams = params, this.hooks.beforeRender.call(this),
|
|
414
|
+
this._skipRender || (this.prepareRenderLayers(), this.renderLayerList(this.children),
|
|
409
415
|
this.combineLayersToWindow(), this.nextFrameRenderLayerSet.clear()), this.hooks.afterRender.call(this)),
|
|
410
416
|
this.state = state, this._skipRender && this._skipRender++;
|
|
411
417
|
}
|
|
@@ -421,11 +427,11 @@ export class Stage extends Group {
|
|
|
421
427
|
}
|
|
422
428
|
}
|
|
423
429
|
renderNextFrame(layers, force) {
|
|
424
|
-
this.nextFrameRenderLayerSet.size !== this.childrenCount && (layers || this).forEach((layer => {
|
|
430
|
+
"released" !== this.releaseStatus && (this.params.requestRender ? "rendering" !== this.state && this.params.requestRender() : (this.nextFrameRenderLayerSet.size !== this.childrenCount && (layers || this).forEach((layer => {
|
|
425
431
|
this.nextFrameRenderLayerSet.add(layer);
|
|
426
432
|
})), this.willNextFrameRender || (this.willNextFrameRender = !0, this.global.getSpecifiedRequestAnimationFrame(this.rafId)((() => {
|
|
427
433
|
this._doRenderInThisFrame(), this.willNextFrameRender = !1;
|
|
428
|
-
})));
|
|
434
|
+
})))));
|
|
429
435
|
}
|
|
430
436
|
ensureRootSharedStateScope(themeStateDefinitions) {
|
|
431
437
|
return this.rootSharedStateScope ? (this.rootSharedStateScope.ownerStage = this,
|
|
@@ -436,8 +442,8 @@ export class Stage extends Group {
|
|
|
436
442
|
if ("released" === this.releaseStatus) return;
|
|
437
443
|
this.startAnimate();
|
|
438
444
|
const state = this.state;
|
|
439
|
-
this.state = "rendering", this.
|
|
440
|
-
this._skipRender || (this.renderLayerList(Array.from(this.nextFrameRenderLayerSet.values()), this.lastRenderparams || {}),
|
|
445
|
+
this.state = "rendering", this.nextFrameRenderLayerSet.size && !this._skipRender && (this.hooks.beforeRender.call(this),
|
|
446
|
+
this._skipRender || (this.prepareRenderLayers(), this.renderLayerList(Array.from(this.nextFrameRenderLayerSet.values()), this.lastRenderparams || {}),
|
|
441
447
|
this.combineLayersToWindow(), this.nextFrameRenderLayerSet.clear()), this.hooks.afterRender.call(this)),
|
|
442
448
|
this.state = state, this._skipRender && this._skipRender++;
|
|
443
449
|
}
|
|
@@ -536,17 +542,26 @@ export class Stage extends Group {
|
|
|
536
542
|
getLayer(name) {
|
|
537
543
|
return this.children.filter((layer => layer.name === name))[0];
|
|
538
544
|
}
|
|
539
|
-
renderTo(window) {
|
|
540
|
-
"released"
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
545
|
+
renderTo(window, _params, options) {
|
|
546
|
+
if ("released" === this.releaseStatus) return;
|
|
547
|
+
const state = this.state;
|
|
548
|
+
this.state = "rendering";
|
|
549
|
+
try {
|
|
550
|
+
this.params.requestRender && this.hooks.beforeRender.call(this), this.prepareRenderLayers(),
|
|
551
|
+
this.forEachChildren(((layer, i) => {
|
|
552
|
+
var _a, _b;
|
|
553
|
+
layer.drawTo(window, {
|
|
554
|
+
renderService: this.renderService,
|
|
555
|
+
viewBox: null !== (_a = null == options ? void 0 : options.viewBox) && void 0 !== _a ? _a : window.getViewBox(),
|
|
556
|
+
transMatrix: null !== (_b = null == options ? void 0 : options.transMatrix) && void 0 !== _b ? _b : window.getViewBoxTransform(),
|
|
557
|
+
background: layer === this.defaultLayer ? this.background : void 0,
|
|
558
|
+
clear: 0 === i && !1 !== (null == options ? void 0 : options.clear),
|
|
559
|
+
updateBounds: !(!this.dirtyBounds || this.dirtyBounds.empty())
|
|
560
|
+
});
|
|
561
|
+
})), this.params.requestRender && this.hooks.afterRender.call(this);
|
|
562
|
+
} finally {
|
|
563
|
+
this.state = state;
|
|
564
|
+
}
|
|
550
565
|
}
|
|
551
566
|
renderToNewWindow(fullImage = !0, viewBox) {
|
|
552
567
|
if ("released" === this.releaseStatus) return;
|
|
@@ -578,6 +593,10 @@ export class Stage extends Group {
|
|
|
578
593
|
return this._cursor;
|
|
579
594
|
}
|
|
580
595
|
eventPointTransform(e) {
|
|
596
|
+
if (e instanceof FederatedMouseEvent) return {
|
|
597
|
+
x: e.viewX,
|
|
598
|
+
y: e.viewY
|
|
599
|
+
};
|
|
581
600
|
const point = this.global.mapToCanvasPoint(e, this.window);
|
|
582
601
|
return this.stage.window.pointTransform(point.x, point.y);
|
|
583
602
|
}
|