Partilhar via


D3DImage.AddDirtyRect(Int32Rect) Método

Definição

Especifica a área do buffer de fundo que foi alterada.

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

dirtyRect
Int32Rect

Um Int32Rect que representa a área alterada.

Atributos

Exceções

O bitmap não foi bloqueado por uma chamada aos métodos Lock() ou TryLock(Duration).

- ou - O buffer de fundo não foi atribuído por uma chamada ao método SetBackBuffer(D3DResourceType, IntPtr).

Uma ou mais das seguintes condições é verdadeira.

dirtyRect.X < 0 dirtyRect.Y < 0 dirtyRect.Width< 0 ou dirtyRect.Width > PixelWidthdirtyRect.Height < 0 ou dirtyRect.Height > PixelHeight

Exemplos

O exemplo de código a seguir mostra como chamar o AddDirtyRect método para especificar a região alterada no buffer de fundo. Para obter mais informações, consulte Instruções Passo a Passo: Hospedando Conteúdo Direct3D9 no 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();

Comentários

Chame o AddDirtyRect método para indicar as alterações feitas pelo código no buffer de fundo. Para ser renderizada, a área alterada no buffer traseiro deve ter uma área alterada correspondente no D3DImage.

Chame o método e Lock os SetBackBuffer métodos antes de chamar o AddDirtyRect método.

Chame o Unlock método para copiar as áreas alteradas para o buffer frontal.

Observação

Após algumas chamadas para o AddDirtyRect método, as áreas alteradas são mescladas em uma única área. Isso significa que você deve ter dados válidos fora das áreas alteradas.

Aplica-se a

Confira também