onTapDownFocus method
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();
}