diff options
| author | Monika Hedman <monika_hedman@brown.edu> | 2019-02-18 19:03:34 -0500 |
|---|---|---|
| committer | Monika Hedman <monika_hedman@brown.edu> | 2019-02-18 19:03:34 -0500 |
| commit | eaeb373ed90d35ab1c29cd9c3e4a79f6c8fa30b0 (patch) | |
| tree | 2adb423bf0f782fce6861d703114bc0140520766 /src/client/util | |
| parent | 30986620c34c93e12509b2875e90cf5876838403 (diff) | |
| parent | 842f571bfb4952d12804a8dbdc66aedbf2bf6b81 (diff) | |
transforms update
Diffstat (limited to 'src/client/util')
| -rw-r--r-- | src/client/util/DragManager.ts | 14 | ||||
| -rw-r--r-- | src/client/util/Transform.ts | 8 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/client/util/DragManager.ts b/src/client/util/DragManager.ts index 93b927f8b..337ec855a 100644 --- a/src/client/util/DragManager.ts +++ b/src/client/util/DragManager.ts @@ -78,11 +78,13 @@ export namespace DragManager { dragElement.style.transformOrigin = "0 0"; dragElement.style.zIndex = "1000"; dragElement.style.transform = `translate(${x}px, ${y}px) scale(${scaleX}, ${scaleY})`; - dragElement.style.width = `${rect.width}px`; - dragElement.style.height = `${rect.height}px`; + dragElement.style.width = `${rect.width / scaleX}px`; + dragElement.style.height = `${rect.height / scaleY}px`; + // It seems like the above code should be able to just be this: + // dragElement.style.transform = `translate(${x}px, ${y}px)`; + // dragElement.style.width = `${rect.width}px`; + // dragElement.style.height = `${rect.height}px`; dragDiv.appendChild(dragElement); - _lastPointerX = dragData["xOffset"] + rect.left; - _lastPointerY = dragData["yOffset"] + rect.top; let hideSource = false; if (typeof options.hideSource === "boolean") { @@ -98,8 +100,8 @@ export namespace DragManager { const moveHandler = (e: PointerEvent) => { e.stopPropagation(); e.preventDefault(); - x += e.clientX - _lastPointerX; _lastPointerX = e.clientX; - y += e.clientY - _lastPointerY; _lastPointerY = e.clientY; + x += e.movementX; + y += e.movementY; dragElement.style.transform = `translate(${x}px, ${y}px) scale(${scaleX}, ${scaleY})`; }; const upHandler = (e: PointerEvent) => { diff --git a/src/client/util/Transform.ts b/src/client/util/Transform.ts index aa922f358..9a66727a2 100644 --- a/src/client/util/Transform.ts +++ b/src/client/util/Transform.ts @@ -38,8 +38,8 @@ export class Transform { } transform = (transform: Transform): Transform => { - this._translateX += transform._translateX * this._scale; - this._translateY += transform._translateY * this._scale; + this._translateX = transform._translateX + transform._scale * this._translateX; + this._translateY = transform._translateY + transform._scale * this._translateY; this._scale *= transform._scale; return this; } @@ -63,8 +63,8 @@ export class Transform { } preTransform = (transform: Transform): Transform => { - this._translateX = transform._translateX + this._translateX * transform._scale; - this._translateY = transform._translateY + this._translateY * transform._scale; + this._translateX += transform._translateX * this._scale; + this._translateY += transform._translateY * this._scale; this._scale *= transform._scale; return this; } |
