Export (0) Print
Expand All

D3DImage.AddDirtyRect Method

Updated: July 2008

Specifies the area of the back buffer that changed.

Namespace:  System.Windows.Interop
Assembly:  PresentationCore (in PresentationCore.dll)

public void AddDirtyRect(
	Int32Rect dirtyRect
)
You cannot use methods in XAML.

Parameters

dirtyRect
Type: System.Windows.Int32Rect

An Int32Rect that represents the area that changed.

ExceptionCondition
InvalidOperationException

The bitmap has not been locked by a call to the Lock or TryLock methods.

-or-

The back buffer has not been assigned by a call to the SetBackBuffer method.

ArgumentOutOfRangeException

One or more of the following conditions is true.

dirtyRect.X < 0

dirtyRect.Y < 0

dirtyRect.Width < 0 or dirtyRect.Width > PixelWidth

dirtyRect.Height < 0 or dirtyRect.Height > PixelHeight

Call the AddDirtyRect method to indicate changes your code has made to the back buffer. To be rendered, the changed area on the back buffer must have a corresponding changed area on the D3DImage.

Call the SetBackBuffer and Lock methods before calling the AddDirtyRect method.

Call the Unlock method to copy the changed areas to the front buffer.

NoteNote:

After a few calls to the AddDirtyRect method, the changed areas are merged into a single area. This means you must have valid data outside of the changed areas.

The following code example shows how to call the AddDirtyRect method to specify the changed region in the back buffer. For more information, see Walkthrough: Hosting Direct3D9 Content in WPF.

d3dimg.Lock();
// Repeatedly calling SetBackBuffer with the same IntPtr is  
// a no-op. There is no performance penalty.
d3dimg.SetBackBuffer(D3DResourceType.IDirect3DSurface9, pSurface);
HRESULT.Check(Render());
d3dimg.AddDirtyRect(new Int32Rect(0, 0, d3dimg.PixelWidth, d3dimg.PixelHeight));
d3dimg.Unlock();

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5 SP1, 3.0 SP2

Date

History

Reason

July 2008

Added topic for new class.

SP1 feature change.

Community Additions

ADD
Show:
© 2014 Microsoft