Improve Counter-Zoom Handling for Context Views (#149958)

* fixes #149957

* fixes #149741

* use const

* use const
This commit is contained in:
SteVen Batten
2022-05-19 11:20:48 -07:00
committed by GitHub
parent 3f27a6103b
commit 85bf8af5b9
4 changed files with 41 additions and 14 deletions

View File

@@ -577,6 +577,24 @@ export function getDomNodePagePosition(domNode: HTMLElement): IDomNodePagePositi
};
}
/**
* Returns the effective zoom on a given element before window zoom level is applied
*/
export function getDomNodeZoomLevel(domNode: HTMLElement): number {
let testElement: HTMLElement | null = domNode;
let zoom = 1.0;
do {
const elementZoomLevel = (getComputedStyle(testElement) as any).zoom;
if (elementZoomLevel !== null && elementZoomLevel !== undefined && elementZoomLevel !== '1') {
zoom *= elementZoomLevel;
}
testElement = testElement.parentElement;
} while (testElement !== null && testElement !== document.documentElement);
return zoom;
}
export interface IStandardWindow {
readonly scrollX: number;
readonly scrollY: number;