if (myImgFormat == theCopy.Format())
{
- if (myData.mySizeRowBytes == theCopy.SizeRowBytes()
- && myData.myTopToDown == theCopy.TopDownInc())
+ if (SizeRowBytes() == theCopy.SizeRowBytes()
+ && TopDownInc() == theCopy.TopDownInc())
{
// copy with one call
- memcpy (myData.myDataPtr, theCopy.Data(), theCopy.SizeBytes());
+ memcpy (ChangeData(), theCopy.Data(), std::min (SizeBytes(), theCopy.SizeBytes()));
return true;
}
// copy row-by-row
- const Standard_Size aRowSizeBytes = (myData.mySizeRowBytes > theCopy.SizeRowBytes())
- ? theCopy.SizeRowBytes() : myData.mySizeRowBytes;
- for (Standard_Size aRow = 0; aRow < myData.mySizeY; ++aRow)
+ const Standard_Size aRowSizeBytes = std::min (SizeRowBytes(), theCopy.SizeRowBytes());
+ for (Standard_Size aRow = 0; aRow < myData.SizeY; ++aRow)
{
memcpy (ChangeRow (aRow), theCopy.Row (aRow), aRowSizeBytes);
}
// function : Clear
// purpose :
// =======================================================================
-void Image_AlienPixMap::Clear (ImgFormat thePixelFormat)
+void Image_AlienPixMap::Clear()
{
- Image_PixMap::Clear (thePixelFormat);
+ Image_PixMap::Clear();
#ifdef HAVE_FREEIMAGE
if (myLibImage != NULL)
{
|| Format() == Image_PixMap::ImgRGB32)
{
// stupid FreeImage treats reserved byte as alpha if some bytes not set to 0xFF
- Image_PixMapData<Image_ColorRGB32>& aData = Image_PixMap::EditData<Image_ColorRGB32>();
for (Standard_Size aRow = 0; aRow < SizeY(); ++aRow)
{
for (Standard_Size aCol = 0; aCol < SizeX(); ++aCol)
{
- aData.ChangeValue (aRow, aCol).a_() = 0xFF;
+ myData.ChangeValue (aRow, aCol)[3] = 0xFF;
}
}
}