fix(plotting): afficher l'image brute dézoomée et corriger le TargetOverlay

This commit is contained in:
qguillaume
2026-06-05 00:00:46 +02:00
parent 9e0427f750
commit d59ec1e9af
2 changed files with 103 additions and 108 deletions

View File

@@ -5,6 +5,7 @@
/// d'impacts et la sélection d'impacts existants.
library;
import 'dart:math' as math;
import 'package:flutter/material.dart';
import '../../../core/theme/app_theme.dart';
import '../../../data/models/shot.dart';
@@ -211,8 +212,8 @@ class _TargetOverlayPainter extends CustomPainter {
final prevMultiplier = i == 0
? 0.0
: (ringRadii != null && ringRadii!.length == ringCount)
? ringRadii![i - 1]
: i / ringCount;
? ringRadii![i - 1]
: i / ringCount;
final zoneRadius = maxRadius * (currentMultiplier + prevMultiplier) / 2;
final score = 10 - i;
@@ -260,7 +261,10 @@ class _TargetOverlayPainter extends CustomPainter {
void _drawGroupingCircle(Canvas canvas, Size size) {
final centerX = groupingCenterX! * size.width;
final centerY = groupingCenterY! * size.height;
final diameter = groupingDiameter! * size.width.clamp(0, size.height);
// CORRECTIF : Utilisation de math.min pour éviter les écrasements d'aspect ratio asymétriques
final minDim = math.min(size.width, size.height);
final diameter = groupingDiameter! * minDim;
// Draw filled circle
final fillPaint = Paint()
@@ -381,4 +385,4 @@ class _TargetOverlayPainter extends CustomPainter {
zoomScale != oldDelegate.zoomScale ||
showRings != oldDelegate.showRings;
}
}
}