UNPKG

tldraw

Version:

A tiny little drawing editor.

8 lines (7 loc) 1.98 kB
{ "version": 3, "sources": ["../../../../../src/lib/tools/LaserTool/childStates/Lasering.ts"], "sourcesContent": ["import { StateNode } from '@tldraw/editor'\n\nexport class Lasering extends StateNode {\n\tstatic override id = 'lasering'\n\n\tscribbleId = 'id'\n\n\toverride onEnter() {\n\t\tconst scribble = this.editor.scribbles.addScribble({\n\t\t\tcolor: 'laser',\n\t\t\topacity: 0.7,\n\t\t\tsize: 4,\n\t\t\tdelay: this.editor.options.laserDelayMs,\n\t\t\tshrink: 0.05,\n\t\t\ttaper: true,\n\t\t})\n\t\tthis.scribbleId = scribble.id\n\t\tthis.pushPointToScribble()\n\t}\n\n\toverride onExit() {\n\t\tthis.editor.scribbles.stop(this.scribbleId)\n\t}\n\n\toverride onPointerMove() {\n\t\tthis.pushPointToScribble()\n\t}\n\n\toverride onPointerUp() {\n\t\tthis.complete()\n\t}\n\n\tprivate pushPointToScribble() {\n\t\tconst { x, y } = this.editor.inputs.currentPagePoint\n\t\tthis.editor.scribbles.addPoint(this.scribbleId, x, y)\n\t}\n\n\toverride onCancel() {\n\t\tthis.cancel()\n\t}\n\n\toverride onComplete() {\n\t\tthis.complete()\n\t}\n\n\tprivate complete() {\n\t\tthis.parent.transition('idle')\n\t}\n\n\tprivate cancel() {\n\t\tthis.parent.transition('idle')\n\t}\n}\n"], "mappings": "AAAA,SAAS,iBAAiB;AAEnB,MAAM,iBAAiB,UAAU;AAAA,EACvC,OAAgB,KAAK;AAAA,EAErB,aAAa;AAAA,EAEJ,UAAU;AAClB,UAAM,WAAW,KAAK,OAAO,UAAU,YAAY;AAAA,MAClD,OAAO;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO,KAAK,OAAO,QAAQ;AAAA,MAC3B,QAAQ;AAAA,MACR,OAAO;AAAA,IACR,CAAC;AACD,SAAK,aAAa,SAAS;AAC3B,SAAK,oBAAoB;AAAA,EAC1B;AAAA,EAES,SAAS;AACjB,SAAK,OAAO,UAAU,KAAK,KAAK,UAAU;AAAA,EAC3C;AAAA,EAES,gBAAgB;AACxB,SAAK,oBAAoB;AAAA,EAC1B;AAAA,EAES,cAAc;AACtB,SAAK,SAAS;AAAA,EACf;AAAA,EAEQ,sBAAsB;AAC7B,UAAM,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,OAAO;AACpC,SAAK,OAAO,UAAU,SAAS,KAAK,YAAY,GAAG,CAAC;AAAA,EACrD;AAAA,EAES,WAAW;AACnB,SAAK,OAAO;AAAA,EACb;AAAA,EAES,aAAa;AACrB,SAAK,SAAS;AAAA,EACf;AAAA,EAEQ,WAAW;AAClB,SAAK,OAAO,WAAW,MAAM;AAAA,EAC9B;AAAA,EAEQ,SAAS;AAChB,SAAK,OAAO,WAAW,MAAM;AAAA,EAC9B;AACD;", "names": [] }