template<> const uint8_t Color::defaultAlpha(0xFF); template<> const uint8_t Color::defaultAlpha(0xFF); template<> const uint8_t Color::defaultAlpha(0xFF); template<> const uint8_t Color::defaultAlpha(0xFF); template<> const Color Color::emptyColor(0); template<> const Color Color::emptyColor(0,0); template<> const Color Color::emptyColor(0,0,0); template<> const Color Color::emptyColor(0,0,0,0xFF); // this work ... template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = 0; m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = 0; m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); m_element[2] = _obj.b(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); m_element[2] = _obj.b(); m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); m_element[2] = _obj.b(); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = _obj.r(); m_element[1] = _obj.g(); m_element[2] = _obj.b(); m_element[3] = _obj.a(); } // =========================================================================================================== template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = 0; m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = 0; m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); m_element[2] = (uint8_t)(_obj.b()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); m_element[2] = (uint8_t)(_obj.b()>>8); m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); m_element[2] = (uint8_t)(_obj.b()>>8); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>8); m_element[1] = (uint8_t)(_obj.g()>>8); m_element[2] = (uint8_t)(_obj.b()>>8); m_element[3] = (uint8_t)(_obj.a()>>8); } // =========================================================================================================== template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = 0; m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = 0; m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); m_element[2] = (uint8_t)(_obj.b()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); m_element[2] = (uint8_t)(_obj.b()>>24); m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); m_element[2] = (uint8_t)(_obj.b()>>24); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(_obj.r()>>24); m_element[1] = (uint8_t)(_obj.g()>>24); m_element[2] = (uint8_t)(_obj.b()>>24); m_element[3] = (uint8_t)(_obj.a()>>24); } // =========================================================================================================== template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = 0; m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = 0; m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); m_element[2] = (uint8_t)(etk::avg(0.0f, _obj.b(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); m_element[2] = (uint8_t)(etk::avg(0.0f, _obj.b(), 1.0f)*255.0f); m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); m_element[2] = (uint8_t)(etk::avg(0.0f, _obj.b(), 1.0f)*255.0f); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0f, _obj.r(), 1.0f)*255.0f); m_element[1] = (uint8_t)(etk::avg(0.0f, _obj.g(), 1.0f)*255.0f); m_element[2] = (uint8_t)(etk::avg(0.0f, _obj.b(), 1.0f)*255.0f); m_element[3] = (uint8_t)(etk::avg(0.0f, _obj.a(), 1.0f)*255.0f); } // =========================================================================================================== template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = 0; m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = 0; m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); m_element[2] = 0; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); m_element[2] = 0; m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); m_element[2] = (uint8_t)(etk::avg(0.0, _obj.b(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); m_element[2] = (uint8_t)(etk::avg(0.0, _obj.b(), 1.0)*255.0); m_element[3] = defaultAlpha; } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); m_element[2] = (uint8_t)(etk::avg(0.0, _obj.b(), 1.0)*255.0); } template<> template<> Color::Color(const Color& _obj) { m_element[0] = (uint8_t)(etk::avg(0.0, _obj.r(), 1.0)*255.0); m_element[1] = (uint8_t)(etk::avg(0.0, _obj.g(), 1.0)*255.0); m_element[2] = (uint8_t)(etk::avg(0.0, _obj.b(), 1.0)*255.0); m_element[3] = (uint8_t)(etk::avg(0.0, _obj.a(), 1.0)*255.0); } // =========================================================================================================== template<> etk::String toString >(const Color& _val) { return _val.getString(); } #if __cplusplus >= 201103L template<> etk::UString toUString>(const Color& _val) { return toUString(_val.getString()); } template<> bool from_string>(Color& _variableRet, const etk::UString& _value) { _variableRet = Color(toString(_value)); return true; } #endif template<> bool from_string >(Color& _variableRet, const etk::String& _value) { _variableRet = Color(_value); return true; } template<> etk::String toString >(const Color& _val) { return _val.getString(); } #if __cplusplus >= 201103L template<> etk::UString toUString>(const Color& _val) { return toUString(_val.getString()); } template<> bool from_string>(Color& _variableRet, const etk::UString& _value) { _variableRet = Color(toString(_value)); return true; } #endif template<> bool from_string >(Color& _variableRet, const etk::String& _value) { _variableRet = Color(_value); return true; } template<> etk::String toString >(const Color& _val) { return _val.getString(); } #if __cplusplus >= 201103L template<> etk::UString toUString>(const Color& _val) { return toUString(_val.getString()); } template<> bool from_string>(Color& _variableRet, const etk::UString& _value) { _variableRet = Color(toString(_value)); return true; } #endif template<> bool from_string >(Color& _variableRet, const etk::String& _value) { _variableRet = Color(_value); return true; } template<> etk::String toString >(const Color& _val) { return _val.getString(); } #if __cplusplus >= 201103L template<> etk::UString toUString>(const Color& _val) { return toUString(_val.getString()); } template<> bool from_string>(Color& _variableRet, const etk::UString& _value) { _variableRet = Color(toString(_value)); return true; } #endif template<> bool from_string >(Color& _variableRet, const etk::String& _value) { _variableRet = Color(_value); return true; }