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 createState() => _PanelState(); } class _PanelState extends State { late final application = Get.find(); final mouseState = Get.find(); @override Widget build(BuildContext context) { return GestureDetector( onTapDown: (details) { application.createPointInfo( details.localPosition, PointInfoType.mouseDown, ); }, onPanUpdate: (details) { mouseState.mousePosition = details.localPosition; }, child: MouseRegion( cursor: SystemMouseCursors.none, child: Stack( children: const [ PositionedCursor(), ], ), onHover: (event) { mouseState.mousePosition = event.localPosition; application.createPointInfo( event.localPosition, PointInfoType.mouseMove, ); }, ), ); } }