import 'package:fis_measure/utils/canvas.dart'; import 'package:fis_measure/view/paint/ai_patint_controller.dart'; import 'package:fis_measure/view/paint/ai_patint_state.dart'; import 'package:fis_measure/view/paint/parts/index.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; /// ai的虚线部分 class PaintAIDashLine extends CustomPainter { final AiDotsResults aiDotsResults; late final aiPatintController = Get.find(); bool get isSelected => aiPatintController.state.aiResultIndex == aiDotsResults.aiResultsIndex; PaintAIDashLine( this.aiDotsResults, ); @override void paint(Canvas canvas, Size size) { canvas.drawDashLine( aiDotsResults.p1 ?? Offset.zero, aiDotsResults.p2 ?? Offset.zero, 2, 5, isSelected ? aiPaintSelected : aiPaint, ); canvas.drawDashLine( aiDotsResults.p3 ?? Offset.zero, aiDotsResults.p4 ?? Offset.zero, 2, 5, isSelected ? aiPaintSelected : aiPaint, ); canvas.drawVertex( aiDotsResults.p1 ?? Offset.zero, 10, active: isSelected, ); canvas.drawVertex( aiDotsResults.p2 ?? Offset.zero, 10, active: isSelected, ); canvas.drawVertex( aiDotsResults.p3 ?? Offset.zero, 10, active: isSelected, ); canvas.drawVertex( aiDotsResults.p4 ?? Offset.zero, 10, active: isSelected, ); } @override bool shouldRepaint(CustomPainter oldDelegate) { return false; } }