fix(#173): 9-slice manuel avec coins à taille logique fixe

Remplace DecorationImage.centerSlice (inopérant si bulle trop
basse) par un peintre 9 zones : coins fixes, centre extensible.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-01 17:10:40 +02:00
co-authored by Cursor
parent 7ff169d4c9
commit 42163826fe
3 changed files with 228 additions and 22 deletions
+6 -8
View File
@@ -25,13 +25,11 @@ enum CardColorHorizontal {
final String path;
const CardColorHorizontal(this.path);
/// Taille intrinsèque des PNG `card_*_h` (~1024×512).
static const Size sourceSize = Size(1024, 512);
/// Zone centrale extensible en pixels source (~1024×512).
/// Coins source ≈ 160×90 — mappés ensuite à une taille logique fixe.
static const Rect centerSlice = Rect.fromLTRB(160, 90, 864, 422);
/// Facteur d’affichage : PNG ~2× → coins 9-slice en taille logique correcte.
static const double displayScale = 2.0;
/// 9-slice en pixels image : coins fixes, bords H/V + centre extensibles.
/// Même logique que extensible.png — sans fichier `.9.png` Android.
static const Rect centerSlice = Rect.fromLTRB(100, 90, 924, 422);
/// Taille logique des coins (indépendante de la largeur d’écran).
static const double cornerWidth = 56;
static const double cornerHeight = 40;
}