#[derive(Debug, Clone, Copy, PartialEq)]
pub struct PaneClickDistanceInput {
pub pane_click_distance: f32,
pub selection_on_drag: bool,
}
impl PaneClickDistanceInput {
pub fn new(pane_click_distance: f32, selection_on_drag: bool) -> Self {
Self {
pane_click_distance,
selection_on_drag,
}
}
}
pub fn resolve_pane_click_distance(input: PaneClickDistanceInput) -> f32 {
if input.selection_on_drag {
return f32::INFINITY;
}
if !input.pane_click_distance.is_finite() || input.pane_click_distance < 0.0 {
return 0.0;
}
input.pane_click_distance
}