@visactor/vrender-kits 0.9.0-alpha.0
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/README.md +9 -0
- package/cjs/canvas/contributions/canvas-module.d.ts +2 -0
- package/cjs/canvas/contributions/canvas-module.js +20 -0
- package/cjs/canvas/contributions/canvas-module.js.map +1 -0
- package/cjs/canvas/contributions/node/canvas.d.ts +44 -0
- package/cjs/canvas/contributions/node/canvas.js +100 -0
- package/cjs/canvas/contributions/node/canvas.js.map +1 -0
- package/cjs/canvas/contributions/node/context.d.ts +7 -0
- package/cjs/canvas/contributions/node/context.js +30 -0
- package/cjs/canvas/contributions/node/context.js.map +1 -0
- package/cjs/canvas/contributions/node/index.d.ts +2 -0
- package/cjs/canvas/contributions/node/index.js +21 -0
- package/cjs/canvas/contributions/node/index.js.map +1 -0
- package/cjs/canvas/contributions/node/modules.d.ts +3 -0
- package/cjs/canvas/contributions/node/modules.js +13 -0
- package/cjs/canvas/contributions/node/modules.js.map +1 -0
- package/cjs/canvas/index.d.ts +1 -0
- package/cjs/canvas/index.js +6 -0
- package/cjs/canvas/index.js.map +1 -0
- package/cjs/env/contributions/module.d.ts +3 -0
- package/cjs/env/contributions/module.js +12 -0
- package/cjs/env/contributions/module.js.map +1 -0
- package/cjs/env/contributions/node-contribution.d.ts +47 -0
- package/cjs/env/contributions/node-contribution.js +118 -0
- package/cjs/env/contributions/node-contribution.js.map +1 -0
- package/cjs/index-node.d.ts +5 -0
- package/cjs/index-node.js +25 -0
- package/cjs/index-node.js.map +1 -0
- package/cjs/index.d.ts +4 -0
- package/cjs/index.js +16 -0
- package/cjs/index.js.map +1 -0
- package/cjs/node-bind.d.ts +2 -0
- package/cjs/node-bind.js +20 -0
- package/cjs/node-bind.js.map +1 -0
- package/cjs/render/contributions/render-module.d.ts +1 -0
- package/cjs/render/contributions/render-module.js +1 -0
- package/cjs/render/contributions/render-module.js.map +1 -0
- package/cjs/render/contributions/rough/config.d.ts +2 -0
- package/cjs/render/contributions/rough/config.js +28 -0
- package/cjs/render/contributions/rough/config.js.map +1 -0
- package/cjs/render/contributions/rough/module.d.ts +3 -0
- package/cjs/render/contributions/rough/module.js +18 -0
- package/cjs/render/contributions/rough/module.js.map +1 -0
- package/cjs/render/contributions/rough/rough-arc.d.ts +10 -0
- package/cjs/render/contributions/rough/rough-arc.js +75 -0
- package/cjs/render/contributions/rough/rough-arc.js.map +1 -0
- package/cjs/render/contributions/rough/rough-area.d.ts +8 -0
- package/cjs/render/contributions/rough/rough-area.js +67 -0
- package/cjs/render/contributions/rough/rough-area.js.map +1 -0
- package/cjs/render/contributions/rough/rough-circle.d.ts +10 -0
- package/cjs/render/contributions/rough/rough-circle.js +55 -0
- package/cjs/render/contributions/rough/rough-circle.js.map +1 -0
- package/cjs/render/contributions/rough/rough-line.d.ts +8 -0
- package/cjs/render/contributions/rough/rough-line.js +68 -0
- package/cjs/render/contributions/rough/rough-line.js.map +1 -0
- package/cjs/render/contributions/rough/rough-path.d.ts +10 -0
- package/cjs/render/contributions/rough/rough-path.js +73 -0
- package/cjs/render/contributions/rough/rough-path.js.map +1 -0
- package/cjs/render/contributions/rough/rough-rect.d.ts +10 -0
- package/cjs/render/contributions/rough/rough-rect.js +77 -0
- package/cjs/render/contributions/rough/rough-rect.js.map +1 -0
- package/cjs/render/contributions/rough/rough-symbol.d.ts +10 -0
- package/cjs/render/contributions/rough/rough-symbol.js +79 -0
- package/cjs/render/contributions/rough/rough-symbol.js.map +1 -0
- package/cjs/window/contributions/modules.d.ts +3 -0
- package/cjs/window/contributions/modules.js +13 -0
- package/cjs/window/contributions/modules.js.map +1 -0
- package/cjs/window/contributions/node-contribution.d.ts +38 -0
- package/cjs/window/contributions/node-contribution.js +109 -0
- package/cjs/window/contributions/node-contribution.js.map +1 -0
- package/dist/vrender-kits.js.js +1 -0
- package/dist/vrender-kits.js.min.js +1 -0
- package/es/canvas/contributions/canvas-module.d.ts +2 -0
- package/es/canvas/contributions/canvas-module.js +6 -0
- package/es/canvas/contributions/canvas-module.js.map +1 -0
- package/es/canvas/contributions/node/canvas.d.ts +44 -0
- package/es/canvas/contributions/node/canvas.js +99 -0
- package/es/canvas/contributions/node/canvas.js.map +1 -0
- package/es/canvas/contributions/node/context.d.ts +7 -0
- package/es/canvas/contributions/node/context.js +31 -0
- package/es/canvas/contributions/node/context.js.map +1 -0
- package/es/canvas/contributions/node/index.d.ts +2 -0
- package/es/canvas/contributions/node/index.js +4 -0
- package/es/canvas/contributions/node/index.js.map +1 -0
- package/es/canvas/contributions/node/modules.d.ts +3 -0
- package/es/canvas/contributions/node/modules.js +13 -0
- package/es/canvas/contributions/node/modules.js.map +1 -0
- package/es/canvas/index.d.ts +1 -0
- package/es/canvas/index.js +2 -0
- package/es/canvas/index.js.map +1 -0
- package/es/env/contributions/module.d.ts +3 -0
- package/es/env/contributions/module.js +10 -0
- package/es/env/contributions/module.js.map +1 -0
- package/es/env/contributions/node-contribution.d.ts +47 -0
- package/es/env/contributions/node-contribution.js +94 -0
- package/es/env/contributions/node-contribution.js.map +1 -0
- package/es/index-node.d.ts +5 -0
- package/es/index-node.js +11 -0
- package/es/index-node.js.map +1 -0
- package/es/index.d.ts +4 -0
- package/es/index.js +10 -0
- package/es/index.js.map +1 -0
- package/es/node-bind.d.ts +2 -0
- package/es/node-bind.js +10 -0
- package/es/node-bind.js.map +1 -0
- package/es/render/contributions/render-module.d.ts +1 -0
- package/es/render/contributions/render-module.js +1 -0
- package/es/render/contributions/render-module.js.map +1 -0
- package/es/render/contributions/rough/config.d.ts +2 -0
- package/es/render/contributions/rough/config.js +24 -0
- package/es/render/contributions/rough/config.js.map +1 -0
- package/es/render/contributions/rough/module.d.ts +3 -0
- package/es/render/contributions/rough/module.js +28 -0
- package/es/render/contributions/rough/module.js.map +1 -0
- package/es/render/contributions/rough/rough-arc.d.ts +10 -0
- package/es/render/contributions/rough/rough-arc.js +71 -0
- package/es/render/contributions/rough/rough-arc.js.map +1 -0
- package/es/render/contributions/rough/rough-area.d.ts +8 -0
- package/es/render/contributions/rough/rough-area.js +64 -0
- package/es/render/contributions/rough/rough-area.js.map +1 -0
- package/es/render/contributions/rough/rough-circle.d.ts +10 -0
- package/es/render/contributions/rough/rough-circle.js +48 -0
- package/es/render/contributions/rough/rough-circle.js.map +1 -0
- package/es/render/contributions/rough/rough-line.d.ts +8 -0
- package/es/render/contributions/rough/rough-line.js +65 -0
- package/es/render/contributions/rough/rough-line.js.map +1 -0
- package/es/render/contributions/rough/rough-path.d.ts +10 -0
- package/es/render/contributions/rough/rough-path.js +69 -0
- package/es/render/contributions/rough/rough-path.js.map +1 -0
- package/es/render/contributions/rough/rough-rect.d.ts +10 -0
- package/es/render/contributions/rough/rough-rect.js +73 -0
- package/es/render/contributions/rough/rough-rect.js.map +1 -0
- package/es/render/contributions/rough/rough-symbol.d.ts +10 -0
- package/es/render/contributions/rough/rough-symbol.js +75 -0
- package/es/render/contributions/rough/rough-symbol.js.map +1 -0
- package/es/window/contributions/modules.d.ts +3 -0
- package/es/window/contributions/modules.js +10 -0
- package/es/window/contributions/modules.js.map +1 -0
- package/es/window/contributions/node-contribution.d.ts +38 -0
- package/es/window/contributions/node-contribution.js +107 -0
- package/es/window/contributions/node-contribution.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
+
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
+
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
}, __metadata = this && this.__metadata || function(k, v) {
|
|
8
|
+
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
9
|
+
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
10
|
+
return function(target, key) {
|
|
11
|
+
decorator(target, key, paramIndex);
|
|
12
|
+
};
|
|
13
|
+
}, __importDefault = this && this.__importDefault || function(mod) {
|
|
14
|
+
return mod && mod.__esModule ? mod : {
|
|
15
|
+
default: mod
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
Object.defineProperty(exports, "__esModule", {
|
|
20
|
+
value: !0
|
|
21
|
+
}), exports.RoughCanvasRectRender = void 0;
|
|
22
|
+
|
|
23
|
+
const inversify_1 = require("inversify"), vrender_1 = require("@visactor/vrender"), roughjs_1 = __importDefault(require("roughjs")), config_1 = require("./config");
|
|
24
|
+
|
|
25
|
+
let RoughCanvasRectRender = class {
|
|
26
|
+
constructor(canvasRenderer) {
|
|
27
|
+
this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "rect",
|
|
28
|
+
this.numberType = vrender_1.RECT_NUMBER_TYPE;
|
|
29
|
+
}
|
|
30
|
+
draw(rect, renderService, drawContext, params) {
|
|
31
|
+
const {context: context} = drawContext;
|
|
32
|
+
if (!context) return;
|
|
33
|
+
const canvas = context.canvas.nativeCanvas, rc = roughjs_1.default.canvas(canvas);
|
|
34
|
+
context.highPerformanceSave();
|
|
35
|
+
const rectAttribute = (0, vrender_1.getTheme)(rect).rect;
|
|
36
|
+
let {x: x = rectAttribute.x, y: y = rectAttribute.y} = rect.attribute;
|
|
37
|
+
if (rect.transMatrix.onlyTranslate()) {
|
|
38
|
+
const {dx: dx = rectAttribute.dx, dy: dy = rectAttribute.dy} = rect.attribute;
|
|
39
|
+
x += dx, y += dy, context.setTransformForCurrent();
|
|
40
|
+
} else x = 0, y = 0, context.transformFromMatrix(rect.transMatrix, !0);
|
|
41
|
+
const {fill: fill = (null == rectAttribute.fill ? !!rect.attribute.fillColor : rectAttribute.fill), stroke: stroke = (null == rectAttribute.stroke ? !!rect.attribute.strokeColor : rectAttribute.stroke), fillColor: fillColor = rectAttribute.fillColor, strokeColor: strokeColor = rectAttribute.strokeColor, width: width = rectAttribute.width, height: height = rectAttribute.height, lineWidth: lineWidth = rectAttribute.lineWidth, maxRandomnessOffset: maxRandomnessOffset = config_1.defaultRouthThemeSpec.maxRandomnessOffset, roughness: roughness = config_1.defaultRouthThemeSpec.roughness, bowing: bowing = config_1.defaultRouthThemeSpec.bowing, curveFitting: curveFitting = config_1.defaultRouthThemeSpec.curveFitting, curveTightness: curveTightness = config_1.defaultRouthThemeSpec.curveTightness, curveStepCount: curveStepCount = config_1.defaultRouthThemeSpec.curveStepCount, fillStyle: fillStyle = config_1.defaultRouthThemeSpec.fillStyle, fillWeight: fillWeight = config_1.defaultRouthThemeSpec.fillWeight, hachureAngle: hachureAngle = config_1.defaultRouthThemeSpec.hachureAngle, hachureGap: hachureGap = config_1.defaultRouthThemeSpec.hachureGap, simplification: simplification = config_1.defaultRouthThemeSpec.simplification, dashOffset: dashOffset = config_1.defaultRouthThemeSpec.dashOffset, dashGap: dashGap = config_1.defaultRouthThemeSpec.dashGap, zigzagOffset: zigzagOffset = config_1.defaultRouthThemeSpec.zigzagOffset, seed: seed = config_1.defaultRouthThemeSpec.seed, fillLineDash: fillLineDash = config_1.defaultRouthThemeSpec.fillLineDash, fillLineDashOffset: fillLineDashOffset = config_1.defaultRouthThemeSpec.fillLineDashOffset, disableMultiStroke: disableMultiStroke = config_1.defaultRouthThemeSpec.disableMultiStroke, disableMultiStrokeFill: disableMultiStrokeFill = config_1.defaultRouthThemeSpec.disableMultiStrokeFill, preserveVertices: preserveVertices = config_1.defaultRouthThemeSpec.preserveVertices, fixedDecimalPlaceDigits: fixedDecimalPlaceDigits = config_1.defaultRouthThemeSpec.fixedDecimalPlaceDigits} = rect.attribute;
|
|
42
|
+
rc.rectangle(x, y, width, height, {
|
|
43
|
+
fill: fill ? fillColor : void 0,
|
|
44
|
+
stroke: stroke ? strokeColor : void 0,
|
|
45
|
+
strokeWidth: lineWidth,
|
|
46
|
+
maxRandomnessOffset: maxRandomnessOffset,
|
|
47
|
+
roughness: roughness,
|
|
48
|
+
bowing: bowing,
|
|
49
|
+
curveFitting: curveFitting,
|
|
50
|
+
curveTightness: curveTightness,
|
|
51
|
+
curveStepCount: curveStepCount,
|
|
52
|
+
fillStyle: fillStyle,
|
|
53
|
+
fillWeight: fillWeight,
|
|
54
|
+
hachureAngle: hachureAngle,
|
|
55
|
+
hachureGap: hachureGap,
|
|
56
|
+
simplification: simplification,
|
|
57
|
+
dashOffset: dashOffset,
|
|
58
|
+
dashGap: dashGap,
|
|
59
|
+
zigzagOffset: zigzagOffset,
|
|
60
|
+
seed: seed,
|
|
61
|
+
fillLineDash: fillLineDash,
|
|
62
|
+
fillLineDashOffset: fillLineDashOffset,
|
|
63
|
+
disableMultiStroke: disableMultiStroke,
|
|
64
|
+
disableMultiStrokeFill: disableMultiStrokeFill,
|
|
65
|
+
preserveVertices: preserveVertices,
|
|
66
|
+
fixedDecimalPlaceDigits: fixedDecimalPlaceDigits
|
|
67
|
+
}), context.highPerformanceRestore();
|
|
68
|
+
}
|
|
69
|
+
drawShape(graphic, ctx, x, y, drawContext, params, fillCb, strokeCb) {
|
|
70
|
+
if (this.canvasRenderer.drawShape) return this.canvasRenderer.drawShape(graphic, ctx, x, y, drawContext, params, fillCb, strokeCb);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
RoughCanvasRectRender = __decorate([ (0, inversify_1.injectable)(), __param(0, (0,
|
|
75
|
+
inversify_1.inject)(vrender_1.DefaultCanvasRectRender)), __metadata("design:paramtypes", [ Object ]) ], RoughCanvasRectRender),
|
|
76
|
+
exports.RoughCanvasRectRender = RoughCanvasRectRender;
|
|
77
|
+
//# sourceMappingURL=rough-rect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/rough/rough-rect.ts"],"names":[],"mappings":"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","file":"rough-rect.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport type {\n IGraphicRender,\n IRenderService,\n IRect,\n IGraphicAttribute,\n IContext2d,\n IGraphic,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IGraphicRenderDrawParams\n} from '@visactor/vrender';\nimport { RECT_NUMBER_TYPE, DefaultCanvasRectRender, getTheme } from '@visactor/vrender';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\n\n@injectable()\nexport class RoughCanvasRectRender implements IGraphicRender {\n type: 'rect';\n numberType: number;\n style: 'rough' = 'rough';\n\n constructor(\n @inject(DefaultCanvasRectRender)\n public readonly canvasRenderer: IGraphicRender\n ) {\n this.type = 'rect';\n this.numberType = RECT_NUMBER_TYPE;\n }\n\n draw(rect: IRect, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n // 获取到原生canvas\n const canvas = context.canvas.nativeCanvas;\n const rc = rough.canvas(canvas);\n\n context.highPerformanceSave();\n\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect).rect;\n let { x = rectAttribute.x, y = rectAttribute.y } = rect.attribute;\n if (!rect.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.transformFromMatrix(rect.transMatrix, true);\n } else {\n const { dx = rectAttribute.dx, dy = rectAttribute.dy } = rect.attribute;\n x += dx;\n y += dy;\n // 当前context有rotate/scale,重置matrix\n context.setTransformForCurrent();\n }\n\n const {\n fill = rectAttribute.fill == null ? !!rect.attribute.fillColor : rectAttribute.fill,\n stroke = rectAttribute.stroke == null ? !!rect.attribute.strokeColor : rectAttribute.stroke,\n fillColor = rectAttribute.fillColor,\n strokeColor = rectAttribute.strokeColor,\n width = rectAttribute.width,\n height = rectAttribute.height,\n lineWidth = rectAttribute.lineWidth,\n maxRandomnessOffset = defaultRouthThemeSpec.maxRandomnessOffset,\n roughness = defaultRouthThemeSpec.roughness,\n bowing = defaultRouthThemeSpec.bowing,\n curveFitting = defaultRouthThemeSpec.curveFitting,\n curveTightness = defaultRouthThemeSpec.curveTightness,\n curveStepCount = defaultRouthThemeSpec.curveStepCount,\n fillStyle = defaultRouthThemeSpec.fillStyle,\n fillWeight = defaultRouthThemeSpec.fillWeight,\n hachureAngle = defaultRouthThemeSpec.hachureAngle,\n hachureGap = defaultRouthThemeSpec.hachureGap,\n simplification = defaultRouthThemeSpec.simplification,\n dashOffset = defaultRouthThemeSpec.dashOffset,\n dashGap = defaultRouthThemeSpec.dashGap,\n zigzagOffset = defaultRouthThemeSpec.zigzagOffset,\n seed = defaultRouthThemeSpec.seed,\n fillLineDash = defaultRouthThemeSpec.fillLineDash,\n fillLineDashOffset = defaultRouthThemeSpec.fillLineDashOffset,\n disableMultiStroke = defaultRouthThemeSpec.disableMultiStroke,\n disableMultiStrokeFill = defaultRouthThemeSpec.disableMultiStrokeFill,\n preserveVertices = defaultRouthThemeSpec.preserveVertices,\n fixedDecimalPlaceDigits = defaultRouthThemeSpec.fixedDecimalPlaceDigits\n } = rect.attribute as any;\n rc.rectangle(x, y, width, height, {\n fill: fill ? (fillColor as string) : undefined,\n stroke: stroke ? (strokeColor as string) : undefined,\n strokeWidth: lineWidth,\n maxRandomnessOffset,\n roughness,\n bowing,\n curveFitting,\n curveTightness,\n curveStepCount,\n fillStyle,\n fillWeight,\n hachureAngle,\n hachureGap,\n simplification,\n dashOffset,\n dashGap,\n zigzagOffset,\n seed,\n fillLineDash,\n fillLineDashOffset,\n disableMultiStroke,\n disableMultiStrokeFill,\n preserveVertices,\n fixedDecimalPlaceDigits\n });\n\n context.highPerformanceRestore();\n }\n\n drawShape(\n graphic: IGraphic,\n ctx: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ): void {\n if (this.canvasRenderer.drawShape) {\n return this.canvasRenderer.drawShape(graphic, ctx, x, y, drawContext, params, fillCb, strokeCb);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IGraphicRender, IRenderService, ISymbol, IGraphicAttribute, IContext2d, IGraphic, IMarkAttribute, IThemeAttribute, IDrawContext, IGraphicRenderDrawParams } from '@visactor/vrender';
|
|
2
|
+
export declare class RoughCanvasSymbolRender implements IGraphicRender {
|
|
3
|
+
readonly canvasRenderer: IGraphicRender;
|
|
4
|
+
type: 'symbol';
|
|
5
|
+
numberType: number;
|
|
6
|
+
style: 'rough';
|
|
7
|
+
constructor(canvasRenderer: IGraphicRender);
|
|
8
|
+
draw(symbol: ISymbol, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
|
|
9
|
+
drawShape(graphic: IGraphic, ctx: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
+
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
+
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
}, __metadata = this && this.__metadata || function(k, v) {
|
|
8
|
+
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
9
|
+
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
10
|
+
return function(target, key) {
|
|
11
|
+
decorator(target, key, paramIndex);
|
|
12
|
+
};
|
|
13
|
+
}, __importDefault = this && this.__importDefault || function(mod) {
|
|
14
|
+
return mod && mod.__esModule ? mod : {
|
|
15
|
+
default: mod
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
Object.defineProperty(exports, "__esModule", {
|
|
20
|
+
value: !0
|
|
21
|
+
}), exports.RoughCanvasSymbolRender = void 0;
|
|
22
|
+
|
|
23
|
+
const inversify_1 = require("inversify"), vrender_1 = require("@visactor/vrender"), roughjs_1 = __importDefault(require("roughjs")), config_1 = require("./config");
|
|
24
|
+
|
|
25
|
+
let RoughCanvasSymbolRender = class {
|
|
26
|
+
constructor(canvasRenderer) {
|
|
27
|
+
this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "symbol",
|
|
28
|
+
this.numberType = vrender_1.SYMBOL_NUMBER_TYPE;
|
|
29
|
+
}
|
|
30
|
+
draw(symbol, renderService, drawContext, params) {
|
|
31
|
+
const {context: context} = drawContext;
|
|
32
|
+
if (!context) return;
|
|
33
|
+
const canvas = context.canvas.nativeCanvas, rc = roughjs_1.default.canvas(canvas);
|
|
34
|
+
context.highPerformanceSave();
|
|
35
|
+
const symbolAttribute = (0, vrender_1.getTheme)(symbol).symbol;
|
|
36
|
+
let {x: x = symbolAttribute.x, y: y = symbolAttribute.y} = symbol.attribute;
|
|
37
|
+
if (symbol.transMatrix.onlyTranslate()) {
|
|
38
|
+
const {dx: dx = symbolAttribute.dx, dy: dy = symbolAttribute.dy} = symbol.attribute;
|
|
39
|
+
x += dx, y += dy, context.setTransformForCurrent();
|
|
40
|
+
} else x = 0, y = 0, context.transformFromMatrix(symbol.transMatrix, !0);
|
|
41
|
+
const parsedPath = symbol.getParsedPath();
|
|
42
|
+
if (!parsedPath) return;
|
|
43
|
+
const {fill: fill = (null == symbolAttribute.fill ? !!symbol.attribute.fillColor : symbolAttribute.fill), stroke: stroke = (null == symbolAttribute.stroke ? !!symbol.attribute.strokeColor : symbolAttribute.stroke), fillColor: fillColor = symbolAttribute.fillColor, strokeColor: strokeColor = symbolAttribute.strokeColor, size: size = symbolAttribute.size, lineWidth: lineWidth = symbolAttribute.lineWidth, maxRandomnessOffset: maxRandomnessOffset = config_1.defaultRouthThemeSpec.maxRandomnessOffset, roughness: roughness = config_1.defaultRouthThemeSpec.roughness, bowing: bowing = config_1.defaultRouthThemeSpec.bowing, curveFitting: curveFitting = config_1.defaultRouthThemeSpec.curveFitting, curveTightness: curveTightness = config_1.defaultRouthThemeSpec.curveTightness, curveStepCount: curveStepCount = config_1.defaultRouthThemeSpec.curveStepCount, fillStyle: fillStyle = config_1.defaultRouthThemeSpec.fillStyle, fillWeight: fillWeight = config_1.defaultRouthThemeSpec.fillWeight, hachureAngle: hachureAngle = config_1.defaultRouthThemeSpec.hachureAngle, hachureGap: hachureGap = config_1.defaultRouthThemeSpec.hachureGap, simplification: simplification = config_1.defaultRouthThemeSpec.simplification, dashOffset: dashOffset = config_1.defaultRouthThemeSpec.dashOffset, dashGap: dashGap = config_1.defaultRouthThemeSpec.dashGap, zigzagOffset: zigzagOffset = config_1.defaultRouthThemeSpec.zigzagOffset, seed: seed = config_1.defaultRouthThemeSpec.seed, fillLineDash: fillLineDash = config_1.defaultRouthThemeSpec.fillLineDash, fillLineDashOffset: fillLineDashOffset = config_1.defaultRouthThemeSpec.fillLineDashOffset, disableMultiStroke: disableMultiStroke = config_1.defaultRouthThemeSpec.disableMultiStroke, disableMultiStrokeFill: disableMultiStrokeFill = config_1.defaultRouthThemeSpec.disableMultiStrokeFill, preserveVertices: preserveVertices = config_1.defaultRouthThemeSpec.preserveVertices, fixedDecimalPlaceDigits: fixedDecimalPlaceDigits = config_1.defaultRouthThemeSpec.fixedDecimalPlaceDigits} = symbol.attribute, customPath = new vrender_1.CustomPath2D;
|
|
44
|
+
parsedPath.draw(customPath, size, x, y) && customPath.closePath(), rc.path(customPath.toString(), {
|
|
45
|
+
fill: fill ? fillColor : void 0,
|
|
46
|
+
stroke: stroke ? strokeColor : void 0,
|
|
47
|
+
strokeWidth: lineWidth,
|
|
48
|
+
maxRandomnessOffset: maxRandomnessOffset,
|
|
49
|
+
roughness: roughness,
|
|
50
|
+
bowing: bowing,
|
|
51
|
+
curveFitting: curveFitting,
|
|
52
|
+
curveTightness: curveTightness,
|
|
53
|
+
curveStepCount: curveStepCount,
|
|
54
|
+
fillStyle: fillStyle,
|
|
55
|
+
fillWeight: fillWeight,
|
|
56
|
+
hachureAngle: hachureAngle,
|
|
57
|
+
hachureGap: hachureGap,
|
|
58
|
+
simplification: simplification,
|
|
59
|
+
dashOffset: dashOffset,
|
|
60
|
+
dashGap: dashGap,
|
|
61
|
+
zigzagOffset: zigzagOffset,
|
|
62
|
+
seed: seed,
|
|
63
|
+
fillLineDash: fillLineDash,
|
|
64
|
+
fillLineDashOffset: fillLineDashOffset,
|
|
65
|
+
disableMultiStroke: disableMultiStroke,
|
|
66
|
+
disableMultiStrokeFill: disableMultiStrokeFill,
|
|
67
|
+
preserveVertices: preserveVertices,
|
|
68
|
+
fixedDecimalPlaceDigits: fixedDecimalPlaceDigits
|
|
69
|
+
}), context.highPerformanceRestore();
|
|
70
|
+
}
|
|
71
|
+
drawShape(graphic, ctx, x, y, drawContext, params, fillCb, strokeCb) {
|
|
72
|
+
if (this.canvasRenderer.drawShape) return this.canvasRenderer.drawShape(graphic, ctx, x, y, drawContext, params, fillCb, strokeCb);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
RoughCanvasSymbolRender = __decorate([ (0, inversify_1.injectable)(), __param(0, (0,
|
|
77
|
+
inversify_1.inject)(vrender_1.DefaultCanvasSymbolRender)), __metadata("design:paramtypes", [ Object ]) ], RoughCanvasSymbolRender),
|
|
78
|
+
exports.RoughCanvasSymbolRender = RoughCanvasSymbolRender;
|
|
79
|
+
//# sourceMappingURL=rough-symbol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/rough/rough-symbol.ts"],"names":[],"mappings":"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","file":"rough-symbol.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport type {\n IGraphicRender,\n IRenderService,\n ISymbol,\n IGraphicAttribute,\n IContext2d,\n IGraphic,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IGraphicRenderDrawParams\n} from '@visactor/vrender';\nimport { SYMBOL_NUMBER_TYPE, DefaultCanvasSymbolRender, getTheme, CustomPath2D } from '@visactor/vrender';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\n\n@injectable()\nexport class RoughCanvasSymbolRender implements IGraphicRender {\n type: 'symbol';\n numberType: number;\n style: 'rough' = 'rough';\n\n constructor(\n @inject(DefaultCanvasSymbolRender)\n public readonly canvasRenderer: IGraphicRender\n ) {\n this.type = 'symbol';\n this.numberType = SYMBOL_NUMBER_TYPE;\n }\n\n draw(symbol: ISymbol, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n // 获取到原生canvas\n const canvas = context.canvas.nativeCanvas;\n const rc = rough.canvas(canvas);\n\n context.highPerformanceSave();\n\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const symbolAttribute = getTheme(symbol).symbol;\n let { x = symbolAttribute.x, y = symbolAttribute.y } = symbol.attribute;\n if (!symbol.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.transformFromMatrix(symbol.transMatrix, true);\n } else {\n const { dx = symbolAttribute.dx, dy = symbolAttribute.dy } = symbol.attribute;\n x += dx;\n y += dy;\n // 当前context有rotate/scale,重置matrix\n context.setTransformForCurrent();\n }\n\n const parsedPath = symbol.getParsedPath();\n // todo: 考虑使用path\n if (!parsedPath) {\n return;\n }\n\n const {\n fill = symbolAttribute.fill == null ? !!symbol.attribute.fillColor : symbolAttribute.fill,\n stroke = symbolAttribute.stroke == null ? !!symbol.attribute.strokeColor : symbolAttribute.stroke,\n fillColor = symbolAttribute.fillColor,\n strokeColor = symbolAttribute.strokeColor,\n size = symbolAttribute.size,\n lineWidth = symbolAttribute.lineWidth,\n maxRandomnessOffset = defaultRouthThemeSpec.maxRandomnessOffset,\n roughness = defaultRouthThemeSpec.roughness,\n bowing = defaultRouthThemeSpec.bowing,\n curveFitting = defaultRouthThemeSpec.curveFitting,\n curveTightness = defaultRouthThemeSpec.curveTightness,\n curveStepCount = defaultRouthThemeSpec.curveStepCount,\n fillStyle = defaultRouthThemeSpec.fillStyle,\n fillWeight = defaultRouthThemeSpec.fillWeight,\n hachureAngle = defaultRouthThemeSpec.hachureAngle,\n hachureGap = defaultRouthThemeSpec.hachureGap,\n simplification = defaultRouthThemeSpec.simplification,\n dashOffset = defaultRouthThemeSpec.dashOffset,\n dashGap = defaultRouthThemeSpec.dashGap,\n zigzagOffset = defaultRouthThemeSpec.zigzagOffset,\n seed = defaultRouthThemeSpec.seed,\n fillLineDash = defaultRouthThemeSpec.fillLineDash,\n fillLineDashOffset = defaultRouthThemeSpec.fillLineDashOffset,\n disableMultiStroke = defaultRouthThemeSpec.disableMultiStroke,\n disableMultiStrokeFill = defaultRouthThemeSpec.disableMultiStrokeFill,\n preserveVertices = defaultRouthThemeSpec.preserveVertices,\n fixedDecimalPlaceDigits = defaultRouthThemeSpec.fixedDecimalPlaceDigits\n } = symbol.attribute as any;\n\n const customPath = new CustomPath2D();\n if (parsedPath.draw(customPath, size, x, y)) {\n customPath.closePath();\n }\n\n rc.path(customPath.toString(), {\n fill: fill ? (fillColor as string) : undefined,\n stroke: stroke ? (strokeColor as string) : undefined,\n strokeWidth: lineWidth,\n maxRandomnessOffset,\n roughness,\n bowing,\n curveFitting,\n curveTightness,\n curveStepCount,\n fillStyle,\n fillWeight,\n hachureAngle,\n hachureGap,\n simplification,\n dashOffset,\n dashGap,\n zigzagOffset,\n seed,\n fillLineDash,\n fillLineDashOffset,\n disableMultiStroke,\n disableMultiStrokeFill,\n preserveVertices,\n fixedDecimalPlaceDigits\n });\n\n context.highPerformanceRestore();\n }\n\n drawShape(\n graphic: IGraphic,\n ctx: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ): void {\n if (this.canvasRenderer.drawShape) {\n return this.canvasRenderer.drawShape(graphic, ctx, x, y, drawContext, params, fillCb, strokeCb);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
const inversify_1 = require("inversify"), vrender_1 = require("@visactor/vrender"), node_contribution_1 = require("./node-contribution");
|
|
8
|
+
|
|
9
|
+
exports.default = new inversify_1.ContainerModule((bind => {
|
|
10
|
+
bind(node_contribution_1.NodeWindowHandlerContribution).toSelf().inSingletonScope(),
|
|
11
|
+
bind(vrender_1.WindowHandlerContribution).toService(node_contribution_1.NodeWindowHandlerContribution);
|
|
12
|
+
}));
|
|
13
|
+
//# sourceMappingURL=modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/window/contributions/modules.ts"],"names":[],"mappings":";;AAAA,yCAA4C;AAC5C,+CAAwF;AACxF,2DAAoE;AAEpE,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACxC,IAAI,CAAC,iDAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,mCAAyB,CAAC,CAAC,SAAS,CAAC,iDAA6B,CAAC,CAAC;AAE3E,CAAC,CAAC,CAAC","file":"modules.js","sourcesContent":["import { ContainerModule } from 'inversify';\nimport { bindContributionProvider, WindowHandlerContribution } from '@visactor/vrender';\nimport { NodeWindowHandlerContribution } from './node-contribution';\n\nexport default new ContainerModule(bind => {\n bind(NodeWindowHandlerContribution).toSelf().inSingletonScope();\n bind(WindowHandlerContribution).toService(NodeWindowHandlerContribution);\n // bindContributionProvider(bind, WindowHandlerContribution);\n});\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { EnvType, IGlobal, IWindowHandlerContribution, IWindowParams, IContext2d, ICanvas, IDomRectLike } from '@visactor/vrender';
|
|
2
|
+
import { BaseWindowHandlerContribution } from '@visactor/vrender';
|
|
3
|
+
import type { IBoundsLike } from '@visactor/vutils';
|
|
4
|
+
export declare class NodeWindowHandlerContribution extends BaseWindowHandlerContribution implements IWindowHandlerContribution {
|
|
5
|
+
private readonly global;
|
|
6
|
+
type: EnvType;
|
|
7
|
+
canvas: ICanvas;
|
|
8
|
+
get container(): HTMLElement | null;
|
|
9
|
+
constructor(global: IGlobal);
|
|
10
|
+
getTitle(): string;
|
|
11
|
+
getWH(): {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
};
|
|
15
|
+
getXY(): {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
};
|
|
19
|
+
createWindow(params: IWindowParams): void;
|
|
20
|
+
private createWindowByConfig;
|
|
21
|
+
private createWindowByCanvas;
|
|
22
|
+
releaseWindow(): void;
|
|
23
|
+
resizeWindow(width: number, height: number): void;
|
|
24
|
+
setDpr(dpr: number): void;
|
|
25
|
+
getContext(): IContext2d;
|
|
26
|
+
getNativeHandler(): ICanvas;
|
|
27
|
+
getDpr(): number;
|
|
28
|
+
getImageBuffer(type?: string): any;
|
|
29
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
30
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
31
|
+
dispatchEvent(event: any): boolean;
|
|
32
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
33
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
34
|
+
getStyle(): CSSStyleDeclaration | Record<string, any>;
|
|
35
|
+
setStyle(style: CSSStyleDeclaration | Record<string, any>): void;
|
|
36
|
+
getBoundingClientRect(): IDomRectLike;
|
|
37
|
+
clearViewBox(vb: IBoundsLike, color?: string): void;
|
|
38
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
+
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
+
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
}, __metadata = this && this.__metadata || function(k, v) {
|
|
8
|
+
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
9
|
+
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
10
|
+
return function(target, key) {
|
|
11
|
+
decorator(target, key, paramIndex);
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
Object.defineProperty(exports, "__esModule", {
|
|
16
|
+
value: !0
|
|
17
|
+
}), exports.NodeWindowHandlerContribution = void 0;
|
|
18
|
+
|
|
19
|
+
const inversify_1 = require("inversify"), vrender_1 = require("@visactor/vrender"), canvas_1 = require("../../canvas/contributions/node/canvas");
|
|
20
|
+
|
|
21
|
+
let NodeWindowHandlerContribution = class extends vrender_1.BaseWindowHandlerContribution {
|
|
22
|
+
get container() {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
constructor(global) {
|
|
26
|
+
super(), this.global = global, this.type = "node";
|
|
27
|
+
}
|
|
28
|
+
getTitle() {
|
|
29
|
+
return "";
|
|
30
|
+
}
|
|
31
|
+
getWH() {
|
|
32
|
+
return {
|
|
33
|
+
width: this.canvas.displayWidth,
|
|
34
|
+
height: this.canvas.displayHeight
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
getXY() {
|
|
38
|
+
return {
|
|
39
|
+
x: 0,
|
|
40
|
+
y: 0
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
createWindow(params) {
|
|
44
|
+
params.canvas ? this.createWindowByCanvas(params) : this.createWindowByConfig(params);
|
|
45
|
+
}
|
|
46
|
+
createWindowByConfig(params) {
|
|
47
|
+
const nativeCanvas = this.global.createCanvas({
|
|
48
|
+
width: params.width,
|
|
49
|
+
height: params.height
|
|
50
|
+
}), options = {
|
|
51
|
+
width: params.width,
|
|
52
|
+
height: params.height,
|
|
53
|
+
dpr: params.dpr,
|
|
54
|
+
nativeCanvas: nativeCanvas,
|
|
55
|
+
id: vrender_1.Generator.GenAutoIncrementId().toString(),
|
|
56
|
+
canvasControled: !0
|
|
57
|
+
};
|
|
58
|
+
this.canvas = new canvas_1.NodeCanvas(options);
|
|
59
|
+
}
|
|
60
|
+
createWindowByCanvas(params) {
|
|
61
|
+
const canvas = params.canvas;
|
|
62
|
+
let width = params.width, height = params.height;
|
|
63
|
+
null != width && null != height && params.canvasControled || (width = canvas.width,
|
|
64
|
+
height = canvas.height), this.canvas = new canvas_1.NodeCanvas({
|
|
65
|
+
width: width,
|
|
66
|
+
height: height,
|
|
67
|
+
dpr: 1,
|
|
68
|
+
nativeCanvas: canvas,
|
|
69
|
+
canvasControled: params.canvasControled
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
releaseWindow() {
|
|
73
|
+
this.canvas.release();
|
|
74
|
+
}
|
|
75
|
+
resizeWindow(width, height) {
|
|
76
|
+
this.canvas.resize(width, height);
|
|
77
|
+
}
|
|
78
|
+
setDpr(dpr) {
|
|
79
|
+
this.canvas.dpr = dpr;
|
|
80
|
+
}
|
|
81
|
+
getContext() {
|
|
82
|
+
return this.canvas.getContext();
|
|
83
|
+
}
|
|
84
|
+
getNativeHandler() {
|
|
85
|
+
return this.canvas;
|
|
86
|
+
}
|
|
87
|
+
getDpr() {
|
|
88
|
+
return this.canvas.dpr;
|
|
89
|
+
}
|
|
90
|
+
getImageBuffer(type = "image/png") {
|
|
91
|
+
return this.canvas.nativeCanvas.toBuffer(type);
|
|
92
|
+
}
|
|
93
|
+
addEventListener(type, listener, options) {}
|
|
94
|
+
dispatchEvent(event) {
|
|
95
|
+
return !0;
|
|
96
|
+
}
|
|
97
|
+
removeEventListener(type, listener, options) {}
|
|
98
|
+
getStyle() {}
|
|
99
|
+
setStyle(style) {}
|
|
100
|
+
getBoundingClientRect() {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
clearViewBox(vb, color) {}
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
NodeWindowHandlerContribution = __decorate([ (0, inversify_1.injectable)(), __param(0, (0,
|
|
107
|
+
inversify_1.inject)(vrender_1.Global)), __metadata("design:paramtypes", [ Object ]) ], NodeWindowHandlerContribution),
|
|
108
|
+
exports.NodeWindowHandlerContribution = NodeWindowHandlerContribution;
|
|
109
|
+
//# sourceMappingURL=node-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/window/contributions/node-contribution.ts"],"names":[],"mappings":"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","file":"node-contribution.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport type {\n EnvType,\n IGlobal,\n IWindowHandlerContribution,\n IWindowParams,\n IContext2d,\n ICanvas,\n IDomRectLike\n} from '@visactor/vrender';\nimport { Generator, Global, BaseWindowHandlerContribution } from '@visactor/vrender';\nimport { NodeCanvas } from '../../canvas/contributions/node/canvas';\nimport type { IBoundsLike } from '@visactor/vutils';\n\n@injectable()\nexport class NodeWindowHandlerContribution extends BaseWindowHandlerContribution implements IWindowHandlerContribution {\n type: EnvType = 'node';\n\n canvas: ICanvas;\n get container(): HTMLElement | null {\n return null;\n }\n\n constructor(@inject(Global) private readonly global: IGlobal) {\n super();\n }\n\n getTitle(): string {\n return '';\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.displayWidth,\n height: this.canvas.displayHeight\n };\n }\n\n getXY(): { x: number; y: number } {\n return { x: 0, y: 0 };\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n }\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({ width: params.width, height: params.height });\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n id: Generator.GenAutoIncrementId().toString(),\n canvasControled: true\n };\n this.canvas = new NodeCanvas(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n const canvas = params!.canvas as HTMLCanvasElement | null;\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n width = canvas.width;\n height = canvas.height;\n }\n\n this.canvas = new NodeCanvas({\n width: width,\n height: height,\n dpr: 1,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n }\n releaseWindow(): void {\n this.canvas.release();\n }\n resizeWindow(width: number, height: number): void {\n this.canvas.resize(width, height);\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n getImageBuffer(type: string = 'image/png'): any {\n const canvas = this.canvas.nativeCanvas;\n return canvas.toBuffer(type);\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return;\n }\n\n dispatchEvent(event: any): boolean {\n return true;\n }\n\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return;\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return;\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>): void {\n return;\n }\n\n getBoundingClientRect(): IDomRectLike {\n return null;\n }\n\n clearViewBox(vb: IBoundsLike, color?: string): void {\n return;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@visactor/vrender"),require("@visactor/vutils")):"function"==typeof define&&define.amd?define(["exports","@visactor/vrender","@visactor/vutils"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).VRender=e.VRender||{},e.VRender.Kits={}),e.vrender,e.vutils)}(this,(function(e,t,r){"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(i=n.key,a=void 0,"symbol"==typeof(a=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(i,"string"))?a:String(a)),n)}var i,a}function s(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}function h(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=l(e);if(t){var i=l(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return h(this,r)}}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(e,t):void 0}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=d(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(o)throw a}}}}var g,m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!function(e){!function(t){var r="object"===n(m)?m:"object"===("undefined"==typeof self?"undefined":n(self))?self:"object"===n(this)?this:Function("return this;")(),i=a(e);function a(e,t){return function(r,n){"function"!=typeof e[r]&&Object.defineProperty(e,r,{configurable:!0,writable:!0,value:n}),t&&t(r,n)}}void 0===r.Reflect?r.Reflect=e:i=a(r.Reflect,i),function(e){var t=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,i=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",a=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",s="function"==typeof Object.create,o={__proto__:[]}instanceof Array,l=!s&&!o,u={create:s?function(){return ie(Object.create(null))}:o?function(){return ie({__proto__:null})}:function(){return ie({})},has:l?function(e,r){return t.call(e,r)}:function(e,t){return t in e},get:l?function(e,r){return t.call(e,r)?e[r]:void 0}:function(e,t){return e[t]}},h=Object.getPrototypeOf(Function),f="object"===("undefined"==typeof process?"undefined":n(process))&&process.env&&"true"===process.env.REFLECT_METADATA_USE_MAP_POLYFILL,c=f||"function"!=typeof Map||"function"!=typeof Map.prototype.entries?te():Map,p=f||"function"!=typeof Set||"function"!=typeof Set.prototype.entries?re():Set,d=new(f||"function"!=typeof WeakMap?ne():WeakMap);function v(e,t,r,n){if(W(r)){if(!U(e))throw new TypeError;if(!Y(t))throw new TypeError;return O(e,t)}if(!U(e))throw new TypeError;if(!G(t))throw new TypeError;if(!G(n)&&!W(n)&&!j(n))throw new TypeError;return j(n)&&(n=void 0),_(e,t,r=H(r),n)}function y(e,t){function r(r,n){if(!G(r))throw new TypeError;if(!W(n)&&!K(n))throw new TypeError;L(e,t,r,n)}return r}function g(e,t,r,n){if(!G(r))throw new TypeError;return W(n)||(n=H(n)),L(e,t,r,n)}function m(e,t,r){if(!G(t))throw new TypeError;return W(r)||(r=H(r)),P(e,t,r)}function b(e,t,r){if(!G(t))throw new TypeError;return W(r)||(r=H(r)),T(e,t,r)}function k(e,t,r){if(!G(t))throw new TypeError;return W(r)||(r=H(r)),R(e,t,r)}function M(e,t,r){if(!G(t))throw new TypeError;return W(r)||(r=H(r)),D(e,t,r)}function w(e,t){if(!G(e))throw new TypeError;return W(t)||(t=H(t)),E(e,t)}function S(e,t){if(!G(e))throw new TypeError;return W(t)||(t=H(t)),z(e,t)}function x(e,t,r){if(!G(t))throw new TypeError;W(r)||(r=H(r));var n=C(t,r,!1);if(W(n))return!1;if(!n.delete(e))return!1;if(n.size>0)return!0;var i=d.get(t);return i.delete(r),i.size>0||d.delete(t),!0}function O(e,t){for(var r=e.length-1;r>=0;--r){var n=(0,e[r])(t);if(!W(n)&&!j(n)){if(!Y(n))throw new TypeError;t=n}}return t}function _(e,t,r,n){for(var i=e.length-1;i>=0;--i){var a=(0,e[i])(t,r,n);if(!W(a)&&!j(a)){if(!G(a))throw new TypeError;n=a}}return n}function C(e,t,r){var n=d.get(e);if(W(n)){if(!r)return;n=new c,d.set(e,n)}var i=n.get(t);if(W(i)){if(!r)return;i=new c,n.set(t,i)}return i}function P(e,t,r){if(T(e,t,r))return!0;var n=ee(t);return!j(n)&&P(e,n,r)}function T(e,t,r){var n=C(t,r,!1);return!W(n)&&q(n.has(e))}function R(e,t,r){if(T(e,t,r))return D(e,t,r);var n=ee(t);return j(n)?void 0:R(e,n,r)}function D(e,t,r){var n=C(t,r,!1);if(!W(n))return n.get(e)}function L(e,t,r,n){C(r,n,!0).set(e,t)}function E(e,t){var r=z(e,t),n=ee(e);if(null===n)return r;var i=E(n,t);if(i.length<=0)return r;if(r.length<=0)return i;for(var a=new p,s=[],o=0,l=r;o<l.length;o++){var u=l[o];a.has(u)||(a.add(u),s.push(u))}for(var h=0,f=i;h<f.length;h++){u=f[h];a.has(u)||(a.add(u),s.push(u))}return s}function z(e,t){var r=[],n=C(e,t,!1);if(W(n))return r;for(var i=Q(n.keys()),a=0;;){var s=X(i);if(!s)return r.length=a,r;var o=$(s);try{r[a]=o}catch(e){try{J(i)}finally{throw e}}a++}}function A(e){if(null===e)return 1;switch(n(e)){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===e?1:6;default:return 6}}function W(e){return void 0===e}function j(e){return null===e}function F(e){return"symbol"===n(e)}function G(e){return"object"===n(e)?null!==e:"function"==typeof e}function I(e,t){switch(A(e)){case 0:case 1:case 2:case 3:case 4:case 5:return e}var r=3===t?"string":5===t?"number":"default",n=Z(e,i);if(void 0!==n){var a=n.call(e,r);if(G(a))throw new TypeError;return a}return V(e,"default"===r?"number":r)}function V(e,t){if("string"===t){var r=e.toString;if(N(r))if(!G(i=r.call(e)))return i;if(N(n=e.valueOf))if(!G(i=n.call(e)))return i}else{var n;if(N(n=e.valueOf))if(!G(i=n.call(e)))return i;var i,a=e.toString;if(N(a))if(!G(i=a.call(e)))return i}throw new TypeError}function q(e){return!!e}function B(e){return""+e}function H(e){var t=I(e,3);return F(t)?t:B(t)}function U(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:"[object Array]"===Object.prototype.toString.call(e)}function N(e){return"function"==typeof e}function Y(e){return"function"==typeof e}function K(e){switch(A(e)){case 3:case 4:return!0;default:return!1}}function Z(e,t){var r=e[t];if(null!=r){if(!N(r))throw new TypeError;return r}}function Q(e){var t=Z(e,a);if(!N(t))throw new TypeError;var r=t.call(e);if(!G(r))throw new TypeError;return r}function $(e){return e.value}function X(e){var t=e.next();return!t.done&&t}function J(e){var t=e.return;t&&t.call(e)}function ee(e){var t=Object.getPrototypeOf(e);if("function"!=typeof e||e===h)return t;if(t!==h)return t;var r=e.prototype,n=r&&Object.getPrototypeOf(r);if(null==n||n===Object.prototype)return t;var i=n.constructor;return"function"!=typeof i||i===e?t:i}function te(){var e={},t=[],r=function(){function e(e,t,r){this._index=0,this._keys=e,this._values=t,this._selector=r}return e.prototype["@@iterator"]=function(){return this},e.prototype[a]=function(){return this},e.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var r=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}();return function(){function t(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.has=function(e){return this._find(e,!1)>=0},t.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},t.prototype.set=function(e,t){var r=this._find(e,!0);return this._values[r]=t,this},t.prototype.delete=function(t){var r=this._find(t,!1);if(r>=0){for(var n=this._keys.length,i=r+1;i<n;i++)this._keys[i-1]=this._keys[i],this._values[i-1]=this._values[i];return this._keys.length--,this._values.length--,t===this._cacheKey&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},t.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},t.prototype.keys=function(){return new r(this._keys,this._values,n)},t.prototype.values=function(){return new r(this._keys,this._values,i)},t.prototype.entries=function(){return new r(this._keys,this._values,s)},t.prototype["@@iterator"]=function(){return this.entries()},t.prototype[a]=function(){return this.entries()},t.prototype._find=function(e,t){return this._cacheKey!==e&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=e)),this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},t}();function n(e,t){return e}function i(e,t){return t}function s(e,t){return[e,t]}}function re(){return function(){function e(){this._map=new c}return Object.defineProperty(e.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype["@@iterator"]=function(){return this.keys()},e.prototype[a]=function(){return this.keys()},e}()}function ne(){var e=16,r=u.create(),n=i();return function(){function e(){this._key=i()}return e.prototype.has=function(e){var t=a(e,!1);return void 0!==t&&u.has(t,this._key)},e.prototype.get=function(e){var t=a(e,!1);return void 0!==t?u.get(t,this._key):void 0},e.prototype.set=function(e,t){return a(e,!0)[this._key]=t,this},e.prototype.delete=function(e){var t=a(e,!1);return void 0!==t&&delete t[this._key]},e.prototype.clear=function(){this._key=i()},e}();function i(){var e;do{e="@@WeakMap@@"+l()}while(u.has(r,e));return r[e]=!0,e}function a(e,r){if(!t.call(e,n)){if(!r)return;Object.defineProperty(e,n,{value:u.create()})}return e[n]}function s(e,t){for(var r=0;r<t;++r)e[r]=255*Math.random()|0;return e}function o(e){return"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(e)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(e)):s(new Uint8Array(e),e):s(new Array(e),e)}function l(){var t=o(e);t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var r="",n=0;n<e;++n){var i=t[n];4!==n&&6!==n&&8!==n||(r+="-"),i<16&&(r+="0"),r+=i.toString(16).toLowerCase()}return r}}function ie(e){return e.__=void 0,delete e.__,e}e("decorate",v),e("metadata",y),e("defineMetadata",g),e("hasMetadata",m),e("hasOwnMetadata",b),e("getMetadata",k),e("getOwnMetadata",M),e("getMetadataKeys",w),e("getOwnMetadataKeys",S),e("deleteMetadata",x)}(i)}()}(g||(g={}));var b="inversify:tagged",k="inversify:tagged_props",M="inversify:paramtypes",w=0;var S="Metadata key was used more than once in a parameter:",x="The @inject @multiInject @tagged and @named decorators must be applied to the parameters of a class constructor or a class property.",O=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.toString=function(){return"named"===this.key?"named: "+String(this.value).toString()+" ":"tagged: { key:"+this.key.toString()+", value: "+String(this.value)+" }"},e}(),_=function(e){this.id=w++,this.registry=e};function C(e,t,r,n){!function(e){if(void 0!==e)throw new Error(x)}(t),T(b,e,r.toString(),n)}function P(e){var t=[];if(Array.isArray(e)){var r=function(e){for(var t=new Set,r=0,n=e;r<n.length;r++){var i=n[r];if(t.has(i))return i;t.add(i)}}((t=e).map((function(e){return e.key})));if(void 0!==r)throw new Error(S+" "+r.toString())}else t=[e];return t}function T(e,t,r,n){var i=P(n),a={};Reflect.hasOwnMetadata(e,t)&&(a=Reflect.getMetadata(e,t));var s=a[r];if(void 0===s)s=[];else for(var o=function(e){if(i.some((function(t){return t.key===e.key})))throw new Error(S+" "+e.key.toString())},l=0,u=s;l<u.length;l++){o(u[l])}s.push.apply(s,i),a[r]=s,Reflect.defineMetadata(e,a,t)}function R(e){return function(t,r,n){"number"==typeof n?C(t,r,n,e):function(e,t,r){if(void 0!==e.prototype)throw new Error(x);T(k,e.constructor,t,r)}(t,r,e)}}function D(){return function(e){if(Reflect.hasOwnMetadata(M,e))throw new Error("Cannot apply @injectable decorator multiple times.");var t=Reflect.getMetadata("design:paramtypes",e)||[];return Reflect.defineMetadata(M,t,e),e}}var L,E=(L="inject",function(e){return function(t,r,n){if(void 0===e){var i="function"==typeof t?t.name:t.constructor.name;throw new Error("@inject called with undefined this could mean that the class "+i+" has a circular dependency problem. You can use a LazyServiceIdentifer to overcome this limitation.")}return R(new O(L,e))(t,r,n)}});function z(e,t,r,i){var a,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"===("undefined"==typeof Reflect?"undefined":n(Reflect))&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,i);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(o=(s<3?a(o):s>3?a(t,r,o):a(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o}function A(e,t){return function(r,n){t(r,n,e)}}function W(e,t){if("object"===("undefined"==typeof Reflect?"undefined":n(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function j(e,t,r){if(e&&e.length){var n=c(t,2),i=n[0],a=n[1],s=Math.PI/180*r,o=Math.cos(s),l=Math.sin(s);e.forEach((function(e){var t=c(e,2),r=t[0],n=t[1];e[0]=(r-i)*o-(n-a)*l+i,e[1]=(r-i)*l+(n-a)*o+a}))}}function F(e){var t=e[0],r=e[1];return Math.sqrt(Math.pow(t[0]-r[0],2)+Math.pow(t[1]-r[1],2))}function G(e,t){var r=t.hachureAngle+90,n=t.hachureGap;n<0&&(n=4*t.strokeWidth),n=Math.max(n,.1);var i=[0,0];if(r){var a,s=y(e);try{for(s.s();!(a=s.n()).done;){j(a.value,i,r)}}catch(e){s.e(e)}finally{s.f()}}var o=function(e,t){var r,n=[],i=y(e);try{for(i.s();!(r=i.n()).done;){var a=p(r.value);a[0].join(",")!==a[a.length-1].join(",")&&a.push([a[0][0],a[0][1]]),a.length>2&&n.push(a)}}catch(e){i.e(e)}finally{i.f()}var s=[];t=Math.max(t,.1);for(var o=[],l=0,u=n;l<u.length;l++)for(var h=u[l],f=0;f<h.length-1;f++){var c=h[f],d=h[f+1];if(c[1]!==d[1]){var v=Math.min(c[1],d[1]);o.push({ymin:v,ymax:Math.max(c[1],d[1]),x:v===c[1]?c[0]:d[0],islope:(d[0]-c[0])/(d[1]-c[1])})}}if(o.sort((function(e,t){return e.ymin<t.ymin?-1:e.ymin>t.ymin?1:e.x<t.x?-1:e.x>t.x?1:e.ymax===t.ymax?0:(e.ymax-t.ymax)/Math.abs(e.ymax-t.ymax)})),!o.length)return s;for(var g=[],m=o[0].ymin;g.length||o.length;){if(o.length){for(var b=-1,k=0;k<o.length&&!(o[k].ymin>m);k++)b=k;o.splice(0,b+1).forEach((function(e){g.push({s:m,edge:e})}))}if(g=g.filter((function(e){return!(e.edge.ymax<=m)})),g.sort((function(e,t){return e.edge.x===t.edge.x?0:(e.edge.x-t.edge.x)/Math.abs(e.edge.x-t.edge.x)})),g.length>1)for(var M=0;M<g.length;M+=2){var w=M+1;if(w>=g.length)break;var S=g[M].edge,x=g[w].edge;s.push([[Math.round(S.x),m],[Math.round(x.x),m]])}m+=t,g.forEach((function(e){e.edge.x=e.edge.x+t*e.edge.islope}))}return s}(e,n);if(r){var l,u=y(e);try{for(u.s();!(l=u.n()).done;){j(l.value,i,-r)}}catch(e){u.e(e)}finally{u.f()}!function(e,t,r){var n=[];e.forEach((function(e){return n.push.apply(n,p(e))})),j(n,t,r)}(o,i,-r)}return o}var I=function(){function e(t){i(this,e),this.helper=t}return s(e,[{key:"fillPolygons",value:function(e,t){return this._fillPolygons(e,t)}},{key:"_fillPolygons",value:function(e,t){var r=G(e,t);return{type:"fillSketch",ops:this.renderLines(r,t)}}},{key:"renderLines",value:function(e,t){var r,n=[],i=y(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;n.push.apply(n,p(this.helper.doubleLineOps(a[0][0],a[0][1],a[1][0],a[1][1],t)))}}catch(e){i.e(e)}finally{i.f()}return n}}]),e}(),V=function(e){o(r,e);var t=f(r);function r(){return i(this,r),t.apply(this,arguments)}return s(r,[{key:"fillPolygons",value:function(e,t){var r=t.hachureGap;r<0&&(r=4*t.strokeWidth),r=Math.max(r,.1);var n,i=G(e,Object.assign({},t,{hachureGap:r})),a=Math.PI/180*t.hachureAngle,s=[],o=.5*r*Math.cos(a),l=.5*r*Math.sin(a),u=y(i);try{for(u.s();!(n=u.n()).done;){var h=c(n.value,2),f=h[0],d=h[1];F([f,d])&&s.push([[f[0]-o,f[1]+l],p(d)],[[f[0]+o,f[1]-l],p(d)])}}catch(e){u.e(e)}finally{u.f()}return{type:"fillSketch",ops:this.renderLines(s,t)}}}]),r}(I),q=function(e){o(r,e);var t=f(r);function r(){return i(this,r),t.apply(this,arguments)}return s(r,[{key:"fillPolygons",value:function(e,t){var r=this._fillPolygons(e,t),n=Object.assign({},t,{hachureAngle:t.hachureAngle+90}),i=this._fillPolygons(e,n);return r.ops=r.ops.concat(i.ops),r}}]),r}(I),B=function(){function e(t){i(this,e),this.helper=t}return s(e,[{key:"fillPolygons",value:function(e,t){var r=G(e,t=Object.assign({},t,{hachureAngle:0}));return this.dotsOnLines(r,t)}},{key:"dotsOnLines",value:function(e,t){var r=[],n=t.hachureGap;n<0&&(n=4*t.strokeWidth),n=Math.max(n,.1);var i=t.fillWeight;i<0&&(i=t.strokeWidth/2);var a,s=n/4,o=y(e);try{for(o.s();!(a=o.n()).done;)for(var l=a.value,u=F(l),h=u/n,f=Math.ceil(h)-1,c=u-f*n,d=(l[0][0]+l[1][0])/2-n/4,v=Math.min(l[0][1],l[1][1]),g=0;g<f;g++){var m=v+c+g*n,b=d-s+2*Math.random()*s,k=m-s+2*Math.random()*s,M=this.helper.ellipse(b,k,i,i,t);r.push.apply(r,p(M.ops))}}catch(e){o.e(e)}finally{o.f()}return{type:"fillSketch",ops:r}}}]),e}(),H=function(){function e(t){i(this,e),this.helper=t}return s(e,[{key:"fillPolygons",value:function(e,t){var r=G(e,t);return{type:"fillSketch",ops:this.dashedLine(r,t)}}},{key:"dashedLine",value:function(e,t){var r=this,n=t.dashOffset<0?t.hachureGap<0?4*t.strokeWidth:t.hachureGap:t.dashOffset,i=t.dashGap<0?t.hachureGap<0?4*t.strokeWidth:t.hachureGap:t.dashGap,a=[];return e.forEach((function(e){var s=F(e),o=Math.floor(s/(n+i)),l=(s+i-o*(n+i))/2,u=e[0],h=e[1];u[0]>h[0]&&(u=e[1],h=e[0]);for(var f=Math.atan((h[1]-u[1])/(h[0]-u[0])),c=0;c<o;c++){var d=c*(n+i),v=d+n,y=[u[0]+d*Math.cos(f)+l*Math.cos(f),u[1]+d*Math.sin(f)+l*Math.sin(f)],g=[u[0]+v*Math.cos(f)+l*Math.cos(f),u[1]+v*Math.sin(f)+l*Math.sin(f)];a.push.apply(a,p(r.helper.doubleLineOps(y[0],y[1],g[0],g[1],t)))}})),a}}]),e}(),U=function(){function e(t){i(this,e),this.helper=t}return s(e,[{key:"fillPolygons",value:function(e,t){var r=t.hachureGap<0?4*t.strokeWidth:t.hachureGap,n=t.zigzagOffset<0?r:t.zigzagOffset,i=G(e,t=Object.assign({},t,{hachureGap:r+n}));return{type:"fillSketch",ops:this.zigzagLines(i,n,t)}}},{key:"zigzagLines",value:function(e,t,r){var n=this,i=[];return e.forEach((function(e){var a=F(e),s=Math.round(a/(2*t)),o=e[0],l=e[1];o[0]>l[0]&&(o=e[1],l=e[0]);for(var u=Math.atan((l[1]-o[1])/(l[0]-o[0])),h=0;h<s;h++){var f=2*h*t,c=2*(h+1)*t,d=Math.sqrt(2*Math.pow(t,2)),v=[o[0]+f*Math.cos(u),o[1]+f*Math.sin(u)],y=[o[0]+c*Math.cos(u),o[1]+c*Math.sin(u)],g=[v[0]+d*Math.cos(u+Math.PI/4),v[1]+d*Math.sin(u+Math.PI/4)];i.push.apply(i,p(n.helper.doubleLineOps(v[0],v[1],g[0],g[1],r)).concat(p(n.helper.doubleLineOps(g[0],g[1],y[0],y[1],r))))}})),i}}]),e}(),N={},Y=function(){function e(t){i(this,e),this.seed=t}return s(e,[{key:"next",value:function(){return this.seed?(Math.pow(2,31)-1&(this.seed=Math.imul(48271,this.seed)))/Math.pow(2,31):Math.random()}}]),e}(),K={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function Z(e,t){return e.type===t}function Q(e){for(var t=[],r=function(e){for(var t=new Array;""!==e;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];t[t.length]={type:1,text:"".concat(parseFloat(RegExp.$1))},e=e.substr(RegExp.$1.length)}return t[t.length]={type:2,text:""},t}(e),n="BOD",i=0,a=r[i];!Z(a,2);){var s=0,o=[];if("BOD"===n){if("M"!==a.text&&"m"!==a.text)return Q("M0,0"+e);i++,s=K[a.text],n=a.text}else Z(a,1)?s=K[n]:(i++,s=K[a.text],n=a.text);if(!(i+s<r.length))throw new Error("Path data ended short");for(var l=i;l<i+s;l++){var u=r[l];if(!Z(u,1))throw new Error("Param not a number: "+n+","+u.text);o[o.length]=+u.text}if("number"!=typeof K[n])throw new Error("Bad segment: "+n);var h={key:n,data:o};t.push(h),a=r[i+=s],"M"===n&&(n="L"),"m"===n&&(n="l")}return t}function $(e){var t,r,n,i,a=0,s=0,o=0,l=0,u=[],h=y(e);try{for(h.s();!(i=h.n()).done;){var f=i.value,d=f.key,v=f.data;switch(d){case"M":u.push({key:"M",data:p(v)}),t=c(v,2),a=t[0],s=t[1],o=(r=c(v,2))[0],l=r[1];break;case"m":a+=v[0],s+=v[1],u.push({key:"M",data:[a,s]}),o=a,l=s;break;case"L":u.push({key:"L",data:p(v)}),n=c(v,2),a=n[0],s=n[1];break;case"l":a+=v[0],s+=v[1],u.push({key:"L",data:[a,s]});break;case"C":u.push({key:"C",data:p(v)}),a=v[4],s=v[5];break;case"c":var g=v.map((function(e,t){return t%2?e+s:e+a}));u.push({key:"C",data:g}),a=g[4],s=g[5];break;case"Q":u.push({key:"Q",data:p(v)}),a=v[2],s=v[3];break;case"q":var m=v.map((function(e,t){return t%2?e+s:e+a}));u.push({key:"Q",data:m}),a=m[2],s=m[3];break;case"A":u.push({key:"A",data:p(v)}),a=v[5],s=v[6];break;case"a":a+=v[5],s+=v[6],u.push({key:"A",data:[v[0],v[1],v[2],v[3],v[4],a,s]});break;case"H":u.push({key:"H",data:p(v)}),a=v[0];break;case"h":a+=v[0],u.push({key:"H",data:[a]});break;case"V":u.push({key:"V",data:p(v)}),s=v[0];break;case"v":s+=v[0],u.push({key:"V",data:[s]});break;case"S":u.push({key:"S",data:p(v)}),a=v[2],s=v[3];break;case"s":var b=v.map((function(e,t){return t%2?e+s:e+a}));u.push({key:"S",data:b}),a=b[2],s=b[3];break;case"T":u.push({key:"T",data:p(v)}),a=v[0],s=v[1];break;case"t":a+=v[0],s+=v[1],u.push({key:"T",data:[a,s]});break;case"Z":case"z":u.push({key:"Z",data:[]}),a=o,s=l}}}catch(e){h.e(e)}finally{h.f()}return u}function X(e){var t,r,n,i,a=[],s="",o=0,l=0,u=0,h=0,f=0,d=0,v=y(e);try{for(v.s();!(i=v.n()).done;){var g=i.value,m=g.key,b=g.data;switch(m){case"M":a.push({key:"M",data:p(b)}),o=(t=c(b,2))[0],l=t[1],u=(r=c(b,2))[0],h=r[1];break;case"C":a.push({key:"C",data:p(b)}),o=b[4],l=b[5],f=b[2],d=b[3];break;case"L":a.push({key:"L",data:p(b)}),o=(n=c(b,2))[0],l=n[1];break;case"H":o=b[0],a.push({key:"L",data:[o,l]});break;case"V":l=b[0],a.push({key:"L",data:[o,l]});break;case"S":var k=0,M=0;"C"===s||"S"===s?(k=o+(o-f),M=l+(l-d)):(k=o,M=l),a.push({key:"C",data:[k,M].concat(p(b))}),f=b[0],d=b[1],o=b[2],l=b[3];break;case"T":var w=c(b,2),S=w[0],x=w[1],O=0,_=0;"Q"===s||"T"===s?(O=o+(o-f),_=l+(l-d)):(O=o,_=l);var C=o+2*(O-o)/3,P=l+2*(_-l)/3,T=S+2*(O-S)/3,R=x+2*(_-x)/3;a.push({key:"C",data:[C,P,T,R,S,x]}),f=O,d=_,o=S,l=x;break;case"Q":var D=c(b,4),L=D[0],E=D[1],z=D[2],A=D[3],W=o+2*(L-o)/3,j=l+2*(E-l)/3,F=z+2*(L-z)/3,G=A+2*(E-A)/3;a.push({key:"C",data:[W,j,F,G,z,A]}),f=L,d=E,o=z,l=A;break;case"A":var I=Math.abs(b[0]),V=Math.abs(b[1]),q=b[2],B=b[3],H=b[4],U=b[5],N=b[6];0===I||0===V?(a.push({key:"C",data:[o,l,U,N,U,N]}),o=U,l=N):o===U&&l===N||(ee(o,l,U,N,I,V,q,B,H).forEach((function(e){a.push({key:"C",data:e})})),o=U,l=N);break;case"Z":a.push({key:"Z",data:[]}),o=u,l=h}s=m}}catch(e){v.e(e)}finally{v.f()}return a}function J(e,t,r){return[e*Math.cos(r)-t*Math.sin(r),e*Math.sin(r)+t*Math.cos(r)]}function ee(e,t,r,n,i,a,s,o,l,u){var h,f=(h=s,Math.PI*h/180),p=[],d=0,v=0,y=0,g=0;if(u){var m=c(u,4);d=m[0],v=m[1],y=m[2],g=m[3]}else{var b,k;e=(b=c(J(e,t,-f),2))[0],t=b[1];var M=(e-(r=(k=c(J(r,n,-f),2))[0]))/2,w=(t-(n=k[1]))/2,S=M*M/(i*i)+w*w/(a*a);S>1&&(i*=S=Math.sqrt(S),a*=S);var x=i*i,O=a*a,_=x*O-x*w*w-O*M*M,C=x*w*w+O*M*M,P=(o===l?-1:1)*Math.sqrt(Math.abs(_/C));y=P*i*w/a+(e+r)/2,g=P*-a*M/i+(t+n)/2,d=Math.asin(parseFloat(((t-g)/a).toFixed(9))),v=Math.asin(parseFloat(((n-g)/a).toFixed(9))),e<y&&(d=Math.PI-d),r<y&&(v=Math.PI-v),d<0&&(d=2*Math.PI+d),v<0&&(v=2*Math.PI+v),l&&d>v&&(d-=2*Math.PI),!l&&v>d&&(v-=2*Math.PI)}var T=v-d;if(Math.abs(T)>120*Math.PI/180){var R=v,D=r,L=n;v=l&&v>d?d+120*Math.PI/180*1:d+120*Math.PI/180*-1,p=ee(r=y+i*Math.cos(v),n=g+a*Math.sin(v),D,L,i,a,s,0,l,[v,R,y,g])}T=v-d;var E=Math.cos(d),z=Math.sin(d),A=Math.cos(v),W=Math.sin(v),j=Math.tan(T/4),F=4/3*i*j,G=4/3*a*j,I=[e,t],V=[e+F*z,t-G*E],q=[r+F*W,n-G*A],B=[r,n];if(V[0]=2*I[0]-V[0],V[1]=2*I[1]-V[1],u)return[V,q,B].concat(p);p=[V,q,B].concat(p);for(var H=[],U=0;U<p.length;U+=3){var N=J(p[U][0],p[U][1],f),Y=J(p[U+1][0],p[U+1][1],f),K=J(p[U+2][0],p[U+2][1],f);H.push([N[0],N[1],Y[0],Y[1],K[0],K[1]])}return H}var te={randOffset:function(e,t){return fe(e,t)},randOffsetWithRange:function(e,t,r){return he(e,t,r)},ellipse:function(e,t,r,n,i){return ae(e,t,i,ie(r,n,i)).opset},doubleLineOps:function(e,t,r,n,i){return ce(e,t,r,n,i,!0)}};function re(e,t,r,n,i){return{type:"path",ops:ce(e,t,r,n,i)}}function ne(e,t,r){var n=(e||[]).length;if(n>2){for(var i=[],a=0;a<n-1;a++)i.push.apply(i,p(ce(e[a][0],e[a][1],e[a+1][0],e[a+1][1],r)));return t&&i.push.apply(i,p(ce(e[n-1][0],e[n-1][1],e[0][0],e[0][1],r))),{type:"path",ops:i}}return 2===n?re(e[0][0],e[0][1],e[1][0],e[1][1],r):{type:"path",ops:[]}}function ie(e,t,r){var n=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(e/2,2)+Math.pow(t/2,2))/2)),i=Math.ceil(Math.max(r.curveStepCount,r.curveStepCount/Math.sqrt(200)*n)),a=2*Math.PI/i,s=Math.abs(e/2),o=Math.abs(t/2),l=1-r.curveFitting;return{increment:a,rx:s+=fe(s*l,r),ry:o+=fe(o*l,r)}}function ae(e,t,r,n){var i=c(ye(n.increment,e,t,n.rx,n.ry,1,n.increment*he(.1,he(.4,1,r),r),r),2),a=i[0],s=i[1],o=ve(a,null,r);if(!r.disableMultiStroke&&0!==r.roughness){var l=ve(c(ye(n.increment,e,t,n.rx,n.ry,1.5,0,r),1)[0],null,r);o=o.concat(l)}return{estimatedPoints:s,opset:{type:"path",ops:o}}}function se(e,t,r,n,i,a,s,o,l){var u=e,h=t,f=Math.abs(r/2),c=Math.abs(n/2);f+=fe(.01*f,l),c+=fe(.01*c,l);for(var d=i,v=a;d<0;)d+=2*Math.PI,v+=2*Math.PI;v-d>2*Math.PI&&(d=0,v=2*Math.PI);var y=2*Math.PI/l.curveStepCount,g=Math.min(y/2,(v-d)/2),m=ge(g,u,h,f,c,d,v,1,l);if(!l.disableMultiStroke){var b=ge(g,u,h,f,c,d,v,1.5,l);m.push.apply(m,p(b))}return s&&(o?m.push.apply(m,p(ce(u,h,u+f*Math.cos(d),h+c*Math.sin(d),l)).concat(p(ce(u,h,u+f*Math.cos(v),h+c*Math.sin(v),l)))):m.push({op:"lineTo",data:[u,h]},{op:"lineTo",data:[u+f*Math.cos(d),h+c*Math.sin(d)]})),{type:"path",ops:m}}function oe(e,t){var r,n=[],i=y(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;if(a.length){var s=t.maxRandomnessOffset||0,o=a.length;if(o>2){n.push({op:"move",data:[a[0][0]+fe(s,t),a[0][1]+fe(s,t)]});for(var l=1;l<o;l++)n.push({op:"lineTo",data:[a[l][0]+fe(s,t),a[l][1]+fe(s,t)]})}}}}catch(e){i.e(e)}finally{i.f()}return{type:"fillPath",ops:n}}function le(e,t){return function(e,t){var r=e.fillStyle||"hachure";if(!N[r])switch(r){case"zigzag":N[r]||(N[r]=new V(t));break;case"cross-hatch":N[r]||(N[r]=new q(t));break;case"dots":N[r]||(N[r]=new B(t));break;case"dashed":N[r]||(N[r]=new H(t));break;case"zigzag-line":N[r]||(N[r]=new U(t));break;default:N[r="hachure"]||(N[r]=new I(t))}return N[r]}(t,te).fillPolygons(e,t)}function ue(e){return e.randomizer||(e.randomizer=new Y(e.seed||0)),e.randomizer.next()}function he(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return r.roughness*n*(ue(r)*(t-e)+e)}function fe(e,t){return he(-e,e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1)}function ce(e,t,r,n,i){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5]?i.disableMultiStrokeFill:i.disableMultiStroke,s=pe(e,t,r,n,i,!0,!1);if(a)return s;var o=pe(e,t,r,n,i,!0,!0);return s.concat(o)}function pe(e,t,r,n,i,a,s){var o,l=Math.pow(e-r,2)+Math.pow(t-n,2),u=Math.sqrt(l);o=u<200?1:u>500?.4:-.0016668*u+1.233334;var h=i.maxRandomnessOffset||0;h*h*100>l&&(h=u/10);var f=h/2,c=.2+.2*ue(i),p=i.bowing*i.maxRandomnessOffset*(n-t)/200,d=i.bowing*i.maxRandomnessOffset*(e-r)/200;p=fe(p,i,o),d=fe(d,i,o);var v=[],y=function(){return fe(f,i,o)},g=function(){return fe(h,i,o)},m=i.preserveVertices;return a&&(s?v.push({op:"move",data:[e+(m?0:y()),t+(m?0:y())]}):v.push({op:"move",data:[e+(m?0:fe(h,i,o)),t+(m?0:fe(h,i,o))]})),s?v.push({op:"bcurveTo",data:[p+e+(r-e)*c+y(),d+t+(n-t)*c+y(),p+e+2*(r-e)*c+y(),d+t+2*(n-t)*c+y(),r+(m?0:y()),n+(m?0:y())]}):v.push({op:"bcurveTo",data:[p+e+(r-e)*c+g(),d+t+(n-t)*c+g(),p+e+2*(r-e)*c+g(),d+t+2*(n-t)*c+g(),r+(m?0:g()),n+(m?0:g())]}),v}function de(e,t,r){var n=[];n.push([e[0][0]+fe(t,r),e[0][1]+fe(t,r)]),n.push([e[0][0]+fe(t,r),e[0][1]+fe(t,r)]);for(var i=1;i<e.length;i++)n.push([e[i][0]+fe(t,r),e[i][1]+fe(t,r)]),i===e.length-1&&n.push([e[i][0]+fe(t,r),e[i][1]+fe(t,r)]);return ve(n,null,r)}function ve(e,t,r){var n=e.length,i=[];if(n>3){var a=[],s=1-r.curveTightness;i.push({op:"move",data:[e[1][0],e[1][1]]});for(var o=1;o+2<n;o++){var l=e[o];a[0]=[l[0],l[1]],a[1]=[l[0]+(s*e[o+1][0]-s*e[o-1][0])/6,l[1]+(s*e[o+1][1]-s*e[o-1][1])/6],a[2]=[e[o+1][0]+(s*e[o][0]-s*e[o+2][0])/6,e[o+1][1]+(s*e[o][1]-s*e[o+2][1])/6],a[3]=[e[o+1][0],e[o+1][1]],i.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(t&&2===t.length){var u=r.maxRandomnessOffset;i.push({op:"lineTo",data:[t[0]+fe(u,r),t[1]+fe(u,r)]})}}else 3===n?(i.push({op:"move",data:[e[1][0],e[1][1]]}),i.push({op:"bcurveTo",data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):2===n&&i.push.apply(i,p(ce(e[0][0],e[0][1],e[1][0],e[1][1],r)));return i}function ye(e,t,r,n,i,a,s,o){var l=[],u=[];if(0===o.roughness){e/=4,u.push([t+n*Math.cos(-e),r+i*Math.sin(-e)]);for(var h=0;h<=2*Math.PI;h+=e){var f=[t+n*Math.cos(h),r+i*Math.sin(h)];l.push(f),u.push(f)}u.push([t+n*Math.cos(0),r+i*Math.sin(0)]),u.push([t+n*Math.cos(e),r+i*Math.sin(e)])}else{var c=fe(.5,o)-Math.PI/2;u.push([fe(a,o)+t+.9*n*Math.cos(c-e),fe(a,o)+r+.9*i*Math.sin(c-e)]);for(var p=2*Math.PI+c-.01,d=c;d<p;d+=e){var v=[fe(a,o)+t+n*Math.cos(d),fe(a,o)+r+i*Math.sin(d)];l.push(v),u.push(v)}u.push([fe(a,o)+t+n*Math.cos(c+2*Math.PI+.5*s),fe(a,o)+r+i*Math.sin(c+2*Math.PI+.5*s)]),u.push([fe(a,o)+t+.98*n*Math.cos(c+s),fe(a,o)+r+.98*i*Math.sin(c+s)]),u.push([fe(a,o)+t+.9*n*Math.cos(c+.5*s),fe(a,o)+r+.9*i*Math.sin(c+.5*s)])}return[u,l]}function ge(e,t,r,n,i,a,s,o,l){var u=a+fe(.1,l),h=[];h.push([fe(o,l)+t+.9*n*Math.cos(u-e),fe(o,l)+r+.9*i*Math.sin(u-e)]);for(var f=u;f<=s;f+=e)h.push([fe(o,l)+t+n*Math.cos(f),fe(o,l)+r+i*Math.sin(f)]);return h.push([t+n*Math.cos(s),r+i*Math.sin(s)]),h.push([t+n*Math.cos(s),r+i*Math.sin(s)]),ve(h,null,l)}function me(e){return p(e)}function be(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function ke(e,t,r){var n=be(t,r);if(0===n)return be(e,t);var i=((e[0]-t[0])*(r[0]-t[0])+(e[1]-t[1])*(r[1]-t[1]))/n;return be(e,Me(t,r,i=Math.max(0,Math.min(1,i))))}function Me(e,t,r){return[e[0]+(t[0]-e[0])*r,e[1]+(t[1]-e[1])*r]}function we(e,t,r,n){var i,a,s=n||[];if(function(e,t){var r=e[t+0],n=e[t+1],i=e[t+2],a=e[t+3],s=3*n[0]-2*r[0]-a[0];s*=s;var o=3*n[1]-2*r[1]-a[1];o*=o;var l=3*i[0]-2*a[0]-r[0];l*=l;var u=3*i[1]-2*a[1]-r[1];return s<l&&(s=l),o<(u*=u)&&(o=u),s+o}(e,t)<r){var o=e[t+0];s.length?(i=s[s.length-1],a=o,Math.sqrt(be(i,a))>1&&s.push(o)):s.push(o),s.push(e[t+3])}else{var l=.5,u=e[t+0],h=e[t+1],f=e[t+2],c=e[t+3],p=Me(u,h,l),d=Me(h,f,l),v=Me(f,c,l),y=Me(p,d,l),g=Me(d,v,l),m=Me(y,g,l);we([u,p,y,m],0,r,s),we([m,g,v,c],0,r,s)}return s}function Se(e,t){return xe(e,0,e.length,t)}function xe(e,t,r,n,i){for(var a=i||[],s=e[t],o=e[r-1],l=0,u=1,h=t+1;h<r-1;++h){var f=ke(e[h],s,o);f>l&&(l=f,u=h)}return Math.sqrt(l)>n?(xe(e,t,u+1,n,a),xe(e,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function Oe(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15,r=arguments.length>2?arguments[2]:void 0,n=[],i=(e.length-1)/3,a=0;a<i;a++)we(e,3*a,t,n);return r&&r>0?xe(n,0,n.length,r):n}var _e="none",Ce=function(){function e(t){i(this,e),this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}return s(e,[{key:"_o",value:function(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}},{key:"_d",value:function(e,t,r){return{shape:e,sets:t||[],options:r||this.defaultOptions}}},{key:"line",value:function(e,t,r,n,i){var a=this._o(i);return this._d("line",[re(e,t,r,n,a)],a)}},{key:"rectangle",value:function(e,t,r,n,i){var a=this._o(i),s=[],o=function(e,t,r,n,i){return function(e,t){return ne(e,!0,t)}([[e,t],[e+r,t],[e+r,t+n],[e,t+n]],i)}(e,t,r,n,a);if(a.fill){var l=[[e,t],[e+r,t],[e+r,t+n],[e,t+n]];"solid"===a.fillStyle?s.push(oe([l],a)):s.push(le([l],a))}return a.stroke!==_e&&s.push(o),this._d("rectangle",s,a)}},{key:"ellipse",value:function(e,t,r,n,i){var a=this._o(i),s=[],o=ie(r,n,a),l=ae(e,t,a,o);if(a.fill)if("solid"===a.fillStyle){var u=ae(e,t,a,o).opset;u.type="fillPath",s.push(u)}else s.push(le([l.estimatedPoints],a));return a.stroke!==_e&&s.push(l.opset),this._d("ellipse",s,a)}},{key:"circle",value:function(e,t,r,n){var i=this.ellipse(e,t,r,r,n);return i.shape="circle",i}},{key:"linearPath",value:function(e,t){var r=this._o(t);return this._d("linearPath",[ne(e,!1,r)],r)}},{key:"arc",value:function(e,t,r,n,i,a){var s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7?arguments[7]:void 0,l=this._o(o),u=[],h=se(e,t,r,n,i,a,s,!0,l);if(s&&l.fill)if("solid"===l.fillStyle){var f=Object.assign({},l);f.disableMultiStroke=!0;var c=se(e,t,r,n,i,a,!0,!1,f);c.type="fillPath",u.push(c)}else u.push(function(e,t,r,n,i,a,s){var o=e,l=t,u=Math.abs(r/2),h=Math.abs(n/2);u+=fe(.01*u,s),h+=fe(.01*h,s);for(var f=i,c=a;f<0;)f+=2*Math.PI,c+=2*Math.PI;c-f>2*Math.PI&&(f=0,c=2*Math.PI);for(var p=(c-f)/s.curveStepCount,d=[],v=f;v<=c;v+=p)d.push([o+u*Math.cos(v),l+h*Math.sin(v)]);return d.push([o+u*Math.cos(c),l+h*Math.sin(c)]),d.push([o,l]),le([d],s)}(e,t,r,n,i,a,l));return l.stroke!==_e&&u.push(h),this._d("arc",u,l)}},{key:"curve",value:function(e,t){var r=this._o(t),n=[],i=function(e,t){var r=de(e,1*(1+.2*t.roughness),t);if(!t.disableMultiStroke){var n=de(e,1.5*(1+.22*t.roughness),function(e){var t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}(t));r=r.concat(n)}return{type:"path",ops:r}}(e,r);if(r.fill&&r.fill!==_e&&e.length>=3){var a=Oe(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.length;if(r<3)throw new Error("A curve must have at least three points.");var n=[];if(3===r)n.push(me(e[0]),me(e[1]),me(e[2]),me(e[2]));else{var i=[];i.push(e[0],e[0]);for(var a=1;a<e.length;a++)i.push(e[a]),a===e.length-1&&i.push(e[a]);var s=[],o=1-t;n.push(me(i[0]));for(var l=1;l+2<i.length;l++){var u=i[l];s[0]=[u[0],u[1]],s[1]=[u[0]+(o*i[l+1][0]-o*i[l-1][0])/6,u[1]+(o*i[l+1][1]-o*i[l-1][1])/6],s[2]=[i[l+1][0]+(o*i[l][0]-o*i[l+2][0])/6,i[l+1][1]+(o*i[l][1]-o*i[l+2][1])/6],s[3]=[i[l+1][0],i[l+1][1]],n.push(s[1],s[2],s[3])}}return n}(e),10,(1+r.roughness)/2);"solid"===r.fillStyle?n.push(oe([a],r)):n.push(le([a],r))}return r.stroke!==_e&&n.push(i),this._d("curve",n,r)}},{key:"polygon",value:function(e,t){var r=this._o(t),n=[],i=ne(e,!0,r);return r.fill&&("solid"===r.fillStyle?n.push(oe([e],r)):n.push(le([e],r))),r.stroke!==_e&&n.push(i),this._d("polygon",n,r)}},{key:"path",value:function(e,t){var r=this._o(t),n=[];if(!e)return this._d("path",n,r);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");var i=r.fill&&"transparent"!==r.fill&&r.fill!==_e,a=r.stroke!==_e,s=!!(r.simplification&&r.simplification<1),o=function(e,t,r){var n,i=X($(Q(e))),a=[],s=[],o=[0,0],l=[],u=function(){var e;l.length>=4&&(e=s).push.apply(e,p(Oe(l,1))),l=[]},h=function(){u(),s.length&&(a.push(s),s=[])},f=y(i);try{for(f.s();!(n=f.n()).done;){var c=n.value,d=c.key,v=c.data;switch(d){case"M":h(),o=[v[0],v[1]],s.push(o);break;case"L":u(),s.push([v[0],v[1]]);break;case"C":if(!l.length){var g=s.length?s[s.length-1]:o;l.push([g[0],g[1]])}l.push([v[0],v[1]]),l.push([v[2],v[3]]),l.push([v[4],v[5]]);break;case"Z":u(),s.push([o[0],o[1]])}}}catch(e){f.e(e)}finally{f.f()}if(h(),!r)return a;for(var m=[],b=0,k=a;b<k.length;b++){var M=Se(k[b],r);M.length&&m.push(M)}return m}(e,0,s?4-4*r.simplification:(1+r.roughness)/2);return i&&("solid"===r.fillStyle?n.push(oe(o,r)):n.push(le(o,r))),a&&(s?o.forEach((function(e){n.push(ne(e,!1,r))})):n.push(function(e,t){var r,n=X($(Q(e))),i=[],a=[0,0],s=[0,0],o=y(n);try{var l=function(){var e=r.value,n=e.key,o=e.data;switch(n){case"M":var l=1*(t.maxRandomnessOffset||0),u=t.preserveVertices;i.push({op:"move",data:o.map((function(e){return e+(u?0:fe(l,t))}))}),s=[o[0],o[1]],a=[o[0],o[1]];break;case"L":i.push.apply(i,p(ce(s[0],s[1],o[0],o[1],t))),s=[o[0],o[1]];break;case"C":var h=c(o,6),f=h[0],d=h[1],v=h[2],y=h[3],g=h[4],m=h[5];i.push.apply(i,p(function(e,t,r,n,i,a,s,o){for(var l=[],u=[o.maxRandomnessOffset||1,(o.maxRandomnessOffset||1)+.3],h=[0,0],f=o.disableMultiStroke?1:2,c=o.preserveVertices,p=0;p<f;p++)0===p?l.push({op:"move",data:[s[0],s[1]]}):l.push({op:"move",data:[s[0]+(c?0:fe(u[0],o)),s[1]+(c?0:fe(u[0],o))]}),h=c?[i,a]:[i+fe(u[p],o),a+fe(u[p],o)],l.push({op:"bcurveTo",data:[e+fe(u[p],o),t+fe(u[p],o),r+fe(u[p],o),n+fe(u[p],o),h[0],h[1]]});return l}(f,d,v,y,g,m,s,t))),s=[g,m];break;case"Z":i.push.apply(i,p(ce(s[0],s[1],a[0],a[1],t))),s=[a[0],a[1]]}};for(o.s();!(r=o.n()).done;)l()}catch(e){o.e(e)}finally{o.f()}return{type:"path",ops:i}}(e,r))),this._d("path",n,r)}},{key:"opsToPath",value:function(e,t){var r,n="",i=y(e.ops);try{for(i.s();!(r=i.n()).done;){var a=r.value,s="number"==typeof t&&t>=0?a.data.map((function(e){return+e.toFixed(t)})):a.data;switch(a.op){case"move":n+="M".concat(s[0]," ").concat(s[1]," ");break;case"bcurveTo":n+="C".concat(s[0]," ").concat(s[1],", ").concat(s[2]," ").concat(s[3],", ").concat(s[4]," ").concat(s[5]," ");break;case"lineTo":n+="L".concat(s[0]," ").concat(s[1]," ")}}}catch(e){i.e(e)}finally{i.f()}return n.trim()}},{key:"toPaths",value:function(e){var t,r=e.sets||[],n=e.options||this.defaultOptions,i=[],a=y(r);try{for(a.s();!(t=a.n()).done;){var s=t.value,o=null;switch(s.type){case"path":o={d:this.opsToPath(s),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:_e};break;case"fillPath":o={d:this.opsToPath(s),stroke:_e,strokeWidth:0,fill:n.fill||_e};break;case"fillSketch":o=this.fillSketch(s,n)}o&&i.push(o)}}catch(e){a.e(e)}finally{a.f()}return i}},{key:"fillSketch",value:function(e,t){var r=t.fillWeight;return r<0&&(r=t.strokeWidth/2),{d:this.opsToPath(e),stroke:t.fill||_e,strokeWidth:r,fill:_e}}}],[{key:"newSeed",value:function(){return Math.floor(Math.random()*Math.pow(2,31))}}]),e}(),Pe=function(){function e(t,r){i(this,e),this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new Ce(r)}return s(e,[{key:"draw",value:function(e){var t,r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits,s=y(r);try{for(s.s();!(t=s.n()).done;){var o=t.value;switch(o.type){case"path":i.save(),i.strokeStyle="none"===n.stroke?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,o,a),i.restore();break;case"fillPath":i.save(),i.fillStyle=n.fill||"";var l="curve"===e.shape||"polygon"===e.shape||"path"===e.shape?"evenodd":"nonzero";this._drawToContext(i,o,a,l),i.restore();break;case"fillSketch":this.fillSketch(i,o,n)}}}catch(e){s.e(e)}finally{s.f()}}},{key:"fillSketch",value:function(e,t,r){var n=r.fillWeight;n<0&&(n=r.strokeWidth/2),e.save(),r.fillLineDash&&e.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(e.lineDashOffset=r.fillLineDashOffset),e.strokeStyle=r.fill||"",e.lineWidth=n,this._drawToContext(e,t,r.fixedDecimalPlaceDigits),e.restore()}},{key:"_drawToContext",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"nonzero";e.beginPath();var i,a=y(t.ops);try{for(a.s();!(i=a.n()).done;){var s=i.value,o="number"==typeof r&&r>=0?s.data.map((function(e){return+e.toFixed(r)})):s.data;switch(s.op){case"move":e.moveTo(o[0],o[1]);break;case"bcurveTo":e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5]);break;case"lineTo":e.lineTo(o[0],o[1])}}}catch(e){a.e(e)}finally{a.f()}"fillPath"===t.type?e.fill(n):e.stroke()}},{key:"generator",get:function(){return this.gen}},{key:"getDefaultOptions",value:function(){return this.gen.defaultOptions}},{key:"line",value:function(e,t,r,n,i){var a=this.gen.line(e,t,r,n,i);return this.draw(a),a}},{key:"rectangle",value:function(e,t,r,n,i){var a=this.gen.rectangle(e,t,r,n,i);return this.draw(a),a}},{key:"ellipse",value:function(e,t,r,n,i){var a=this.gen.ellipse(e,t,r,n,i);return this.draw(a),a}},{key:"circle",value:function(e,t,r,n){var i=this.gen.circle(e,t,r,n);return this.draw(i),i}},{key:"linearPath",value:function(e,t){var r=this.gen.linearPath(e,t);return this.draw(r),r}},{key:"polygon",value:function(e,t){var r=this.gen.polygon(e,t);return this.draw(r),r}},{key:"arc",value:function(e,t,r,n,i,a){var s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7?arguments[7]:void 0,l=this.gen.arc(e,t,r,n,i,a,s,o);return this.draw(l),l}},{key:"curve",value:function(e,t){var r=this.gen.curve(e,t);return this.draw(r),r}},{key:"path",value:function(e,t){var r=this.gen.path(e,t);return this.draw(r),r}}]),e}(),Te=function(e,t){return new Pe(e,t)};const Re={maxRandomnessOffset:3,roughness:1,bowing:1,curveFitting:.95,curveTightness:void 0,curveStepCount:9,fillStyle:"hachure",fillWeight:void 0,hachureAngle:60,hachureGap:6,simplification:0,dashOffset:void 0,dashGap:void 0,zigzagOffset:void 0,seed:1,fillLineDash:void 0,fillLineDashOffset:void 0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!0,fixedDecimalPlaceDigits:void 0};let De=class{canvasRenderer;type;numberType;style="rough";constructor(e){this.canvasRenderer=e,this.type="arc",this.numberType=t.ARC_NUMBER_TYPE}draw(e,r,n,i){const{context:a}=n;if(!a)return;const s=a.canvas.nativeCanvas,o=Te(s);a.highPerformanceSave();const l=t.getTheme(e).arc;let{x:u=l.x,y:h=l.y}=e.attribute;if(e.transMatrix.onlyTranslate()){const{dx:t=l.dx,dy:r=l.dy}=e.attribute;u+=t,h+=r,a.setTransformForCurrent()}else u=0,h=0,a.transformFromMatrix(e.transMatrix,!0);const f=new t.CustomPath2D,{fill:c=(null==l.fill?!!e.attribute.fillColor:l.fill),stroke:p=(null==l.stroke?!!e.attribute.strokeColor:l.stroke),fillColor:d=l.fillColor,strokeColor:v=l.strokeColor,lineWidth:y=l.lineWidth,outerRadius:g=l.outerRadius,innerRadius:m=l.innerRadius,maxRandomnessOffset:b=Re.maxRandomnessOffset,roughness:k=Re.roughness,bowing:M=Re.bowing,curveFitting:w=Re.curveFitting,curveTightness:S=Re.curveTightness,curveStepCount:x=Re.curveStepCount,fillStyle:O=Re.fillStyle,fillWeight:_=Re.fillWeight,hachureAngle:C=Re.hachureAngle,hachureGap:P=Re.hachureGap,simplification:T=Re.simplification,dashOffset:R=Re.dashOffset,dashGap:D=Re.dashGap,zigzagOffset:L=Re.zigzagOffset,seed:E=Re.seed,fillLineDash:z=Re.fillLineDash,fillLineDashOffset:A=Re.fillLineDashOffset,disableMultiStroke:W=Re.disableMultiStroke,disableMultiStrokeFill:j=Re.disableMultiStrokeFill,preserveVertices:F=Re.preserveVertices,fixedDecimalPlaceDigits:G=Re.fixedDecimalPlaceDigits}=e.attribute;t.drawArcPath(e,f,u,h,g,m),o.path(f.toString(),{fill:c?d:void 0,stroke:p?v:void 0,strokeWidth:y,maxRandomnessOffset:b,roughness:k,bowing:M,curveFitting:w,curveTightness:S,curveStepCount:x,fillStyle:O,fillWeight:_,hachureAngle:C,hachureGap:P,simplification:T,dashOffset:R,dashGap:D,zigzagOffset:L,seed:E,fillLineDash:z,fillLineDashOffset:A,disableMultiStroke:W,disableMultiStrokeFill:j,preserveVertices:F,fixedDecimalPlaceDigits:G}),a.highPerformanceRestore()}drawShape(e,t,r,n,i,a,s,o){if(this.canvasRenderer.drawShape)return this.canvasRenderer.drawShape(e,t,r,n,i,a,s,o)}};De=z([D(),A(0,E(t.DefaultCanvasArcRender)),W("design:paramtypes",[Object])],De);let Le=class extends t.DefaultCanvasAreaRender{style="rough";drawSegmentItem(e,r,n,i,a,s,o,l,u,h,f,c){if(c)return super.drawSegmentItem(e,r,n,i,a,s,o,l,u,h,f,c);e.highPerformanceSave();const p=e.canvas.nativeCanvas,d=Te(p,{}),v=new t.CustomPath2D;t.drawAreaSegments(v,r,o,{offsetX:l,offsetY:u});const{maxRandomnessOffset:y=Re.maxRandomnessOffset,roughness:g=Re.roughness,bowing:m=Re.bowing,curveFitting:b=Re.curveFitting,curveTightness:k=Re.curveTightness,curveStepCount:M=Re.curveStepCount,fillStyle:w=Re.fillStyle,fillWeight:S=Re.fillWeight,hachureAngle:x=Re.hachureAngle,hachureGap:O=Re.hachureGap,simplification:_=Re.simplification,dashOffset:C=Re.dashOffset,dashGap:P=Re.dashGap,zigzagOffset:T=Re.zigzagOffset,seed:R=Re.seed,fillLineDash:D=Re.fillLineDash,fillLineDashOffset:L=Re.fillLineDashOffset,disableMultiStroke:E=Re.disableMultiStroke,disableMultiStrokeFill:z=Re.disableMultiStrokeFill,preserveVertices:A=Re.preserveVertices,fixedDecimalPlaceDigits:W=Re.fixedDecimalPlaceDigits}=a;let{fillColor:j,strokeColor:F,lineWidth:G}=a;return Array.isArray(s)?s.forEach((e=>{j=j??e.fillColor,F=F??e.strokeColor,G=G??e.lineWidth})):(j=j??s.fillColor,F=F??s.strokeColor,G=G??s.lineWidth),d.path(v.toString(),{fill:n?j:void 0,strokeWidth:G,maxRandomnessOffset:y,roughness:g,bowing:m,curveFitting:b,curveTightness:k,curveStepCount:M,fillStyle:w,fillWeight:S,hachureAngle:x,hachureGap:O,simplification:_,dashOffset:C,dashGap:P,zigzagOffset:T,seed:R,fillLineDash:D,fillLineDashOffset:L,disableMultiStroke:E,disableMultiStrokeFill:z,preserveVertices:A,fixedDecimalPlaceDigits:W}),e.highPerformanceRestore(),!1}};Le=z([D()],Le);let Ee=class{canvasRenderer;style="rough";constructor(e){this.canvasRenderer=e,this.type="circle",this.numberType=t.CIRCLE_NUMBER_TYPE}draw(e,r,n,i){const{context:a}=n;if(!a)return;const s=a.canvas.nativeCanvas,o=Te(s,{}),l=t.getTheme(e).circle;let{x:u=l.x,y:h=l.y}=e.attribute;e.transMatrix.onlyTranslate()?a.onlyTranslate()||a.clearMatrix():(u=0,h=0,a.transformFromMatrix(e.transMatrix,!0));const{fillColor:f=l.fillColor,strokeColor:c=l.strokeColor,radius:p=l.radius,fill:d=l.fill,stroke:v=l.stroke,lineWidth:y=l.lineWidth}=e.attribute;o.circle(u,h,p,{fill:d?f:void 0,stroke:v?c:void 0,strokeWidth:y,fillStyle:"zigzag",roughness:.5})}drawShape(e,t,r,n,i,a,s,o){if(this.canvasRenderer.drawShape)return this.canvasRenderer.drawShape(e,t,r,n,i,a,s,o)}};Ee=z([D(),A(0,E(t.DefaultCanvasCircleRender)),W("design:paramtypes",[Object])],Ee);let ze=class extends t.DefaultCanvasLineRender{style="rough";drawSegmentItem(e,r,n,i,a,s,o,l,u,h,f,c,p,d,v){if(d||v)return super.drawSegmentItem(e,r,n,i,a,s,o,l,u,h,f,c,p,d,v);e.highPerformanceSave();const y=e.canvas.nativeCanvas,g=Te(y,{}),m=new t.CustomPath2D;t.drawSegments(e.camera?e:e.nativeContext,r,u,h,{offsetX:f,offsetY:c});const{maxRandomnessOffset:b=Re.maxRandomnessOffset,roughness:k=Re.roughness,bowing:M=Re.bowing,curveFitting:w=Re.curveFitting,curveTightness:S=Re.curveTightness,curveStepCount:x=Re.curveStepCount,fillStyle:O=Re.fillStyle,fillWeight:_=Re.fillWeight,hachureAngle:C=Re.hachureAngle,hachureGap:P=Re.hachureGap,simplification:T=Re.simplification,dashOffset:R=Re.dashOffset,dashGap:D=Re.dashGap,zigzagOffset:L=Re.zigzagOffset,seed:E=Re.seed,fillLineDash:z=Re.fillLineDash,fillLineDashOffset:A=Re.fillLineDashOffset,disableMultiStroke:W=Re.disableMultiStroke,disableMultiStrokeFill:j=Re.disableMultiStrokeFill,preserveVertices:F=Re.preserveVertices,fixedDecimalPlaceDigits:G=Re.fixedDecimalPlaceDigits}=o;let{fillColor:I,strokeColor:V,lineWidth:q}=o;return Array.isArray(l)?l.forEach((e=>{I=I??e.fillColor,V=V??e.strokeColor,q=q??e.lineWidth})):(I=I??l.fillColor,V=V??l.strokeColor,q=q??l.lineWidth),g.path(m.toString(),{fill:n?I:void 0,stroke:i?V:void 0,strokeWidth:q,maxRandomnessOffset:b,roughness:k,bowing:M,curveFitting:w,curveTightness:S,curveStepCount:x,fillStyle:O,fillWeight:_,hachureAngle:C,hachureGap:P,simplification:T,dashOffset:R,dashGap:D,zigzagOffset:L,seed:E,fillLineDash:z,fillLineDashOffset:A,disableMultiStroke:W,disableMultiStrokeFill:j,preserveVertices:F,fixedDecimalPlaceDigits:G}),e.highPerformanceRestore(),!1}};ze=z([D()],ze);let Ae=class{canvasRenderer;type;numberType;style="rough";constructor(e){this.canvasRenderer=e,this.type="path",this.numberType=t.PATH_NUMBER_TYPE}draw(e,r,n,i){const{context:a}=n;if(!a)return;const s=a.canvas.nativeCanvas,o=Te(s,{});a.highPerformanceSave();const l=t.getTheme(e).path;a.transformFromMatrix(e.transMatrix,!0);const{fill:u=(null==l.fill?!!e.attribute.fillColor:l.fill),stroke:h=(null==l.stroke?!!e.attribute.strokeColor:l.stroke),fillColor:f=l.fillColor,strokeColor:c=l.strokeColor,lineWidth:p=l.lineWidth,path:d=l.path,maxRandomnessOffset:v=Re.maxRandomnessOffset,roughness:y=Re.roughness,bowing:g=Re.bowing,curveFitting:m=Re.curveFitting,curveTightness:b=Re.curveTightness,curveStepCount:k=Re.curveStepCount,fillStyle:M=Re.fillStyle,fillWeight:w=Re.fillWeight,hachureAngle:S=Re.hachureAngle,hachureGap:x=Re.hachureGap,simplification:O=Re.simplification,dashOffset:_=Re.dashOffset,dashGap:C=Re.dashGap,zigzagOffset:P=Re.zigzagOffset,seed:T=Re.seed,fillLineDash:R=Re.fillLineDash,fillLineDashOffset:D=Re.fillLineDashOffset,disableMultiStroke:L=Re.disableMultiStroke,disableMultiStrokeFill:E=Re.disableMultiStrokeFill,preserveVertices:z=Re.preserveVertices,fixedDecimalPlaceDigits:A=Re.fixedDecimalPlaceDigits}=e.attribute;"string"==typeof d&&o.path(d,{fill:u?f:void 0,stroke:h?c:void 0,strokeWidth:p,maxRandomnessOffset:v,roughness:y,bowing:g,curveFitting:m,curveTightness:b,curveStepCount:k,fillStyle:M,fillWeight:w,hachureAngle:S,hachureGap:x,simplification:O,dashOffset:_,dashGap:C,zigzagOffset:P,seed:T,fillLineDash:R,fillLineDashOffset:D,disableMultiStroke:L,disableMultiStrokeFill:E,preserveVertices:z,fixedDecimalPlaceDigits:A}),a.highPerformanceRestore()}drawShape(e,t,r,n,i,a,s,o){if(this.canvasRenderer.drawShape)return this.canvasRenderer.drawShape(e,t,r,n,i,a,s,o)}};Ae=z([D(),A(0,E(t.DefaultCanvasPathRender)),W("design:paramtypes",[Object])],Ae);let We=class{canvasRenderer;type;numberType;style="rough";constructor(e){this.canvasRenderer=e,this.type="rect",this.numberType=t.RECT_NUMBER_TYPE}draw(e,r,n,i){const{context:a}=n;if(!a)return;const s=a.canvas.nativeCanvas,o=Te(s);a.highPerformanceSave();const l=t.getTheme(e).rect;let{x:u=l.x,y:h=l.y}=e.attribute;if(e.transMatrix.onlyTranslate()){const{dx:t=l.dx,dy:r=l.dy}=e.attribute;u+=t,h+=r,a.setTransformForCurrent()}else u=0,h=0,a.transformFromMatrix(e.transMatrix,!0);const{fill:f=(null==l.fill?!!e.attribute.fillColor:l.fill),stroke:c=(null==l.stroke?!!e.attribute.strokeColor:l.stroke),fillColor:p=l.fillColor,strokeColor:d=l.strokeColor,width:v=l.width,height:y=l.height,lineWidth:g=l.lineWidth,maxRandomnessOffset:m=Re.maxRandomnessOffset,roughness:b=Re.roughness,bowing:k=Re.bowing,curveFitting:M=Re.curveFitting,curveTightness:w=Re.curveTightness,curveStepCount:S=Re.curveStepCount,fillStyle:x=Re.fillStyle,fillWeight:O=Re.fillWeight,hachureAngle:_=Re.hachureAngle,hachureGap:C=Re.hachureGap,simplification:P=Re.simplification,dashOffset:T=Re.dashOffset,dashGap:R=Re.dashGap,zigzagOffset:D=Re.zigzagOffset,seed:L=Re.seed,fillLineDash:E=Re.fillLineDash,fillLineDashOffset:z=Re.fillLineDashOffset,disableMultiStroke:A=Re.disableMultiStroke,disableMultiStrokeFill:W=Re.disableMultiStrokeFill,preserveVertices:j=Re.preserveVertices,fixedDecimalPlaceDigits:F=Re.fixedDecimalPlaceDigits}=e.attribute;o.rectangle(u,h,v,y,{fill:f?p:void 0,stroke:c?d:void 0,strokeWidth:g,maxRandomnessOffset:m,roughness:b,bowing:k,curveFitting:M,curveTightness:w,curveStepCount:S,fillStyle:x,fillWeight:O,hachureAngle:_,hachureGap:C,simplification:P,dashOffset:T,dashGap:R,zigzagOffset:D,seed:L,fillLineDash:E,fillLineDashOffset:z,disableMultiStroke:A,disableMultiStrokeFill:W,preserveVertices:j,fixedDecimalPlaceDigits:F}),a.highPerformanceRestore()}drawShape(e,t,r,n,i,a,s,o){if(this.canvasRenderer.drawShape)return this.canvasRenderer.drawShape(e,t,r,n,i,a,s,o)}};We=z([D(),A(0,E(t.DefaultCanvasRectRender)),W("design:paramtypes",[Object])],We);let je=class{canvasRenderer;type;numberType;style="rough";constructor(e){this.canvasRenderer=e,this.type="symbol",this.numberType=t.SYMBOL_NUMBER_TYPE}draw(e,r,n,i){const{context:a}=n;if(!a)return;const s=a.canvas.nativeCanvas,o=Te(s);a.highPerformanceSave();const l=t.getTheme(e).symbol;let{x:u=l.x,y:h=l.y}=e.attribute;if(e.transMatrix.onlyTranslate()){const{dx:t=l.dx,dy:r=l.dy}=e.attribute;u+=t,h+=r,a.setTransformForCurrent()}else u=0,h=0,a.transformFromMatrix(e.transMatrix,!0);const f=e.getParsedPath();if(!f)return;const{fill:c=(null==l.fill?!!e.attribute.fillColor:l.fill),stroke:p=(null==l.stroke?!!e.attribute.strokeColor:l.stroke),fillColor:d=l.fillColor,strokeColor:v=l.strokeColor,size:y=l.size,lineWidth:g=l.lineWidth,maxRandomnessOffset:m=Re.maxRandomnessOffset,roughness:b=Re.roughness,bowing:k=Re.bowing,curveFitting:M=Re.curveFitting,curveTightness:w=Re.curveTightness,curveStepCount:S=Re.curveStepCount,fillStyle:x=Re.fillStyle,fillWeight:O=Re.fillWeight,hachureAngle:_=Re.hachureAngle,hachureGap:C=Re.hachureGap,simplification:P=Re.simplification,dashOffset:T=Re.dashOffset,dashGap:R=Re.dashGap,zigzagOffset:D=Re.zigzagOffset,seed:L=Re.seed,fillLineDash:E=Re.fillLineDash,fillLineDashOffset:z=Re.fillLineDashOffset,disableMultiStroke:A=Re.disableMultiStroke,disableMultiStrokeFill:W=Re.disableMultiStrokeFill,preserveVertices:j=Re.preserveVertices,fixedDecimalPlaceDigits:F=Re.fixedDecimalPlaceDigits}=e.attribute,G=new t.CustomPath2D;f.draw(G,y,u,h)&&G.closePath(),o.path(G.toString(),{fill:c?d:void 0,stroke:p?v:void 0,strokeWidth:g,maxRandomnessOffset:m,roughness:b,bowing:k,curveFitting:M,curveTightness:w,curveStepCount:S,fillStyle:x,fillWeight:O,hachureAngle:_,hachureGap:C,simplification:P,dashOffset:T,dashGap:R,zigzagOffset:D,seed:L,fillLineDash:E,fillLineDashOffset:z,disableMultiStroke:A,disableMultiStrokeFill:W,preserveVertices:j,fixedDecimalPlaceDigits:F}),a.highPerformanceRestore()}drawShape(e,t,r,n,i,a,s,o){if(this.canvasRenderer.drawShape)return this.canvasRenderer.drawShape(e,t,r,n,i,a,s,o)}};je=z([D(),A(0,E(t.DefaultCanvasSymbolRender)),W("design:paramtypes",[Object])],je);var Fe=new _(((e,r,n,i)=>{e(Ee).toSelf().inSingletonScope(),e(t.GraphicRender).to(Ee),e(We).toSelf().inSingletonScope(),e(t.GraphicRender).to(We),e(Ae).toSelf().inSingletonScope(),e(t.GraphicRender).to(Ae),e(je).toSelf().inSingletonScope(),e(t.GraphicRender).to(je),e(ze).toSelf().inSingletonScope(),e(t.GraphicRender).to(ze),e(Le).toSelf().inSingletonScope(),e(t.GraphicRender).to(Le),e(De).toSelf().inSingletonScope(),e(t.GraphicRender).to(De)}));new r.Matrix(1,0,0,1,0,0);let Ge=class extends t.BrowserContext2d{static env="node";constructor(e,t){super(e,t);const n=e.nativeCanvas.getContext("2d");if(!n)throw new Error("发生错误,获取2d上下文失败");this.nativeContext=n,this.canvas=e,this.matrix=new r.Matrix(1,0,0,1,0,0),this.stack=[],this.dpr=1}release(...e){}};Ge=z([D(),W("design:paramtypes",[Object,Number])],Ge);const Ie={WIDTH:500,HEIGHT:500,DPR:1};let Ve=class{static env="node";_width;_height;_id;_nativeCanvas;_context;_visiable;controled;get id(){return this._id}get x(){return 0}get y(){return 0}get nativeCanvas(){return this._nativeCanvas}get width(){return this._width}set width(e){this._width=e}get displayWidth(){return this._width}get displayHeight(){return this._height}get height(){return this._height}set height(e){this._height=e}getContext(e){return this._context}get visiable(){return this._visiable}set visiable(e){this._visiable=e,e?this.show():this.hide()}get dpr(){return 1}set dpr(e){}constructor(e){const{nativeCanvas:t,width:r=Ie.WIDTH,height:n=Ie.HEIGHT,canvasControled:i=!0}=e;this._visiable=!1!==e.visiable,this.controled=i,this._width=r,this._height=n,this._nativeCanvas=t,this._context=new Ge(this,e.dpr),this._id=t.id}applyPosition(){}getNativeCanvas(){return this._nativeCanvas}resetStyle(e){}hide(){}show(){}resize(e,t){this._nativeCanvas&&(this._nativeCanvas.width=e,this._nativeCanvas.height=t)}toDataURL(e,t){return""}readPixels(e,t,r,n){return this._context.getImageData(e,t,r,n)}convertToBlob(e){throw new Error("暂未实现")}transferToImageBitmap(){throw new Error("暂未实现")}release(...e){throw new Error("暂不支持release")}};Ve=z([D(),W("design:paramtypes",[Object])],Ve);var qe=new _((e=>{e(t.CanvasFactory).toDynamicValue((()=>e=>new Ve(e))).whenTargetNamed(Ge.env),e(t.Context2dFactory).toDynamicValue((()=>e=>new Ge(e,e.dpr))).whenTargetNamed(Ge.env)}));const Be=Fe,He=function(e){e.load(qe)};e.canvasModuleLoader=He,e.roughModule=Be}));
|