import 'package:fis_common/event/event_type.dart'; import 'package:fis_measure/interfaces/date_types/point.dart'; import 'package:fis_measure/interfaces/process/workspace/point_info.dart'; import 'package:flutter/painting.dart'; abstract class IStandardLineCalibrationController { /// 编辑状态 StandardLineCalibrationEditState get editState; /// 是否在编辑 bool get isEditing; /// 绘制点集 List get drawPoints; /// 每个物理单位(cm)占的显示长度 double get displayLengthInPhysics; /// 进入设置模式 void enterEditMode(); /// 取消编辑 void cancelEdit(); /// 确认编辑结果 void confirmEdit(double physicalLength); /// 处理手势点 /// /// [offset] 坐标点 /// /// [type] 坐标点来源 void executeGesturePoint(Offset offset, PointInfoType type); /// 准备更新ui late final FEventHandler updateReady; /// 编辑状态变化事件 late final FEventHandler editStateChanged; } /// 参考校准线编辑状态 enum StandardLineCalibrationEditState { inactive, ready, drawing, drawn, done, }