From 3fc819c31e6e86a6119b677cf23befe8765f8cc5 Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Sat, 15 Apr 2023 07:18:47 -0700 Subject: [PATCH] 48 conversion constructors (#688) --- src/internal/colors/Rgb48Color.cpp | 10 ++++++++++ src/internal/colors/Rgb48Color.h | 15 +++++++++++++++ src/internal/colors/RgbColor.cpp | 1 + 3 files changed, 26 insertions(+) diff --git a/src/internal/colors/Rgb48Color.cpp b/src/internal/colors/Rgb48Color.cpp index cec7722..d33b355 100644 --- a/src/internal/colors/Rgb48Color.cpp +++ b/src/internal/colors/Rgb48Color.cpp @@ -33,6 +33,16 @@ License along with NeoPixel. If not, see #include "HsbColor.h" #include "HtmlColor.h" +#include "RgbwColor.h" +#include "Rgbw64Color.h" + +Rgb48Color::Rgb48Color(const Rgbw64Color& color) : + R(color.R), + G(color.G), + B(color.B) +{ +} + Rgb48Color::Rgb48Color(const HslColor& color) { float r; diff --git a/src/internal/colors/Rgb48Color.h b/src/internal/colors/Rgb48Color.h index 74848ac..05986db 100644 --- a/src/internal/colors/Rgb48Color.h +++ b/src/internal/colors/Rgb48Color.h @@ -25,6 +25,8 @@ License along with NeoPixel. If not, see -------------------------------------------------------------------------*/ #pragma once +struct Rgbw64Color; // forward declared + // ------------------------------------------------------------------------ // Rgb48Color represents a color object that is represented by Red, Green, Blue // component values. It contains helpful color routines to manipulate the @@ -63,6 +65,19 @@ struct Rgb48Color : RgbColorBase B = (uint16_t)color.B * 257; }; + // ------------------------------------------------------------------------ + // explicitly Construct a Rgb48Color using RgbwColor + // ------------------------------------------------------------------------ + explicit Rgb48Color(const RgbwColor& color) + { + *this = RgbColor(color); + } + + // ------------------------------------------------------------------------ + // explicitly Construct a Rgb48Color using Rgbw64Color + // ------------------------------------------------------------------------ + explicit Rgb48Color(const Rgbw64Color& color); + // ------------------------------------------------------------------------ // Construct a Rgb48Color using HtmlColor // ------------------------------------------------------------------------ diff --git a/src/internal/colors/RgbColor.cpp b/src/internal/colors/RgbColor.cpp index a047a26..81d0ba5 100644 --- a/src/internal/colors/RgbColor.cpp +++ b/src/internal/colors/RgbColor.cpp @@ -33,6 +33,7 @@ License along with NeoPixel. If not, see #include "HslColor.h" #include "HsbColor.h" #include "HtmlColor.h" + #include "RgbwColor.h" RgbColor::RgbColor(const RgbwColor& color) :