import 'package:fis_common/event/event_type.dart';
import 'package:fis_measure/interfaces/enums/display_mode.dart';
import 'package:fis_measure/interfaces/process/visuals/visual_area.dart';
import 'package:vid/us/vid_us_display_mode.dart';
import 'package:vid/us/vid_us_visual.dart';

import '../modes/mode.dart';

/// 图像幅
abstract class IVisual {
  /// 幅数据
  VidUsVisual get visualData;

  /// 图像幅区域 集合
  List<IVisualArea> get visualAreas;

  /// 包含的模式集合
  List<IMode> get modes;

  /// 显示模式
  VidUsDisplayMode get displayMode;

  /// 活动模式
  IMode? get activeMode;

  /// 活动区域
  IVisualArea? get activeArea;

  /// 是否活动
  bool get isActive;

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