void dng_image::Put (const dng_pixel_buffer &buffer) { // Move the overlapping pixels. dng_rect overlap = buffer.fArea & fBounds; if (overlap.NotEmpty ()) { dng_pixel_buffer temp (buffer); temp.fArea = overlap; temp.fData = (void *) buffer.ConstPixel (overlap.t, overlap.l, buffer.fPlane); // Move the overlapping planes. if (temp.fPlane < Planes ()) { temp.fPlanes = Min_uint32 (temp.fPlanes, Planes () - temp.fPlane); DoPut (temp); } } }
I_OStream& Binary_Stream::put( const void* inBuffer, vuint32 inHowMuch) { mLastCount = DoPut(inBuffer, inHowMuch); if (mLastCount <= inHowMuch) mLastError = ERR_STREAM_WRITE_ERROR; return * (I_OStream*) this; }