unsafe protected override PixelBox LockImpl( BasicBox lockBox, BufferLocking options )
{
_lockedBox = lockBox;
// Set extents and format
PixelBox rval = new PixelBox( lockBox, Format );
int sizeInBytes = PixelUtil.GetMemorySize( lockBox.Width, lockBox.Height, lockBox.Depth, XnaHelper.Convert( surface.Format ) );
_bufferBytes = new byte[ sizeInBytes ];
surface.GetData( mipLevel, XnaHelper.ToRectangle( lockBox ), _bufferBytes, 0, _bufferBytes.Length );
fixed ( byte* bytes = &_bufferBytes[ 0 ] )
{
rval.Data = new IntPtr( bytes );
}
return rval;
}