item_feature.dart 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import 'package:fis_measure/interfaces/date_types/point.dart';
  2. import 'package:fis_measure/interfaces/process/calculators/values.dart';
  3. import 'package:flutter/rendering.dart';
  4. import 'item.dart';
  5. /// 测试项单次快照
  6. abstract class IMeasureItemFeature {
  7. /// 关联测量项
  8. IMeasureItem get refItem;
  9. /// 点集合
  10. List<DPoint> get innerPoints;
  11. /// 是否活动
  12. bool get isActive;
  13. /// 样式配置
  14. FeatureStyle get featureStyle;
  15. /// 测量模式的名称
  16. String get measureModeName;
  17. /// 序号
  18. int get id;
  19. /// 计算结果列表
  20. List<ValueBase> get values;
  21. /// 结果值
  22. ValueBase? get value;
  23. /// 所在帧索引
  24. int? frameIndex;
  25. /// 所在图标识
  26. int? imageBelongSign;
  27. /// 绘制
  28. void paint(Canvas canvas, Size size);
  29. /// 检查是否可绘制
  30. bool checkCanPaint();
  31. /// 设置当前 zoom area 的归一化 Rect
  32. void setZoomRect(Rect? zoomRect);
  33. /// 灌注图 绘制
  34. void paintPerfusion(Canvas canvas, Size size);
  35. }
  36. /// 测试项单次快照样式配置
  37. class FeatureStyle {
  38. FeatureStyle({this.showBriefAnnotation = false});
  39. /// 是否显示简短描述
  40. bool showBriefAnnotation;
  41. }