From b3c56ef5b5f4cb47438bad2088d3eca14a3111e3 Mon Sep 17 00:00:00 2001 From: "Adriano (daitarn)" Date: Wed, 28 Oct 2026 10:52:30 +0100 Subject: [PATCH] Acquisizione: zoom +/-, Adatta e pan sui tre riquadri immagine, lato anteprima che segue lo zoom Barra in sovrimpressione fuori dal palco che scorre, Ctrl+rotella, pan col puntatore. Refs #111 Co-Authored-By: Claude Sonnet 5.5 --- scripts/calibrazione_pagina.py | 154 +++++++++++++++++++++- scripts/tests/test_pagina_acquisizione.py | 12 ++ 2 files changed, 164 insertions(+), 2 deletions(-) diff --git a/scripts/calibrazione_pagina.py b/scripts/calibrazione_pagina.py index e19b0d9..c4db8a3 100644 --- a/scripts/calibrazione_pagina.py +++ b/scripts/calibrazione_pagina.py @@ -78,6 +78,21 @@ PAGINA = r""" .riquadro .titolo { font-size: .88rem; font-weight: 600; } .riquadro .titolo span { font-weight: 400; font-size: .78rem; color: var(--secondario); margin-left: 6px; } .riquadro .palco { margin-top: 4px; } + /* #111: visore zoom. .visore (position:relative) NON scorre: la barra e' sua figlia e resta ferma; a scorrere e' il .palco da zoomato */ + .visore { position: relative; margin-top: 10px; } + .riquadro .visore { margin-top: 4px; } + .visore > .palco { margin-top: 0; } + .barraZoom { position: absolute; top: 8px; right: 8px; z-index: 3; display: flex; align-items: center; gap: 4px; + padding: 3px 5px; border-radius: 6px; background: rgba(0, 0, 0, .6); color: #fff; font-size: .8rem; } + .barraZoom button { padding: 2px 9px; font-size: .85rem; background: rgba(255, 255, 255, .15); color: #fff; } + .barraZoom span { min-width: 3.4em; text-align: right; font-variant-numeric: tabular-nums; } + .palco.zoomata + .barraZoom { right: 26px; } /* #111: lascia libera la barra di scorrimento verticale */ + .visore:has(.cornice[hidden]) .barraZoom { display: none; } /* #111: barra nascosta finche' la cornice e' nascosta */ + /* #111: stato zoomato: palco ad altezza fissa che scorre, cornice a dimensioni esplicite (impostate da JS); centrata con margin:auto solo se piu' piccola */ + .palco.zoomata { display: flex; align-items: flex-start; justify-content: flex-start; overflow: auto; cursor: grab; touch-action: none; } + .palco.zoomata.panning { cursor: grabbing; } + .palco.zoomata .cornice { display: block; flex: none; margin: auto; max-width: none; } + .palco.zoomata .cornice img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; min-height: 0; } .sorgente-riga { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; } .sorgente-riga .campo-sorgente { flex: 1 1 260px; min-width: 0; } .sorgente-riga select { width: 100%; } @@ -164,6 +179,7 @@ PAGINA = r"""
Immaginegrezza, senza correzione
+
Anteprima ferma. Premere «Avvia anteprima» o «Scatta».
+
100 %
+