ui(plotting): décalage visuel de l'impact lors du glisser pour éviter de le cacher avec le doigt
This commit is contained in:
@@ -507,14 +507,19 @@ class _AnalysisScreenContentState extends State<_AnalysisScreenContent> {
|
||||
}
|
||||
},
|
||||
|
||||
// 3. GLISSER : On déplace l'impact verrouillé en temps réel sous le doigt
|
||||
// 3. GLISSER : On déplace l'impact verrouillé en temps réel avec un décalage visuel
|
||||
onLongPressMoveUpdate: (LongPressMoveUpdateDetails details) {
|
||||
if (_movingShotId == null) return;
|
||||
|
||||
final RenderBox? box = _imageKey.currentContext?.findRenderObject() as RenderBox?;
|
||||
if (box == null) return;
|
||||
|
||||
final localOffset = box.globalToLocal(details.globalPosition);
|
||||
// CORRECTION : On applique un décalage de pixels (Offset) vers le haut et la gauche
|
||||
// -25 pixels sur l'axe X (vers la gauche) et -35 pixels sur l'axe Y (vers le haut)
|
||||
// pour que l'impact sorte de dessous la pulpe du doigt !
|
||||
final adjustedGlobalPosition = details.globalPosition + const Offset(-25, -35);
|
||||
|
||||
final localOffset = box.globalToLocal(adjustedGlobalPosition);
|
||||
|
||||
// Calcul des coordonnées relatives bridées entre 0.0 et 1.0 (pour pas sortir de la photo)
|
||||
final relX = (localOffset.dx / box.size.width).clamp(0.0, 1.0);
|
||||
|
||||
Reference in New Issue
Block a user