Fix upside down slider in the vertical orientation (#3424)
This commit is contained in:
parent
e9f92fee4c
commit
7e2c65a82a
|
|
@ -703,7 +703,9 @@ impl<'a> Slider<'a> {
|
||||||
let handle_radius = self.handle_radius(rect);
|
let handle_radius = self.handle_radius(rect);
|
||||||
match self.orientation {
|
match self.orientation {
|
||||||
SliderOrientation::Horizontal => rect.x_range().shrink(handle_radius),
|
SliderOrientation::Horizontal => rect.x_range().shrink(handle_radius),
|
||||||
SliderOrientation::Vertical => rect.y_range().shrink(handle_radius),
|
// The vertical case has to be flipped because the largest slider value maps to the
|
||||||
|
// lowest y value (which is at the top)
|
||||||
|
SliderOrientation::Vertical => rect.y_range().shrink(handle_radius).flip(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,16 @@ impl Rangef {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Flip the min and the max
|
||||||
|
#[inline]
|
||||||
|
#[must_use]
|
||||||
|
pub fn flip(self) -> Self {
|
||||||
|
Self {
|
||||||
|
min: self.max,
|
||||||
|
max: self.min,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// The overlap of two ranges, i.e. the range that is contained by both.
|
/// The overlap of two ranges, i.e. the range that is contained by both.
|
||||||
///
|
///
|
||||||
/// If the ranges do not overlap, returns a range with `span() < 0.0`.
|
/// If the ranges do not overlap, returns a range with `span() < 0.0`.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue