@visactor/vrender-kits 0.9.0-fillstroke.0 → 0.9.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/cjs/render/contributions/rough/rough-arc.js +3 -3
- package/cjs/render/contributions/rough/rough-arc.js.map +1 -1
- package/cjs/render/contributions/rough/rough-area.js +3 -3
- package/cjs/render/contributions/rough/rough-area.js.map +1 -1
- package/cjs/render/contributions/rough/rough-circle.js +3 -3
- package/cjs/render/contributions/rough/rough-circle.js.map +1 -1
- package/cjs/render/contributions/rough/rough-line.js +3 -3
- package/cjs/render/contributions/rough/rough-line.js.map +1 -1
- package/cjs/render/contributions/rough/rough-path.js +3 -3
- package/cjs/render/contributions/rough/rough-path.js.map +1 -1
- package/cjs/render/contributions/rough/rough-rect.js +1 -1
- package/cjs/render/contributions/rough/rough-rect.js.map +1 -1
- package/cjs/render/contributions/rough/rough-symbol.js +1 -1
- package/cjs/render/contributions/rough/rough-symbol.js.map +1 -1
- package/dist/vrender-kits.js.js +1 -1
- package/dist/vrender-kits.js.min.js +1 -1
- package/es/render/contributions/rough/rough-arc.js +3 -3
- package/es/render/contributions/rough/rough-arc.js.map +1 -1
- package/es/render/contributions/rough/rough-area.js +3 -3
- package/es/render/contributions/rough/rough-area.js.map +1 -1
- package/es/render/contributions/rough/rough-circle.js +3 -3
- package/es/render/contributions/rough/rough-circle.js.map +1 -1
- package/es/render/contributions/rough/rough-line.js +3 -3
- package/es/render/contributions/rough/rough-line.js.map +1 -1
- package/es/render/contributions/rough/rough-path.js +3 -3
- package/es/render/contributions/rough/rough-path.js.map +1 -1
- package/es/render/contributions/rough/rough-rect.js +1 -1
- package/es/render/contributions/rough/rough-rect.js.map +1 -1
- package/es/render/contributions/rough/rough-symbol.js +1 -1
- package/es/render/contributions/rough/rough-symbol.js.map +1 -1
- package/package.json +22 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/rough/rough-path.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAa/C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG1C,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAKhC,YAEkB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAJhD,UAAK,GAAY,OAAO,CAAC;QAMvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAGD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEpC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAE9B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC1C,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpD,MAAM,EACJ,IAAI,GAAG,aAAa,CAAC,IAAI,
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/rough/rough-path.ts"],"names":[],"mappings":"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","file":"rough-path.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport type {\n IGraphicRender,\n IRenderService,\n IGraphic,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IGraphicAttribute,\n IPath,\n IDrawContext,\n IGraphicRenderDrawParams\n} from '@visactor/vrender';\nimport { PATH_NUMBER_TYPE, DefaultCanvasPathRender, getTheme } from '@visactor/vrender';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\n\n@injectable()\nexport class RoughCanvasPathRender implements IGraphicRender {\n type: 'path';\n numberType: number;\n style: 'rough' = 'rough';\n\n constructor(\n @inject(DefaultCanvasPathRender)\n public readonly canvasRenderer: IGraphicRender\n ) {\n this.type = 'path';\n this.numberType = PATH_NUMBER_TYPE;\n }\n\n draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n // 获取到原生canvas\n const canvas = context.canvas.nativeCanvas;\n const rc = rough.canvas(canvas, {});\n\n context.highPerformanceSave();\n\n const pathAttribute = getTheme(path).path;\n context.transformFromMatrix(path.transMatrix, true);\n\n const {\n fill = pathAttribute.fill == null ? !!path.attribute.fillColor : pathAttribute.fill,\n stroke = pathAttribute.stroke == null ? !!path.attribute.strokeColor : pathAttribute.stroke,\n fillColor = pathAttribute.fillColor,\n strokeColor = pathAttribute.strokeColor,\n lineWidth = pathAttribute.lineWidth,\n path: p = pathAttribute.path,\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 } = path.attribute as any;\n if (typeof p === 'string') {\n rc.path(p, {\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\n context.highPerformanceRestore();\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"]}
|
|
@@ -34,7 +34,7 @@ let RoughCanvasRectRender = class {
|
|
|
34
34
|
const {dx: dx = rectAttribute.dx, dy: dy = rectAttribute.dy} = rect.attribute;
|
|
35
35
|
x += dx, y += dy, context.setTransformForCurrent();
|
|
36
36
|
} else x = 0, y = 0, context.transformFromMatrix(rect.transMatrix, !0);
|
|
37
|
-
const {fill: fill = rectAttribute.fill, stroke: stroke = rectAttribute.stroke, fillColor: fillColor = rectAttribute.
|
|
37
|
+
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 = 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} = rect.attribute;
|
|
38
38
|
rc.rectangle(x, y, width, height, {
|
|
39
39
|
fill: fill ? fillColor : void 0,
|
|
40
40
|
stroke: stroke ? strokeColor : void 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/rough/rough-rect.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAa/C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG1C,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAKhC,YAEkB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAJhD,UAAK,GAAY,OAAO,CAAC;QAMvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAG9B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC1C,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAErC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACrD;aAAM;YACL,MAAM,EAAE,EAAE,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACxE,CAAC,IAAI,EAAE,CAAC;YACR,CAAC,IAAI,EAAE,CAAC;YAER,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAClC;QAED,MAAM,EACJ,IAAI,GAAG,aAAa,CAAC,IAAI,
|
|
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"]}
|
|
@@ -36,7 +36,7 @@ let RoughCanvasSymbolRender = class {
|
|
|
36
36
|
} else x = 0, y = 0, context.transformFromMatrix(symbol.transMatrix, !0);
|
|
37
37
|
const parsedPath = symbol.getParsedPath();
|
|
38
38
|
if (!parsedPath) return;
|
|
39
|
-
const {fill: fill = symbolAttribute.fill, stroke: stroke = symbolAttribute.stroke, fillColor: fillColor = symbolAttribute.
|
|
39
|
+
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 = 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} = symbol.attribute, customPath = new CustomPath2D;
|
|
40
40
|
parsedPath.draw(customPath, size, x, y) && customPath.closePath(), rc.path(customPath.toString(), {
|
|
41
41
|
fill: fill ? fillColor : void 0,
|
|
42
42
|
stroke: stroke ? strokeColor : void 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/rough/rough-symbol.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAa/C,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG1C,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAKlC,YAEkB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAJhD,UAAK,GAAY,OAAO,CAAC;QAMvB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,MAAe,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC/G,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAG9B,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAChD,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAEvC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACvD;aAAM;YACL,MAAM,EAAE,EAAE,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;YAC9E,CAAC,IAAI,EAAE,CAAC;YACR,CAAC,IAAI,EAAE,CAAC;YAER,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAClC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAE1C,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,MAAM,EACJ,IAAI,GAAG,eAAe,CAAC,IAAI,
|
|
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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vrender-kits",
|
|
3
|
-
"version": "0.9.0
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "cjs/index.js",
|
|
@@ -11,9 +11,8 @@
|
|
|
11
11
|
"es",
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
|
-
"license": "MIT",
|
|
15
14
|
"dependencies": {
|
|
16
|
-
"@visactor/vrender": "0.9.0
|
|
15
|
+
"@visactor/vrender": "0.9.0",
|
|
17
16
|
"@visactor/vutils": "0.9.0-alpha.2",
|
|
18
17
|
"@resvg/resvg-js": "2.4.1",
|
|
19
18
|
"canvas": "2.11.2",
|
|
@@ -33,10 +32,29 @@
|
|
|
33
32
|
"eslint": "~8.18.0",
|
|
34
33
|
"vite": "3.2.6",
|
|
35
34
|
"typescript": "4.9.5",
|
|
36
|
-
"@internal/eslint-config": "0.0.1",
|
|
37
35
|
"@internal/ts-config": "0.0.1",
|
|
36
|
+
"@internal/eslint-config": "0.0.1",
|
|
38
37
|
"@internal/bundler": "0.0.1"
|
|
39
38
|
},
|
|
39
|
+
"keywords": [
|
|
40
|
+
"VisActor",
|
|
41
|
+
"graphics",
|
|
42
|
+
"renderer",
|
|
43
|
+
"vrender",
|
|
44
|
+
"vrender-kits"
|
|
45
|
+
],
|
|
46
|
+
"homepage": "",
|
|
47
|
+
"bugs": "https://github.com/VisActor/VRender/issues",
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "https://github.com/VisActor/VRender.git",
|
|
51
|
+
"directory": "packages/vrender-kits"
|
|
52
|
+
},
|
|
53
|
+
"author": {
|
|
54
|
+
"name": "VisActor",
|
|
55
|
+
"url": "https://VisActor.io/"
|
|
56
|
+
},
|
|
57
|
+
"license": "MIT",
|
|
40
58
|
"publishConfig": {
|
|
41
59
|
"access": "public"
|
|
42
60
|
},
|