inline void Convert<RGBAColor, unsigned char>( const RGBAColor& valin, unsigned char& valOut) { valOut = static_cast<unsigned char>( (valin.a()/255.f) * (0.3 * valin.r() + 0.59 * valin.g() + 0.11 * valin.b())); }
inline void Convert<RGBAColor, RGBColor>( const RGBAColor& valin, RGBColor& valOut) { valOut = RGBColor( static_cast<unsigned char> ((valin.a()/255.f) * valin.r()), static_cast<unsigned char> ((valin.a()/255.f) * valin.g()), static_cast<unsigned char> ((valin.a()/255.f) * valin.b())); }
SColor ConvertRGBAColorToSColor(const RGBAColor& color) { return SColor((u32) color.a() * RGB_MAX, (u32) color.r() * RGB_MAX, (u32) color.g() * RGB_MAX, (u32) color.b() * RGB_MAX); }
SColorf ConvertRGBAColorToSColorf(const RGBAColor& color) { return SColorf(color.r(), color.g(), color.b(), color.a()); }
RGBColor::RGBColor( const RGBAColor& copy) { d[0] = copy.Red(); d[1] = copy.Green(); d[2] = copy.Blue(); }