D3DImage.AddDirtyRect(Int32Rect) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica l'area del buffer nascosto modificato.
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)
Parametri
- Attributi
Eccezioni
La bitmap non è stata bloccata da una chiamata ai Lock() metodi o TryLock(Duration) .
oppure
Il buffer nascosto non è stato assegnato da una chiamata al SetBackBuffer(D3DResourceType, IntPtr) metodo .
Una o più delle condizioni seguenti sono vere.
dirtyRect.X
< 0
dirtyRect.Y
< 0
dirtyRect.Width
<0 o dirtyRect.WidthdirtyRect.Height>PixelWidth< 0 odirtyRect.Height>PixelHeight
Esempio
Nell'esempio di codice seguente viene illustrato come chiamare il AddDirtyRect metodo per specificare l'area modificata nel buffer nascosto. Per altre informazioni, vedere Procedura dettagliata: Hosting di contenuto Direct3D9 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();
Commenti
Chiamare il AddDirtyRect metodo per indicare che il codice è stato apportato al buffer nascosto. Per il rendering, l'area modificata nel buffer nascosto deve avere un'area modificata corrispondente nell'oggetto D3DImage.
Chiamare i SetBackBuffer metodi e Lock prima di chiamare il AddDirtyRect metodo .
Chiamare il Unlock metodo per copiare le aree modificate nel buffer anteriore.
Note
Dopo alcune chiamate al AddDirtyRect metodo, le aree modificate vengono unite in una singola area. Ciò significa che è necessario disporre di dati validi all'esterno delle aree modificate.