fix: cadre toujours orange
This commit is contained in:
@@ -162,37 +162,30 @@ class _CaptureScreenState extends State<CaptureScreen>
|
||||
|
||||
bool get _objectReady => _primaryObject != null;
|
||||
|
||||
/// Couleur du cadre selon le parallélisme détecté par l'IMU.
|
||||
/// Couleur du cadre : dépend UNIQUEMENT du parallélisme IMU.
|
||||
/// (La détection d'objet sert seulement à dessiner une boîte, elle ne
|
||||
/// bloque jamais le passage au vert.)
|
||||
Color get _frameColor {
|
||||
final bool imuAligned =
|
||||
_parallelismData == null || _parallelismData!.isAligned;
|
||||
// Vert UNIQUEMENT si l'appareil est parallèle ET un objet est bien cadré.
|
||||
if (imuAligned && _objectReady) return const Color(0xFF00FF00);
|
||||
return Colors.orange;
|
||||
return imuAligned ? const Color(0xFF00FF00) : Colors.orange;
|
||||
}
|
||||
|
||||
/// Message d'aide selon le parallélisme + détection d'objet.
|
||||
/// Message d'aide selon le parallélisme IMU.
|
||||
String get _alignmentMessage {
|
||||
final bool imuAligned =
|
||||
_parallelismData == null || _parallelismData!.isAligned;
|
||||
|
||||
// Cas idéal : tout est bon
|
||||
if (imuAligned && _objectReady) {
|
||||
return 'PARALLÈLE OK — PRÊT À PHOTOGRAPHIER';
|
||||
}
|
||||
|
||||
// IMU bon mais pas d'objet correctement cadré
|
||||
if (imuAligned && !_objectReady) {
|
||||
return _detectedObjects.isEmpty
|
||||
? 'AUCUN OBJET DÉTECTÉ — APPROCHEZ-VOUS'
|
||||
: 'CENTREZ L\'OBJET DANS LE CADRE';
|
||||
}
|
||||
|
||||
if (_parallelismData == null) {
|
||||
if (_parallelismData == null ||
|
||||
_parallelismData!.status == ParallelismStatus.unknown) {
|
||||
return 'ALIGNEZ LA CIBLE DANS LE CADRE';
|
||||
}
|
||||
|
||||
// Message directif selon l'axe le plus dévié
|
||||
// Aligné → message de validation (avec bonus si un objet est cadré)
|
||||
if (_parallelismData!.isAligned) {
|
||||
return _objectReady
|
||||
? 'PARFAIT — OBJET CADRÉ, PRÊT'
|
||||
: 'PARALLÈLE OK — PRÊT À PHOTOGRAPHIER';
|
||||
}
|
||||
|
||||
// Mal aligné → message directif selon l'axe le plus dévié
|
||||
final double pitch = _parallelismData!.pitchDegrees;
|
||||
final double roll = _parallelismData!.rollDegrees;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user