From 79a45c4f10ee32ec26280d60e66a8bade6dbff4b Mon Sep 17 00:00:00 2001 From: "Luke D. Jones" Date: Mon, 25 Jul 2022 09:51:25 +1200 Subject: [PATCH] Add to/from [f32;3] for Colour] --- rog-aura/src/builtin_modes.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/rog-aura/src/builtin_modes.rs b/rog-aura/src/builtin_modes.rs index 2a54bc49..a7760cac 100644 --- a/rog-aura/src/builtin_modes.rs +++ b/rog-aura/src/builtin_modes.rs @@ -63,6 +63,22 @@ impl FromStr for Colour { } } +impl From<&[f32; 3]> for Colour { + fn from(c: &[f32; 3]) -> Self { + Self( + (255.0 * c[0]) as u8, + (255.0 * c[1]) as u8, + (255.0 * c[2]) as u8, + ) + } +} + +impl From for [f32; 3] { + fn from(c: Colour) -> Self { + [c.0 as f32 / 255.0, c.1 as f32 / 255.0, c.2 as f32 / 255.0] + } +} + #[cfg_attr(feature = "dbus", derive(Type))] #[derive(Debug, Copy, Clone, PartialEq, Deserialize, Serialize)] pub enum Speed {