mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-01 16:48:16 +08:00
opt emoji tooltip
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import 'dart:math' as math;
|
import 'dart:math' as math;
|
||||||
import 'dart:ui' show clampDouble;
|
import 'dart:ui' show clampDouble;
|
||||||
|
|
||||||
|
import 'package:PiliPlus/utils/utils.dart';
|
||||||
import 'package:flutter/gestures.dart';
|
import 'package:flutter/gestures.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
@@ -148,11 +149,21 @@ class CustomTooltipState extends State<CustomTooltip>
|
|||||||
@protected
|
@protected
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
Widget result = Listener(
|
Widget result;
|
||||||
|
if (Utils.isMobile) {
|
||||||
|
result = Listener(
|
||||||
onPointerDown: _handlePointerDown,
|
onPointerDown: _handlePointerDown,
|
||||||
behavior: HitTestBehavior.opaque,
|
behavior: HitTestBehavior.opaque,
|
||||||
child: widget.child,
|
child: widget.child,
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
result = MouseRegion(
|
||||||
|
cursor: MouseCursor.defer,
|
||||||
|
onEnter: (_) => _scheduleShowTooltip(),
|
||||||
|
onExit: (_) => _scheduleDismissTooltip(),
|
||||||
|
child: widget.child,
|
||||||
|
);
|
||||||
|
}
|
||||||
return OverlayPortal(
|
return OverlayPortal(
|
||||||
controller: _overlayController,
|
controller: _overlayController,
|
||||||
overlayChildBuilder: _buildCustomTooltipOverlay,
|
overlayChildBuilder: _buildCustomTooltipOverlay,
|
||||||
@@ -184,10 +195,7 @@ class _CustomTooltipOverlay extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return GestureDetector(
|
Widget child = CustomMultiChildLayout(
|
||||||
behavior: HitTestBehavior.opaque,
|
|
||||||
onTap: onDismiss,
|
|
||||||
child: CustomMultiChildLayout(
|
|
||||||
delegate: _CustomMultiTooltipPositionDelegate(
|
delegate: _CustomMultiTooltipPositionDelegate(
|
||||||
type: type,
|
type: type,
|
||||||
target: target,
|
target: target,
|
||||||
@@ -206,8 +214,15 @@ class _CustomTooltipOverlay extends StatelessWidget {
|
|||||||
child: indicator!(),
|
child: indicator!(),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
|
||||||
);
|
);
|
||||||
|
if (Utils.isMobile) {
|
||||||
|
return GestureDetector(
|
||||||
|
behavior: HitTestBehavior.opaque,
|
||||||
|
onTap: onDismiss,
|
||||||
|
child: child,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return child;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user