UNPKG

tldraw

Version:

A tiny little drawing editor.

8 lines (7 loc) 2.2 kB
{ "version": 3, "sources": ["../../../../../src/lib/tools/HandTool/childStates/Dragging.ts"], "sourcesContent": ["import { StateNode, Vec } from '@tldraw/editor'\n\nexport class Dragging extends StateNode {\n\tstatic override id = 'dragging'\n\n\tinitialCamera = new Vec()\n\n\toverride onEnter() {\n\t\tthis.initialCamera = Vec.From(this.editor.getCamera())\n\t\tthis.update()\n\t}\n\n\toverride onPointerMove() {\n\t\tthis.update()\n\t}\n\n\toverride onPointerUp() {\n\t\tthis.complete()\n\t}\n\n\toverride onCancel() {\n\t\tthis.parent.transition('idle')\n\t}\n\n\toverride onComplete() {\n\t\tthis.complete()\n\t}\n\n\tprivate update() {\n\t\tconst { initialCamera, editor } = this\n\t\tconst { currentScreenPoint, originScreenPoint } = editor.inputs\n\n\t\tconst delta = Vec.Sub(currentScreenPoint, originScreenPoint).div(editor.getZoomLevel())\n\t\tif (delta.len2() === 0) return\n\t\teditor.setCamera(initialCamera.clone().add(delta))\n\t}\n\n\tprivate complete() {\n\t\tconst { editor } = this\n\t\tconst { pointerVelocity } = editor.inputs\n\n\t\tconst velocityAtPointerUp = Math.min(pointerVelocity.len(), 2)\n\n\t\tif (velocityAtPointerUp > 0.1) {\n\t\t\tthis.editor.slideCamera({ speed: velocityAtPointerUp, direction: pointerVelocity })\n\t\t}\n\n\t\tthis.parent.transition('idle')\n\t}\n}\n"], "mappings": "AAAA,SAAS,WAAW,WAAW;AAExB,MAAM,iBAAiB,UAAU;AAAA,EACvC,OAAgB,KAAK;AAAA,EAErB,gBAAgB,IAAI,IAAI;AAAA,EAEf,UAAU;AAClB,SAAK,gBAAgB,IAAI,KAAK,KAAK,OAAO,UAAU,CAAC;AACrD,SAAK,OAAO;AAAA,EACb;AAAA,EAES,gBAAgB;AACxB,SAAK,OAAO;AAAA,EACb;AAAA,EAES,cAAc;AACtB,SAAK,SAAS;AAAA,EACf;AAAA,EAES,WAAW;AACnB,SAAK,OAAO,WAAW,MAAM;AAAA,EAC9B;AAAA,EAES,aAAa;AACrB,SAAK,SAAS;AAAA,EACf;AAAA,EAEQ,SAAS;AAChB,UAAM,EAAE,eAAe,OAAO,IAAI;AAClC,UAAM,EAAE,oBAAoB,kBAAkB,IAAI,OAAO;AAEzD,UAAM,QAAQ,IAAI,IAAI,oBAAoB,iBAAiB,EAAE,IAAI,OAAO,aAAa,CAAC;AACtF,QAAI,MAAM,KAAK,MAAM,EAAG;AACxB,WAAO,UAAU,cAAc,MAAM,EAAE,IAAI,KAAK,CAAC;AAAA,EAClD;AAAA,EAEQ,WAAW;AAClB,UAAM,EAAE,OAAO,IAAI;AACnB,UAAM,EAAE,gBAAgB,IAAI,OAAO;AAEnC,UAAM,sBAAsB,KAAK,IAAI,gBAAgB,IAAI,GAAG,CAAC;AAE7D,QAAI,sBAAsB,KAAK;AAC9B,WAAK,OAAO,YAAY,EAAE,OAAO,qBAAqB,WAAW,gBAAgB,CAAC;AAAA,IACnF;AAEA,SAAK,OAAO,WAAW,MAAM;AAAA,EAC9B;AACD;", "names": [] }