1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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 MeasureMouseGesturePanel extends StatefulWidget {
- const MeasureMouseGesturePanel({Key? key}) : super(key: key);
- @override
- State<StatefulWidget> createState() => _MeasureMouseGesturePanelState();
- }
- class _MeasureMouseGesturePanelState extends State<MeasureMouseGesturePanel> {
- Offset? mousePosition;
- Offset? cursorPosition;
- final mouseState = Get.put<IMouseState>(MouseState());
- late final application = Get.find<IApplication>();
- @override
- void initState() {
- // TODO: from config
- mouseState.cursorSize = 32;
- super.initState();
- }
- @override
- void dispose() {
- //
- super.dispose();
- }
- @override
- Widget build(BuildContext context) {
- return GestureDetector(
- onTapDown: (details) {
- application.createPointInfo(
- details.localPosition,
- PointInfoType.mouseDown,
- );
- },
- onPanDown: (details) {
- // application.createPointInfo(
- // details.localPosition,
- // PointInfoType.mouseDown,
- // );
- },
- onPanUpdate: (details) {
- mouseState.mousePosition = details.localPosition;
- application.createPointInfo(
- details.localPosition,
- PointInfoType.mouseMove,
- );
- },
- child: MouseRegion(
- cursor: SystemMouseCursors.none,
- onHover: (event) {
- mouseState.mousePosition = event.localPosition;
- application.createPointInfo(
- event.localPosition,
- PointInfoType.mouseMove,
- );
- },
- child: Stack(
- children: const [
- PositionedCursor(),
- ],
- ),
- ),
- );
- }
- }
|