mirror of
https://github.com/smittix/intercept.git
synced 2026-07-09 18:18:12 -07:00
Fix DMR synthesizer canvas sizing to use element's own rendered rect
getBoundingClientRect on the canvas itself (sized via CSS width:100%) instead of parentElement with arbitrary offset, preventing zero-width canvas when flex layout timing varies. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -225,9 +225,12 @@ function initDmrSynthesizer() {
|
|||||||
dmrSynthCanvas = document.getElementById('dmrSynthCanvas');
|
dmrSynthCanvas = document.getElementById('dmrSynthCanvas');
|
||||||
if (!dmrSynthCanvas) return;
|
if (!dmrSynthCanvas) return;
|
||||||
|
|
||||||
const rect = dmrSynthCanvas.parentElement.getBoundingClientRect();
|
// Use the canvas element's own rendered size for the backing buffer
|
||||||
dmrSynthCanvas.width = rect.width - 20;
|
const rect = dmrSynthCanvas.getBoundingClientRect();
|
||||||
dmrSynthCanvas.height = 70;
|
const w = Math.round(rect.width) || 600;
|
||||||
|
const h = Math.round(rect.height) || 70;
|
||||||
|
dmrSynthCanvas.width = w;
|
||||||
|
dmrSynthCanvas.height = h;
|
||||||
|
|
||||||
dmrSynthCtx = dmrSynthCanvas.getContext('2d');
|
dmrSynthCtx = dmrSynthCanvas.getContext('2d');
|
||||||
|
|
||||||
@@ -427,10 +430,10 @@ function updateDmrSynthStatus() {
|
|||||||
|
|
||||||
function resizeDmrSynthesizer() {
|
function resizeDmrSynthesizer() {
|
||||||
if (!dmrSynthCanvas) return;
|
if (!dmrSynthCanvas) return;
|
||||||
const rect = dmrSynthCanvas.parentElement.getBoundingClientRect();
|
const rect = dmrSynthCanvas.getBoundingClientRect();
|
||||||
if (rect.width > 0) {
|
if (rect.width > 0) {
|
||||||
dmrSynthCanvas.width = rect.width - 20;
|
dmrSynthCanvas.width = Math.round(rect.width);
|
||||||
dmrSynthCanvas.height = 70;
|
dmrSynthCanvas.height = Math.round(rect.height) || 70;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user