Device.UpdateSurface(Surface,Rectangle,Surface) Method (Microsoft.DirectX.Direct3D)
Copies rectangular subsets of pixels from one surface to another.
Definition
Visual Basic Public Sub UpdateSurface( _
ByVal sourceSurface As Surface, _
ByVal sourceRect As Rectangle, _
ByVal destinationSurface As Surface _
)C# public void UpdateSurface(
Surface sourceSurface,
Rectangle sourceRect,
Surface destinationSurface
);C++ public:
void UpdateSurface(
Surface^ sourceSurface,
Rectangle sourceRect,
Surface^ destinationSurface
);JScript public function UpdateSurface(
sourceSurface : Surface,
sourceRect : Rectangle,
destinationSurface : Surface
);
Parameters
sourceSurface Microsoft.DirectX.Direct3D.Surface
A Surface object that represents the source surface; must point to a surface other than destinationSurface.sourceRect System.Drawing.Rectangle
A Rectangle object that represents the rectangle on the source surface. Specifying null for this parameter causes the entire surface to be copied.destinationSurface Microsoft.DirectX.Direct3D.Surface
A Surface object that represents the destination surface.
Remarks
This method has the following restrictions.
- The source surface must have been created with Pool.SystemMemory.
- The destination surface must have been created with Pool.Default.
- Neither surface can be locked or hold an outstanding device context.
- Neither surface can be created with multisampling. The only valid flag for both surfaces is MultiSampleType.None.
- The surface format cannot be a depth stencil format.
- The source and destination rectangles must fit within the surface.
- No stretching or shrinking is allowed; that is, the rectangles must be the same size.
- The source format must match the destination format.
The following table shows the supported format combinations.
Destination format Source format Texture RT texture RT Off-screen plain Texture Yes Yes Yes* Yes RT texture No No No No RT No No No No Off-screen plain Yes Yes Yes Yes * If the driver does not support the requested copy, it is emulated using locking and copying.
If the application needs to copy data from a Pool.Default render target to a Pool.SystemMemory surface, it can use Device.GetRenderTargetData.
Exceptions
The method call is invalid. For example, a method's parameter might contain an invalid value.