From 8b53b8c2559ce976726152c8a7d043f024935529 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Mon, 23 May 2022 06:49:52 -0700 Subject: [PATCH] Take padding into account when converting mouse coord to cell Part of microsoft/vscode#148061 --- src/browser/input/Mouse.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/browser/input/Mouse.ts b/src/browser/input/Mouse.ts index 2986fb3c..31a6af0a 100644 --- a/src/browser/input/Mouse.ts +++ b/src/browser/input/Mouse.ts @@ -5,7 +5,13 @@ export function getCoordsRelativeToElement(event: {clientX: number, clientY: number}, element: HTMLElement): [number, number] { const rect = element.getBoundingClientRect(); - return [event.clientX - rect.left, event.clientY - rect.top]; + const elementStyle = window.getComputedStyle(element); + const leftPadding = parseInt(elementStyle.getPropertyValue('padding-left')); + const topPadding = parseInt(elementStyle.getPropertyValue('padding-top')); + return [ + event.clientX - rect.left - leftPadding, + event.clientY - rect.top - topPadding + ]; } /**