diff --git a/etk/Color_16_bits.cxx b/etk/Color_16_bits.cxx new file mode 100644 index 0000000..83ccf64 --- /dev/null +++ b/etk/Color_16_bits.cxx @@ -0,0 +1,376 @@ +// this work ... +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; + m_element[2] = (uint16_t)_obj.b() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; + m_element[2] = (uint16_t)_obj.b() << 8; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; + m_element[2] = (uint16_t)_obj.b() << 8; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)_obj.r() << 8; + m_element[1] = (uint16_t)_obj.g() << 8; + m_element[2] = (uint16_t)_obj.b() << 8; + m_element[3] = (uint16_t)_obj.a() << 8; +} + +// =========================================================================================================== + +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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = (uint16_t)(_obj.r()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); + m_element[2] = (uint16_t)(_obj.b()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); + m_element[2] = (uint16_t)(_obj.b()>>16); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); + m_element[2] = (uint16_t)(_obj.b()>>16); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()>>16); + m_element[1] = (uint16_t)(_obj.g()>>16); + m_element[2] = (uint16_t)(_obj.b()>>16); + m_element[3] = (uint16_t)(_obj.a()>>16); +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); + m_element[2] = (uint16_t)(_obj.b()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); + m_element[2] = (uint16_t)(_obj.b()*65535.0f); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); + m_element[2] = (uint16_t)(_obj.b()*65535.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0f); + m_element[1] = (uint16_t)(_obj.g()*65535.0f); + m_element[2] = (uint16_t)(_obj.b()*65535.0f); + m_element[3] = (uint16_t)(_obj.a()*65535.0f); +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); + m_element[2] = (uint16_t)(_obj.b()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); + m_element[2] = (uint16_t)(_obj.b()*65535.0); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); + m_element[2] = (uint16_t)(_obj.b()*65535.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint16_t)(_obj.r()*65535.0); + m_element[1] = (uint16_t)(_obj.g()*65535.0); + m_element[2] = (uint16_t)(_obj.b()*65535.0); + m_element[3] = (uint16_t)(_obj.a()*65535.0); +} + +// =========================================================================================================== + diff --git a/etk/Color_32_bits.cxx b/etk/Color_32_bits.cxx new file mode 100644 index 0000000..4db77d3 --- /dev/null +++ b/etk/Color_32_bits.cxx @@ -0,0 +1,376 @@ +// this work ... +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; + m_element[2] = (uint32_t)_obj.b() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; + m_element[2] = (uint32_t)_obj.b() << 24; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; + m_element[2] = (uint32_t)_obj.b() << 24; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 24; + m_element[1] = (uint32_t)_obj.g() << 24; + m_element[2] = (uint32_t)_obj.b() << 24; + m_element[3] = (uint32_t)_obj.a() << 24; +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; + m_element[2] = (uint32_t)_obj.b() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; + m_element[2] = (uint32_t)_obj.b() << 16; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; + m_element[2] = (uint32_t)_obj.b() << 16; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)_obj.r() << 16; + m_element[1] = (uint32_t)_obj.g() << 16; + m_element[2] = (uint32_t)_obj.b() << 16; + m_element[3] = (uint32_t)_obj.a() << 16; +} + +// =========================================================================================================== + +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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = (uint32_t)(_obj.r()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); + m_element[2] = (uint32_t)(_obj.b()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); + m_element[2] = (uint32_t)(_obj.b()*4294967295.0f); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); + m_element[2] = (uint32_t)(_obj.b()*4294967295.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0f); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0f); + m_element[2] = (uint32_t)(_obj.b()*4294967295.0f); + m_element[3] = (uint32_t)(_obj.a()*4294967295.0f); +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); + m_element[2] = (uint32_t)(_obj.b()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); + m_element[2] = (uint32_t)(_obj.b()*4294967295.0); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); + m_element[2] = (uint32_t)(_obj.b()*4294967295.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint32_t)(_obj.r()*4294967295.0); + m_element[1] = (uint32_t)(_obj.g()*4294967295.0); + m_element[2] = (uint32_t)(_obj.b()*4294967295.0); + m_element[3] = (uint32_t)(_obj.a()*4294967295.0); +} + +// =========================================================================================================== + diff --git a/etk/Color_8_bits.cxx b/etk/Color_8_bits.cxx new file mode 100644 index 0000000..bb81c64 --- /dev/null +++ b/etk/Color_8_bits.cxx @@ -0,0 +1,376 @@ +// 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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = 0; +} +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)(_obj.r()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); + m_element[2] = (uint8_t)(_obj.b()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); + m_element[2] = (uint8_t)(_obj.b()*256.0f); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); + m_element[2] = (uint8_t)(_obj.b()*256.0f); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0f); + m_element[1] = (uint8_t)(_obj.g()*256.0f); + m_element[2] = (uint8_t)(_obj.b()*256.0f); + m_element[3] = (uint8_t)(_obj.a()*256.0f); +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); + m_element[2] = (uint8_t)(_obj.b()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); + m_element[2] = (uint8_t)(_obj.b()*256.0); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); + m_element[2] = (uint8_t)(_obj.b()*256.0); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (uint8_t)(_obj.r()*256.0); + m_element[1] = (uint8_t)(_obj.g()*256.0); + m_element[2] = (uint8_t)(_obj.b()*256.0); + m_element[3] = (uint8_t)(_obj.a()*256.0); +} + +// =========================================================================================================== + diff --git a/etk/Color_double.cxx b/etk/Color_double.cxx new file mode 100644 index 0000000..42d1751 --- /dev/null +++ b/etk/Color_double.cxx @@ -0,0 +1,375 @@ +// this work ... +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; + m_element[2] = (double)_obj.b() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; + m_element[2] = (double)_obj.b() / 255.0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; + m_element[2] = (double)_obj.b() / 255.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 255.0; + m_element[1] = (double)_obj.g() / 255.0; + m_element[2] = (double)_obj.b() / 255.0; + m_element[3] = (double)_obj.a() / 255.0; +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; + m_element[2] = (double)_obj.b() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; + m_element[2] = (double)_obj.b() / 65535.0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; + m_element[2] = (double)_obj.b() / 65535.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 65535.0; + m_element[1] = (double)_obj.g() / 65535.0; + m_element[2] = (double)_obj.b() / 65535.0; + m_element[3] = (double)_obj.a() / 65535.0; +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; + m_element[2] = (double)_obj.b() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; + m_element[2] = (double)_obj.b() / 4294967295.0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; + m_element[2] = (double)_obj.b() / 4294967295.0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r() / 4294967295.0; + m_element[1] = (double)_obj.g() / 4294967295.0; + m_element[2] = (double)_obj.b() / 4294967295.0; + m_element[3] = (double)_obj.a() / 4294967295.0; +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); + m_element[2] = (double)_obj.b(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); + m_element[2] = (double)_obj.b(); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); + m_element[2] = (double)_obj.b(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (double)_obj.r(); + m_element[1] = (double)_obj.g(); + m_element[2] = (double)_obj.b(); + m_element[3] = (double)_obj.a(); +} + +// =========================================================================================================== + +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] = 0; +} +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] = 0; +} +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] = 0; +} +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(); +} + +// =========================================================================================================== diff --git a/etk/Color_float.cxx b/etk/Color_float.cxx new file mode 100644 index 0000000..724267a --- /dev/null +++ b/etk/Color_float.cxx @@ -0,0 +1,458 @@ +// this work ... +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; + m_element[2] = (float)_obj.b() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; + m_element[2] = (float)_obj.b() / 255.0f; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; + m_element[2] = (float)_obj.b() / 255.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 255.0f; + m_element[1] = (float)_obj.g() / 255.0f; + m_element[2] = (float)_obj.b() / 255.0f; + m_element[3] = (float)_obj.a() / 255.0f; +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; + m_element[2] = (float)_obj.b() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; + m_element[2] = (float)_obj.b() / 65535.0f; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; + m_element[2] = (float)_obj.b() / 65535.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 65535.0f; + m_element[1] = (float)_obj.g() / 65535.0f; + m_element[2] = (float)_obj.b() / 65535.0f; + m_element[3] = (float)_obj.a() / 65535.0f; +} + +// =========================================================================================================== + +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; + m_element[2] = (float)_obj.b() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; + m_element[2] = (float)_obj.b() / 4294967295.0f; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; + m_element[2] = (float)_obj.b() / 4294967295.0f; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r() / 4294967295.0f; + m_element[1] = (float)_obj.g() / 4294967295.0f; + m_element[2] = (float)_obj.b() / 4294967295.0f; + m_element[3] = (float)_obj.a() / 4294967295.0f; +} + +// =========================================================================================================== + +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] = 0; +} +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] = 0; +} +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] = 0; +} +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] = (float)_obj.r(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = 0; + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = 0; + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); + m_element[2] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); + m_element[2] = 0; + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); + m_element[2] = (float)_obj.b(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); + m_element[2] = (float)_obj.b(); + m_element[3] = 0; +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); + m_element[2] = (float)_obj.b(); +} +template<> template<> Color::Color(const Color& _obj) { + m_element[0] = (float)_obj.r(); + m_element[1] = (float)_obj.g(); + m_element[2] = (float)_obj.b(); + m_element[3] = (float)_obj.a(); +} + +// =========================================================================================================== + + + + +/* +template template<> Color::Color(const etk::Color& _obj) { + if (MY_TYPE_SIZE >= 1) { + m_element[0] = (float)_obj.r() / 255.0f; + } + if (MY_TYPE_SIZE >= 2) { + m_element[1] = (float)_obj.g() / 255.0f; + } + if (MY_TYPE_SIZE >= 3) { + m_element[2] = (float)_obj.b() / 255.0f; + } + if (MY_TYPE_SIZE >= 4) { + m_element[3] = (float)_obj.a() / 255.0f; + } +} +*/ +/* +template<> template Color::Color(const etk::Color& _obj) { + if (MY_TYPE_SIZE >= 1) { + m_element[0] = (float)_obj.r() / 255.0f; + } + if (MY_TYPE_SIZE >= 2) { + m_element[1] = (float)_obj.g() / 255.0f; + } + if (MY_TYPE_SIZE >= 3) { + m_element[2] = (float)_obj.b() / 255.0f; + } + if (MY_TYPE_SIZE >= 4) { + m_element[3] = (float)_obj.a() / 255.0f; + } +} +*/ + + +/* +template Color::Color(const etk::Color& _obj) { + if (MY_TYPE_SIZE >= 1) { + if (MY_TYPE_SIZE_2 >= 1) { + m_element[0] = (float)_obj.m_element[0] / 255.0f; + } + } + if (MY_TYPE_SIZE >= 2) { + if (MY_TYPE_SIZE_2 >= 2) { + m_element[1] = (float)_obj.m_element[1] / 255.0f; + } else { + m_element[1] = 0; + } + } + if (MY_TYPE_SIZE >= 3) { + if (MY_TYPE_SIZE_2 >= 3) { + m_element[2] = (float)_obj.m_element[2] / 255.0f; + } else { + m_element[2] = 0; + } + } + if (MY_TYPE_SIZE >= 4) { + if (MY_TYPE_SIZE_2 >= 4) { + m_element[3] = (float)_obj.m_element[3] / 255.0f; + } else { + m_element[3] = 0; + } + } +} + +template Color::Color(const etk::Color& _obj) { + if (MY_TYPE_SIZE >= 1) { + m_element[0] = (float)_obj.m_element[0] / 255.0f; + } + if (MY_TYPE_SIZE >= 2) { + m_element[1] = (float)_obj.m_element[1] / 255.0f; + } + if (MY_TYPE_SIZE >= 3) { + m_element[2] = (float)_obj.m_element[2] / 255.0f; + } + if (MY_TYPE_SIZE >= 4) { + m_element[3] = (float)_obj.m_element[3] / 255.0f; + } +} +*/ \ No newline at end of file