blob: 9a80e7f8568981a81e0c2b25ff61d176da199c95 [file] [log] [blame]
use std::{error, fmt};
/// Checks whether the specified color is valid as debug marker color.
///
/// The color parameter must contain RGBA values in order, in the range 0.0 to 1.0.
pub fn check_debug_marker_color(color: [f32; 4]) -> Result<(), CheckColorError> {
// The values contain RGBA values in order, in the range 0.0 to 1.0.
if color.iter().any(|x| !(0f32..=1f32).contains(x)) {
return Err(CheckColorError);
}
Ok(())
}
/// Error that can happen from `check_debug_marker_color`.
#[derive(Debug, Copy, Clone)]
pub struct CheckColorError;
impl error::Error for CheckColorError {}
impl fmt::Display for CheckColorError {
#[inline]
fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> {
write!(
fmt,
"{}",
match *self {
CheckColorError => "color parameter does contains values out of 0.0 to 1.0 range",
}
)
}
}