empty.dart 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import 'dart:ui';
  2. import 'package:fis_measure/interfaces/date_types/point.dart';
  3. import 'package:fis_measure/interfaces/process/items/item.dart';
  4. import 'package:fis_measure/interfaces/process/items/item_metas.dart';
  5. import 'package:fis_measure/interfaces/process/workspace/point_info.dart';
  6. import '../items/item.dart';
  7. import '../items/item_feature.dart';
  8. /// 空测量项,用于右键结束测量时的占位
  9. class Empty extends MeasureItem<EmptyFeature> {
  10. Empty(ItemMeta meta, IMeasureItem? parent) : super(meta, parent);
  11. @override
  12. bool get finishAfterUnactive => true;
  13. @override
  14. bool onExecuteMouse(PointInfo args) {
  15. return true;
  16. }
  17. @override
  18. bool onExecuteTouch(PointInfo args) {
  19. return true;
  20. }
  21. static Empty createEmpty(
  22. ItemMeta meta, [
  23. IMeasureItem? parent,
  24. ]) {
  25. Empty location = Empty(meta, parent);
  26. return location;
  27. }
  28. }
  29. class EmptyFeature extends MeasureItemFeature {
  30. EmptyFeature(IMeasureItem refItem, DPoint point) : super(refItem) {
  31. innerPoints.add(point);
  32. }
  33. @override
  34. void paint(Canvas canvas, Size size) {}
  35. }