Color::Lcha constructors (#8041)
Co-authored-by: James Liu <contact@jamessliu.com>
This commit is contained in:
		
							parent
							
								
									9e9ae5b830
								
							
						
					
					
						commit
						7d5f89cca1
					
				| @ -253,6 +253,43 @@ impl Color { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     /// New `Color` with LCH representation in sRGB colorspace.
 | ||||||
|  |     ///
 | ||||||
|  |     /// # Arguments
 | ||||||
|  |     ///
 | ||||||
|  |     /// * `lightness` - Lightness channel. [0.0, 1.5]
 | ||||||
|  |     /// * `chroma` - Chroma channel. [0.0, 1.5]
 | ||||||
|  |     /// * `hue` - Hue channel. [0.0, 360.0]
 | ||||||
|  |     ///
 | ||||||
|  |     /// See also [`Color::lcha`].
 | ||||||
|  |     pub const fn lch(lightness: f32, chroma: f32, hue: f32) -> Color { | ||||||
|  |         Color::Lcha { | ||||||
|  |             lightness, | ||||||
|  |             chroma, | ||||||
|  |             hue, | ||||||
|  |             alpha: 1.0, | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /// New `Color` with LCH representation in sRGB colorspace.
 | ||||||
|  |     ///
 | ||||||
|  |     /// # Arguments
 | ||||||
|  |     ///
 | ||||||
|  |     /// * `lightness` - Lightness channel. [0.0, 1.5]
 | ||||||
|  |     /// * `chroma` - Chroma channel. [0.0, 1.5]
 | ||||||
|  |     /// * `hue` - Hue channel. [0.0, 360.0]
 | ||||||
|  |     /// * `alpha` - Alpha channel. [0.0, 1.0]
 | ||||||
|  |     ///
 | ||||||
|  |     /// See also [`Color::lch`].
 | ||||||
|  |     pub const fn lcha(lightness: f32, chroma: f32, hue: f32, alpha: f32) -> Color { | ||||||
|  |         Color::Lcha { | ||||||
|  |             lightness, | ||||||
|  |             chroma, | ||||||
|  |             hue, | ||||||
|  |             alpha, | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     /// New `Color` from sRGB colorspace.
 |     /// New `Color` from sRGB colorspace.
 | ||||||
|     ///
 |     ///
 | ||||||
|     /// # Examples
 |     /// # Examples
 | ||||||
| @ -1865,12 +1902,7 @@ mod tests { | |||||||
|         let rgba = Color::rgba(0., 0., 0., 0.); |         let rgba = Color::rgba(0., 0., 0., 0.); | ||||||
|         let rgba_l = Color::rgba_linear(0., 0., 0., 0.); |         let rgba_l = Color::rgba_linear(0., 0., 0., 0.); | ||||||
|         let hsla = Color::hsla(0., 0., 0., 0.); |         let hsla = Color::hsla(0., 0., 0., 0.); | ||||||
|         let lcha = Color::Lcha { |         let lcha = Color::lcha(0., 0., 0., 0.); | ||||||
|             lightness: 0.0, |  | ||||||
|             chroma: 0.0, |  | ||||||
|             hue: 0.0, |  | ||||||
|             alpha: 0.0, |  | ||||||
|         }; |  | ||||||
|         assert_eq!(rgba_l, rgba_l.as_rgba_linear()); |         assert_eq!(rgba_l, rgba_l.as_rgba_linear()); | ||||||
|         let Color::RgbaLinear { .. } = rgba.as_rgba_linear() else { panic!("from Rgba") }; |         let Color::RgbaLinear { .. } = rgba.as_rgba_linear() else { panic!("from Rgba") }; | ||||||
|         let Color::RgbaLinear { .. } = hsla.as_rgba_linear() else { panic!("from Hsla") }; |         let Color::RgbaLinear { .. } = hsla.as_rgba_linear() else { panic!("from Hsla") }; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Gilbert Röhrbein
						Gilbert Röhrbein