plotboilerplate 1.20.0 → 1.20.2
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/README.md +17 -0
- package/dist/index.esm.js +101 -50
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +102 -50
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +2 -1
- package/src/cjs/BezierPath.js +2 -3
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +7 -1
- package/src/cjs/PlotBoilerplate.js +76 -33
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Triangle.js +1 -0
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/draw.d.ts +6 -5
- package/src/cjs/draw.js +4 -3
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawgl.d.ts +7 -6
- package/src/cjs/drawgl.js +5 -4
- package/src/cjs/drawgl.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +8 -6
- package/src/cjs/drawutilssvg.js +14 -7
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/interfaces/DrawLib.d.ts +4 -3
- package/src/cjs/interfaces/DrawLib.js +1 -0
- package/src/cjs/interfaces/DrawLib.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +33 -30
- package/src/cjs/interfaces/core.js +1 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/datastructures/Color.d.ts +3 -1
- package/src/cjs/utils/datastructures/Color.js +12 -1
- package/src/cjs/utils/datastructures/Color.js.map +1 -1
- package/src/cjs/utils/module.js +4 -2
- package/src/cjs/utils/parsers/svg/parseSVGPathData.d.ts +2 -1
- package/src/cjs/utils/parsers/svg/parseSVGPathData.js +228 -205
- package/src/cjs/utils/parsers/svg/parseSVGPathData.js.map +1 -1
- package/src/cjs/utils/parsers/svg/splitSVGPathData.js +6 -2
- package/src/cjs/utils/parsers/svg/splitSVGPathData.js.map +1 -1
- package/src/cjs/utils/parsers/svg/types.d.ts +29 -9
- package/src/cjs/utils/parsers/svg/types.js +4 -3
- package/src/cjs/utils/parsers/svg/types.js.map +1 -1
- package/src/esm/BezierPath.js +2 -3
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +7 -1
- package/src/esm/PlotBoilerplate.js +75 -33
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Triangle.js +1 -0
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/draw.d.ts +6 -5
- package/src/esm/draw.js +4 -3
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawgl.d.ts +7 -6
- package/src/esm/drawgl.js +5 -4
- package/src/esm/drawgl.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +8 -6
- package/src/esm/drawutilssvg.js +14 -7
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/interfaces/DrawLib.d.ts +4 -3
- package/src/esm/interfaces/DrawLib.js +1 -0
- package/src/esm/interfaces/DrawLib.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +33 -30
- package/src/esm/interfaces/core.js +1 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/datastructures/Color.d.ts +3 -1
- package/src/esm/utils/datastructures/Color.js +12 -1
- package/src/esm/utils/datastructures/Color.js.map +1 -1
- package/src/esm/utils/parsers/svg/parseSVGPathData.d.ts +2 -1
- package/src/esm/utils/parsers/svg/parseSVGPathData.js +228 -205
- package/src/esm/utils/parsers/svg/parseSVGPathData.js.map +1 -1
- package/src/esm/utils/parsers/svg/splitSVGPathData.js +6 -2
- package/src/esm/utils/parsers/svg/splitSVGPathData.js.map +1 -1
- package/src/esm/utils/parsers/svg/types.d.ts +29 -9
- package/src/esm/utils/parsers/svg/types.js +4 -3
- package/src/esm/utils/parsers/svg/types.js.map +1 -1
- package/src/ts/BezierPath.ts +2 -3
- package/src/ts/PlotBoilerplate.ts +75 -32
- package/src/ts/Triangle.ts +2 -1
- package/src/ts/draw.ts +6 -5
- package/src/ts/drawgl.ts +9 -8
- package/src/ts/drawutilssvg.ts +23 -16
- package/src/ts/interfaces/DrawLib.ts +4 -3
- package/src/ts/interfaces/core.ts +33 -30
- package/src/ts/utils/datastructures/Color.ts +13 -1
- package/src/ts/utils/parsers/svg/parseSVGPathData.ts +271 -212
- package/src/ts/utils/parsers/svg/splitSVGPathData.ts +6 -2
- package/src/ts/utils/parsers/svg/types.ts +29 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSVGPathData.js","sourceRoot":"","sources":["../../../../ts/utils/parsers/svg/parseSVGPathData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;IAYI;AAEJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAetD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAyC,EAAE;IAC5F,MAAM,YAAY,GAAiC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEhF,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAmC,EAAE,CAAC;IAElD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IAE5C,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE;QAC9B,8DAA8D;QAC9D,MAAM,IAAI,GAAmB,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,yCAAyC;QACzC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;YACf,KAAK,GAAG;gBACN,kBAAkB;gBAClB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC1E,MAAM;YACR,KAAK,GAAG;gBACN,kBAAkB;gBAClB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACzE,MAAM;YACR,KAAK,GAAG;gBACN,iBAAiB;gBACjB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC5E,MAAM;YACR,KAAK,GAAG;gBACN,iBAAiB;gBACjB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,GAAG;gBACN,0BAA0B;gBAC1B,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACtF,MAAM;YACR,KAAK,GAAG;gBACN,0BAA0B;gBAC1B,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACrF,MAAM;YACR,KAAK,GAAG;gBACN,wBAAwB;gBACxB,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACpF,MAAM;YACR,KAAK,GAAG;gBACN,wBAAwB;gBACxB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACnF,MAAM;YACR,KAAK,GAAG;gBACN,+BAA+B;gBAC/B,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACnF,MAAM;YACR,KAAK,GAAG;gBACN,+BAA+B;gBAC/B,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAClF,MAAM;YACR,KAAK,GAAG;gBACN,4BAA4B,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC3F,MAAM;YACR,KAAK,GAAG;gBACN,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC1F,MAAM;YACR,KAAK,GAAG;gBACN,kCAAkC;gBAClC,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACtF,MAAM;YACR,KAAK,GAAG;gBACN,kCAAkC;gBAClC,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACrF,MAAM;YACR,KAAK,GAAG;gBACN,2EAA2E;gBAC3E,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,GAAG;gBACN,2EAA2E;gBAC3E,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC1E,MAAM;YACR,KAAK,GAAG;gBACN,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC/E,MAAM;YACR,KAAK,GAAG;gBACN,gCAAgC;gBAChC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC9E,OAAO;gBACP,MAAM;YACR;gBACE,IAAK,GAAc,KAAK,GAAG,EAAE;oBAC3B,MAAM,yCAAyC,CAAC;iBACjD;gBACD,IAAK,GAAc,KAAK,GAAG,EAAE;oBAC3B,MAAM,yCAAyC,CAAC;iBACjD;gBACD,MAAM,kCAAkC,GAAG,GAAG,GAAG,GAAG,CAAC;SACxD;QACD,iFAAiF;QACjF,CAAC,EAAE,CAAC;KACL,CAAC,YAAY;IAEd,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC,uBAAuB;AAE1B,mCAAmC;AACnC,MAAM,WAAW,GAAG,CAClB,IAA0B,EAC1B,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,OAAuC,EACvC,EAAE;IACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,8BAA8B,CAAC;KACtC;IACD,oBAAoB;IACpB,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QAC5D,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QACjC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;KAClC;SAAM;QACL,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QACjC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;KAClC;IACD,wCAAwC;IACxC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACvB,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC3B,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;KAC5B;AACH,CAAC,CAAC;AAEF,gDAAgD;AAChD,MAAM,aAAa,GAAG,CACpB,IAA0B,EAC1B,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,wCAAwC;IACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,gCAAgC,CAAC;KACxC;IACD,+DAA+D;IAC/D,oBAAoB;IACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,IAAI,UAAU,EAAE;QACd,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7B;SAAM;QACL,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5B;IACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACvB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,IAAoC,EACpC,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,kDAAkD;IAClD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,0CAA0C,CAAC;KAClD;IACD,+DAA+D;IAC/D,oBAAoB;IACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,IAAI,UAAU,EAAE;QACd,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,+BAA+B;KAChC;SAAM;QACL,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,8BAA8B;KAC/B;IACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,0BAA0B;IAC1B,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACvB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,IAAkC,EAClC,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,gDAAgD;IAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,wCAAwC,CAAC;KAChD;IACD,+DAA+D;IAC/D,oBAAoB;IACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,IAAI,UAAU,EAAE;QACd,+BAA+B;QAC/B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7B;SAAM;QACL,8BAA8B;QAC9B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5B;IACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,0BAA0B;IAC1B,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACvB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB;AACH,CAAC,CAAC;AAEF,+BAA+B;AAC/B,MAAM,oBAAoB,GAAG,CAC3B,IAAgC,EAChC,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,+CAA+C;IAC/C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,uCAAuC,CAAC;KAC/C;IACD,+DAA+D;IAC/D,oBAAoB;IACpB,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/H,IAAI,UAAU,EAAE;QACd,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACrC;SAAM;QACL,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACpC;IACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACvB,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;KACnC;AACH,CAAC,CAAC;AAEF,kCAAkC;AAClC,MAAM,uBAAuB,GAAG,CAC9B,IAAoC,EACpC,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,mDAAmD;IACnD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,2CAA2C,CAAC;KACnD;IACD,+DAA+D;IAC/D,oBAAoB;IACpB,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/H,IAAI,UAAU,EAAE;QACd,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;QAC5G,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;QAC5G,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACrD;SAAM;QACL,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;QAC3G,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;QAC3G,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACrD;IACD,8EAA8E;IAC9E,MAAM,yBAAyB,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;IAC7F,yCAAyC;IACzC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1G,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1G,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAClG,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAElG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACvB,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;KACnC;IAED,gCAAgC;IAChC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QACpB,oCAAoC;QACpC,MAAM,OAAO,GAA4C,IAAI,CAAC,KAAK,CAAC,CAAC,CAA4C,CAAC;QAClH,8EAA8E;QAC9E,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACtB,qGAAqG;YACrG,gCAAgC,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAC;SAC5G;aAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC7B,oGAAoG;YACpG,gCAAgC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAC;SAC3G;KACF;AACH,CAAC,CAAC;AAEF,uFAAuF;AACvF,UAAU;AACV,MAAM,gCAAgC,GAAG,CACvC,IAA6C,EAC7C,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,2DAA2D;IAC3D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,mDAAmD,CAAC;KAC3D;IACD,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/H,IAAI,UAAU,EAAE;QACd,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACrF,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;KACtF;SAAM;QACL,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;KACrF;IACD,0CAA0C;IAC1C,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpD,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEpD,yCAAyC;IACzC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1G,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1G,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAClG,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAElG,0CAA0C;IAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACvB,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;KACnC;AACH,CAAC,CAAC;AAEF,oBAAoB;AACpB,MAAM,4BAA4B,GAAG,CACnC,IAAyC,EACzC,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,wDAAwD;IACxD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,gDAAgD,CAAC;KACxD;IACD,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAE/H,IAAI,UAAU,EAAE;QACd,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACrC;SAAM;QACL,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACpC;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnB,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACvB,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;KACnC;AACH,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,YAAY,GAAG,CACnB,IAAyB,EACzB,UAAmB,EACnB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,uCAAuC;IACvC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,+BAA+B,CAAC;KACvC;IAED,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,IAAI,UAAU,EAAE;QACd,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QAC7B,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;KAC9B;IAED,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,mBAAmB;IACnB,uBAAuB;IACvB,eAAe;IACf,2BAA2B;IAC3B,eAAe;IACf,2BAA2B;IAC3B,eAAe;IACf,qCAAqC;IACrC,eAAe;IACf,sCAAsC;IACtC,eAAe;IACf,sCAAsC;IACtC,eAAe;IACf,sDAAsD;IACtD,eAAe;IACf,mDAAmD;IACnD,KAAK;IACL,qBAAqB;IACrB,uCAAuC;IACvC,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,0BAA0B,CAChF,SAAS,CAAC,CAAC,EACX,SAAS,CAAC,CAAC,EACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACf,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACf,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAChB,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,CAAC,gCAAgC;KAC/C,CAAC;IAEF,iDAAiD;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,sDAAsD;IACrG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;KACrC;IACD,sCAAsC;IACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,iCAAiC;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QACjD,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACvB,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACtC,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;SACvC;KACF;IAED,uCAAuC;AACzC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,KAA0B,EAC1B,WAAoB,EACpB,UAAoB,EACpB,SAAmB,EACnB,gBAA0B,EAC1B,MAAsC,EACtC,EAAE;IACF,uFAAuF;IACvF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"parseSVGPathData.js","sourceRoot":"","sources":["../../../../ts/utils/parsers/svg/parseSVGPathData.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,11 +17,15 @@
|
|
|
17
17
|
* @param {string} dataString - The SVG path data to split. This should be some string
|
|
18
18
|
**/
|
|
19
19
|
export const splitSVGPathData = (dataString) => {
|
|
20
|
+
// I used a modified version of this Josh Frank's SVG path data RexEx.
|
|
20
21
|
// Source
|
|
21
22
|
// https://javascript.plainenglish.io/june-3-parsing-and-validating-svg-paths-with-regex-7bd0e245115
|
|
22
|
-
const validCommand =
|
|
23
|
+
// const validCommand =
|
|
24
|
+
// /([ml](\s?-?((\d+(\.\d+)?)|(\.\d+)))[,\s]?(-?((\d+(\.\d+)?)|(\.\d+))))|([hv](\s?-?((\d+(\.\d+)?)|(\.\d+))))|(c(\s?-?((\d+(\.\d+)?)|(\.\d+)))([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){5})|(q(\s?-?((\d+(\.\d+)?)|(\.\d+)))([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){3}(\s?t?(\s?-?((\d+(\.\d+)?)|(\.\d+)))[,\s]?(-?((\d+(\.\d+)?)|(\.\d+))))*)|(a(\s?-?((\d+(\.\d+)?)|(\.\d+)))([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){2}[,\s]?[01][,\s]+[01][,\s]+([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){2})|(s(\s?-?((\d+(\.\d+)?)|(\.\d+)))([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){3})|z/gi;
|
|
25
|
+
//
|
|
26
|
+
// My Version allows multiple param sets, too, like 'm|M (x y)+' or 'q|Q (x1 y1 x y)+'. Look at the plus.
|
|
27
|
+
const validCommand = /([ml]((\s?-?((\d+(\.\d+)?)|(\.\d+)))[,\s]?(-?((\d+(\.\d+)?)|(\.\d+))))+)|([hv]((\s?-?((\d+(\.\d+)?)|(\.\d+))))+)|(c((\s?-?((\d+(\.\d+)?)|(\.\d+)))([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){5})+)|(q((\s?-?((\d+(\.\d+)?)|(\.\d+)))([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){3})+(\s?(t?(\s?-?((\d+(\.\d+)?)|(\.\d+)))[,\s]?(-?((\d+(\.\d+)?)|(\.\d+))))*)+)|(a((\s?-?((\d+(\.\d+)?)|(\.\d+)))([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){2}[,\s]?[01][,\s]+[01][,\s]+([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){2})+)|(s(\s?-?((\d+(\.\d+)?)|(\.\d+)))([,\s]?(-?((\d+(\.\d+)?)|(\.\d+)))){3})|z/gi;
|
|
23
28
|
const dataElements = dataString.match(validCommand);
|
|
24
|
-
// console.log("Splitted: ", dataElements);
|
|
25
29
|
if (!dataElements) {
|
|
26
30
|
return null;
|
|
27
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitSVGPathData.js","sourceRoot":"","sources":["../../../../ts/utils/parsers/svg/splitSVGPathData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;IAII;AACJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAgC,EAAE;IACnF,SAAS;IACT,uGAAuG;IACvG,MAAM,YAAY,GAChB,
|
|
1
|
+
{"version":3,"file":"splitSVGPathData.js","sourceRoot":"","sources":["../../../../ts/utils/parsers/svg/splitSVGPathData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;IAII;AACJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAgC,EAAE;IACnF,sEAAsE;IACtE,SAAS;IACT,uGAAuG;IACvG,uBAAuB;IACvB,2hBAA2hB;IAC3hB,EAAE;IACF,yGAAyG;IACzG,MAAM,YAAY,GAChB,yiBAAyiB,CAAC;IAE5iB,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE;QAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,0CAA0C;QAC1C,sHAAsH;QACtH,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,IAAI,CAAC,OAAyB,CAAC,CAAC;SACxC;aAAM;YACL,eAAe;SAChB;QACD,CAAC,EAAE,CAAC;KACL;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC,uBAAuB"}
|
|
@@ -7,17 +7,28 @@
|
|
|
7
7
|
* https://www.w3.org/TR/SVG/paths.html
|
|
8
8
|
*
|
|
9
9
|
*
|
|
10
|
-
* @author
|
|
11
|
-
* @date
|
|
12
|
-
* @
|
|
10
|
+
* @author Ikaros Kappler
|
|
11
|
+
* @date 2022-12-21 (winter solstice night – yes the days & nights are dark and I have nothing else to do)
|
|
12
|
+
* @modified 2023-01-17 Added multiple parameter sets.
|
|
13
|
+
* @version 0.0.2-alpha
|
|
13
14
|
*/
|
|
14
15
|
export declare type NumericString = `${number}`;
|
|
15
16
|
export declare type BooleanString = "0" | "1" | `${boolean}`;
|
|
16
17
|
export declare type SVGPathMoveToCommand = ["M" | "m", NumericString, NumericString];
|
|
17
|
-
export declare type SVGPathLineToCommand = ["L" | "l", NumericString, NumericString];
|
|
18
|
+
export declare type SVGPathLineToCommand = ["L" | "l", NumericString, NumericString, ...Array<NumericString>];
|
|
18
19
|
export declare type SVGPathVerticalLineToCommand = ["V" | "v", NumericString];
|
|
19
20
|
export declare type SVGPathHorizontalLineToCommand = ["H" | "h", NumericString];
|
|
20
|
-
export declare type SVGPathQuadraticCurveToCommand = ["Q" | "q", NumericString, NumericString, NumericString, NumericString] | [
|
|
21
|
+
export declare type SVGPathQuadraticCurveToCommand = ["Q" | "q", NumericString, NumericString, NumericString, NumericString] | [
|
|
22
|
+
"Q" | "q",
|
|
23
|
+
NumericString,
|
|
24
|
+
NumericString,
|
|
25
|
+
NumericString,
|
|
26
|
+
NumericString,
|
|
27
|
+
"T" | "t",
|
|
28
|
+
NumericString,
|
|
29
|
+
NumericString,
|
|
30
|
+
...Array<NumericString>
|
|
31
|
+
];
|
|
21
32
|
export declare type SVGPathCubicCurveToCommand = [
|
|
22
33
|
"C" | "c",
|
|
23
34
|
NumericString,
|
|
@@ -25,9 +36,17 @@ export declare type SVGPathCubicCurveToCommand = [
|
|
|
25
36
|
NumericString,
|
|
26
37
|
NumericString,
|
|
27
38
|
NumericString,
|
|
28
|
-
NumericString
|
|
39
|
+
NumericString,
|
|
40
|
+
...Array<NumericString>
|
|
41
|
+
];
|
|
42
|
+
export declare type SVGPathShorthandCubicCurveToCommand = [
|
|
43
|
+
"S" | "s",
|
|
44
|
+
NumericString,
|
|
45
|
+
NumericString,
|
|
46
|
+
NumericString,
|
|
47
|
+
NumericString,
|
|
48
|
+
...Array<NumericString>
|
|
29
49
|
];
|
|
30
|
-
export declare type SVGPathShorthandCubicCurveToCommand = ["S" | "s", NumericString, NumericString, NumericString, NumericString];
|
|
31
50
|
export declare type SVGPathArcToCommand = [
|
|
32
51
|
"A" | "a",
|
|
33
52
|
NumericString,
|
|
@@ -36,8 +55,9 @@ export declare type SVGPathArcToCommand = [
|
|
|
36
55
|
BooleanString,
|
|
37
56
|
BooleanString,
|
|
38
57
|
NumericString,
|
|
39
|
-
NumericString
|
|
58
|
+
NumericString,
|
|
59
|
+
...Array<NumericString>
|
|
40
60
|
];
|
|
41
61
|
export declare type SVGPathCloseCommand = ["Z" | "z"];
|
|
42
|
-
export declare type SVGPathShorthandQuadraticCurveToCommand = ["T" | "t", NumericString, NumericString];
|
|
62
|
+
export declare type SVGPathShorthandQuadraticCurveToCommand = ["T" | "t", NumericString, NumericString, ...Array<NumericString>];
|
|
43
63
|
export declare type SVGPathCommand = SVGPathMoveToCommand | SVGPathLineToCommand | SVGPathVerticalLineToCommand | SVGPathHorizontalLineToCommand | SVGPathQuadraticCurveToCommand | SVGPathCubicCurveToCommand | SVGPathShorthandCubicCurveToCommand | SVGPathArcToCommand | SVGPathCloseCommand;
|
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
* https://www.w3.org/TR/SVG/paths.html
|
|
8
8
|
*
|
|
9
9
|
*
|
|
10
|
-
* @author
|
|
11
|
-
* @date
|
|
12
|
-
* @
|
|
10
|
+
* @author Ikaros Kappler
|
|
11
|
+
* @date 2022-12-21 (winter solstice night – yes the days & nights are dark and I have nothing else to do)
|
|
12
|
+
* @modified 2023-01-17 Added multiple parameter sets.
|
|
13
|
+
* @version 0.0.2-alpha
|
|
13
14
|
*/
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../ts/utils/parsers/svg/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../ts/utils/parsers/svg/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
package/src/ts/BezierPath.ts
CHANGED
|
@@ -1354,8 +1354,7 @@ export class BezierPath implements SVGSerializable {
|
|
|
1354
1354
|
// Convert to object
|
|
1355
1355
|
var bezierPath: BezierPath = new BezierPath(null); // No points yet
|
|
1356
1356
|
|
|
1357
|
-
|
|
1358
|
-
var startPoint: Vertex;
|
|
1357
|
+
var startPoint: Vertex = new Vertex();
|
|
1359
1358
|
var startControlPoint: Vertex;
|
|
1360
1359
|
var endControlPoint: Vertex;
|
|
1361
1360
|
var endPoint: Vertex;
|
|
@@ -1381,7 +1380,7 @@ export class BezierPath implements SVGSerializable {
|
|
|
1381
1380
|
|
|
1382
1381
|
i += 6;
|
|
1383
1382
|
} while (i + 2 < pointArray.length);
|
|
1384
|
-
bezierPath.adjustCircular = adjustCircular;
|
|
1383
|
+
bezierPath.adjustCircular = adjustCircular ?? false;
|
|
1385
1384
|
if (adjustCircular) {
|
|
1386
1385
|
bezierPath.bezierCurves[bezierPath.bezierCurves.length - 1].endPoint = bezierPath.bezierCurves[0].startPoint;
|
|
1387
1386
|
}
|
|
@@ -78,7 +78,11 @@
|
|
|
78
78
|
* @modified 2022-10-25 Added the `origin` to the default draw config.
|
|
79
79
|
* @modified 2022-11-06 Adding an XML declaration to the SVG export routine.
|
|
80
80
|
* @modified 2022-11-23 Added the `drawRaster` (default=true) option to the config/drawconfig.
|
|
81
|
-
* @
|
|
81
|
+
* @modified 2023-02-04 Fixed a bug in the `drawDrawable` function; fill's current classname was not set.
|
|
82
|
+
* @modified 2023-02-10 Fixing an issue of the `style.position` setting when `fitToParent=true` from `absolute` to `static` (default).
|
|
83
|
+
* @modified 2023-02-10 Cleaning up most type errors in the main class (mostly null checks).
|
|
84
|
+
* @modified 2023-02-10 Adding `enableZoom` and `enablePan` (both default true) to have the option to disable these functions.
|
|
85
|
+
* @version 1.17.2
|
|
82
86
|
*
|
|
83
87
|
* @file PlotBoilerplate
|
|
84
88
|
* @fileoverview The main class.
|
|
@@ -377,6 +381,8 @@ export class PlotBoilerplate {
|
|
|
377
381
|
* @param {boolean=} [config.enableTouch=true] - Indicates if the application should handle touch events for you.
|
|
378
382
|
* @param {boolean=} [config.enableKeys=true] - Indicates if the application should handle key events for you.
|
|
379
383
|
* @param {boolean=} [config.enableMouseWheel=true] - Indicates if the application should handle mouse wheel events for you.
|
|
384
|
+
* @param {boolean=} [config.enablePan=true] - (default true) Set to false if you want to disable panning completely.
|
|
385
|
+
* @param {boolean=} [config.enableZoom=true] - (default true) Set to false if you want to disable zooming completely.
|
|
380
386
|
* @param {boolean=} [config.enableGL=false] - Indicates if the application should use the experimental WebGL features (not recommended).
|
|
381
387
|
* @param {boolean=} [config.enableSVGExport=true] - Indicates if the SVG export should be enabled (default is true).
|
|
382
388
|
* Note that changes from the postDraw hook might not be visible in the export.
|
|
@@ -450,6 +456,8 @@ export class PlotBoilerplate {
|
|
|
450
456
|
enableTouch: f.bool(config, "enableTouch", true),
|
|
451
457
|
enableKeys: f.bool(config, "enableKeys", true),
|
|
452
458
|
enableMouseWheel: f.bool(config, "enableMouseWheel", true),
|
|
459
|
+
enableZoom: f.bool(config, "enableZoom", true), // default=true
|
|
460
|
+
enablePan: f.bool(config, "enablePan", true), // default=true
|
|
453
461
|
|
|
454
462
|
// Experimental (and unfinished)
|
|
455
463
|
enableGL: f.bool(config, "enableGL", false)
|
|
@@ -1140,7 +1148,7 @@ export class PlotBoilerplate {
|
|
|
1140
1148
|
this.draw.setCurrentId(d.uid);
|
|
1141
1149
|
this.fill.setCurrentId(d.uid);
|
|
1142
1150
|
this.draw.setCurrentClassName(d.className);
|
|
1143
|
-
this.
|
|
1151
|
+
this.fill.setCurrentClassName(d.className);
|
|
1144
1152
|
this.drawDrawable(d, renderTime, draw, fill);
|
|
1145
1153
|
}
|
|
1146
1154
|
}
|
|
@@ -1162,7 +1170,13 @@ export class PlotBoilerplate {
|
|
|
1162
1170
|
**/
|
|
1163
1171
|
drawDrawable(d: Drawable, renderTime: number, draw: DrawLib<any>, fill: DrawLib<any>) {
|
|
1164
1172
|
if (d instanceof BezierPath) {
|
|
1173
|
+
var curveIndex = 0;
|
|
1165
1174
|
for (var c in d.bezierCurves) {
|
|
1175
|
+
// Restore these settings again in each loop (will be overwritten)
|
|
1176
|
+
this.draw.setCurrentId(`${d.uid}-${curveIndex}`);
|
|
1177
|
+
this.fill.setCurrentId(`${d.uid}-${curveIndex}`);
|
|
1178
|
+
this.draw.setCurrentClassName(d.className);
|
|
1179
|
+
this.fill.setCurrentClassName(d.className);
|
|
1166
1180
|
draw.cubicBezier(
|
|
1167
1181
|
d.bezierCurves[c].startPoint,
|
|
1168
1182
|
d.bezierCurves[c].endPoint,
|
|
@@ -1260,7 +1274,8 @@ export class PlotBoilerplate {
|
|
|
1260
1274
|
this.drawConfig.bezier.handleLine.lineWidth
|
|
1261
1275
|
);
|
|
1262
1276
|
}
|
|
1263
|
-
|
|
1277
|
+
curveIndex++;
|
|
1278
|
+
} // END for
|
|
1264
1279
|
} else if (d instanceof Polygon) {
|
|
1265
1280
|
draw.polygon(d, this.drawConfig.polygon.color, this.drawConfig.polygon.lineWidth);
|
|
1266
1281
|
if (!this.drawConfig.drawHandlePoints) {
|
|
@@ -1375,10 +1390,10 @@ export class PlotBoilerplate {
|
|
|
1375
1390
|
} else {
|
|
1376
1391
|
console.error("Cannot draw object. Unknown class.");
|
|
1377
1392
|
}
|
|
1378
|
-
draw.setCurrentClassName(
|
|
1379
|
-
draw.setCurrentId(
|
|
1380
|
-
fill.setCurrentClassName(
|
|
1381
|
-
fill.setCurrentId(
|
|
1393
|
+
draw.setCurrentClassName(null);
|
|
1394
|
+
draw.setCurrentId(null);
|
|
1395
|
+
fill.setCurrentClassName(null);
|
|
1396
|
+
fill.setCurrentId(null);
|
|
1382
1397
|
}
|
|
1383
1398
|
|
|
1384
1399
|
/**
|
|
@@ -1475,8 +1490,8 @@ export class PlotBoilerplate {
|
|
|
1475
1490
|
|
|
1476
1491
|
// Clear IDs and classnames (postDraw hook might draw somthing and the do not want
|
|
1477
1492
|
// to interfered with that).
|
|
1478
|
-
draw.setCurrentId(
|
|
1479
|
-
draw.setCurrentClassName(
|
|
1493
|
+
draw.setCurrentId(null);
|
|
1494
|
+
draw.setCurrentClassName(null);
|
|
1480
1495
|
} // END redraw
|
|
1481
1496
|
|
|
1482
1497
|
/**
|
|
@@ -1626,7 +1641,7 @@ export class PlotBoilerplate {
|
|
|
1626
1641
|
_setSize(width, height);
|
|
1627
1642
|
} else if (_self.config.fitToParent) {
|
|
1628
1643
|
// Set editor size
|
|
1629
|
-
_self.canvas.style.position = "
|
|
1644
|
+
_self.canvas.style.position = "static";
|
|
1630
1645
|
const space: XYDimension = this.getAvailableContainerSpace();
|
|
1631
1646
|
_self.canvas.style.width = (_self.config.canvasWidthFactor ?? 1.0) * space.width + "px";
|
|
1632
1647
|
_self.canvas.style.height = (_self.config.canvasHeightFactor ?? 1.0) * space.height + "px";
|
|
@@ -1697,23 +1712,23 @@ export class PlotBoilerplate {
|
|
|
1697
1712
|
**/
|
|
1698
1713
|
private handleClick(e: XMouseEvent) {
|
|
1699
1714
|
const _self: PlotBoilerplate = this;
|
|
1700
|
-
var
|
|
1715
|
+
var point: IDraggable | null = this.locatePointNear(
|
|
1701
1716
|
_self.transformMousePosition(e.params.pos.x, e.params.pos.y),
|
|
1702
|
-
PlotBoilerplate.DEFAULT_CLICK_TOLERANCE / Math.min(_self.config.cssScaleX, _self.config.cssScaleY)
|
|
1717
|
+
PlotBoilerplate.DEFAULT_CLICK_TOLERANCE / Math.min(_self.config.cssScaleX || 1.0, _self.config.cssScaleY || 1.0)
|
|
1703
1718
|
);
|
|
1704
|
-
if (
|
|
1705
|
-
_self.vertices[
|
|
1719
|
+
if (point) {
|
|
1720
|
+
_self.vertices[point.vindex].listeners.fireClickEvent(e);
|
|
1706
1721
|
if (this.keyHandler && this.keyHandler.isDown("shift")) {
|
|
1707
|
-
if (
|
|
1708
|
-
let vert: Vertex = _self.paths[
|
|
1722
|
+
if (point.typeName == "bpath") {
|
|
1723
|
+
let vert: Vertex = _self.paths[point.pindex].bezierCurves[point.cindex].getPointByID(point.pid);
|
|
1709
1724
|
if (vert.attr.selectable) vert.attr.isSelected = !vert.attr.isSelected;
|
|
1710
|
-
} else if (
|
|
1711
|
-
let vert: Vertex = _self.vertices[
|
|
1725
|
+
} else if (point.typeName == "vertex") {
|
|
1726
|
+
let vert: Vertex = _self.vertices[point.vindex];
|
|
1712
1727
|
if (vert.attr.selectable) vert.attr.isSelected = !vert.attr.isSelected;
|
|
1713
1728
|
}
|
|
1714
1729
|
_self.redraw();
|
|
1715
|
-
} else if (this.keyHandler.isDown("y")) {
|
|
1716
|
-
_self.vertices[
|
|
1730
|
+
} else if (this.keyHandler && this.keyHandler.isDown("y")) {
|
|
1731
|
+
_self.vertices[point.vindex].attr.bezierAutoAdjust = !_self.vertices[point.vindex].attr.bezierAutoAdjust;
|
|
1717
1732
|
_self.redraw();
|
|
1718
1733
|
}
|
|
1719
1734
|
} else if (_self.selectPolygon != null) {
|
|
@@ -1782,13 +1797,13 @@ export class PlotBoilerplate {
|
|
|
1782
1797
|
private mouseDownHandler(e: XMouseEvent) {
|
|
1783
1798
|
const _self = this;
|
|
1784
1799
|
if (e.button != 0) return; // Only react on left mouse or touch events
|
|
1785
|
-
var
|
|
1800
|
+
var draggablePoint: IDraggable | null = _self.locatePointNear(
|
|
1786
1801
|
_self.transformMousePosition(e.params.pos.x, e.params.pos.y),
|
|
1787
1802
|
PlotBoilerplate.DEFAULT_CLICK_TOLERANCE / Math.min(_self.config.cssScaleX, _self.config.cssScaleY)
|
|
1788
1803
|
);
|
|
1789
|
-
if (!
|
|
1804
|
+
if (!draggablePoint) return;
|
|
1790
1805
|
// Drag all selected elements?
|
|
1791
|
-
if (
|
|
1806
|
+
if (draggablePoint.typeName == "vertex" && _self.vertices[draggablePoint.vindex].attr.isSelected) {
|
|
1792
1807
|
// Multi drag
|
|
1793
1808
|
// for( var i in _self.vertices ) {
|
|
1794
1809
|
for (var i = 0; i < _self.vertices.length; i++) {
|
|
@@ -1801,10 +1816,13 @@ export class PlotBoilerplate {
|
|
|
1801
1816
|
}
|
|
1802
1817
|
} else {
|
|
1803
1818
|
// Single drag
|
|
1804
|
-
if (!_self.vertices[
|
|
1805
|
-
_self.draggedElements.push(
|
|
1806
|
-
if (
|
|
1807
|
-
|
|
1819
|
+
if (!_self.vertices[draggablePoint.vindex].attr.draggable) return;
|
|
1820
|
+
_self.draggedElements.push(draggablePoint);
|
|
1821
|
+
if (draggablePoint.typeName == "bpath")
|
|
1822
|
+
_self.paths[draggablePoint.pindex].bezierCurves[draggablePoint.cindex]
|
|
1823
|
+
.getPointByID(draggablePoint.pid)
|
|
1824
|
+
.listeners.fireDragStartEvent(e);
|
|
1825
|
+
else if (draggablePoint.typeName == "vertex") _self.vertices[draggablePoint.vindex].listeners.fireDragStartEvent(e);
|
|
1808
1826
|
}
|
|
1809
1827
|
_self.redraw();
|
|
1810
1828
|
}
|
|
@@ -1832,7 +1850,10 @@ export class PlotBoilerplate {
|
|
|
1832
1850
|
// not this one. So this tab will never receive any [Ctrl-down] events
|
|
1833
1851
|
// until next keypress; the implication is, that [Ctrl] would still
|
|
1834
1852
|
// considered to be pressed which is not true.
|
|
1835
|
-
if (this.keyHandler.isDown("alt") || this.keyHandler.isDown("spacebar")) {
|
|
1853
|
+
if (this.keyHandler && (this.keyHandler.isDown("alt") || this.keyHandler.isDown("spacebar"))) {
|
|
1854
|
+
if (!this.config.enablePan) {
|
|
1855
|
+
return;
|
|
1856
|
+
}
|
|
1836
1857
|
_self.setOffset(_self.draw.offset.clone().add(e.params.dragAmount));
|
|
1837
1858
|
_self.redraw();
|
|
1838
1859
|
} else {
|
|
@@ -1898,6 +1919,9 @@ export class PlotBoilerplate {
|
|
|
1898
1919
|
* @return {void}
|
|
1899
1920
|
**/
|
|
1900
1921
|
private mouseWheelHandler(e: XMouseEvent) {
|
|
1922
|
+
if (!this.config.enableZoom) {
|
|
1923
|
+
return;
|
|
1924
|
+
}
|
|
1901
1925
|
var zoomStep: number = 1.25; // Make configurable?
|
|
1902
1926
|
// CHANGED replaced _self by this
|
|
1903
1927
|
const _self: PlotBoilerplate = this;
|
|
@@ -2045,6 +2069,9 @@ export class PlotBoilerplate {
|
|
|
2045
2069
|
if (evt.touches.length == 1 && draggedElement) {
|
|
2046
2070
|
evt.preventDefault();
|
|
2047
2071
|
evt.stopPropagation();
|
|
2072
|
+
if (!touchDownPos || !touchMovePos) {
|
|
2073
|
+
return;
|
|
2074
|
+
}
|
|
2048
2075
|
var rel: XYCoords = relPos({ x: evt.touches[0].clientX, y: evt.touches[0].clientY });
|
|
2049
2076
|
var trans: XYCoords = _self.transformMousePosition(rel.x, rel.y);
|
|
2050
2077
|
var diff: Vertex = new Vertex(_self.transformMousePosition(touchMovePos.x, touchMovePos.y)).difference(trans);
|
|
@@ -2067,6 +2094,9 @@ export class PlotBoilerplate {
|
|
|
2067
2094
|
}
|
|
2068
2095
|
touchMovePos = new Vertex(rel);
|
|
2069
2096
|
} else if (evt.touches.length == 2) {
|
|
2097
|
+
if (!this.config.enablePan) {
|
|
2098
|
+
return;
|
|
2099
|
+
}
|
|
2070
2100
|
// If at least two fingers touch and move, then change the draw offset (panning).
|
|
2071
2101
|
evt.preventDefault();
|
|
2072
2102
|
evt.stopPropagation();
|
|
@@ -2081,6 +2111,9 @@ export class PlotBoilerplate {
|
|
|
2081
2111
|
touchEnd: (evt: TouchEvent) => {
|
|
2082
2112
|
// Note: e.touches.length is 0 here
|
|
2083
2113
|
if (draggedElement && draggedElement.typeName == "vertex") {
|
|
2114
|
+
if (!touchDownPos) {
|
|
2115
|
+
return;
|
|
2116
|
+
}
|
|
2084
2117
|
var draggingVertex: Vertex = _self.vertices[draggedElement.vindex];
|
|
2085
2118
|
var fakeEvent: VertEvent = {
|
|
2086
2119
|
isTouchEvent: true,
|
|
@@ -2112,9 +2145,17 @@ export class PlotBoilerplate {
|
|
|
2112
2145
|
multiTouchStartScale = null;
|
|
2113
2146
|
},
|
|
2114
2147
|
pinch: (evt: TouchPinchEvent) => {
|
|
2148
|
+
if (!this.config.enableZoom) {
|
|
2149
|
+
return;
|
|
2150
|
+
}
|
|
2151
|
+
const touchItem0 = evt.touches.item(0);
|
|
2152
|
+
const touchItem1 = evt.touches.item(1);
|
|
2153
|
+
if (!evt.touches || !multiTouchStartScale || !touchItem0 || !touchItem1) {
|
|
2154
|
+
return;
|
|
2155
|
+
}
|
|
2115
2156
|
// For pinching there must be at least two touch items
|
|
2116
|
-
const fingerA: Vertex = new Vertex(
|
|
2117
|
-
const fingerB: Vertex = new Vertex(
|
|
2157
|
+
const fingerA: Vertex = new Vertex(touchItem0.clientX, touchItem0.clientY);
|
|
2158
|
+
const fingerB: Vertex = new Vertex(touchItem1.clientX, touchItem1.clientY);
|
|
2118
2159
|
const center: Vertex = new Line(fingerA, fingerB).vertAt(0.5);
|
|
2119
2160
|
_self.setZoom(multiTouchStartScale.x * evt.zoom, multiTouchStartScale.y * evt.zoom, center);
|
|
2120
2161
|
_self.redraw();
|
|
@@ -2224,8 +2265,10 @@ export class PlotBoilerplate {
|
|
|
2224
2265
|
**/
|
|
2225
2266
|
setCSSscale: (element: HTMLElement | SVGElement, scaleX: number, scaleY: number): void => {
|
|
2226
2267
|
element.style["transform-origin"] = "0 0";
|
|
2227
|
-
if (scaleX == 1.0 && scaleY == 1.0)
|
|
2228
|
-
|
|
2268
|
+
if (scaleX == 1.0 && scaleY == 1.0) {
|
|
2269
|
+
// element.style.transform = null;
|
|
2270
|
+
element.style.removeProperty("transform");
|
|
2271
|
+
} else element.style.transform = "scale(" + scaleX + "," + scaleY + ")";
|
|
2229
2272
|
},
|
|
2230
2273
|
|
|
2231
2274
|
// A helper for fetching data from objects.
|
package/src/ts/Triangle.ts
CHANGED
|
@@ -404,7 +404,8 @@ export class Triangle implements SVGSerializable {
|
|
|
404
404
|
|
|
405
405
|
const bisector1 = geomutils.nsectAngle(this.b, this.a, this.c, 2)[0]; // bisector of first angle (in b)
|
|
406
406
|
const bisector2 = geomutils.nsectAngle(this.c, this.b, this.a, 2)[0]; // bisector of second angle (in c)
|
|
407
|
-
|
|
407
|
+
// Cast to non-null here because we know there _is_ an intersection
|
|
408
|
+
const intersection = bisector1.intersection(bisector2) as Vertex;
|
|
408
409
|
|
|
409
410
|
// Find the closest points on one of the polygon lines (all have same distance by construction)
|
|
410
411
|
const circleIntersA = lineA.getClosestPoint(intersection);
|
package/src/ts/draw.ts
CHANGED
|
@@ -47,7 +47,8 @@
|
|
|
47
47
|
* @modified 2022-08-23 Fixed a type issue in the `polyline` function.
|
|
48
48
|
* @modified 2022-08-23 Fixed a type issue in the `setConfiguration` function.
|
|
49
49
|
* @modified 2022-08-23 Fixed a type issue in the `path` function.
|
|
50
|
-
* @
|
|
50
|
+
* @modified 2023-02-10 The methods `setCurrentClassName` and `setCurrentId` also accept `null` now.
|
|
51
|
+
* @version 1.12.4
|
|
51
52
|
**/
|
|
52
53
|
|
|
53
54
|
import { CubicBezierCurve } from "./CubicBezierCurve";
|
|
@@ -153,9 +154,9 @@ export class drawutils implements DrawLib<void> {
|
|
|
153
154
|
*
|
|
154
155
|
* @name setCurrentId
|
|
155
156
|
* @method
|
|
156
|
-
* @param {UID} uid - A UID identifying the currently drawn element(s).
|
|
157
|
+
* @param {UID|null} uid - A UID identifying the currently drawn element(s).
|
|
157
158
|
**/
|
|
158
|
-
setCurrentId(uid: UID |
|
|
159
|
+
setCurrentId(uid: UID | null): void {
|
|
159
160
|
// NOOP
|
|
160
161
|
}
|
|
161
162
|
|
|
@@ -165,9 +166,9 @@ export class drawutils implements DrawLib<void> {
|
|
|
165
166
|
*
|
|
166
167
|
* @name setCurrentClassName
|
|
167
168
|
* @method
|
|
168
|
-
* @param {string} className - A class name for further custom use cases.
|
|
169
|
+
* @param {string|null} className - A class name for further custom use cases.
|
|
169
170
|
**/
|
|
170
|
-
setCurrentClassName(className: string |
|
|
171
|
+
setCurrentClassName(className: string | null): void {
|
|
171
172
|
// NOOP
|
|
172
173
|
}
|
|
173
174
|
|
package/src/ts/drawgl.ts
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
* @modified 2022-02-03 Added the `cross(...)` function.
|
|
11
11
|
* @modified 2022-03-27 Added the `texturedPoly` function.
|
|
12
12
|
* @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
|
|
13
|
-
* @
|
|
13
|
+
* @modified 2023-02-10 The methods `setCurrentClassName` and `setCurrentId` also accept `null` now.
|
|
14
|
+
* @version 0.0.9
|
|
14
15
|
**/
|
|
15
16
|
|
|
16
17
|
import { CubicBezierCurve } from "./CubicBezierCurve";
|
|
@@ -82,7 +83,7 @@ export class drawutilsgl implements DrawLib<void> {
|
|
|
82
83
|
private _program: WebGLProgram;
|
|
83
84
|
private vertex_buffer: WebGLBuffer; // TODO
|
|
84
85
|
|
|
85
|
-
private curId: UID |
|
|
86
|
+
private curId: UID | null;
|
|
86
87
|
private renderTime: number;
|
|
87
88
|
|
|
88
89
|
/**
|
|
@@ -90,7 +91,7 @@ export class drawutilsgl implements DrawLib<void> {
|
|
|
90
91
|
*
|
|
91
92
|
* @constructor
|
|
92
93
|
* @name drawutils
|
|
93
|
-
* @param {WebGLRenderingContext} context - The drawing context.
|
|
94
|
+
* @param {WebGLRenderingContext|null} context - The drawing context.
|
|
94
95
|
* @param {boolean} fillShaped - Indicates if the constructed drawutils should fill all drawn shapes (if possible).
|
|
95
96
|
**/
|
|
96
97
|
constructor(context: WebGLRenderingContext, fillShapes: boolean) {
|
|
@@ -114,7 +115,7 @@ export class drawutilsgl implements DrawLib<void> {
|
|
|
114
115
|
this._program = this.glutils.makeProgram(this._vertShader, this._fragShader);
|
|
115
116
|
|
|
116
117
|
// Create an empty buffer object
|
|
117
|
-
this.vertex_buffer = this.gl.createBuffer();
|
|
118
|
+
this.vertex_buffer = this.gl.createBuffer() as WebGLBuffer;
|
|
118
119
|
// Bind appropriate array buffer to it
|
|
119
120
|
// this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.vertex_buffer);
|
|
120
121
|
|
|
@@ -182,9 +183,9 @@ export class drawutilsgl implements DrawLib<void> {
|
|
|
182
183
|
*
|
|
183
184
|
* @name setCurrentId
|
|
184
185
|
* @method
|
|
185
|
-
* @param {UID} uid - A UID identifying the currently drawn element(s).es.
|
|
186
|
+
* @param {UID|null} uid - A UID identifying the currently drawn element(s).es.
|
|
186
187
|
**/
|
|
187
|
-
setCurrentId(uid: UID |
|
|
188
|
+
setCurrentId(uid: UID | null): void {
|
|
188
189
|
// NOOP
|
|
189
190
|
this.curId = uid;
|
|
190
191
|
}
|
|
@@ -195,9 +196,9 @@ export class drawutilsgl implements DrawLib<void> {
|
|
|
195
196
|
*
|
|
196
197
|
* @name setCurrentClassName
|
|
197
198
|
* @method
|
|
198
|
-
* @param {string} className - A class name for further custom use cases.
|
|
199
|
+
* @param {string|null} className - A class name for further custom use cases.
|
|
199
200
|
**/
|
|
200
|
-
setCurrentClassName(className: string |
|
|
201
|
+
setCurrentClassName(className: string | null): void {
|
|
201
202
|
// NOOP
|
|
202
203
|
}
|
|
203
204
|
|