import 'dart:ui';
import 'package:fis_measure/interfaces/date_types/point.dart';
import 'package:fis_measure/interfaces/process/items/item.dart';
import 'package:fis_measure/interfaces/process/items/item_metas.dart';
import 'package:fis_measure/interfaces/process/workspace/point_info.dart';
import '../items/item.dart';
import '../items/item_feature.dart';

/// 空测量项,用于右键结束测量时的占位
class Empty extends MeasureItem<EmptyFeature> {
  Empty(ItemMeta meta, IMeasureItem? parent) : super(meta, parent);

  @override
  bool get finishAfterUnactive => true;

  @override
  bool onExecuteMouse(PointInfo args) {
    return true;
  }

  @override
  bool onExecuteTouch(PointInfo args) {
    return true;
  }

  static Empty createEmpty(
    ItemMeta meta, [
    IMeasureItem? parent,
  ]) {
    Empty location = Empty(meta, parent);
    return location;
  }
}

class EmptyFeature extends MeasureItemFeature {
  EmptyFeature(IMeasureItem refItem, DPoint point) : super(refItem) {
    innerPoints.add(point);
  }

  @override
  void paint(Canvas canvas, Size size) {}
}