~CGBitmapPixelAccess () { if (!alphaPremultiplied) { vImage_Buffer buffer; buffer.data = bitmap->getBits (); buffer.width = bitmap->getSize ().x; buffer.height = bitmap->getSize ().y; buffer.rowBytes = bitmap->getBytesPerRow (); vImage_Error error = vImagePremultiplyData_ARGB8888 (&buffer, &buffer, kvImageNoFlags); assert (error == kvImageNoError); } bitmap->setDirty (); bitmap->forget (); }
~CGBitmapPixelAccess () { if (!alphaPremultiplied) { vImage_Buffer buffer; buffer.data = bitmap->getBits (); buffer.width = static_cast<vImagePixelCount> (bitmap->getSize ().x); buffer.height = static_cast<vImagePixelCount> (bitmap->getSize ().y); buffer.rowBytes = bitmap->getBytesPerRow (); vImage_Error error = vImagePremultiplyData_ARGB8888 (&buffer, &buffer, kvImageNoFlags); __Verify (error == kvImageNoError); } bitmap->setDirty (); bitmap->forget (); }