estrutura D2D1_RENDER_TARGET_PROPERTIES (d2d1.h)

Contém opções de renderização (hardware ou software), formato de pixel, informações de DPI, opções de comunicação remota e requisitos de suporte do Direct3D para um destino de renderização.

Sintaxe

typedef struct D2D1_RENDER_TARGET_PROPERTIES {
  D2D1_RENDER_TARGET_TYPE  type;
  D2D1_PIXEL_FORMAT        pixelFormat;
  FLOAT                    dpiX;
  FLOAT                    dpiY;
  D2D1_RENDER_TARGET_USAGE usage;
  D2D1_FEATURE_LEVEL       minLevel;
} D2D1_RENDER_TARGET_PROPERTIES;

Membros

type

Tipo: D2D1_RENDER_TARGET_TYPE

Um valor que especifica se o destino de renderização deve forçar a renderização de hardware ou software. Um valor de D2D1_RENDER_TARGET_TYPE_DEFAULT especifica que o destino de renderização deve usar a renderização de hardware se estiver disponível; caso contrário, ele usa a renderização de software. Observe que os destinos de renderização de bitmap wic não dão suporte à renderização de hardware.

pixelFormat

Tipo: D2D1_PIXEL_FORMAT

O formato de pixel e o modo alfa do destino de renderização. Você pode usar a função D2D1::P ixelFormat para criar um formato de pixel que especifica que Direct2D deve selecionar o formato de pixel e o modo alfa para você. Para obter uma lista de formatos de pixel e modos alfa compatíveis com cada destino de renderização, consulte Formatos de pixel com suporte e modos alfa.

dpiX

Tipo: FLOAT

O DPI horizontal do destino de renderização. Para usar o DPI padrão, defina dpiX e dpiY como 0. Para obter mais informações, consulte a seção Comentários.

dpiY

Tipo: FLOAT

O DPI vertical do destino de renderização. Para usar o DPI padrão, defina dpiX e dpiY como 0. Para obter mais informações, consulte a seção Comentários.

usage

Tipo: D2D1_RENDER_TARGET_USAGE

Um valor que especifica como o destino de renderização é remoto e se ele deve ser compatível com GDI. Defina como D2D1_RENDER_TARGET_USAGE_NONE para criar um destino de renderização que não seja compatível com GDI e use a comunicação remota de fluxo de comando direct3D se estiver disponível.

minLevel

Tipo: D2D1_FEATURE_LEVEL

Um valor que especifica o nível mínimo de recurso do Direct3D necessário para a renderização de hardware. Se o nível mínimo especificado não estiver disponível, o destino de renderização usará a renderização de software se o membro de tipo estiver definido como D2D1_RENDER_TARGET_TYPE_DEFAULT; se o tipo estiver definido como D2D1_RENDER_TARGET_TYPE_HARDWARE, a criação do destino de renderização falhará. Um valor de D2D1_FEATURE_LEVEL_DEFAULT indica que Direct2D deve determinar se o nível de recurso Direct3D do dispositivo é adequado. Esse campo é usado somente ao criar objetos ID2D1HwndRenderTarget e ID2D1DCRenderTarget .

Comentários

Use essa estrutura ao criar um destino de renderização ou use-o com o método ID2D1RenderTarget::IsSupported para marcar as propriedades compatíveis com um destino de renderização existente.

Como conveniência, Direct2D fornece a função auxiliar D2D1::RenderTargetProperties para criar estruturas D2D1_RENDER_TARGET_PROPERTIES. Uma maneira fácil de criar uma estrutura D2D1_RENDER_TARGET_PROPERTIES que funciona para a maioria dos destinos de renderização é chamar a função sem especificar parâmetros. Isso cria uma estrutura D2D1_RENDER_TARGET_PROPERTIES que tem seus campos definidos como valores padrão. Para obter mais informações, consulte D2D1::RenderTargetProperties.

Nem todos os destinos de renderização dão suporte à renderização de hardware. Para obter uma lista, consulte a Visão geral de destinos de renderização.

Usando configurações de DPI padrão

Para usar o DPI padrão, defina dpiX e dpiY como 0. O DPI padrão varia dependendo do destino de renderização:
  • Para um destino de renderização compatível, o DPI padrão é o DPI do destino de renderização pai.
  • Para um ID2D1HwndRenderTarget, o DPI padrão é o DPI do sistema obtido do ID2D1Factory do destino de renderização.
  • Para outros destinos de renderização, o DPI padrão é 96.
Para usar a configuração de DPI padrão, dpiX e dpiY devem ser definidos como 0. Definir apenas um valor como 0 causa um erro de E_INVALIDARG ao tentar criar um destino de renderização.

Exemplos

O exemplo a seguir usa a função D2D1::RenderTargetProperties para criar uma estrutura D2D1_RENDER_TARGET_PROPERTIES adequada para a maioria dos destinos de renderização.

RECT rc;
GetClientRect(m_hwnd, &rc);

D2D1_SIZE_U size = D2D1::SizeU(
    rc.right - rc.left,
    rc.bottom - rc.top
    );

// Create a Direct2D render target.
hr = m_pD2DFactory->CreateHwndRenderTarget(
    D2D1::RenderTargetProperties(),
    D2D1::HwndRenderTargetProperties(m_hwnd, size),
    &m_pRenderTarget
    );

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho d2d1.h

Confira também

ID2D1RenderTarget::IsSupported

Visão geral de destinos de renderização