From a4692c493c2f5b0d395d3ad71dd7e8fa2a7768d0 Mon Sep 17 00:00:00 2001 From: "Vogel, Rick" Date: Thu, 16 Mar 2023 16:17:35 +0100 Subject: [PATCH] add constexpr qcolor literal --- src/common/QskRgbValue.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/common/QskRgbValue.h b/src/common/QskRgbValue.h index 88216701..d523d9e5 100644 --- a/src/common/QskRgbValue.h +++ b/src/common/QskRgbValue.h @@ -360,6 +360,18 @@ namespace QskRgb return fromHexString( str, len ); } + QSK_EXPORT constexpr QColor operator""_color( + const char* const str, const size_t len ) noexcept + { + const auto argb = static_cast(fromHexString( str, len )); + const auto r = ( argb >> 16) & 0xFF; + const auto g = ( argb >> 8) & 0xFF; + const auto b = ( argb >> 0) & 0xFF; + const auto a = ( argb >> 24) & 0xFF; + const auto color = QColor{r,g,b,a}; + return color; + } + #define QSK_CHECK_CONSTEXPR_LITERAL #ifdef QSK_CHECK_CONSTEXPR_LITERAL // example for rgb with alpha channel set to 0xFF