diff options
-rw-r--r-- | core/src/color.rs | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/core/src/color.rs b/core/src/color.rs index e3bbab73..9ea6ccbf 100644 --- a/core/src/color.rs +++ b/core/src/color.rs @@ -120,6 +120,18 @@ impl Color { ] } + /// Converts the [`Color`] into a `u32` value containing its RGBA8 components. + pub fn into_u32(self) -> u32 { + let [r, g, b, a] = self.into_rgba8(); + + let r = (r as u32) << 24; + let g = (g as u32) << 16; + let b = (b as u32) << 8; + let a = a as u32; + + r | g | b | a + } + /// Inverts the [`Color`] in-place. pub fn invert(&mut self) { self.r = 1.0f32 - self.r; @@ -145,19 +157,6 @@ impl From<[f32; 4]> for Color { } } -impl Into<u32> for Color { - fn into(self) -> u32 { - let [r, g, b, a] = self.into_rgba8(); - - let r = (r as u32) << 24; - let g = (g as u32) << 16; - let b = (b as u32) << 8; - let a = a as u32; - - r | g | b | a - } -} - /// Creates a [`Color`] with shorter and cleaner syntax. /// /// # Examples |