import 'package:fis_common/event/event_type.dart';
import 'package:fis_measure/interfaces/process/visuals/visual.dart';

enum ModeTypeEnum {
  undefined,

  /// Modes like 2D, TNonL, 3D4D
  tissue,

  /// Modes like CF, PDI, TVI
  flow,

  /// Modes like PW, CW, TD
  doppler,

  /// Modes like MM, AMM
  tissueTM
}

abstract class IMode {
  /// 是否活动
  bool get active;
  set active(bool value);

  /// 模式名称
  String get name;

  /// 模式类型
  ModeTypeEnum get modeType;

  /// 图像幅
  IVisual get visual;

  /// 是否活动变化事件
  late FEventHandler<bool> activeChanged;
}
