UNPKG

@visactor/vrender-kits

Version:
71 lines (63 loc) 5.13 kB
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 { ARC_NUMBER_TYPE, DefaultCanvasArcRender, CustomPath2D, drawArcPath, inject, injectable } from "@visactor/vrender-core"; import rough from "roughjs"; import { defaultRouthThemeSpec } from "./config"; import { RoughBaseRender } from "./base-render"; let RoughCanvasArcRender = class extends RoughBaseRender { constructor(canvasRenderer) { super(), this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "arc", this.numberType = ARC_NUMBER_TYPE; } draw(arc, renderService, drawContext, params) { const {context: context} = drawContext; if (!context) return; const canvas = context.canvas.nativeCanvas, rc = rough.canvas(canvas); context.highPerformanceSave(); const arcAttribute = arc.getGraphicTheme(); let {x: x = arcAttribute.x, y: y = arcAttribute.y} = arc.attribute; if (arc.transMatrix.onlyTranslate()) { const {dx: dx = arcAttribute.dx, dy: dy = arcAttribute.dy} = arc.attribute; x += dx, y += dy, context.setTransformForCurrent(); } else x = 0, y = 0, context.transformFromMatrix(arc.transMatrix, !0); const customPath = new CustomPath2D, {fill: fill = arcAttribute.fill, stroke: stroke = arcAttribute.stroke, lineWidth: lineWidth = arcAttribute.lineWidth, outerRadius: outerRadius = arcAttribute.outerRadius, innerRadius: innerRadius = arcAttribute.innerRadius, 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} = arc.attribute; drawArcPath(arc, customPath, x, y, outerRadius, innerRadius), rc.path(customPath.toString(), { 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(); } }; RoughCanvasArcRender = __decorate([ injectable(), __param(0, inject(DefaultCanvasArcRender)), __metadata("design:paramtypes", [ Object ]) ], RoughCanvasArcRender); export { RoughCanvasArcRender }; //# sourceMappingURL=rough-arc.js.map