/** * @author Edouard DUPIN * * @copyright 2011, Edouard DUPIN, all right reserved * * @license BSD v3 (see license file) */ #include egami::Image::Image(const ivec2& _size) : m_size(_size) { // basic element : etk::Color<> tmpBg(0,0,0,0); // preallocate data with a basic bg elements : m_data.ReSize(m_size.x()*m_size.y(), tmpBg); if ((uint32_t)m_size.x()*m_size.y() > m_data.Size()) { TK_ERROR("Allocation of data buffer in error"); return; } } void egami::Image::Resize(const ivec2& _size, const etk::Color<>& _color) { m_size=_size; m_data.ReSize(m_size.x()*m_size.y(), _color); } void egami::Image::Resize(const ivec2& _size, const ivec2& _startPos) { if (_size==m_size) { // same size ==> nothing to do ... return; } // grow size : egami::Image tmpImage(*this); m_size=_size; etk::Color<> tmpBg(0,0,0,0); m_data.ReSize(m_size.x()*m_size.y(), tmpBg); for (int32_t jjj=0; jjj _fill) { for (int32_t iii=0; iii& egami::Image::Get(const ivec2& _pos) const { static const etk::Color<> errorColor(0x00000000); if( _pos.x()>0 && _pos.x()0 && _pos.y()& _newColor) { if( _pos.x()>=0 && _pos.x()=0 && _pos.y()