[GEM-cvs] Gem/src/Pixes pix_write.cpp,1.10,1.11
Brought to you by:
zmoelnig
From: IOhannes m z. <zmo...@us...> - 2008-01-22 09:06:21
|
Update of /cvsroot/pd-gem/Gem/src/Pixes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32372/Pixes Modified Files: pix_write.cpp Log Message: use imageStruct memberfunctions to handle types and reallocation: removes a lot of ifdefs and thus makes the code more readable Index: pix_write.cpp =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Pixes/pix_write.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** pix_write.cpp 22 Jan 2008 08:49:40 -0000 1.10 --- pix_write.cpp 22 Jan 2008 09:06:22 -0000 1.11 *************** *** 61,67 **** m_filetype=0; sprintf(m_pathname, "gem"); ! m_banged = false; ! } --- 61,73 ---- m_filetype=0; sprintf(m_pathname, "gem"); ! m_banged = false; ! ! ! m_originalImage = new imageStruct(); ! m_originalImage->xsize=m_width; ! m_originalImage->ysize=m_height; ! m_originalImage->setCsizeByFormat(GL_RGBA); ! m_originalImage->allocate(); } *************** *** 87,131 **** int height = (m_height> 0)?m_height:GemMan::m_height; ! // do we need to remake the data? ! int makeNew = 0; ! ! // release previous data ! if (m_originalImage) ! { ! if (m_originalImage->xsize != width || ! m_originalImage->ysize != height) ! { ! delete m_originalImage; ! m_originalImage = NULL; ! makeNew = 1; ! } ! } ! else ! makeNew = 1; - if (makeNew) - { - m_originalImage = new imageStruct; - m_originalImage->xsize = width; - m_originalImage->ysize = height; #ifndef __APPLE__ ! m_originalImage->type = GL_UNSIGNED_BYTE; ! ! m_originalImage->csize = 3; ! m_originalImage->format = GL_RGB; #else ! m_originalImage->type = ! # ifdef __ppc__ ! GL_UNSIGNED_INT_8_8_8_8_REV; ! # else ! GL_UNSIGNED_INT_8_8_8_8; ! # endif // __ppc__ ! m_originalImage->csize = 4; ! m_originalImage->format = GL_BGRA; //RGBA or BGRA or BGRA_EXT? #endif /* APPLE */ - m_originalImage->allocate(m_originalImage->xsize * m_originalImage->ysize * m_originalImage->csize); - } #ifdef __APPLE__ --- 93,109 ---- int height = (m_height> 0)?m_height:GemMan::m_height; ! m_originalImage->xsize = width; ! m_originalImage->ysize = height; #ifndef __APPLE__ ! m_originalImage->setCsizeByFormat(GL_RGB); #else ! m_originalImage->setCsizeByFormat(GL_RGBA); #endif /* APPLE */ + m_originalImage->reallocate(); + + #ifdef __APPLE__ |