D3DImage.AddDirtyRect(Int32Rect) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica el área del búfer de reserva que ha cambiado.
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)
Parámetros
- Atributos
Excepciones
El mapa de bits no se ha bloqueado mediante una llamada al método Lock() o TryLock(Duration).
o bien El búfer de reserva no se ha asignado mediante una llamada al método SetBackBuffer(D3DResourceType, IntPtr).
Se cumplen una o varias de las condiciones siguientes.
dirtyRect.X
< 0
dirtyRect.Y
< 0
dirtyRect.Width
< 0 o dirtyRect.Width
> PixelWidthdirtyRect.Height
< 0 o dirtyRect.Height
> PixelHeight
Ejemplos
En el ejemplo de código siguiente se muestra cómo llamar al AddDirtyRect método para especificar la región modificada en el búfer de reserva. Para obtener más información, consulte Tutorial: Hospedar contenido Direct3D9 en 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();
Comentarios
Llame al AddDirtyRect método para indicar los cambios realizados en el búfer de reserva del código. Para representarse, el área modificada en el búfer de reserva debe tener un área modificada correspondiente en .D3DImage
Llame a los SetBackBuffer métodos y Lock antes de llamar al AddDirtyRect método .
Llame al Unlock método para copiar las áreas modificadas en el búfer frontal.
Nota
Después de algunas llamadas al AddDirtyRect método , las áreas modificadas se combinan en un solo área. Esto significa que debe tener datos válidos fuera de las áreas modificadas.