D3DImage.AddDirtyRect(Int32Rect) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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.