@visactor/vrender-kits 0.19.6-alpha.3 → 0.19.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.
- package/cjs/canvas/contributions/browser/canvas.js +1 -2
- package/cjs/canvas/contributions/browser/canvas.js.map +1 -1
- package/cjs/canvas/contributions/browser/context.js +13 -26
- package/cjs/canvas/contributions/browser/context.js.map +1 -1
- package/cjs/canvas/contributions/feishu/canvas.js +1 -2
- package/cjs/canvas/contributions/feishu/canvas.js.map +1 -1
- package/cjs/canvas/contributions/feishu/context.js +3 -4
- package/cjs/canvas/contributions/feishu/context.js.map +1 -1
- package/cjs/canvas/contributions/harmony/canvas.js +1 -2
- package/cjs/canvas/contributions/harmony/canvas.js.map +1 -1
- package/cjs/canvas/contributions/harmony/context.js +4 -4
- package/cjs/canvas/contributions/harmony/context.js.map +1 -1
- package/cjs/canvas/contributions/lynx/canvas.js +1 -2
- package/cjs/canvas/contributions/lynx/canvas.js.map +1 -1
- package/cjs/canvas/contributions/lynx/context.js +1 -2
- package/cjs/canvas/contributions/lynx/context.js.map +1 -1
- package/cjs/canvas/contributions/node/canvas.js +1 -2
- package/cjs/canvas/contributions/node/canvas.js.map +1 -1
- package/cjs/canvas/contributions/node/context.js +2 -3
- package/cjs/canvas/contributions/node/context.js.map +1 -1
- package/cjs/canvas/contributions/taro/canvas.js +1 -2
- package/cjs/canvas/contributions/taro/canvas.js.map +1 -1
- package/cjs/canvas/contributions/taro/context.js +6 -5
- package/cjs/canvas/contributions/taro/context.js.map +1 -1
- package/cjs/canvas/contributions/tt/canvas.js +1 -2
- package/cjs/canvas/contributions/tt/canvas.js.map +1 -1
- package/cjs/canvas/contributions/tt/context.js +3 -4
- package/cjs/canvas/contributions/tt/context.js.map +1 -1
- package/cjs/canvas/contributions/wx/canvas.js +1 -2
- package/cjs/canvas/contributions/wx/canvas.js.map +1 -1
- package/cjs/canvas/contributions/wx/context.js +2 -2
- package/cjs/canvas/contributions/wx/context.js.map +1 -1
- package/cjs/env/contributions/browser-contribution.js +11 -10
- package/cjs/env/contributions/browser-contribution.js.map +1 -1
- package/cjs/env/contributions/canvas-wrap.js +0 -12
- package/cjs/env/contributions/canvas-wrap.js.map +1 -1
- package/cjs/env/contributions/feishu-contribution.js +6 -8
- package/cjs/env/contributions/feishu-contribution.js.map +1 -1
- package/cjs/env/contributions/harmony-contribution.js +4 -5
- package/cjs/env/contributions/harmony-contribution.js.map +1 -1
- package/cjs/env/contributions/lynx-contribution.js +7 -10
- package/cjs/env/contributions/lynx-contribution.js.map +1 -1
- package/cjs/env/contributions/node-contribution.js +3 -4
- package/cjs/env/contributions/node-contribution.js.map +1 -1
- package/cjs/env/contributions/taro-contribution.js +5 -9
- package/cjs/env/contributions/taro-contribution.js.map +1 -1
- package/cjs/env/contributions/tt-contribution.js +44 -20
- package/cjs/env/contributions/tt-contribution.js.map +1 -1
- package/cjs/env/contributions/wx-contribution.js +48 -24
- package/cjs/env/contributions/wx-contribution.js.map +1 -1
- package/cjs/event/extension/drag.js +34 -34
- package/cjs/event/extension/drag.js.map +1 -1
- package/cjs/event/extension/gesture.js +79 -100
- package/cjs/event/extension/gesture.js.map +1 -1
- package/cjs/event/extension/index.js +1 -1
- package/cjs/event/extension/interface.js +1 -1
- package/cjs/jsx/graphicType.js +6 -8
- package/cjs/jsx/graphicType.js.map +1 -1
- package/cjs/jsx/jsx-classic.js +11 -1
- package/cjs/jsx/jsx-classic.js.map +1 -1
- package/cjs/picker/canvas-picker-service.js +0 -3
- package/cjs/picker/canvas-picker-service.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/arc-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/area-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/circle-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js +3 -6
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/group-picker.js +3 -2
- package/cjs/picker/contributions/canvas-picker/group-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/image-picker.js +4 -3
- package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/line-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/path-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/polygon-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/rect-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/richtext-picker.js +1 -4
- package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/text-picker.js +2 -5
- package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/arc-picker.js +2 -5
- package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/area-picker.js +2 -5
- package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/circle-picker.js +2 -5
- package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/glyph-picker.js +3 -6
- package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/image-picker.js +4 -3
- package/cjs/picker/contributions/math-picker/image-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/line-picker.js +2 -5
- package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/path-picker.js +2 -5
- package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/polygon-picker.js +2 -5
- package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/rect-picker.js +2 -5
- package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/richtext-picker.js +1 -4
- package/cjs/picker/contributions/math-picker/richtext-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/symbol-picker.js +2 -5
- package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/text-picker.js +3 -2
- package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
- package/cjs/picker/math-picker-service.js +0 -2
- package/cjs/picker/math-picker-service.js.map +1 -1
- package/cjs/render/contributions/rough/rough-arc.js +1 -5
- package/cjs/render/contributions/rough/rough-arc.js.map +1 -1
- package/cjs/render/contributions/rough/rough-area.js +7 -4
- package/cjs/render/contributions/rough/rough-area.js.map +1 -1
- package/cjs/render/contributions/rough/rough-circle.js +2 -3
- package/cjs/render/contributions/rough/rough-circle.js.map +1 -1
- package/cjs/render/contributions/rough/rough-line.js +7 -4
- package/cjs/render/contributions/rough/rough-line.js.map +1 -1
- package/cjs/render/contributions/rough/rough-path.js +2 -5
- package/cjs/render/contributions/rough/rough-path.js.map +1 -1
- package/cjs/render/contributions/rough/rough-rect.js +4 -6
- package/cjs/render/contributions/rough/rough-rect.js.map +1 -1
- package/cjs/render/contributions/rough/rough-symbol.js +0 -4
- package/cjs/render/contributions/rough/rough-symbol.js.map +1 -1
- package/cjs/window/contributions/browser-contribution.js +7 -11
- package/cjs/window/contributions/browser-contribution.js.map +1 -1
- package/cjs/window/contributions/feishu-contribution.js +6 -9
- package/cjs/window/contributions/feishu-contribution.js.map +1 -1
- package/cjs/window/contributions/harmony-contribution.js +6 -9
- package/cjs/window/contributions/harmony-contribution.js.map +1 -1
- package/cjs/window/contributions/lynx-contribution.js +6 -9
- package/cjs/window/contributions/lynx-contribution.js.map +1 -1
- package/cjs/window/contributions/node-contribution.js +3 -7
- package/cjs/window/contributions/node-contribution.js.map +1 -1
- package/cjs/window/contributions/taro-contribution.js +10 -15
- package/cjs/window/contributions/taro-contribution.js.map +1 -1
- package/cjs/window/contributions/tt-contribution.js +6 -9
- package/cjs/window/contributions/tt-contribution.js.map +1 -1
- package/cjs/window/contributions/wx-contribution.js +11 -13
- package/cjs/window/contributions/wx-contribution.js.map +1 -1
- package/dist/index.es.js +561 -584
- package/es/canvas/contributions/browser/canvas.js +1 -2
- package/es/canvas/contributions/browser/canvas.js.map +1 -1
- package/es/canvas/contributions/browser/context.js +13 -26
- package/es/canvas/contributions/browser/context.js.map +1 -1
- package/es/canvas/contributions/feishu/canvas.js +1 -2
- package/es/canvas/contributions/feishu/canvas.js.map +1 -1
- package/es/canvas/contributions/feishu/context.js +3 -4
- package/es/canvas/contributions/feishu/context.js.map +1 -1
- package/es/canvas/contributions/harmony/canvas.js +1 -2
- package/es/canvas/contributions/harmony/canvas.js.map +1 -1
- package/es/canvas/contributions/harmony/context.js +4 -4
- package/es/canvas/contributions/harmony/context.js.map +1 -1
- package/es/canvas/contributions/lynx/canvas.js +1 -2
- package/es/canvas/contributions/lynx/canvas.js.map +1 -1
- package/es/canvas/contributions/lynx/context.js +1 -2
- package/es/canvas/contributions/lynx/context.js.map +1 -1
- package/es/canvas/contributions/node/canvas.js +1 -2
- package/es/canvas/contributions/node/canvas.js.map +1 -1
- package/es/canvas/contributions/node/context.js +2 -3
- package/es/canvas/contributions/node/context.js.map +1 -1
- package/es/canvas/contributions/taro/canvas.js +1 -2
- package/es/canvas/contributions/taro/canvas.js.map +1 -1
- package/es/canvas/contributions/taro/context.js +6 -4
- package/es/canvas/contributions/taro/context.js.map +1 -1
- package/es/canvas/contributions/tt/canvas.js +1 -2
- package/es/canvas/contributions/tt/canvas.js.map +1 -1
- package/es/canvas/contributions/tt/context.js +2 -4
- package/es/canvas/contributions/tt/context.js.map +1 -1
- package/es/canvas/contributions/wx/canvas.js +1 -2
- package/es/canvas/contributions/wx/canvas.js.map +1 -1
- package/es/canvas/contributions/wx/context.js +1 -2
- package/es/canvas/contributions/wx/context.js.map +1 -1
- package/es/env/contributions/browser-contribution.js +11 -10
- package/es/env/contributions/browser-contribution.js.map +1 -1
- package/es/env/contributions/canvas-wrap.js +0 -12
- package/es/env/contributions/canvas-wrap.js.map +1 -1
- package/es/env/contributions/feishu-contribution.js +6 -8
- package/es/env/contributions/feishu-contribution.js.map +1 -1
- package/es/env/contributions/harmony-contribution.js +4 -5
- package/es/env/contributions/harmony-contribution.js.map +1 -1
- package/es/env/contributions/lynx-contribution.js +7 -10
- package/es/env/contributions/lynx-contribution.js.map +1 -1
- package/es/env/contributions/node-contribution.js +3 -4
- package/es/env/contributions/node-contribution.js.map +1 -1
- package/es/env/contributions/taro-contribution.js +5 -9
- package/es/env/contributions/taro-contribution.js.map +1 -1
- package/es/env/contributions/tt-contribution.js +44 -20
- package/es/env/contributions/tt-contribution.js.map +1 -1
- package/es/env/contributions/wx-contribution.js +48 -24
- package/es/env/contributions/wx-contribution.js.map +1 -1
- package/es/event/extension/drag.js +34 -34
- package/es/event/extension/drag.js.map +1 -1
- package/es/event/extension/gesture.js +79 -100
- package/es/event/extension/gesture.js.map +1 -1
- package/es/event/extension/index.js +1 -1
- package/es/event/extension/interface.js +1 -1
- package/es/jsx/graphicType.js +6 -8
- package/es/jsx/graphicType.js.map +1 -1
- package/es/jsx/jsx-classic.js +11 -1
- package/es/jsx/jsx-classic.js.map +1 -1
- package/es/picker/canvas-picker-service.js +0 -3
- package/es/picker/canvas-picker-service.js.map +1 -1
- package/es/picker/contributions/canvas-picker/arc-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/arc3d-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/area-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/circle-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/glyph-picker.js +3 -6
- package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/group-picker.js +3 -2
- package/es/picker/contributions/canvas-picker/group-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/image-picker.js +4 -3
- package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/line-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/path-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/polygon-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/rect-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/rect3d-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/richtext-picker.js +1 -4
- package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/symbol-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/text-picker.js +2 -5
- package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/arc-picker.js +2 -5
- package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/area-picker.js +2 -5
- package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/circle-picker.js +2 -5
- package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/glyph-picker.js +3 -6
- package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/image-picker.js +4 -3
- package/es/picker/contributions/math-picker/image-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/line-picker.js +2 -5
- package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/path-picker.js +2 -5
- package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/polygon-picker.js +2 -5
- package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/rect-picker.js +2 -5
- package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/richtext-picker.js +1 -4
- package/es/picker/contributions/math-picker/richtext-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/symbol-picker.js +2 -5
- package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/text-picker.js +3 -2
- package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
- package/es/picker/math-picker-service.js +0 -2
- package/es/picker/math-picker-service.js.map +1 -1
- package/es/render/contributions/rough/rough-arc.js +1 -5
- package/es/render/contributions/rough/rough-arc.js.map +1 -1
- package/es/render/contributions/rough/rough-area.js +7 -4
- package/es/render/contributions/rough/rough-area.js.map +1 -1
- package/es/render/contributions/rough/rough-circle.js +2 -3
- package/es/render/contributions/rough/rough-circle.js.map +1 -1
- package/es/render/contributions/rough/rough-line.js +7 -4
- package/es/render/contributions/rough/rough-line.js.map +1 -1
- package/es/render/contributions/rough/rough-path.js +2 -5
- package/es/render/contributions/rough/rough-path.js.map +1 -1
- package/es/render/contributions/rough/rough-rect.js +4 -6
- package/es/render/contributions/rough/rough-rect.js.map +1 -1
- package/es/render/contributions/rough/rough-symbol.js +0 -4
- package/es/render/contributions/rough/rough-symbol.js.map +1 -1
- package/es/window/contributions/browser-contribution.js +8 -12
- package/es/window/contributions/browser-contribution.js.map +1 -1
- package/es/window/contributions/feishu-contribution.js +5 -8
- package/es/window/contributions/feishu-contribution.js.map +1 -1
- package/es/window/contributions/harmony-contribution.js +5 -8
- package/es/window/contributions/harmony-contribution.js.map +1 -1
- package/es/window/contributions/lynx-contribution.js +5 -8
- package/es/window/contributions/lynx-contribution.js.map +1 -1
- package/es/window/contributions/node-contribution.js +2 -6
- package/es/window/contributions/node-contribution.js.map +1 -1
- package/es/window/contributions/taro-contribution.js +9 -14
- package/es/window/contributions/taro-contribution.js.map +1 -1
- package/es/window/contributions/tt-contribution.js +5 -8
- package/es/window/contributions/tt-contribution.js.map +1 -1
- package/es/window/contributions/wx-contribution.js +10 -12
- package/es/window/contributions/wx-contribution.js.map +1 -1
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/contributions/math-picker/path-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAc7F,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/path-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAc7F,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAIhC,YAAgD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAH9E,SAAI,GAAW,MAAM,CAAC;QACtB,eAAU,GAAW,gBAAgB,CAAC;IAE2C,CAAC;IAElF,QAAQ,CAAC,IAAW,EAAE,KAAa,EAAE,MAAoB;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAGD,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;QAElE,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAErC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACzD;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC9C,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAEb,WAAW,CAAC,sBAAsB,EAAE,CAAC;SACtC;QAGD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,IAAI,EACJ,WAAW,EACX,CAAC,EACD,CAAC,EACD,EAAS,EACT,IAAI,EACJ,CACE,OAAmB,EACnB,aAA0D,EAC1D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CACE,OAAmB,EACnB,aAA0D,EAC1D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;YACtE,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,IAAI,cAAc,CAAC,gBAAgB,CAAC;YAC3F,WAAW,CAAC,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;YACrD,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,sBAAsB,EAAE,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA/EY,qBAAqB;IADjC,UAAU,EAAE;IAKE,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;;GAJpB,qBAAqB,CA+EjC;SA/EY,qBAAqB","file":"path-picker.js","sourcesContent":["import { inject, injectable, getTheme, PathRender, PATH_NUMBER_TYPE } from '@visactor/vrender-core';\nimport type { IPoint } from '@visactor/vutils';\nimport type {\n IContext2d,\n IPath,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '@visactor/vrender-core';\n\n@injectable()\nexport class DefaultMathPathPicker implements IGraphicPicker {\n type: string = 'path';\n numberType: number = PATH_NUMBER_TYPE;\n\n constructor(@inject(PathRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(path: IPath, point: IPoint, params?: IPickParams): boolean {\n if (!path.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (path.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(path).path;\n let { x = pathAttribute.x, y = pathAttribute.y } = path.attribute;\n\n pickContext.highPerformanceSave();\n if (!path.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(path.transMatrix, true);\n } else {\n const point = path.getOffsetXY(pathAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n path,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n pathAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n pathAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = pathAttribute.lineWidth || themeAttribute.lineWidth;\n const pickStrokeBuffer = pathAttribute.pickStrokeBuffer || themeAttribute.pickStrokeBuffer;\n pickContext.lineWidth = lineWidth + pickStrokeBuffer;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n\n return picked;\n }\n}\n"]}
|
|
@@ -13,15 +13,12 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
|
|
|
13
13
|
import { inject, injectable, getTheme, PolygonRender, POLYGON_NUMBER_TYPE } from "@visactor/vrender-core";
|
|
14
14
|
|
|
15
15
|
let DefaultMathPolygonPicker = class {
|
|
16
|
-
canvasRenderer;
|
|
17
|
-
type="polygon";
|
|
18
|
-
numberType=POLYGON_NUMBER_TYPE;
|
|
19
16
|
constructor(canvasRenderer) {
|
|
20
|
-
this.canvasRenderer = canvasRenderer;
|
|
17
|
+
this.canvasRenderer = canvasRenderer, this.type = "polygon", this.numberType = POLYGON_NUMBER_TYPE;
|
|
21
18
|
}
|
|
22
19
|
contains(polygon, point, params) {
|
|
23
20
|
if (!polygon.AABBBounds.contains(point.x, point.y)) return !1;
|
|
24
|
-
const {pickContext: pickContext} = params
|
|
21
|
+
const {pickContext: pickContext} = null != params ? params : {};
|
|
25
22
|
if (!pickContext) return !1;
|
|
26
23
|
const pathAttribute = getTheme(polygon).polygon;
|
|
27
24
|
let {x: x = pathAttribute.x, y: y = pathAttribute.y} = polygon.attribute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/contributions/math-picker/polygon-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAcnG,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/polygon-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAcnG,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAInC,YAAmD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAHjF,SAAI,GAAW,SAAS,CAAC;QACzB,eAAU,GAAW,mBAAmB,CAAC;IAE2C,CAAC;IAErF,QAAQ,CAAC,OAAiB,EAAE,KAAa,EAAE,MAAoB;QAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;YAClD,OAAO,KAAK,CAAC;SACd;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAGD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QAChD,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;QAErE,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAExC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAC5D;aAAM;YACL,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACjD,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAEb,WAAW,CAAC,sBAAsB,EAAE,CAAC;SACtC;QAGD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,OAAO,EACP,WAAW,EACX,CAAC,EACD,CAAC,EACD,EAAS,EACT,IAAI,EACJ,CACE,OAAmB,EACnB,aAA0D,EAC1D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CACE,OAAmB,EACnB,aAA0D,EAC1D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;YACtE,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,IAAI,cAAc,CAAC,gBAAgB,CAAC;YAC3F,WAAW,CAAC,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;YACrD,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,sBAAsB,EAAE,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA3EY,wBAAwB;IADpC,UAAU,EAAE;IAKE,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;;GAJvB,wBAAwB,CA2EpC;SA3EY,wBAAwB","file":"polygon-picker.js","sourcesContent":["import { inject, injectable, getTheme, PolygonRender, POLYGON_NUMBER_TYPE } from '@visactor/vrender-core';\nimport type { IPoint } from '@visactor/vutils';\nimport type {\n IContext2d,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IPolygon,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '@visactor/vrender-core';\n\n@injectable()\nexport class DefaultMathPolygonPicker implements IGraphicPicker {\n type: string = 'polygon';\n numberType: number = POLYGON_NUMBER_TYPE;\n\n constructor(@inject(PolygonRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(polygon: IPolygon, point: IPoint, params?: IPickParams): boolean {\n if (!polygon.AABBBounds.contains(point.x, point.y)) {\n return false;\n }\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(polygon).polygon;\n let { x = pathAttribute.x, y = pathAttribute.y } = polygon.attribute;\n\n pickContext.highPerformanceSave();\n if (!polygon.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(polygon.transMatrix, true);\n } else {\n const point = polygon.getOffsetXY(pathAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n polygon,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n pathAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n pathAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = pathAttribute.lineWidth || themeAttribute.lineWidth;\n const pickStrokeBuffer = pathAttribute.pickStrokeBuffer || themeAttribute.pickStrokeBuffer;\n pickContext.lineWidth = lineWidth + pickStrokeBuffer;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n\n return picked;\n }\n}\n"]}
|
|
@@ -17,16 +17,13 @@ import { inject, injectable, getTheme, RectRender, RECT_NUMBER_TYPE } from "@vis
|
|
|
17
17
|
const _bounds = new AABBBounds;
|
|
18
18
|
|
|
19
19
|
let DefaultMathRectPicker = class {
|
|
20
|
-
canvasRenderer;
|
|
21
|
-
type="rect";
|
|
22
|
-
numberType=RECT_NUMBER_TYPE;
|
|
23
20
|
constructor(canvasRenderer) {
|
|
24
|
-
this.canvasRenderer = canvasRenderer;
|
|
21
|
+
this.canvasRenderer = canvasRenderer, this.type = "rect", this.numberType = RECT_NUMBER_TYPE;
|
|
25
22
|
}
|
|
26
23
|
contains(rect, point, params) {
|
|
27
24
|
if (!rect.AABBBounds.containsPoint(point)) return !1;
|
|
28
25
|
if ("imprecise" === rect.attribute.pickMode) return !0;
|
|
29
|
-
const {pickContext: pickContext} = params
|
|
26
|
+
const {pickContext: pickContext} = null != params ? params : {};
|
|
30
27
|
if (!pickContext) return !1;
|
|
31
28
|
const rectAttribute = getTheme(rect).rect, {cornerRadius: cornerRadius = rectAttribute.cornerRadius} = rect.attribute;
|
|
32
29
|
let {x: x = rectAttribute.x, y: y = rectAttribute.y} = rect.attribute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/contributions/math-picker/rect-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAYpG,MAAM,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;AAG1B,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/rect-picker.ts"],"names":[],"mappings":"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","file":"rect-picker.js","sourcesContent":["import type { IPoint } from '@visactor/vutils';\nimport { isArray, isNumber, AABBBounds } from '@visactor/vutils';\nimport { inject, injectable, getTheme, RectRender, RECT_NUMBER_TYPE } from '@visactor/vrender-core';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '@visactor/vrender-core';\n\nconst _bounds = new AABBBounds();\n\n@injectable()\nexport class DefaultMathRectPicker implements IGraphicPicker {\n type: string = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n\n constructor(@inject(RectRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(rect: IRect, point: IPoint, params?: IPickParams): boolean {\n if (!rect.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (rect.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const { rectAttribute } = graphicService.themeService.getCurrentTheme();\n const rectAttribute = getTheme(rect).rect;\n const { cornerRadius = rectAttribute.cornerRadius } = rect.attribute;\n let { x = rectAttribute.x, y = rectAttribute.y } = rect.attribute;\n\n pickContext.highPerformanceSave();\n let onlyTranslate = true;\n if (!rect.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n onlyTranslate = false;\n pickContext.transformFromMatrix(rect.transMatrix, true);\n } else {\n const point = rect.getOffsetXY(rectAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n let picked = true;\n // 处理圆角情况,无圆角直接使用bounds判断结果\n if (\n !onlyTranslate ||\n (isNumber(cornerRadius, true) && cornerRadius !== 0) ||\n (isArray(cornerRadius) && (<number[]>cornerRadius).some(num => num !== 0))\n ) {\n // 详细形状判断\n picked = false;\n this.canvasRenderer.drawShape(\n rect,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n rectAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n rectAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = rectAttribute.lineWidth || themeAttribute.lineWidth;\n const pickStrokeBuffer = rectAttribute.pickStrokeBuffer || themeAttribute.pickStrokeBuffer;\n pickContext.lineWidth = lineWidth + pickStrokeBuffer;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n } else if (picked) {\n // 如果只有描边那需要测试描边\n const {\n fill = rectAttribute.fill,\n stroke = rectAttribute.stroke,\n lineWidth = rectAttribute.lineWidth\n } = rect.attribute;\n if (fill) {\n picked = true;\n } else if (stroke) {\n const bounds = rect.AABBBounds;\n _bounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2);\n _bounds.expand(-lineWidth / 2);\n picked = !_bounds.containsPoint(point);\n }\n }\n\n pickContext.highPerformanceRestore();\n return picked; // 无圆角形状判断通过\n }\n}\n"]}
|
|
@@ -13,11 +13,8 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
|
|
|
13
13
|
import { inject, injectable, RICHTEXT_NUMBER_TYPE, RichTextRender } from "@visactor/vrender-core";
|
|
14
14
|
|
|
15
15
|
let DefaultMathRichTextPicker = class {
|
|
16
|
-
canvasRenderer;
|
|
17
|
-
type="richtext";
|
|
18
|
-
numberType=RICHTEXT_NUMBER_TYPE;
|
|
19
16
|
constructor(canvasRenderer) {
|
|
20
|
-
this.canvasRenderer = canvasRenderer;
|
|
17
|
+
this.canvasRenderer = canvasRenderer, this.type = "richtext", this.numberType = RICHTEXT_NUMBER_TYPE;
|
|
21
18
|
}
|
|
22
19
|
contains(richtext, point, params) {
|
|
23
20
|
return !!richtext.AABBBounds.containsPoint(point);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/contributions/math-picker/richtext-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG3F,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/richtext-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG3F,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAIpC,YAAoD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAHlF,SAAI,GAAW,UAAU,CAAC;QAC1B,eAAU,GAAW,oBAAoB,CAAC;IAE2C,CAAC;IAEtF,QAAQ,CAAC,QAAmB,EAAE,KAAa,EAAE,MAAoB;QAC/D,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAZY,yBAAyB;IADrC,UAAU,EAAE;IAKE,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;;GAJxB,yBAAyB,CAYrC;SAZY,yBAAyB","file":"richtext-picker.js","sourcesContent":["import type { IPoint } from '@visactor/vutils';\nimport { inject, injectable, RICHTEXT_NUMBER_TYPE, RichTextRender } from '@visactor/vrender-core';\nimport type { IGraphicPicker, IGraphicRender, IPickParams, IRichText } from '@visactor/vrender-core';\n@injectable()\nexport class DefaultMathRichTextPicker implements IGraphicPicker {\n type: string = 'richtext';\n numberType: number = RICHTEXT_NUMBER_TYPE;\n\n constructor(@inject(RichTextRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(richtext: IRichText, point: IPoint, params?: IPickParams): boolean {\n if (richtext.AABBBounds.containsPoint(point)) {\n return true;\n }\n return false;\n }\n}\n"]}
|
|
@@ -13,16 +13,13 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
|
|
|
13
13
|
import { inject, injectable, getTheme, SymbolRender, SYMBOL_NUMBER_TYPE } from "@visactor/vrender-core";
|
|
14
14
|
|
|
15
15
|
let DefaultMathSymbolPicker = class {
|
|
16
|
-
canvasRenderer;
|
|
17
|
-
type="symbol";
|
|
18
|
-
numberType=SYMBOL_NUMBER_TYPE;
|
|
19
16
|
constructor(canvasRenderer) {
|
|
20
|
-
this.canvasRenderer = canvasRenderer;
|
|
17
|
+
this.canvasRenderer = canvasRenderer, this.type = "symbol", this.numberType = SYMBOL_NUMBER_TYPE;
|
|
21
18
|
}
|
|
22
19
|
contains(symbol, point, params) {
|
|
23
20
|
if (!symbol.AABBBounds.containsPoint(point)) return !1;
|
|
24
21
|
if ("imprecise" === symbol.attribute.pickMode) return !0;
|
|
25
|
-
const {pickContext: pickContext} = params
|
|
22
|
+
const {pickContext: pickContext} = null != params ? params : {};
|
|
26
23
|
if (!pickContext) return !1;
|
|
27
24
|
const symbolAttribute = getTheme(symbol).symbol;
|
|
28
25
|
let {x: x = symbolAttribute.x, y: y = symbolAttribute.y} = symbol.attribute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/contributions/math-picker/symbol-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAcjG,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/symbol-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAcjG,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAIlC,YAAkD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAHhF,SAAI,GAAW,QAAQ,CAAC;QACxB,eAAU,GAAW,kBAAkB,CAAC;IAE2C,CAAC;IAEpF,QAAQ,CAAC,MAAe,EAAE,KAAa,EAAE,MAAoB;QAC3D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAGD,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;QAExE,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAEvC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAC3D;aAAM;YACL,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAClD,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAEb,WAAW,CAAC,sBAAsB,EAAE,CAAC;SACtC;QAGD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,MAAM,EACN,WAAW,EACX,CAAC,EACD,CAAC,EACD,EAAS,EACT,IAAI,EACJ,CACE,OAAmB,EACnB,eAA4D,EAC5D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CACE,OAAmB,EACnB,eAA4D,EAC5D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;YACxE,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,IAAI,cAAc,CAAC,gBAAgB,CAAC;YAC7F,WAAW,CAAC,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;YACrD,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA9EY,uBAAuB;IADnC,UAAU,EAAE;IAKE,WAAA,MAAM,CAAC,YAAY,CAAC,CAAA;;GAJtB,uBAAuB,CA8EnC;SA9EY,uBAAuB","file":"symbol-picker.js","sourcesContent":["import { inject, injectable, getTheme, SymbolRender, SYMBOL_NUMBER_TYPE } from '@visactor/vrender-core';\nimport type { IPoint } from '@visactor/vutils';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n ISymbol,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '@visactor/vrender-core';\n\n@injectable()\nexport class DefaultMathSymbolPicker implements IGraphicPicker {\n type: string = 'symbol';\n numberType: number = SYMBOL_NUMBER_TYPE;\n\n constructor(@inject(SymbolRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(symbol: ISymbol, point: IPoint, params?: IPickParams): boolean {\n if (!symbol.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (symbol.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const symbolAttribute = graphicService.themeService.getCurrentTheme().symbolAttribute;\n const symbolAttribute = getTheme(symbol).symbol;\n let { x = symbolAttribute.x, y = symbolAttribute.y } = symbol.attribute;\n\n pickContext.highPerformanceSave();\n if (!symbol.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(symbol.transMatrix, true);\n } else {\n const point = symbol.getOffsetXY(symbolAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n symbol,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n symbolAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n symbolAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = symbolAttribute.lineWidth || themeAttribute.lineWidth;\n const pickStrokeBuffer = symbolAttribute.pickStrokeBuffer || themeAttribute.pickStrokeBuffer;\n pickContext.lineWidth = lineWidth + pickStrokeBuffer;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n return picked;\n }\n}\n"]}
|
|
@@ -7,8 +7,9 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
|
|
|
7
7
|
import { injectable, TEXT_NUMBER_TYPE } from "@visactor/vrender-core";
|
|
8
8
|
|
|
9
9
|
let DefaultMathTextPicker = class {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
constructor() {
|
|
11
|
+
this.type = "text", this.numberType = TEXT_NUMBER_TYPE;
|
|
12
|
+
}
|
|
12
13
|
contains(text, point, params) {
|
|
13
14
|
return !!text.AABBBounds.containsPoint(point);
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/contributions/math-picker/text-picker.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/text-picker.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACL,SAAI,GAAW,MAAM,CAAC;QACtB,eAAU,GAAW,gBAAgB,CAAC;IAexC,CAAC;IAbC,QAAQ,CAAC,IAAW,EAAE,KAAa,EAAE,MAAoB;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QAQD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAjBY,qBAAqB;IADjC,UAAU,EAAE;GACA,qBAAqB,CAiBjC;SAjBY,qBAAqB","file":"text-picker.js","sourcesContent":["import { injectable, TEXT_NUMBER_TYPE } from '@visactor/vrender-core';\nimport type { IPoint } from '@visactor/vutils';\nimport type { IGraphicPicker, IPickParams, IText } from '@visactor/vrender-core';\n\n@injectable()\nexport class DefaultMathTextPicker implements IGraphicPicker {\n type: string = 'text';\n numberType: number = TEXT_NUMBER_TYPE;\n\n contains(text: IText, point: IPoint, params?: IPickParams): boolean {\n if (!text.AABBBounds.containsPoint(point)) {\n return false;\n }\n\n // const { pickContext } = params ?? {};\n // if (!pickContext) {\n // return false;\n // }\n\n // TODO: 详细形状判断\n return true;\n }\n}\n"]}
|
|
@@ -15,8 +15,6 @@ import { ContributionProvider, inject, injectable, named, DefaultPickService, Em
|
|
|
15
15
|
import { MathPickerContribution } from "./contributions/constants";
|
|
16
16
|
|
|
17
17
|
let DefaultMathPickerService = class extends DefaultPickService {
|
|
18
|
-
contributions;
|
|
19
|
-
pickItemInterceptorContributions;
|
|
20
18
|
constructor(contributions, pickItemInterceptorContributions) {
|
|
21
19
|
super(pickItemInterceptorContributions), this.contributions = contributions, this.pickItemInterceptorContributions = pickItemInterceptorContributions,
|
|
22
20
|
this.global.hooks.onSetEnv.tap("math-picker-service", ((lastEnv, env, global) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/math-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EACL,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAK5D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,kBAAkB;
|
|
1
|
+
{"version":3,"sources":["../src/picker/math-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EACL,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAK5D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,kBAAkB;IAO9D,YAGqB,aAAoD,EAIpD,gCAAyF;QAE5G,KAAK,CAAC,gCAAgC,CAAC,CAAC;QANrB,kBAAa,GAAb,aAAa,CAAuC;QAIpD,qCAAgC,GAAhC,gCAAgC,CAAyD;QAG5G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC7E,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAe,EAAE,GAAY;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAGD,QAAQ,CACN,OAAiB,EACjB,KAAiB,EACjB,YAA4B,EAC5B,MAAoB;QAEpB,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE;YACL,OAAO;gBACL,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,EAAE;aACX,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA5DY,wBAAwB;IADpC,UAAU,EAAE;IASR,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAG7B,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,mBAAmB,CAAC,CAAA;;GAblB,wBAAwB,CA4DpC;SA5DY,wBAAwB","file":"math-picker-service.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line\nimport {\n ContributionProvider,\n inject,\n injectable,\n named,\n DefaultPickService,\n EmptyContext2d,\n PickItemInterceptor\n} from '@visactor/vrender-core';\nimport type {\n ICanvas,\n IContext2d,\n IGraphic,\n EnvType,\n IGlobal,\n IGraphicPicker,\n IPickerService,\n IContributionProvider,\n IPickItemInterceptorContribution,\n IPickParams,\n PickResult\n} from '@visactor/vrender-core';\nimport { MathPickerContribution } from './contributions/constants';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultMathPickerService extends DefaultPickService implements IPickerService {\n declare type: 'default';\n // pcik canvas\n declare pickCanvas: ICanvas;\n declare pickContext: IContext2d;\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n @inject(ContributionProvider)\n @named(MathPickerContribution)\n protected readonly contributions: IContributionProvider<IGraphicPicker>,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(pickItemInterceptorContributions);\n this.global.hooks.onSetEnv.tap('math-picker-service', (lastEnv, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n this.pickerMap = new Map();\n this.init();\n }\n\n init() {\n this.contributions.getContributions().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n super._init();\n }\n\n configure(global: IGlobal, env: EnvType) {\n this.pickContext = new EmptyContext2d(null, 1);\n }\n\n // todo: switch统一改为数字map\n pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params?: IPickParams\n ): PickResult | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n const pd = picker.contains(graphic, point, params);\n const g = pd ? graphic : null;\n if (g) {\n return {\n graphic: g,\n params: pd\n };\n }\n return null;\n }\n}\n"]}
|
|
@@ -17,12 +17,8 @@ import rough from "roughjs";
|
|
|
17
17
|
import { defaultRouthThemeSpec } from "./config";
|
|
18
18
|
|
|
19
19
|
let RoughCanvasArcRender = class {
|
|
20
|
-
canvasRenderer;
|
|
21
|
-
type;
|
|
22
|
-
numberType;
|
|
23
|
-
style="rough";
|
|
24
20
|
constructor(canvasRenderer) {
|
|
25
|
-
this.canvasRenderer = canvasRenderer, this.type = "arc", this.numberType = ARC_NUMBER_TYPE;
|
|
21
|
+
this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "arc", this.numberType = ARC_NUMBER_TYPE;
|
|
26
22
|
}
|
|
27
23
|
draw(arc, renderService, drawContext, params) {
|
|
28
24
|
const {context: context} = drawContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/rough/rough-arc.ts"],"names":[],"mappings":";;;;;;;;;;;;AAYA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,MAAM,EACN,UAAU,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG1C,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/rough/rough-arc.ts"],"names":[],"mappings":"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","file":"rough-arc.js","sourcesContent":["import type {\n IGraphicRender,\n IRenderService,\n IArc,\n IGraphicAttribute,\n IContext2d,\n IGraphic,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IGraphicRenderDrawParams\n} from '@visactor/vrender-core';\nimport {\n ARC_NUMBER_TYPE,\n DefaultCanvasArcRender,\n getTheme,\n CustomPath2D,\n drawArcPath,\n inject,\n injectable\n} from '@visactor/vrender-core';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\n\n@injectable()\nexport class RoughCanvasArcRender implements IGraphicRender {\n type: 'arc';\n numberType: number;\n style: 'rough' = 'rough';\n\n constructor(\n @inject(DefaultCanvasArcRender)\n public readonly canvasRenderer: IGraphicRender\n ) {\n this.type = 'arc';\n this.numberType = ARC_NUMBER_TYPE;\n }\n\n draw(arc: IArc, 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 arcAttribute = graphicService.themeService.getCurrentTheme().arcAttribute;\n const arcAttribute = getTheme(arc).arc;\n let { x = arcAttribute.x, y = arcAttribute.y } = arc.attribute;\n if (!arc.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.transformFromMatrix(arc.transMatrix, true);\n } else {\n const { dx = arcAttribute.dx, dy = arcAttribute.dy } = arc.attribute;\n x += dx;\n y += dy;\n // 当前context有rotate/scale,重置matrix\n context.setTransformForCurrent();\n }\n\n const customPath = new CustomPath2D();\n\n const {\n fill = arcAttribute.fill,\n stroke = arcAttribute.stroke,\n lineWidth = arcAttribute.lineWidth,\n outerRadius = arcAttribute.outerRadius,\n innerRadius = arcAttribute.innerRadius,\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 } = arc.attribute as any;\n\n drawArcPath(arc, customPath, x, y, outerRadius, innerRadius);\n\n rc.path(customPath.toString(), {\n fill: fill ? (fill as string) : undefined,\n stroke: stroke ? (stroke 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"]}
|
|
@@ -11,7 +11,9 @@ import rough from "roughjs";
|
|
|
11
11
|
import { defaultRouthThemeSpec } from "./config";
|
|
12
12
|
|
|
13
13
|
let RoughCanvasAreaRender = class extends DefaultCanvasAreaRender {
|
|
14
|
-
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments), this.style = "rough";
|
|
16
|
+
}
|
|
15
17
|
drawSegmentItem(context, cache, fill, fillOpacity, stroke, strokeOpacity, attribute, defaultAttribute, clipRange, offsetX, offsetY, offsetZ, area, drawContext, fillCb) {
|
|
16
18
|
if (fillCb) return super.drawSegmentItem(context, cache, fill, fillOpacity, stroke, strokeOpacity, attribute, defaultAttribute, clipRange, offsetX, offsetY, offsetZ, area, drawContext, fillCb);
|
|
17
19
|
context.highPerformanceSave();
|
|
@@ -23,9 +25,10 @@ let RoughCanvasAreaRender = class extends DefaultCanvasAreaRender {
|
|
|
23
25
|
const {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} = attribute;
|
|
24
26
|
let {fill: fillColor, stroke: strokeColor, lineWidth: lineWidth} = attribute;
|
|
25
27
|
return Array.isArray(defaultAttribute) ? defaultAttribute.forEach((item => {
|
|
26
|
-
fillColor = fillColor
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
fillColor = null != fillColor ? fillColor : item.fill, strokeColor = null != strokeColor ? strokeColor : item.stroke,
|
|
29
|
+
lineWidth = null != lineWidth ? lineWidth : item.lineWidth;
|
|
30
|
+
})) : (fillColor = null != fillColor ? fillColor : defaultAttribute.fill, strokeColor = null != strokeColor ? strokeColor : defaultAttribute.stroke,
|
|
31
|
+
lineWidth = null != lineWidth ? lineWidth : defaultAttribute.lineWidth), rc.path(customPath.toString(), {
|
|
29
32
|
fill: fill ? fillColor : void 0,
|
|
30
33
|
strokeWidth: lineWidth,
|
|
31
34
|
maxRandomnessOffset: maxRandomnessOffset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/rough/rough-area.ts"],"names":[],"mappings":";;;;;;AAWA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG1C,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,uBAAuB;
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/rough/rough-area.ts"],"names":[],"mappings":";;;;;;AAWA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG1C,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,uBAAuB;IAA3D;;QAGL,UAAK,GAAY,OAAO,CAAC;IAyI3B,CAAC;IAxHW,eAAe,CACvB,OAAmB,EACnB,KAAqB,EACrB,IAAa,EACb,WAAmB,EACnB,MAAe,EACf,aAAqB,EACrB,SAAyC,EACzC,gBAAoF,EACpF,SAAiB,EACjB,OAAe,EACf,OAAe,EACf,OAAe,EACf,IAAW,EACX,WAAyB,EACzB,MAIY;QAEZ,IAAI,MAAM,EAAE;YACV,OAAO,KAAK,CAAC,eAAe,CAC1B,OAAO,EACP,KAAK,EACL,IAAI,EACJ,WAAW,EACX,MAAM,EACN,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,IAAI,EACJ,WAAW,EACX,MAAM,CACP,CAAC;SACH;QACD,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEpC,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;QAEtC,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;YAC7C,OAAO;YACP,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,EACJ,mBAAmB,GAAG,qBAAqB,CAAC,mBAAmB,EAC/D,SAAS,GAAG,qBAAqB,CAAC,SAAS,EAC3C,MAAM,GAAG,qBAAqB,CAAC,MAAM,EACrC,YAAY,GAAG,qBAAqB,CAAC,YAAY,EACjD,cAAc,GAAG,qBAAqB,CAAC,cAAc,EACrD,cAAc,GAAG,qBAAqB,CAAC,cAAc,EACrD,SAAS,GAAG,qBAAqB,CAAC,SAAS,EAC3C,UAAU,GAAG,qBAAqB,CAAC,UAAU,EAC7C,YAAY,GAAG,qBAAqB,CAAC,YAAY,EACjD,UAAU,GAAG,qBAAqB,CAAC,UAAU,EAC7C,cAAc,GAAG,qBAAqB,CAAC,cAAc,EACrD,UAAU,GAAG,qBAAqB,CAAC,UAAU,EAC7C,OAAO,GAAG,qBAAqB,CAAC,OAAO,EACvC,YAAY,GAAG,qBAAqB,CAAC,YAAY,EACjD,IAAI,GAAG,qBAAqB,CAAC,IAAI,EACjC,YAAY,GAAG,qBAAqB,CAAC,YAAY,EACjD,kBAAkB,GAAG,qBAAqB,CAAC,kBAAkB,EAC7D,kBAAkB,GAAG,qBAAqB,CAAC,kBAAkB,EAC7D,sBAAsB,GAAG,qBAAqB,CAAC,sBAAsB,EACrE,gBAAgB,GAAG,qBAAqB,CAAC,gBAAgB,EACzD,uBAAuB,GAAG,qBAAqB,CAAC,uBAAuB,EACxE,GAAG,SAAgB,CAAC;QAErB,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;QAEpE,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YACnC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9B,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,IAAI,CAAC;gBACnC,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,MAAM,CAAC;gBACzC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,SAAS,CAAC;YAC1C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,gBAAgB,CAAC,IAAI,CAAC;YAC/C,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,gBAAgB,CAAC,MAAM,CAAC;YACrD,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,gBAAgB,CAAC,SAAS,CAAC;SACrD;QAED,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE;YAC7B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,SAAoB,CAAC,CAAC,CAAC,SAAS;YAC9C,WAAW,EAAE,SAAS;YACtB,mBAAmB;YACnB,SAAS;YACT,MAAM;YACN,YAAY;YACZ,cAAc;YACd,cAAc;YACd,SAAS;YACT,UAAU;YACV,YAAY;YACZ,UAAU;YACV,cAAc;YACd,UAAU;YACV,OAAO;YACP,YAAY;YACZ,IAAI;YACJ,YAAY;YACZ,kBAAkB;YAClB,kBAAkB;YAClB,sBAAsB;YACtB,gBAAgB;YAChB,uBAAuB;SACxB,CAAC,CAAC;QAEH,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAEjC,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AA5IY,qBAAqB;IADjC,UAAU,EAAE;GACA,qBAAqB,CA4IjC;SA5IY,qBAAqB","file":"rough-area.js","sourcesContent":["import type {\n IGraphicRender,\n IAreaCacheItem,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IGraphicAttribute,\n IArea,\n IAreaGraphicAttribute,\n IDrawContext\n} from '@visactor/vrender-core';\nimport { drawAreaSegments, DefaultCanvasAreaRender, CustomPath2D, injectable } from '@visactor/vrender-core';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\n\n@injectable()\nexport class RoughCanvasAreaRender extends DefaultCanvasAreaRender implements IGraphicRender {\n declare type: 'area';\n declare numberType: number;\n style: 'rough' = 'rough';\n\n /**\n * 绘制segment\n * @param context\n * @param cache\n * @param fill\n * @param stroke\n * @param attribute\n * @param defaultAttribute\n * @param clipRange\n * @param offsetX\n * @param offsetY\n * @param fillCb\n * @param strokeCb\n * @returns 返回true代表跳过后续绘制\n */\n protected drawSegmentItem(\n context: IContext2d,\n cache: IAreaCacheItem,\n fill: boolean,\n fillOpacity: number,\n stroke: boolean,\n strokeOpacity: number,\n attribute: Partial<IAreaGraphicAttribute>,\n defaultAttribute: Required<IAreaGraphicAttribute> | Partial<IAreaGraphicAttribute>[],\n clipRange: number,\n offsetX: number,\n offsetY: number,\n offsetZ: number,\n area: IArea,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean\n ): boolean {\n if (fillCb) {\n return super.drawSegmentItem(\n context,\n cache,\n fill,\n fillOpacity,\n stroke,\n strokeOpacity,\n attribute,\n defaultAttribute,\n clipRange,\n offsetX,\n offsetY,\n offsetZ,\n area,\n drawContext,\n fillCb\n );\n }\n context.highPerformanceSave();\n // 获取到原生canvas\n const canvas = context.canvas.nativeCanvas;\n const rc = rough.canvas(canvas, {});\n\n const customPath = new CustomPath2D();\n\n drawAreaSegments(customPath, cache, clipRange, {\n offsetX,\n offsetY\n });\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 } = attribute as any;\n\n let { fill: fillColor, stroke: strokeColor, lineWidth } = attribute;\n\n if (Array.isArray(defaultAttribute)) {\n defaultAttribute.forEach(item => {\n fillColor = fillColor ?? item.fill;\n strokeColor = strokeColor ?? item.stroke;\n lineWidth = lineWidth ?? item.lineWidth;\n });\n } else {\n fillColor = fillColor ?? defaultAttribute.fill;\n strokeColor = strokeColor ?? defaultAttribute.stroke;\n lineWidth = lineWidth ?? defaultAttribute.lineWidth;\n }\n\n rc.path(customPath.toString(), {\n fill: fill ? (fillColor 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 return false;\n }\n}\n"]}
|
|
@@ -15,10 +15,9 @@ import { CIRCLE_NUMBER_TYPE, DefaultCanvasCircleRender, getTheme, inject, inject
|
|
|
15
15
|
import rough from "roughjs";
|
|
16
16
|
|
|
17
17
|
let RoughCanvasCircleRender = class {
|
|
18
|
-
canvasRenderer;
|
|
19
|
-
style="rough";
|
|
20
18
|
constructor(canvasRenderer) {
|
|
21
|
-
this.canvasRenderer = canvasRenderer, this.
|
|
19
|
+
this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "circle",
|
|
20
|
+
this.numberType = CIRCLE_NUMBER_TYPE;
|
|
22
21
|
}
|
|
23
22
|
draw(circle, renderService, drawContext, params) {
|
|
24
23
|
const {context: context} = drawContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/rough/rough-circle.ts"],"names":[],"mappings":";;;;;;;;;;;;AAYA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrH,OAAO,KAAK,MAAM,SAAS,CAAC;AAGrB,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/rough/rough-circle.ts"],"names":[],"mappings":";;;;;;;;;;;;AAYA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrH,OAAO,KAAK,MAAM,SAAS,CAAC;AAGrB,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;QAGD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAGpC,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,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE;YAEnC,OAAO,CAAC,WAAW,EAAE,CAAC;SACvB;QAED,MAAM,EACJ,MAAM,GAAG,eAAe,CAAC,MAAM,EAC/B,IAAI,GAAG,eAAe,CAAC,IAAI,EAC3B,MAAM,GAAG,eAAe,CAAC,MAAM,EAC/B,SAAS,GAAG,eAAe,CAAC,SAAS,EACtC,GAAG,MAAM,CAAC,SAAS,CAAC;QACrB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,IAAe,CAAC,CAAC,CAAC,SAAS;YACzC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAE,MAAiB,CAAC,CAAC,CAAC,SAAS;YAC/C,WAAW,EAAE,SAAS;YACtB,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;IACL,CAAC;IACD,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,CAAA;AAxEY,uBAAuB;IADnC,UAAU,EAAE;IAOR,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;;GANzB,uBAAuB,CAwEnC;SAxEY,uBAAuB","file":"rough-circle.js","sourcesContent":["import type {\n IGraphicRender,\n IRenderService,\n IGraphic,\n ICircle,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IGraphicAttribute,\n IDrawContext,\n IGraphicRenderDrawParams\n} from '@visactor/vrender-core';\nimport { CIRCLE_NUMBER_TYPE, DefaultCanvasCircleRender, getTheme, inject, injectable } from '@visactor/vrender-core';\nimport rough from 'roughjs';\n\n@injectable()\nexport class RoughCanvasCircleRender implements IGraphicRender {\n declare type: 'circle';\n declare numberType: number;\n style: 'rough' = 'rough';\n\n constructor(\n @inject(DefaultCanvasCircleRender)\n public readonly canvasRenderer: IGraphicRender\n ) {\n this.type = 'circle';\n this.numberType = CIRCLE_NUMBER_TYPE;\n }\n\n draw(circle: ICircle, 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 // const circleAttribute = graphicService.themeService.getCurrentTheme().circleAttribute;\n const circleAttribute = getTheme(circle).circle;\n let { x = circleAttribute.x, y = circleAttribute.y } = circle.attribute;\n if (!circle.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.transformFromMatrix(circle.transMatrix, true);\n } else if (!context.onlyTranslate()) {\n // 当前context有rotate/scale,重置matrix\n context.clearMatrix();\n }\n\n const {\n radius = circleAttribute.radius,\n fill = circleAttribute.fill,\n stroke = circleAttribute.stroke,\n lineWidth = circleAttribute.lineWidth\n } = circle.attribute;\n rc.circle(x, y, radius, {\n fill: fill ? (fill as string) : undefined,\n stroke: stroke ? (stroke as string) : undefined,\n strokeWidth: lineWidth,\n fillStyle: 'zigzag',\n roughness: 0.5\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"]}
|
|
@@ -11,7 +11,9 @@ import rough from "roughjs";
|
|
|
11
11
|
import { defaultRouthThemeSpec } from "./config";
|
|
12
12
|
|
|
13
13
|
let RoughCanvasLineRender = class extends DefaultCanvasLineRender {
|
|
14
|
-
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments), this.style = "rough";
|
|
16
|
+
}
|
|
15
17
|
drawSegmentItem(context, cache, fill, stroke, fillOpacity, strokeOpacity, attribute, defaultAttribute, clipRange, clipRangeByDimension, offsetX, offsetY, line, fillCb, strokeCb) {
|
|
16
18
|
if (fillCb || strokeCb) return super.drawSegmentItem(context, cache, fill, stroke, fillOpacity, strokeOpacity, attribute, defaultAttribute, clipRange, clipRangeByDimension, offsetX, offsetY, line, fillCb, strokeCb);
|
|
17
19
|
context.highPerformanceSave();
|
|
@@ -23,9 +25,10 @@ let RoughCanvasLineRender = class extends DefaultCanvasLineRender {
|
|
|
23
25
|
const {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} = attribute;
|
|
24
26
|
let {fill: fillColor, stroke: strokeColor, lineWidth: lineWidth} = attribute;
|
|
25
27
|
return Array.isArray(defaultAttribute) ? defaultAttribute.forEach((item => {
|
|
26
|
-
fillColor = fillColor
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
fillColor = null != fillColor ? fillColor : item.fill, strokeColor = null != strokeColor ? strokeColor : item.stroke,
|
|
29
|
+
lineWidth = null != lineWidth ? lineWidth : item.lineWidth;
|
|
30
|
+
})) : (fillColor = null != fillColor ? fillColor : defaultAttribute.fill, strokeColor = null != strokeColor ? strokeColor : defaultAttribute.stroke,
|
|
31
|
+
lineWidth = null != lineWidth ? lineWidth : defaultAttribute.lineWidth), rc.path(customPath.toString(), {
|
|
29
32
|
fill: fill ? fillColor : void 0,
|
|
30
33
|
stroke: stroke ? strokeColor : void 0,
|
|
31
34
|
strokeWidth: lineWidth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/rough/rough-line.ts"],"names":[],"mappings":";;;;;;AAWA,OAAO,EAGL,uBAAuB,EAEvB,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG1C,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,uBAAuB;
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/rough/rough-line.ts"],"names":[],"mappings":"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","file":"rough-line.js","sourcesContent":["import type {\n IGraphicRender,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IGraphicAttribute,\n ISegPath2D,\n ILine,\n ILineGraphicAttribute,\n IClipRangeByDimensionType\n} from '@visactor/vrender-core';\nimport {\n IRenderService,\n IGraphic,\n DefaultCanvasLineRender,\n getTheme,\n CustomPath2D,\n drawSegments,\n injectable\n} from '@visactor/vrender-core';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\n\n@injectable()\nexport class RoughCanvasLineRender extends DefaultCanvasLineRender implements IGraphicRender {\n declare type: 'line';\n declare numberType: number;\n style: 'rough' = 'rough';\n\n /**\n * 绘制segment\n * @param context\n * @param cache\n * @param fill\n * @param stroke\n * @param attribute\n * @param defaultAttribute\n * @param clipRange\n * @param offsetX\n * @param offsetY\n * @param fillCb\n * @param strokeCb\n * @returns 返回true代表跳过后续绘制\n */\n protected drawSegmentItem(\n context: IContext2d,\n cache: ISegPath2D,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n attribute: Partial<ILineGraphicAttribute>,\n defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[],\n clipRange: number,\n clipRangeByDimension: IClipRangeByDimensionType,\n offsetX: number,\n offsetY: number,\n line: ILine,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean\n ): boolean {\n if (fillCb || strokeCb) {\n return super.drawSegmentItem(\n context,\n cache,\n fill,\n stroke,\n fillOpacity,\n strokeOpacity,\n attribute,\n defaultAttribute,\n clipRange,\n clipRangeByDimension,\n offsetX,\n offsetY,\n line,\n fillCb,\n strokeCb\n );\n }\n context.highPerformanceSave();\n // 获取到原生canvas\n const canvas = context.canvas.nativeCanvas;\n const rc = rough.canvas(canvas, {});\n\n const customPath = new CustomPath2D();\n\n drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY\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 } = attribute as any;\n\n let { fill: fillColor, stroke: strokeColor, lineWidth } = attribute;\n\n if (Array.isArray(defaultAttribute)) {\n defaultAttribute.forEach(item => {\n fillColor = fillColor ?? item.fill;\n strokeColor = strokeColor ?? item.stroke;\n lineWidth = lineWidth ?? item.lineWidth;\n });\n } else {\n fillColor = fillColor ?? defaultAttribute.fill;\n strokeColor = strokeColor ?? defaultAttribute.stroke;\n lineWidth = lineWidth ?? defaultAttribute.lineWidth;\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 return false;\n }\n}\n"]}
|
|
@@ -17,12 +17,9 @@ import rough from "roughjs";
|
|
|
17
17
|
import { defaultRouthThemeSpec } from "./config";
|
|
18
18
|
|
|
19
19
|
let RoughCanvasPathRender = class {
|
|
20
|
-
canvasRenderer;
|
|
21
|
-
type;
|
|
22
|
-
numberType;
|
|
23
|
-
style="rough";
|
|
24
20
|
constructor(canvasRenderer) {
|
|
25
|
-
this.canvasRenderer = canvasRenderer, this.
|
|
21
|
+
this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "path",
|
|
22
|
+
this.numberType = PATH_NUMBER_TYPE;
|
|
26
23
|
}
|
|
27
24
|
draw(path, renderService, drawContext, params) {
|
|
28
25
|
const {context: context} = drawContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/rough/rough-path.ts"],"names":[],"mappings":";;;;;;;;;;;;AAYA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjH,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG1C,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/rough/rough-path.ts"],"names":[],"mappings":"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","file":"rough-path.js","sourcesContent":["import 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-core';\nimport { PATH_NUMBER_TYPE, DefaultCanvasPathRender, getTheme, inject, injectable } from '@visactor/vrender-core';\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,\n stroke = pathAttribute.stroke,\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 ? (fill as string) : undefined,\n stroke: stroke ? (stroke 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"]}
|
|
@@ -17,12 +17,9 @@ import rough from "roughjs";
|
|
|
17
17
|
import { defaultRouthThemeSpec } from "./config";
|
|
18
18
|
|
|
19
19
|
let RoughCanvasRectRender = class {
|
|
20
|
-
canvasRenderer;
|
|
21
|
-
type;
|
|
22
|
-
numberType;
|
|
23
|
-
style="rough";
|
|
24
20
|
constructor(canvasRenderer) {
|
|
25
|
-
this.canvasRenderer = canvasRenderer, this.
|
|
21
|
+
this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "rect",
|
|
22
|
+
this.numberType = RECT_NUMBER_TYPE;
|
|
26
23
|
}
|
|
27
24
|
draw(rect, renderService, drawContext, params) {
|
|
28
25
|
const {context: context} = drawContext;
|
|
@@ -37,7 +34,8 @@ let RoughCanvasRectRender = class {
|
|
|
37
34
|
} else x = 0, y = 0, context.transformFromMatrix(rect.transMatrix, !0);
|
|
38
35
|
const {fill: fill = rectAttribute.fill, stroke: stroke = rectAttribute.stroke, fillColor: fillColor = rectAttribute.fill, strokeColor: strokeColor = rectAttribute.stroke, x1: x1, y1: y1, 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;
|
|
39
36
|
let {width: width = rectAttribute.width, height: height = rectAttribute.height} = rect.attribute;
|
|
40
|
-
width = (width
|
|
37
|
+
width = (null != width ? width : x1 - x) || 0, height = (null != height ? height : y1 - y) || 0,
|
|
38
|
+
rc.rectangle(x, y, width, height, {
|
|
41
39
|
fill: fill ? fillColor : void 0,
|
|
42
40
|
stroke: stroke ? strokeColor : void 0,
|
|
43
41
|
strokeWidth: lineWidth,
|