D3DImage.AddDirtyRect(Int32Rect) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Specifies the area of the back buffer that changed.
public:
void AddDirtyRect(System::Windows::Int32Rect dirtyRect);
[System.Security.SecurityCritical]
public void AddDirtyRect (System.Windows.Int32Rect dirtyRect);
public void AddDirtyRect (System.Windows.Int32Rect dirtyRect);
[<System.Security.SecurityCritical>]
member this.AddDirtyRect : System.Windows.Int32Rect -> unit
member this.AddDirtyRect : System.Windows.Int32Rect -> unit
Public Sub AddDirtyRect (dirtyRect As Int32Rect)
Parameters
- Attributes
Exceptions
The bitmap has not been locked by a call to the Lock() or TryLock(Duration) methods.
-or-
The back buffer has not been assigned by a call to the SetBackBuffer(D3DResourceType, IntPtr) method.
One or more of the following conditions is true.
dirtyRect.X
< 0
dirtyRect.Y
< 0
dirtyRect.Width
< 0 or dirtyRect.Width
> PixelWidthdirtyRect.Height
< 0 or dirtyRect.Height
> PixelHeight
Examples
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();
Remarks
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.
Note
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.
Applies to
See also
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기