@visactor/vrender-kits 1.0.0-alpha.5 → 1.0.0-alpha.6

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.
Files changed (88) hide show
  1. package/cjs/canvas/contributions/browser/context.d.ts +1 -1
  2. package/cjs/canvas/contributions/browser/context.js +1 -0
  3. package/cjs/canvas/contributions/browser/context.js.map +1 -1
  4. package/cjs/canvas/contributions/modules.js +2 -1
  5. package/cjs/env/contributions/module.js +2 -0
  6. package/cjs/env/contributions/node-contribution.js +1 -1
  7. package/cjs/index.d.ts +2 -0
  8. package/cjs/index.js +2 -1
  9. package/cjs/index.js.map +1 -1
  10. package/cjs/picker/contributions/canvas-picker/star-module.d.ts +2 -0
  11. package/cjs/picker/contributions/canvas-picker/star-module.js +15 -0
  12. package/cjs/picker/contributions/canvas-picker/star-module.js.map +1 -0
  13. package/cjs/picker/contributions/canvas-picker/star-picker.d.ts +8 -0
  14. package/cjs/picker/contributions/canvas-picker/star-picker.js +30 -0
  15. package/cjs/picker/contributions/canvas-picker/star-picker.js.map +1 -0
  16. package/cjs/picker/contributions/constants.d.ts +1 -0
  17. package/cjs/picker/contributions/constants.js +2 -2
  18. package/cjs/picker/contributions/constants.js.map +1 -1
  19. package/cjs/register/register-gif.d.ts +7 -0
  20. package/cjs/register/register-gif.js +19 -0
  21. package/cjs/register/register-gif.js.map +1 -0
  22. package/cjs/register/register-glyph.js +2 -1
  23. package/cjs/register/register-star.d.ts +6 -0
  24. package/cjs/register/register-star.js +16 -0
  25. package/cjs/register/register-star.js.map +1 -0
  26. package/cjs/render/contributions/rough/base-render.d.ts +3 -1
  27. package/cjs/render/contributions/rough/base-render.js +49 -0
  28. package/cjs/render/contributions/rough/base-render.js.map +1 -1
  29. package/cjs/render/contributions/rough/config.js +4 -4
  30. package/cjs/render/contributions/rough/config.js.map +1 -1
  31. package/cjs/render/contributions/rough/context.d.ts +142 -0
  32. package/cjs/render/contributions/rough/context.js +408 -0
  33. package/cjs/render/contributions/rough/context.js.map +1 -0
  34. package/cjs/render/contributions/rough/rough-line.d.ts +6 -4
  35. package/cjs/render/contributions/rough/rough-line.js +14 -48
  36. package/cjs/render/contributions/rough/rough-line.js.map +1 -1
  37. package/cjs/render/contributions/rough/rough-rect.d.ts +1 -1
  38. package/cjs/render/contributions/rough/rough-rect.js +2 -44
  39. package/cjs/render/contributions/rough/rough-rect.js.map +1 -1
  40. package/cjs/render/contributions/rough/rough-symbol.d.ts +3 -4
  41. package/cjs/render/contributions/rough/rough-symbol.js +3 -47
  42. package/cjs/render/contributions/rough/rough-symbol.js.map +1 -1
  43. package/cjs/tools/dynamicTexture.js +2 -0
  44. package/dist/index.es.js +544 -174
  45. package/es/canvas/contributions/browser/context.d.ts +1 -1
  46. package/es/canvas/contributions/browser/context.js +1 -0
  47. package/es/canvas/contributions/browser/context.js.map +1 -1
  48. package/es/canvas/contributions/modules.js +2 -1
  49. package/es/env/contributions/module.js +2 -0
  50. package/es/env/contributions/node-contribution.js +1 -1
  51. package/es/index.d.ts +2 -0
  52. package/es/index.js +4 -0
  53. package/es/index.js.map +1 -1
  54. package/es/picker/contributions/canvas-picker/star-module.d.ts +2 -0
  55. package/es/picker/contributions/canvas-picker/star-module.js +13 -0
  56. package/es/picker/contributions/canvas-picker/star-module.js.map +1 -0
  57. package/es/picker/contributions/canvas-picker/star-picker.d.ts +8 -0
  58. package/es/picker/contributions/canvas-picker/star-picker.js +26 -0
  59. package/es/picker/contributions/canvas-picker/star-picker.js.map +1 -0
  60. package/es/picker/contributions/constants.d.ts +1 -0
  61. package/es/picker/contributions/constants.js +2 -0
  62. package/es/picker/contributions/constants.js.map +1 -1
  63. package/es/register/register-gif.d.ts +7 -0
  64. package/es/register/register-gif.js +20 -0
  65. package/es/register/register-gif.js.map +1 -0
  66. package/es/register/register-glyph.js +2 -1
  67. package/es/register/register-star.d.ts +6 -0
  68. package/es/register/register-star.js +15 -0
  69. package/es/register/register-star.js.map +1 -0
  70. package/es/render/contributions/rough/base-render.d.ts +3 -1
  71. package/es/render/contributions/rough/base-render.js +49 -0
  72. package/es/render/contributions/rough/base-render.js.map +1 -1
  73. package/es/render/contributions/rough/config.js +4 -4
  74. package/es/render/contributions/rough/config.js.map +1 -1
  75. package/es/render/contributions/rough/context.d.ts +142 -0
  76. package/es/render/contributions/rough/context.js +402 -0
  77. package/es/render/contributions/rough/context.js.map +1 -0
  78. package/es/render/contributions/rough/rough-line.d.ts +6 -4
  79. package/es/render/contributions/rough/rough-line.js +15 -48
  80. package/es/render/contributions/rough/rough-line.js.map +1 -1
  81. package/es/render/contributions/rough/rough-rect.d.ts +1 -1
  82. package/es/render/contributions/rough/rough-rect.js +1 -43
  83. package/es/render/contributions/rough/rough-rect.js.map +1 -1
  84. package/es/render/contributions/rough/rough-symbol.d.ts +3 -4
  85. package/es/render/contributions/rough/rough-symbol.js +4 -46
  86. package/es/render/contributions/rough/rough-symbol.js.map +1 -1
  87. package/es/tools/dynamicTexture.js +2 -0
  88. package/package.json +2 -2
@@ -0,0 +1,15 @@
1
+ import { container, starModule, registerStarGraphic } from "@visactor/vrender-core";
2
+
3
+ import { browser } from "./env";
4
+
5
+ import { starCanvasPickModule } from "../picker/contributions/canvas-picker/star-module";
6
+
7
+ function _registerStar() {
8
+ _registerStar.__loaded || (_registerStar.__loaded = !0, registerStarGraphic(), container.load(starModule),
9
+ container.load(starCanvasPickModule));
10
+ }
11
+
12
+ _registerStar.__loaded = !1;
13
+
14
+ export const registerStar = _registerStar;
15
+ //# sourceMappingURL=register-star.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/register/register-star.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAEzF,SAAS,aAAa;IACpB,IAAI,aAAa,CAAC,QAAQ,EAAE;QAC1B,OAAO;KACR;IACD,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC9B,mBAAmB,EAAE,CAAC;IACtB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;AACxE,CAAC;AAED,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC","file":"register-star.js","sourcesContent":["import { container, starModule, registerStarGraphic } from '@visactor/vrender-core';\nimport { browser } from './env';\nimport { starCanvasPickModule } from '../picker/contributions/canvas-picker/star-module';\n\nfunction _registerStar() {\n if (_registerStar.__loaded) {\n return;\n }\n _registerStar.__loaded = true;\n registerStarGraphic();\n container.load(starModule);\n container.load(browser ? starCanvasPickModule : starCanvasPickModule);\n}\n\n_registerStar.__loaded = false;\n\nexport const registerStar = _registerStar;\n"]}
@@ -1,5 +1,7 @@
1
- import type { IGraphicAttribute, IContext2d, IGraphic, IMarkAttribute, IThemeAttribute, IDrawContext, IGraphicRenderDrawParams, IGraphicRender } from '@visactor/vrender-core';
1
+ import type { IRenderService } from '@visactor/vrender-core';
2
+ import { type IGraphicAttribute, type IContext2d, type IGraphic, type IMarkAttribute, type IThemeAttribute, type IDrawContext, type IGraphicRenderDrawParams, type IGraphicRender } from '@visactor/vrender-core';
2
3
  export declare abstract class RoughBaseRender {
3
4
  canvasRenderer: IGraphicRender;
4
5
  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;
6
+ doDraw(graphic: IGraphic, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
5
7
  }
@@ -1,6 +1,55 @@
1
+ import { CustomPath2D } from "@visactor/vrender-core";
2
+
3
+ import rough from "roughjs";
4
+
5
+ import { RoughContext2d } from "./context";
6
+
7
+ import { defaultRouthThemeSpec } from "./config";
8
+
1
9
  export class RoughBaseRender {
2
10
  drawShape(graphic, ctx, x, y, drawContext, params, fillCb, strokeCb) {
3
11
  if (this.canvasRenderer.drawShape) return this.canvasRenderer.drawShape(graphic, ctx, x, y, drawContext, params, fillCb, strokeCb);
4
12
  }
13
+ doDraw(graphic, renderService, drawContext, params) {
14
+ const {context: context} = drawContext;
15
+ if (!context) return;
16
+ const canvas = context.canvas.nativeCanvas, rc = rough.canvas(canvas), customPath = new CustomPath2D, roughContext = new RoughContext2d(context, customPath);
17
+ context.save(), context.transformFromMatrix(graphic.transMatrix, !0);
18
+ const {fill: fill, stroke: stroke, roughStyle: roughStyle = {}, lineWidth: lineWidth} = graphic.attribute, {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} = roughStyle;
19
+ let rendered = !1;
20
+ const doRender = () => {
21
+ if (rendered) return;
22
+ rendered = !0;
23
+ const path = customPath.toString();
24
+ context.beginPath(), rc.path(path, {
25
+ fill: fill,
26
+ stroke: stroke,
27
+ strokeWidth: lineWidth,
28
+ maxRandomnessOffset: maxRandomnessOffset,
29
+ roughness: roughness,
30
+ bowing: bowing,
31
+ curveFitting: curveFitting,
32
+ curveTightness: curveTightness,
33
+ curveStepCount: curveStepCount,
34
+ fillStyle: fillStyle,
35
+ fillWeight: fillWeight,
36
+ hachureAngle: hachureAngle,
37
+ hachureGap: hachureGap,
38
+ simplification: simplification,
39
+ dashOffset: dashOffset,
40
+ dashGap: dashGap,
41
+ zigzagOffset: zigzagOffset,
42
+ seed: seed,
43
+ fillLineDash: fillLineDash,
44
+ fillLineDashOffset: fillLineDashOffset,
45
+ disableMultiStroke: disableMultiStroke,
46
+ disableMultiStrokeFill: disableMultiStrokeFill,
47
+ preserveVertices: preserveVertices,
48
+ fixedDecimalPlaceDigits: fixedDecimalPlaceDigits
49
+ });
50
+ };
51
+ this.canvasRenderer.drawShape(graphic, roughContext, 0, 0, drawContext, params, (() => (doRender(),
52
+ !1)), (() => (doRender(), !1))), context.restore();
53
+ }
5
54
  }
6
55
  //# sourceMappingURL=base-render.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/rough/base-render.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,eAAe;IAEnC,SAAS,CACP,OAAiB,EACjB,GAAe,EACf,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;QAEZ,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YACjC,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SACjG;IACH,CAAC;CACF","file":"base-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n IContext2d,\n IGraphic,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IGraphicRenderDrawParams,\n IGraphicRender\n} from '@visactor/vrender-core';\n\nexport abstract class RoughBaseRender {\n canvasRenderer!: IGraphicRender;\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"]}
1
+ {"version":3,"sources":["../src/render/contributions/rough/base-render.ts"],"names":[],"mappings":"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","file":"base-render.js","sourcesContent":["import type { IRenderService } from '@visactor/vrender-core';\nimport {\n type IGraphicAttribute,\n type IContext2d,\n type IGraphic,\n type IMarkAttribute,\n type IThemeAttribute,\n type IDrawContext,\n type IGraphicRenderDrawParams,\n type IGraphicRender,\n CustomPath2D\n} from '@visactor/vrender-core';\nimport rough from 'roughjs';\nimport { RoughContext2d } from './context';\nimport { defaultRouthThemeSpec } from './config';\n\nexport abstract class RoughBaseRender {\n canvasRenderer!: IGraphicRender;\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 doDraw(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams\n ) {\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 customPath = new CustomPath2D();\n const roughContext = new RoughContext2d(context, customPath);\n\n context.save();\n // 不管怎么样,都transform\n context.transformFromMatrix(graphic.transMatrix, true);\n\n const { fill, stroke, roughStyle = {}, lineWidth } = graphic.attribute as any;\n\n const {\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 } = roughStyle;\n\n let rendered = false;\n const doRender = () => {\n if (rendered) {\n return;\n }\n rendered = true;\n const path = customPath.toString();\n context.beginPath();\n rc.path(path, {\n fill,\n stroke,\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 this.canvasRenderer.drawShape(\n graphic,\n roughContext,\n 0,\n 0,\n drawContext,\n params,\n () => {\n doRender();\n return false;\n },\n () => {\n doRender();\n return false;\n }\n );\n\n context.restore();\n\n // context.highPerformanceRestore();\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  export const defaultRouthThemeSpec = {
2
2
  maxRandomnessOffset: 3,
3
- roughness: 1,
3
+ roughness: 1.6,
4
4
  bowing: 1,
5
5
  curveFitting: .95,
6
6
  curveTightness: void 0,
7
7
  curveStepCount: 9,
8
- fillStyle: "hachure",
8
+ fillStyle: "cross-hatch",
9
9
  fillWeight: void 0,
10
10
  hachureAngle: 60,
11
11
  hachureGap: 6,
@@ -13,11 +13,11 @@ export const defaultRouthThemeSpec = {
13
13
  dashOffset: void 0,
14
14
  dashGap: void 0,
15
15
  zigzagOffset: void 0,
16
- seed: 1,
16
+ seed: 3,
17
17
  fillLineDash: void 0,
18
18
  fillLineDashOffset: void 0,
19
19
  disableMultiStroke: !1,
20
- disableMultiStrokeFill: !1,
20
+ disableMultiStrokeFill: !0,
21
21
  preserveVertices: !0,
22
22
  fixedDecimalPlaceDigits: void 0
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/rough/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAY;IAC5C,mBAAmB,EAAE,CAAC;IAEtB,SAAS,EAAE,CAAC;IAEZ,MAAM,EAAE,CAAC;IAET,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,SAAS;IAEzB,cAAc,EAAE,CAAC;IAEjB,SAAS,EAAE,SAAS;IAEpB,UAAU,EAAE,SAAS;IAErB,YAAY,EAAE,EAAE;IAEhB,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,CAAC;IACjB,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,SAAS;IAEvB,IAAI,EAAE,CAAC;IACP,YAAY,EAAE,SAAS;IACvB,kBAAkB,EAAE,SAAS;IAE7B,kBAAkB,EAAE,KAAK;IACzB,sBAAsB,EAAE,KAAK;IAC7B,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,SAAS;CACnC,CAAC","file":"config.js","sourcesContent":["import type { Options } from 'roughjs/bin/core';\n\nexport const defaultRouthThemeSpec: Options = {\n maxRandomnessOffset: 3,\n // 粗糙度,值越大绘制的越乱\n roughness: 1,\n // 线段的弯曲度\n bowing: 1,\n // 曲线拟合程度\n curveFitting: 0.95,\n curveTightness: undefined,\n // 近似曲线的点数\n curveStepCount: 9,\n // 填充形式,默认斜线\n fillStyle: 'hachure',\n // 填充线的粗细、填充点的大小\n fillWeight: undefined,\n // 填充为hachure时的转角\n hachureAngle: 60,\n // 填充为hachure时线段间的间隙\n hachureGap: 6,\n // 是否简化线段\n simplification: 0,\n dashOffset: undefined,\n dashGap: undefined,\n zigzagOffset: undefined,\n // 生成随机形状的种子\n seed: 1,\n fillLineDash: undefined,\n fillLineDashOffset: undefined,\n // 禁止用多个笔画绘制\n disableMultiStroke: false,\n disableMultiStrokeFill: false,\n preserveVertices: true,\n fixedDecimalPlaceDigits: undefined\n};\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/rough/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAY;IAC5C,mBAAmB,EAAE,CAAC;IAEtB,SAAS,EAAE,GAAG;IAEd,MAAM,EAAE,CAAC;IAET,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,SAAS;IAEzB,cAAc,EAAE,CAAC;IAEjB,SAAS,EAAE,aAAa;IAExB,UAAU,EAAE,SAAS;IAErB,YAAY,EAAE,EAAE;IAEhB,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,CAAC;IACjB,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,SAAS;IAEvB,IAAI,EAAE,CAAC;IACP,YAAY,EAAE,SAAS;IACvB,kBAAkB,EAAE,SAAS;IAE7B,kBAAkB,EAAE,KAAK;IACzB,sBAAsB,EAAE,IAAI;IAC5B,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,SAAS;CACnC,CAAC","file":"config.js","sourcesContent":["import type { Options } from 'roughjs/bin/core';\n\nexport const defaultRouthThemeSpec: Options = {\n maxRandomnessOffset: 3,\n // 粗糙度,值越大绘制的越乱\n roughness: 1.6,\n // 线段的弯曲度\n bowing: 1,\n // 曲线拟合程度\n curveFitting: 0.95,\n curveTightness: undefined,\n // 近似曲线的点数\n curveStepCount: 9,\n // 填充形式,默认斜线\n fillStyle: 'cross-hatch',\n // 填充线的粗细、填充点的大小\n fillWeight: undefined,\n // 填充为hachure时的转角\n hachureAngle: 60,\n // 填充为hachure时线段间的间隙\n hachureGap: 6,\n // 是否简化线段\n simplification: 0,\n dashOffset: undefined,\n dashGap: undefined,\n zigzagOffset: undefined,\n // 生成随机形状的种子\n seed: 3,\n fillLineDash: undefined,\n fillLineDashOffset: undefined,\n // 禁止用多个笔画绘制\n disableMultiStroke: false,\n disableMultiStrokeFill: true,\n preserveVertices: true,\n fixedDecimalPlaceDigits: undefined\n};\n"]}
@@ -0,0 +1,142 @@
1
+ import type { IPointLike, TextMeasure, ITextMeasureSpec, IMatrix, Matrix } from '@visactor/vutils';
2
+ import type { ICamera, ICanvas, ICommonStyleParams, IConicalGradientData, IContext2d, ISetCommonStyleParams, ISetStrokeStyleParams, IStrokeStyleParams, ITextStyleParams, mat4, EnvType, vec3, CustomPath2D } from '@visactor/vrender-core';
3
+ export declare class RoughContext2d implements IContext2d {
4
+ static env: EnvType;
5
+ originContext: IContext2d;
6
+ customPath: CustomPath2D;
7
+ constructor(originContext: IContext2d, customPath: CustomPath2D);
8
+ reset(setTransform?: boolean): void;
9
+ beginPath(): void;
10
+ moveTo(x: number, y: number, z?: number): void;
11
+ lineTo(x: number, y: number, z?: number): void;
12
+ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number, z?: number): void;
13
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number, z?: number): void;
14
+ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean, z?: number): void;
15
+ arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
16
+ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
17
+ rect(x: number, y: number, w: number, h: number, z?: number): void;
18
+ closePath(): void;
19
+ get canvas(): ICanvas;
20
+ set canvas(value: ICanvas);
21
+ get camera(): ICamera | undefined;
22
+ set camera(value: ICamera | undefined);
23
+ get modelMatrix(): mat4 | undefined;
24
+ set modelMatrix(value: mat4 | undefined);
25
+ get nativeContext(): CanvasRenderingContext2D | any;
26
+ set nativeContext(value: CanvasRenderingContext2D | any);
27
+ get _inuse(): boolean;
28
+ set _inuse(value: boolean);
29
+ get inuse(): boolean;
30
+ set inuse(value: boolean);
31
+ get stack(): Matrix[];
32
+ set stack(value: Matrix[]);
33
+ get disableFill(): boolean | undefined;
34
+ set disableFill(value: boolean | undefined);
35
+ get disableStroke(): boolean | undefined;
36
+ set disableStroke(value: boolean | undefined);
37
+ get disableBeginPath(): boolean | undefined;
38
+ set disableBeginPath(value: boolean | undefined);
39
+ get fontFamily(): string;
40
+ set fontFamily(value: string);
41
+ get fontSize(): number;
42
+ set fontSize(value: number);
43
+ get _clearMatrix(): IMatrix;
44
+ set _clearMatrix(value: IMatrix);
45
+ get dpr(): number;
46
+ set dpr(value: number);
47
+ get baseGlobalAlpha(): number;
48
+ set baseGlobalAlpha(value: number);
49
+ get drawPromise(): Promise<any> | undefined;
50
+ set drawPromise(value: Promise<any> | undefined);
51
+ get mathTextMeasure(): TextMeasure<ITextMeasureSpec>;
52
+ set mathTextMeasure(value: TextMeasure<ITextMeasureSpec>);
53
+ get fillStyle(): string | CanvasGradient | CanvasPattern;
54
+ set fillStyle(value: string | CanvasGradient | CanvasPattern);
55
+ get font(): string;
56
+ set font(value: string);
57
+ get globalAlpha(): number;
58
+ set globalAlpha(value: number);
59
+ get lineCap(): CanvasLineCap;
60
+ set lineCap(value: CanvasLineCap);
61
+ get lineDashOffset(): number;
62
+ set lineDashOffset(value: number);
63
+ get lineJoin(): CanvasLineJoin;
64
+ set lineJoin(value: CanvasLineJoin);
65
+ get lineWidth(): number;
66
+ set lineWidth(value: number);
67
+ get miterLimit(): number;
68
+ set miterLimit(value: number);
69
+ get shadowBlur(): number;
70
+ set shadowBlur(value: number);
71
+ get shadowColor(): string;
72
+ set shadowColor(value: string);
73
+ get shadowOffsetX(): number;
74
+ set shadowOffsetX(value: number);
75
+ get shadowOffsetY(): number;
76
+ set shadowOffsetY(value: number);
77
+ get strokeStyle(): string | CanvasGradient | CanvasPattern;
78
+ set strokeStyle(value: string | CanvasGradient | CanvasPattern);
79
+ get textAlign(): CanvasTextAlign;
80
+ set textAlign(value: CanvasTextAlign);
81
+ get textBaseline(): CanvasTextBaseline;
82
+ set textBaseline(value: CanvasTextBaseline);
83
+ get currentMatrix(): IMatrix;
84
+ save(): void;
85
+ restore(): void;
86
+ highPerformanceSave(): void;
87
+ highPerformanceRestore(): void;
88
+ rotate(rad: number, setTransform?: boolean): void;
89
+ scale(sx: number, sy: number, setTransform?: boolean): void;
90
+ setScale(sx: number, sy: number, setTransform?: boolean): void;
91
+ scalePoint(sx: number, sy: number, px: number, py: number, setTransform?: boolean): void;
92
+ setTransform(a: number, b: number, c: number, d: number, e: number, f: number, setTransform?: boolean, dpr?: number): void;
93
+ setTransformFromMatrix(matrix: Matrix, setTransform?: boolean, dpr?: number): void;
94
+ resetTransform(setTransform?: boolean, dpr?: number): void;
95
+ transform(a: number, b: number, c: number, d: number, e: number, f: number, setTransform?: boolean): void;
96
+ transformFromMatrix(matrix: Matrix, setTransform?: boolean): void;
97
+ translate(x: number, y: number, setTransform?: boolean): void;
98
+ rotateDegrees(deg: number, setTransform?: boolean): void;
99
+ rotateAbout(rad: number, x: number, y: number, setTransform?: boolean): void;
100
+ rotateDegreesAbout(deg: number, x: number, y: number, setTransform?: boolean): void;
101
+ setTransformForCurrent(force?: boolean): void;
102
+ clip(fillRule?: CanvasFillRule): void;
103
+ clip(path: Path2D, fillRule?: CanvasFillRule): void;
104
+ fill(path?: Path2D, fillRule?: CanvasFillRule): void;
105
+ stroke(path?: Path2D): void;
106
+ fillRect(x: number, y: number, width: number, height: number): void;
107
+ strokeRect(x: number, y: number, width: number, height: number): void;
108
+ fillText(text: string, x: number, y: number, z?: number): void;
109
+ strokeText(text: string, x: number, y: number, z?: number): void;
110
+ clearRect(x: number, y: number, w: number, h: number): void;
111
+ drawImage(...args: any[]): void;
112
+ createImageData(...args: any[]): ImageData;
113
+ getImageData(sx: number, sy: number, sw: number, sh: number): ImageData;
114
+ putImageData(imagedata: ImageData, dx: number, dy: number): void;
115
+ createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
116
+ createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
117
+ createConicGradient(x: number, y: number, startAngle: number, endAngle: number): IConicalGradientData;
118
+ createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern;
119
+ getLineDash(): number[];
120
+ setLineDash(segments: number[]): void;
121
+ clear(): void;
122
+ measureText(text: string, method?: 'native' | 'simple' | 'quick'): {
123
+ width: number;
124
+ };
125
+ isPointInPath(x: number, y: number): boolean;
126
+ isPointInStroke(x: number, y: number): boolean;
127
+ project(x: number, y: number, z?: number): IPointLike;
128
+ view(x: number, y: number, z?: number): vec3;
129
+ getCanvas(): ICanvas;
130
+ getContext(): CanvasRenderingContext2D | any;
131
+ setCommonStyle(params: ISetCommonStyleParams, attribute: ICommonStyleParams, offsetX: number, offsetY: number, defaultParams?: ICommonStyleParams | Partial<ICommonStyleParams>[]): void;
132
+ setShadowBlendStyle(params: ISetCommonStyleParams, attribute: ICommonStyleParams, defaultParams?: ICommonStyleParams | Partial<ICommonStyleParams>[]): void;
133
+ setStrokeStyle(params: ISetStrokeStyleParams, attribute: IStrokeStyleParams, offsetX: number, offsetY: number, defaultParams?: IStrokeStyleParams | any): void;
134
+ setTextStyle(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams, z?: number): void;
135
+ setTextStyleWithoutAlignBaseline(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams, z?: number): void;
136
+ clearMatrix(setTransform?: boolean, dpr?: number): void;
137
+ setClearMatrix(a: number, b: number, c: number, d: number, e: number, f: number): void;
138
+ onlyTranslate(dpr?: number): boolean;
139
+ cloneMatrix(m: Matrix): Matrix;
140
+ draw(): void;
141
+ release(...params: any): void;
142
+ }