Jelajahi Sumber

setPenColor

Melon 9 bulan lalu
induk
melakukan
65dfcc5fea

+ 1 - 5
lib/process/items/item_feature.dart

@@ -35,11 +35,7 @@ abstract class MeasureItemFeature implements IMeasureItemFeature {
   int? imageBelongSign;
 
   @protected
-  final paintPan = Paint()
-    ..color = MeasureColors.Primary
-    ..isAntiAlias = true
-    ..strokeWidth = 2
-    ..style = PaintingStyle.stroke;
+  Paint get paintPan => measureData.paintPen;
   Paint get paintLinePan => measureData.paintLinePan;
   Paint get paintPointPan => measureData.paintPointPan;
   double get annotationFontSize =>

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

@@ -122,6 +122,10 @@ abstract class IMeasureDataController {
   String get currentMode;
   set currentMode(String value);
 
+  /// 通用画笔
+  Paint get paintPen;
+  set paintPen(Paint value);
+
   /// 卡尺线画笔
   Paint get paintLinePan;
   set paintLinePan(Paint value);
@@ -133,6 +137,11 @@ abstract class IMeasureDataController {
   // int index = 0;
 
   // int totalCount = 0;
+
+  /// 设置画笔颜色
+  ///
+  /// [color] 颜色
+  void setPenColor(Color color);
 }
 
 class MeasureDataController implements IMeasureDataController {
@@ -165,16 +174,25 @@ class MeasureDataController implements IMeasureDataController {
 
   /// 新增的
   List<ItemMetaDTO> itemMetaListConfig = [];
+
+  Paint _paintPen = Paint()
+    ..color = MeasureColors.Primary
+    ..isAntiAlias = true
+    ..strokeWidth = 2
+    ..style = PaintingStyle.stroke;
+
   Paint _paintLinePan = Paint()
     ..color = MeasureColors.Primary
     ..isAntiAlias = true
     ..strokeWidth = 2
     ..style = PaintingStyle.stroke;
+
   Paint _paintPointPan = Paint()
     ..color = MeasureColors.Primary
     ..isAntiAlias = true
     ..strokeWidth = 2
     ..style = PaintingStyle.stroke;
+
   @override
   var remedicalListResultChanged = FEventHandler<List<RemedicalInfoDTO>>();
 
@@ -495,6 +513,15 @@ class MeasureDataController implements IMeasureDataController {
     }
   }
 
+  @override
+  Paint get paintPen => _paintPen;
+  @override
+  set paintPen(Paint value) {
+    if (value != _paintPen) {
+      _paintPen = value;
+    }
+  }
+
   @override
   Paint get paintLinePan => _paintLinePan;
   @override
@@ -575,6 +602,13 @@ class MeasureDataController implements IMeasureDataController {
     return imageUrl;
   }
 
+  @override
+  void setPenColor(Color color) {
+    paintPen.color = color;
+    paintLinePan.color = color;
+    paintPointPan.color = color;
+  }
+
   void _onRemedicalListChanged() {
     remedicalListResultChanged.emit(this, remedicalList);
   }