Browse Source

refresh canvas after color changed

Melon 9 months ago
parent
commit
fbf3c970e3

+ 5 - 0
lib/process/workspace/measure_data_controller.dart

@@ -13,6 +13,7 @@ import 'package:fis_measure/view/measure/measure_config/measure_configuation_pag
 import 'package:fis_measure/view/measure/measure_config/widgets/measure_configuration_style.dart';
 import 'package:fis_measure/view/measure/measure_config/widgets/measure_configuration_unit.dart';
 import 'package:flutter/material.dart';
+import 'package:get/get.dart';
 import 'package:vid/us/vid_us_mode.dart';
 
 class MeasureInfoData {
@@ -619,6 +620,10 @@ class MeasureDataController implements IMeasureDataController {
     paintPen.color = color;
     paintLinePan.color = color;
     paintPointPan.color = color;
+    MeasureColors.ActivePrimary = color;
+    if (Get.isRegistered<IApplication>()) {
+      Get.find<IApplication>().updateRenderReady.emit(this, null);
+    }
   }
 
   void _onRemedicalListChanged() {

+ 3 - 3
lib/utils/canvas.dart

@@ -262,7 +262,7 @@ extension MeasureCanvasExt on Canvas {
     path.lineTo(x - radius, y + radius);
 
     _vertexPaint.color =
-        active ? MeasureColors.ActiveCaliper : MeasureColors.Primary;
+        active ? MeasureColors.ActiveCaliper : MeasureColors.ActivePrimary;
     drawPath(path, _vertexPaint);
     restore();
   }
@@ -291,7 +291,7 @@ extension MeasureCanvasExt on Canvas {
     path.lineTo(x, y + radius);
 
     _vertexPaint.color =
-        active ? MeasureColors.ActiveCaliper : MeasureColors.Primary;
+        active ? MeasureColors.ActiveCaliper : MeasureColors.ActivePrimary;
     drawPath(path, _vertexPaint..isAntiAlias = false);
     restore();
   }
@@ -323,7 +323,7 @@ extension MeasureCanvasExt on Canvas {
     }
 
     _markPaint.color =
-        active ? MeasureColors.ActiveCaliper : MeasureColors.Primary;
+        active ? MeasureColors.ActiveCaliper : MeasureColors.ActivePrimary;
     drawPath(path, _markPaint);
     restore();
   }

+ 3 - 0
lib/values/colors.dart

@@ -21,4 +21,7 @@ class MeasureColors {
 
   /// 隐藏不显示【透明色】
   static const Color Hide = Color.fromARGB(0, 0, 0, 0);
+
+  /// 活动主色
+  static Color ActivePrimary = Primary;
 }