diff --git a/inc/hgl/color/Color.h b/inc/hgl/color/Color.h index 0d2c9ea..6e042d4 100644 --- a/inc/hgl/color/Color.h +++ b/inc/hgl/color/Color.h @@ -3,6 +3,7 @@ #include #include +#include namespace hgl { /** @@ -261,6 +262,9 @@ namespace hgl ENUM_CLASS_RANGE(AliceBlue,YellowGreen) };//enum COLOR_ENUM + bool GetRGB(const enum class COLOR &ce,Vector3u8 &); + bool GetBGR(const enum class COLOR &ce,Vector3u8 &); + const uint32 GetRGBA(const enum class COLOR &ce,const uint8 &alpha); const uint32 GetABGR(const enum class COLOR &ce,const uint8 &alpha); diff --git a/src/Color/Color.cpp b/src/Color/Color.cpp index c584139..3762a3f 100644 --- a/src/Color/Color.cpp +++ b/src/Color/Color.cpp @@ -302,6 +302,32 @@ namespace hgl #undef DEF_COLOR + bool GetRGB(const enum class COLOR &ce,Vector3u8 &color) + { + RANGE_CHECK_RETURN_FALSE(ce); + + const COLOR_DEF &c=prv_color[size_t(ce)]; + + color.r=c.red; + color.g=c.green; + color.b=c.blue; + + return(true); + } + + bool GetBGR(const enum class COLOR &ce,Vector3u8 &color) + { + RANGE_CHECK_RETURN_FALSE(ce); + + const COLOR_DEF &c=prv_color[size_t(ce)]; + + color.b=c.red; + color.g=c.green; + color.r=c.blue; + + return(true); + } + const uint32 GetRGBA(const enum class COLOR &ce,const uint8 &alpha) { const COLOR_DEF &c=prv_color[size_t(ce)];