From ee1c1ef6c3b1aaa3a3c6ad7a62d255bae90d7fb3 Mon Sep 17 00:00:00 2001 From: ExMix Date: Tue, 28 Jan 2014 13:58:32 +0300 Subject: [PATCH] [drape] extract color from xrgb and separate alfa channel. --- drape/color.cpp | 8 ++++++++ drape/color.hpp | 1 + 2 files changed, 9 insertions(+) diff --git a/drape/color.cpp b/drape/color.cpp index f4f7b2529c..d028a5d2c1 100644 --- a/drape/color.cpp +++ b/drape/color.cpp @@ -69,6 +69,14 @@ Color Extract(uint32_t argb) ExtractAlfa(argb)); } +Color Extract(uint32_t xrgb, uint8_t a) +{ + return Color(ExtractRed(xrgb), + ExtractGreen(xrgb), + ExtractBlue(xrgb), + a); +} + void Convert(Color const & c, float & r, float & g, float & b, float & a) { r = c.m_red / (float)MaxChannelValue; diff --git a/drape/color.hpp b/drape/color.hpp index f2a5512592..8f12abbe87 100644 --- a/drape/color.hpp +++ b/drape/color.hpp @@ -21,6 +21,7 @@ inline uint8_t ExtractGreen(uint32_t argb); inline uint8_t ExtractBlue(uint32_t argb); inline uint8_t ExtractAlfa(uint32_t argb); Color Extract(uint32_t argb); +Color Extract(uint32_t xrgb, uint8_t a); void Convert(Color const & c, float & r, float & g, float & b, float & a);