mirror of
https://github.com/emilk/egui.git
synced 2026-08-29 04:40:03 -04:00
Add assert messages and print bad argument values in asserts (#5216)
Enabled the `missing_assert_message` lint * [x] I have followed the instructions in the PR template --------- Co-authored-by: Lucas Meurer <lucasmeurer96@gmail.com>
This commit is contained in:
@@ -273,7 +273,10 @@ impl Color32 {
|
||||
/// This is perceptually even, and faster that [`Self::linear_multiply`].
|
||||
#[inline]
|
||||
pub fn gamma_multiply(self, factor: f32) -> Self {
|
||||
debug_assert!(0.0 <= factor && factor.is_finite());
|
||||
debug_assert!(
|
||||
0.0 <= factor && factor.is_finite(),
|
||||
"factor should be finite, but was {factor}"
|
||||
);
|
||||
let Self([r, g, b, a]) = self;
|
||||
Self([
|
||||
(r as f32 * factor + 0.5) as u8,
|
||||
@@ -306,7 +309,10 @@ impl Color32 {
|
||||
/// You likely want to use [`Self::gamma_multiply`] instead.
|
||||
#[inline]
|
||||
pub fn linear_multiply(self, factor: f32) -> Self {
|
||||
debug_assert!(0.0 <= factor && factor.is_finite());
|
||||
debug_assert!(
|
||||
0.0 <= factor && factor.is_finite(),
|
||||
"factor should be finite, but was {factor}"
|
||||
);
|
||||
// As an unfortunate side-effect of using premultiplied alpha
|
||||
// we need a somewhat expensive conversion to linear space and back.
|
||||
Rgba::from(self).multiply(factor).into()
|
||||
|
||||
@@ -90,15 +90,24 @@ impl Rgba {
|
||||
|
||||
#[inline]
|
||||
pub fn from_luminance_alpha(l: f32, a: f32) -> Self {
|
||||
debug_assert!(0.0 <= l && l <= 1.0);
|
||||
debug_assert!(0.0 <= a && a <= 1.0);
|
||||
debug_assert!(
|
||||
0.0 <= l && l <= 1.0,
|
||||
"l should be in the range [0, 1], but was {l}"
|
||||
);
|
||||
debug_assert!(
|
||||
0.0 <= a && a <= 1.0,
|
||||
"a should be in the range [0, 1], but was {a}"
|
||||
);
|
||||
Self([l * a, l * a, l * a, a])
|
||||
}
|
||||
|
||||
/// Transparent black
|
||||
#[inline]
|
||||
pub fn from_black_alpha(a: f32) -> Self {
|
||||
debug_assert!(0.0 <= a && a <= 1.0);
|
||||
debug_assert!(
|
||||
0.0 <= a && a <= 1.0,
|
||||
"a should be in the range [0, 1], but was {a}"
|
||||
);
|
||||
Self([0.0, 0.0, 0.0, a])
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user