From e19088f214ba4ca4ff562c6002053be31fe6db75 Mon Sep 17 00:00:00 2001 From: Christopher Chedeau Date: Sat, 14 Mar 2020 14:29:48 -0700 Subject: [PATCH] Make selection handle resolution independent (#948) They shouldn't really change when zooming in or out. --- src/renderer/renderScene.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/renderer/renderScene.ts b/src/renderer/renderScene.ts index 0557b89b20..95e5305e23 100644 --- a/src/renderer/renderScene.ts +++ b/src/renderer/renderScene.ts @@ -155,12 +155,15 @@ export function renderScene( const initialLineDash = context.getLineDash(); context.setLineDash([8 / sceneState.zoom, 4 / sceneState.zoom]); + const lineWidth = context.lineWidth; + context.lineWidth = 1 / sceneState.zoom; context.strokeRect( elementX1 - dashledLinePadding, elementY1 - dashledLinePadding, elementWidth + dashledLinePadding * 2, elementHeight + dashledLinePadding * 2, ); + context.lineWidth = lineWidth; context.setLineDash(initialLineDash); }); resetZoom(context); @@ -174,8 +177,11 @@ export function renderScene( Object.values(handlers) .filter(handler => handler !== undefined) .forEach(handler => { + const lineWidth = context.lineWidth; + context.lineWidth = 1 / sceneState.zoom; context.fillRect(handler[0], handler[1], handler[2], handler[3]); context.strokeRect(handler[0], handler[1], handler[2], handler[3]); + context.lineWidth = lineWidth; }); resetZoom(context); }