onTapDownFocus method

void onTapDownFocus(
  1. TapDownDetails details
)

Implementation

void onTapDownFocus(TapDownDetails details) {
  defaultPanel();
  // local function
  void cancel() {
    _timerTapDownFocus?.cancel();
  }

  // local function
  void flush() {
    if (pointers == 1) {
      _showFocus = true;
      _pointFocus = Offset(details.localPosition.dx, details.localPosition.dy);
      cameraViewController.sink.add(true);
      cameraController!.setFocusPoint(const Offset(0.5, 0.5)); // Focus center
      focusController.sink.add(true);

      // hide
      Future.delayed(
        const Duration(seconds: 2),
        () {
          _showFocus = false;
          focusController.sink.add(true);
          buttonController.sink.add(true);
        },
      );
    }

    cancel();
  }

  // local function
  void debounce() {
    cancel();
    _timerTapDownFocus = Timer(const Duration(microseconds: 100), () => flush());
  }

  debounce();
}