D3DImage.AddDirtyRect(Int32Rect) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger området för den bakåtbuffert som ändrades.
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)
Parametrar
- Attribut
Undantag
Bitmappen har inte låsts av ett anrop till Lock() metoderna eller TryLock(Duration) .
-eller-
Serverbufferten har inte tilldelats av ett anrop till SetBackBuffer(D3DResourceType, IntPtr) metoden.
Ett eller flera av följande villkor är sanna.
dirtyRect.X
< 0
dirtyRect.Y
< 0
dirtyRect.Width
<0 eller dirtyRect.Width>PixelWidthdirtyRect.Height< 0 ellerdirtyRect.Height>PixelHeight
Exempel
I följande kodexempel visas hur du anropar AddDirtyRect metoden för att ange den ändrade regionen i den bakre bufferten. För mer information, se Genomgång: Som värd för Direct3D9-innehåll i 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();
Kommentarer
AddDirtyRect Anropa metoden för att ange ändringar som koden har gjort i serverbufferten. För att återges måste det ändrade området på den bakre bufferten ha ett motsvarande ändrat område på D3DImage.
SetBackBuffer Anropa metoderna och Lock innan du AddDirtyRect anropar metoden.
Unlock Anropa metoden för att kopiera de ändrade områdena till den främre bufferten.
Note
Efter några anrop till AddDirtyRect metoden sammanfogas de ändrade områdena till ett enda område. Det innebär att du måste ha giltiga data utanför de ändrade områdena.