@visactor/vrender-kits
Version:
## Description
67 lines (59 loc) • 4.67 kB
JavaScript
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
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);
return c > 3 && r && Object.defineProperty(target, key, r), r;
}, __metadata = this && this.__metadata || function(k, v) {
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
}, __param = this && this.__param || function(paramIndex, decorator) {
return function(target, key) {
decorator(target, key, paramIndex);
};
};
import { PATH_NUMBER_TYPE, DefaultCanvasPathRender, inject, injectable } from "@visactor/vrender-core";
import rough from "roughjs";
import { defaultRouthThemeSpec } from "./config";
import { RoughBaseRender } from "./base-render";
let RoughCanvasPathRender = class extends RoughBaseRender {
constructor(canvasRenderer) {
super(), this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "path",
this.numberType = PATH_NUMBER_TYPE;
}
draw(path, renderService, drawContext, params) {
const {context: context} = drawContext;
if (!context) return;
const canvas = context.canvas.nativeCanvas, rc = rough.canvas(canvas, {});
context.highPerformanceSave();
const pathAttribute = path.getGraphicTheme();
context.transformFromMatrix(path.transMatrix, !0);
const {fill: fill = pathAttribute.fill, stroke: stroke = pathAttribute.stroke, lineWidth: lineWidth = pathAttribute.lineWidth, path: p = pathAttribute.path, maxRandomnessOffset: maxRandomnessOffset = defaultRouthThemeSpec.maxRandomnessOffset, roughness: roughness = defaultRouthThemeSpec.roughness, bowing: bowing = defaultRouthThemeSpec.bowing, curveFitting: curveFitting = defaultRouthThemeSpec.curveFitting, curveTightness: curveTightness = defaultRouthThemeSpec.curveTightness, curveStepCount: curveStepCount = defaultRouthThemeSpec.curveStepCount, fillStyle: fillStyle = defaultRouthThemeSpec.fillStyle, fillWeight: fillWeight = defaultRouthThemeSpec.fillWeight, hachureAngle: hachureAngle = defaultRouthThemeSpec.hachureAngle, hachureGap: hachureGap = defaultRouthThemeSpec.hachureGap, simplification: simplification = defaultRouthThemeSpec.simplification, dashOffset: dashOffset = defaultRouthThemeSpec.dashOffset, dashGap: dashGap = defaultRouthThemeSpec.dashGap, zigzagOffset: zigzagOffset = defaultRouthThemeSpec.zigzagOffset, seed: seed = defaultRouthThemeSpec.seed, fillLineDash: fillLineDash = defaultRouthThemeSpec.fillLineDash, fillLineDashOffset: fillLineDashOffset = defaultRouthThemeSpec.fillLineDashOffset, disableMultiStroke: disableMultiStroke = defaultRouthThemeSpec.disableMultiStroke, disableMultiStrokeFill: disableMultiStrokeFill = defaultRouthThemeSpec.disableMultiStrokeFill, preserveVertices: preserveVertices = defaultRouthThemeSpec.preserveVertices, fixedDecimalPlaceDigits: fixedDecimalPlaceDigits = defaultRouthThemeSpec.fixedDecimalPlaceDigits} = path.attribute;
"string" == typeof p && rc.path(p, {
fill: fill || void 0,
stroke: stroke || void 0,
strokeWidth: lineWidth,
maxRandomnessOffset: maxRandomnessOffset,
roughness: roughness,
bowing: bowing,
curveFitting: curveFitting,
curveTightness: curveTightness,
curveStepCount: curveStepCount,
fillStyle: fillStyle,
fillWeight: fillWeight,
hachureAngle: hachureAngle,
hachureGap: hachureGap,
simplification: simplification,
dashOffset: dashOffset,
dashGap: dashGap,
zigzagOffset: zigzagOffset,
seed: seed,
fillLineDash: fillLineDash,
fillLineDashOffset: fillLineDashOffset,
disableMultiStroke: disableMultiStroke,
disableMultiStrokeFill: disableMultiStrokeFill,
preserveVertices: preserveVertices,
fixedDecimalPlaceDigits: fixedDecimalPlaceDigits
}), context.highPerformanceRestore();
}
};
RoughCanvasPathRender = __decorate([ injectable(), __param(0, inject(DefaultCanvasPathRender)), __metadata("design:paramtypes", [ Object ]) ], RoughCanvasPathRender);
export { RoughCanvasPathRender };
//# sourceMappingURL=rough-path.js.map