GestureDetector

snippet.packages.flutter.lib.src.widgets.gesture_detector.52.

  

// ignore_for_file: directives_ordering
// ignore_for_file: unnecessary_import
// ignore_for_file: unused_import
// ignore_for_file: unused_element
// ignore_for_file: unused_local_variable
import 'dart:async';
import 'dart:convert';
import 'dart:math' as math;
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/painting.dart';
import 'package:flutter/physics.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/semantics.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/animation.dart';
import 'package:flutter/services.dart';

// From: packages/flutter/lib/src/widgets/gesture_detector.dart:52
late bool _lights;
void setState(VoidCallback fn) { }
late String _last;
late Color _color;
dynamic expression189 = 
RawGestureDetector(
  gestures: {
    TapGestureRecognizer: GestureRecognizerFactoryWithHandlers(
      () => TapGestureRecognizer(),
      (TapGestureRecognizer instance) {
        instance
          ..onTapDown = (TapDownDetails details) { setState(() { _last = 'down'; }); }
          ..onTapUp = (TapUpDetails details) { setState(() { _last = 'up'; }); }
          ..onTap = () { setState(() { _last = 'tap'; }); }
          ..onTapCancel = () { setState(() { _last = 'cancel'; }); };
      },
    ),
  },
  child: Container(width: 300.0, height: 300.0, color: Colors.yellow, child: Text(_last)),
)
;
class ForcePressGestureDetectorWithSemantics extends StatelessWidget {
  const ForcePressGestureDetectorWithSemantics({
    Key? key,
    required this.child,
    required this.onForcePress,
  }) : super(key: key);

  final Widget child;
  final VoidCallback onForcePress;

  @override
  Widget build(BuildContext context) {
    return RawGestureDetector(
      gestures: {
        ForcePressGestureRecognizer: GestureRecognizerFactoryWithHandlers(
          () => ForcePressGestureRecognizer(debugOwner: this),
          (ForcePressGestureRecognizer instance) {
            instance.onStart = (_) => onForcePress();
          }
        ),
      },
      behavior: HitTestBehavior.opaque,
      semantics: _LongPressSemanticsDelegate(onForcePress),
      child: child,
    );
  }
}

class _LongPressSemanticsDelegate extends SemanticsGestureDelegate {
  _LongPressSemanticsDelegate(this.onLongPress);

  VoidCallback onLongPress;

  @override
  void assignSemantics(RenderSemanticsGestureHandler renderObject) {
    renderObject.onLongPress = onLongPress;
  }
}
  

SHARE: