mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 10:38:59 +01:00
Improve Counter-Zoom Handling for Context Views (#149958)
* fixes #149957 * fixes #149741 * use const * use const
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user