1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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>();
- final mouseState = Get.put<IMouseState>(MouseState());
- @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,
- );
- },
- ),
- );
- }
- }
|