arrow_gesture_panel.dart 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import 'package:fis_measure/interfaces/process/workspace/application.dart';
  2. import 'package:fis_measure/interfaces/process/workspace/point_info.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:get/get.dart';
  5. import '../positioned_cursor.dart';
  6. /// 箭头注释手势面板
  7. class AnnotationArrowGesturePanel extends StatefulWidget {
  8. const AnnotationArrowGesturePanel({Key? key}) : super(key: key);
  9. @override
  10. State<AnnotationArrowGesturePanel> createState() => _PanelState();
  11. }
  12. class _PanelState extends State<AnnotationArrowGesturePanel> {
  13. late final application = Get.find<IApplication>();
  14. @override
  15. Widget build(BuildContext context) {
  16. return GestureDetector(onTapDown: (details) {
  17. application.createPointInfo(
  18. details.localPosition,
  19. PointInfoType.touchDown,
  20. );
  21. }, onPanDown: (details) {
  22. application.createPointInfo(
  23. details.localPosition,
  24. PointInfoType.touchDown,
  25. );
  26. }, onPanUpdate: (details) {
  27. application.createPointInfo(
  28. details.localPosition,
  29. PointInfoType.touchMove,
  30. );
  31. }, onTapUp: (details) {
  32. application.createPointInfo(
  33. details.localPosition,
  34. PointInfoType.touchUp,
  35. );
  36. }, onPanEnd: (details) {
  37. application.createPointInfo(
  38. Offset.zero,
  39. PointInfoType.touchUp,
  40. );
  41. });
  42. }
  43. }