miuixGlassNavigationDragTarget function
Implementation
MiuixGlassNavigationDragTarget miuixGlassNavigationDragTarget({
required double left,
required double width,
required double containerWidth,
required double delta,
required bool changedItem,
double devicePixelRatio = 1,
}) {
final start = left.clamp(0.0, math.max(0, containerWidth - width)).toDouble(),
end = start + width;
final trail = changedItem
? 0.0
: math.min(delta.abs() * 4, 60 / devicePixelRatio);
return MiuixGlassNavigationDragTarget(
delta > 0 && end < containerWidth ? start - trail : start,
delta < 0 && start > 0 ? end + trail : end,
!changedItem,
delta > 0,
);
}