touch_gesture.dart 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. class MeasureTouchGesturePanel extends StatefulWidget {
  6. const MeasureTouchGesturePanel({Key? key}) : super(key: key);
  7. @override
  8. State<StatefulWidget> createState() => _MeasureTouchGesturePanelState();
  9. }
  10. class _MeasureTouchGesturePanelState extends State<MeasureTouchGesturePanel> {
  11. late final application = Get.find<IApplication>();
  12. @override
  13. void initState() {
  14. // TODO: from config
  15. super.initState();
  16. }
  17. @override
  18. void dispose() {
  19. super.dispose();
  20. }
  21. @override
  22. Widget build(BuildContext context) {
  23. return GestureDetector(onTapDown: (details) {
  24. application.createPointInfo(
  25. details.localPosition,
  26. PointInfoType.touchDown,
  27. );
  28. }, onPanDown: (details) {
  29. application.createPointInfo(
  30. details.localPosition,
  31. PointInfoType.touchDown,
  32. );
  33. }, onPanUpdate: (details) {
  34. application.createPointInfo(
  35. details.localPosition,
  36. PointInfoType.touchMove,
  37. );
  38. }, onTapUp: (details) {
  39. application.createPointInfo(
  40. details.localPosition,
  41. PointInfoType.touchUp,
  42. );
  43. }, onPanEnd: (details) {
  44. application.createPointInfo(
  45. Offset.zero,
  46. PointInfoType.touchUp,
  47. );
  48. });
  49. }
  50. }