import 'package:fis_measure/interfaces/process/workspace/application.dart';
import 'package:fis_measure/interfaces/process/workspace/point_info.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

import '../positioned_cursor.dart';

/// 箭头注释手势面板
class AnnotationArrowGesturePanel extends StatefulWidget {
  const AnnotationArrowGesturePanel({Key? key}) : super(key: key);

  @override
  State<AnnotationArrowGesturePanel> createState() => _PanelState();
}

class _PanelState extends State<AnnotationArrowGesturePanel> {
  late final application = Get.find<IApplication>();

  @override
  Widget build(BuildContext context) {
    return GestureDetector(onTapDown: (details) {
      application.createPointInfo(
        details.localPosition,
        PointInfoType.touchDown,
      );
    }, onPanDown: (details) {
      application.createPointInfo(
        details.localPosition,
        PointInfoType.touchDown,
      );
    }, onPanUpdate: (details) {
      application.createPointInfo(
        details.localPosition,
        PointInfoType.touchMove,
      );
    }, onTapUp: (details) {
      application.createPointInfo(
        details.localPosition,
        PointInfoType.touchUp,
      );
    }, onPanEnd: (details) {
      application.createPointInfo(
        Offset.zero,
        PointInfoType.touchUp,
      );
    });
  }
}