diff --git a/src/mol-canvas3d/util.ts b/src/mol-canvas3d/util.ts index 94dc9221526b37a6b32ebe9885f9a7719bb4a956..a3955e5a121e6088a4c83e3641613a05c46b1b4e 100644 --- a/src/mol-canvas3d/util.ts +++ b/src/mol-canvas3d/util.ts @@ -12,13 +12,13 @@ export function setCanvasSize(canvas: HTMLCanvasElement, width: number, height: } /** Resize canvas to container element taking `devicePixelRatio` into account */ -export function resizeCanvas (canvas: HTMLCanvasElement, container: Element, scale = 1) { +export function resizeCanvas (canvas: HTMLCanvasElement, container: HTMLElement, scale = 1) { let width = window.innerWidth; let height = window.innerHeight; if (container !== document.body) { - let bounds = container.getBoundingClientRect(); - width = bounds.right - bounds.left; - height = bounds.bottom - bounds.top; + // fixes issue #molstar/molstar#147, offsetWidth/offsetHeight is correct size when css transform:scale is used + width = container.offsetWidth; + height = container.offsetHeight; } setCanvasSize(canvas, width, height, scale); }