D2D1_RENDER_TARGET_PROPERTIES structure (d2d1.h)

Contient les options de rendu (matériel ou logiciel), le format de pixel, les informations PPP, les options de communication à distance et les exigences de prise en charge de Direct3D pour une cible de rendu.

Syntaxe

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;

Membres

type

Type : D2D1_RENDER_TARGET_TYPE

Valeur qui spécifie si la cible de rendu doit forcer le rendu matériel ou logiciel. La valeur D2D1_RENDER_TARGET_TYPE_DEFAULT spécifie que la cible de rendu doit utiliser le rendu matériel s’il est disponible ; sinon, il utilise le rendu logiciel. Notez que les cibles de rendu bitmap WIC ne prennent pas en charge le rendu matériel.

pixelFormat

Type : D2D1_PIXEL_FORMAT

Format de pixel et mode alpha de la cible de rendu. Vous pouvez utiliser la fonction D2D1 ::P ixelFormat pour créer un format de pixel qui spécifie que Direct2D doit sélectionner le format de pixel et le mode alpha pour vous. Pour obtenir la liste des formats de pixels et des modes alpha pris en charge par chaque cible de rendu, consultez Formats de pixels et modes alpha pris en charge.

dpiX

Type : FLOAT

Ppp horizontal de la cible de rendu. Pour utiliser la résolution par défaut, définissez dpiX et dpiY sur 0. Pour plus d'informations, consultez la section Notes.

dpiY

Type : FLOAT

Ppp vertical de la cible de rendu. Pour utiliser la résolution par défaut, définissez dpiX et dpiY sur 0. Pour plus d'informations, consultez la section Notes.

usage

Type : D2D1_RENDER_TARGET_USAGE

Valeur qui spécifie comment la cible de rendu est distante et si elle doit être compatible avec GDI. Défini sur D2D1_RENDER_TARGET_USAGE_NONE pour créer une cible de rendu qui n’est pas compatible avec GDI et utilise la communication à distance de flux de commandes Direct3D si elle est disponible.

minLevel

Type : D2D1_FEATURE_LEVEL

Valeur qui spécifie le niveau de fonctionnalité Direct3D minimal requis pour le rendu matériel. Si le niveau minimal spécifié n’est pas disponible, la cible de rendu utilise le rendu logiciel si le membre de type est défini sur D2D1_RENDER_TARGET_TYPE_DEFAULT ; si type est défini sur D2D1_RENDER_TARGET_TYPE_HARDWARE, la création de la cible de rendu échoue. La valeur D2D1_FEATURE_LEVEL_DEFAULT indique que Direct2D doit déterminer si le niveau de fonctionnalité Direct3D de l’appareil est adéquat. Ce champ est utilisé uniquement lors de la création d’objets ID2D1HwndRenderTarget et ID2D1DCRenderTarget .

Remarques

Utilisez cette structure lors de la création d’une cible de rendu, ou utilisez-la avec la méthode ID2D1RenderTarget ::IsSupported pour case activée les propriétés prises en charge par une cible de rendu existante.

Pour des raisons pratiques, Direct2D fournit la fonction d’assistance D2D1 ::RenderTargetProperties pour la création de structures D2D1_RENDER_TARGET_PROPERTIES . Un moyen simple de créer une structure D2D1_RENDER_TARGET_PROPERTIES qui fonctionne pour la plupart des cibles de rendu consiste à appeler la fonction sans spécifier de paramètres. Cela crée une structure D2D1_RENDER_TARGET_PROPERTIES dont les champs sont définis sur les valeurs par défaut. Pour plus d’informations, consultez D2D1 ::RenderTargetProperties.

Toutes les cibles de rendu ne prennent pas en charge le rendu matériel. Pour obtenir une liste, consultez vue d’ensemble des cibles de rendu.

Utilisation des paramètres PPP par défaut

Pour utiliser la résolution par défaut, définissez dpiX et dpiY sur 0. La résolution par défaut varie en fonction de la cible de rendu :
  • Pour une cible de rendu compatible, la résolution par défaut est la ppp de la cible de rendu parente.
  • Pour un ID2D1HwndRenderTarget, l’ppp par défaut est le ppp système obtenu à partir de l’ID2D1Factory de la cible de rendu.
  • Pour les autres cibles de rendu, la résolution par défaut est 96.
Pour utiliser le paramètre PPP par défaut, dpiX et dpiY doivent être définis sur 0. La définition d’une seule valeur sur 0 provoque une erreur E_INVALIDARG lors de la tentative de création d’une cible de rendu.

Exemples

L’exemple suivant utilise la fonction D2D1 ::RenderTargetProperties pour créer une structure D2D1_RENDER_TARGET_PROPERTIES adaptée à la plupart des cibles de rendu.

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
    );

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP]
En-tête d2d1.h

Voir aussi

ID2D1RenderTarget ::IsSupported

Vue d’ensemble des cibles de rendu