Interface ID2D1Properties (d2d1_1.h)

Représente un ensemble de propriétés pouvant être liées et détectables au moment de l’exécution qui permettent à une application pilotée par les données de modifier l’état d’un effet Direct2D.

Héritage

L’interface ID2D1Properties hérite de l’interface IUnknown. ID2D1Properties a également les types de membres suivants :

Méthodes

L’interface ID2D1Properties utilise ces méthodes.

 
ID2D1Properties::GetPropertyCount

Obtient le nombre de propriétés de niveau supérieur.
ID2D1Properties::GetPropertyIndex

Obtient l’index correspondant au nom de propriété donné.
ID2D1Properties::GetPropertyName

Obtient le nom de la propriété qui correspond à l’index donné. Il s’agit d’une surcharge de modèle. Consultez la section Notes.
ID2D1Properties::GetPropertyName

Obtient le nom de la propriété qui correspond à l’index donné.
ID2D1Properties::GetPropertyNameLength

Obtient le nombre de caractères pour le nom de propriété donné. Il s’agit d’une surcharge de modèle. Consultez la section Notes.
ID2D1Properties::GetPropertyNameLength

Obtient le nombre de caractères pour le nom de propriété donné.
ID2D1Properties::GetSubProperties

Obtient les sous-propriétés de la propriété fournie par index. Il s’agit d’une surcharge de modèle.
ID2D1Properties::GetSubProperties

Obtient les sous-propriétés de la propriété fournie par index.
ID2D1Properties::GetType

Obtient le D2D1_PROPERTY_TYPE de la propriété sélectionnée. Il s’agit d’une surcharge de modèle. Consultez la section Notes.
ID2D1Properties::GetType

Obtient le D2D1_PROPERTY_TYPE de la propriété sélectionnée.
ID2D1Properties::GetValue

Obtient la valeur de la propriété par index. Il s’agit d’une surcharge de modèle. Consultez la section Notes. (surcharge 1/2)
ID2D1Properties::GetValue

Obtient la valeur de la propriété spécifiée par index. Il s’agit d’une surcharge de modèle. Consultez la section Notes.
ID2D1Properties::GetValue

Obtient la valeur de la propriété par index. Il s’agit d’une surcharge de modèle. Consultez la section Notes. (surcharge 2/2)
ID2D1Properties::GetValue

Obtient la valeur de la propriété spécifiée par index. (surcharge 1/2)
ID2D1Properties::GetValue

Obtient la valeur de la propriété spécifiée par index. (surcharge 2/2)
ID2D1Properties::GetValueByName

Obtient la valeur de la propriété par nom. Il s’agit d’une surcharge de modèle. Consultez la section Notes. (surcharge 2/2)
ID2D1Properties::GetValueByName

Obtient la valeur de la propriété par nom. (surcharge 2/2)
ID2D1Properties::GetValueByName

Obtient la valeur de la propriété par nom. (surcharge 1/2)
ID2D1Properties::GetValueByName

Obtient la valeur de la propriété par nom. Il s’agit d’une surcharge de modèle. Consultez la section Notes. (surcharge 1/2)
ID2D1Properties::GetValueSize

Obtient la taille de la valeur de propriété en octets, à l’aide de l’index de propriété. Il s’agit d’une surcharge de modèle. Consultez la section Notes.
ID2D1Properties::GetValueSize

Obtient la taille de la valeur de propriété en octets, à l’aide de l’index de propriété.
ID2D1Properties::SetValue

Définit la propriété correspondante par index. Il s’agit d’une surcharge de modèle. (surcharge 2/2)
ID2D1Properties::SetValue

Définit la propriété correspondante par index. Il s’agit d’une surcharge de modèle. (surcharge 1/2)
ID2D1Properties::SetValue

Définit la propriété correspondante par index. (surcharge 1/2)
ID2D1Properties::SetValue

Définit la propriété correspondante par index. (surcharge 2/2)
ID2D1Properties::SetValueByName

Définit la propriété nommée sur la valeur donnée. (surcharge 1/2)
ID2D1Properties::SetValueByName

Définit la propriété nommée sur la valeur donnée. Il s’agit d’une surcharge de modèle. Consultez la section Notes.
ID2D1Properties::SetValueByName

Définit la propriété nommée sur la valeur donnée. (surcharge 2/2)

Remarques

Cette interface prend en charge l’accès via des index ou des noms de propriétés. En plus des propriétés de niveau supérieur, chaque propriété d’un objet ID2D1Properties peut contenir un objet ID2D1Properties , qui stocke les métadonnées décrivant la propriété parente.

Aperçu

L’interface ID2D1Properties expose un ensemble de propriétés pouvant être liées à l’exécution et détectables qui permettent à une application pilotée par les données, telle qu’un outil de création de graphe d’effets ou un système d’animation, de modifier l’état d’un effet Direct2D.

L’interface prend en charge l’accès via des index ou des noms de propriétés. En plus des propriétés de niveau supérieur, chaque propriété dans un ID2D1Properties peut contenir une interface de sous-ID2D1Properties , qui stocke les métadonnées décrivant sa propriété parente. Les sous-propriétés sont accessibles en demandant cette sous-interface par index de propriété ou en utilisant une chaîne de nom de propriété séparée par un point (.).

L’interface est intentionnellement conçue pour éviter les dépendances au moment de l’exécution. Toute l’allocation est effectuée par l’appelant de l’API et les types VARIANT ne sont pas utilisés. L’interface de propriété est généralement conçue pour ne pas retourner les échecs dans lesquels l’application pourrait modifier trivialement leur séquence d’appel afin d’éviter la condition. Par exemple, étant donné que le nombre de propriétés prises en charge par le instance est retourné par la méthode GetPropertyCount, d’autres méthodes qui prennent un index de propriété ne retournent pas de défaillance, sauf si elles utilisent également le système de propriétés de l’effet de plug-in.

L’interface est principalement basée sur un modèle d’accès basé sur un index et prend en charge les sous-propriétés imbriquées dans les propriétés. Contrairement à une structure de répertoires, la propriété elle-même a une valeur et un type et peut éventuellement prendre en charge les sous-propriétés (les répertoires ne sont pas des fichiers). Il s’agit normalement de métadonnées qui décrivent la propriété, mais elles sont également utilisées pour spécifier des tableaux d’objets. Afin de simplifier l’accès aux sous-propriétés et d’autoriser l’accès par nom, deux méthodes d’assistance ( GetValueByName ) sont définies. Celles-ci utilisent une notation « pointillée » pour permettre la spécification directe des sous-propriétés, par exemple :

alphaMode = pEffect->GetValueByName<UINT32>(L"Inputs.0.AlphaMode");

Ou :

pEffect->SetValueByName<UINT32>(
		    L"Inputs.0.AlphaMode", 
		    DXGI_ALPHA_MODE_PREMULTIPLIED);
		

Propriétés d’effet standard

Nom/index de la propriété Type de propriété Description de la propriété
CLSID / D2D1_PROPERTY_CLSID D2D1_PROPERTY_TYPE_CLSID CLSID de l’effet.
DisplayName / D2D1_PROPERTY_DISPLAYNAME D2D1_PROPERTY_TYPE_STRING Nom localisable de l’effet.
Auteur / D2D1_PROPERTY_AUTHOR D2D1_PROPERTY_TYPE_STRING Auteur de l’effet.
Catégorie / D2D1_PROPERTY_CATEGORY D2D1_PROPERTY_TYPE_STRING Catégorie de l’effet.
Description / D2D1_PROPERTY_DESCRIPTION D2D1_PROPERTY_TYPE_STRING Description de l’effet.
Entrées / D2D1_PROPERTY_INPUTS D2D1_PROPERTY_TYPE_ARRAY
Note Les éléments de ce tableau sont de type D2D1_PROPERTY_TYPE_STRING.
 
Tableau de noms pour les entrées de l’effet. Chaque élément du tableau est une chaîne localisée spécifiant le nom d’une entrée.
 

Sub-Properties standard

Les sous-propriétés suivantes peuvent être utilisées pour l’accès aux métadonnées et peuvent être disponibles sur les propriétés système et personnalisées. Pour plus d’informations, consultez les énumérations D2D1_SUBPROPERTY et D2D1_PROPERTY_TYPE .
Nom/index de la propriété Type de propriété Description de la propriété
DisplayName / D2D1_SUBPROPERTY_DISPLAYNAME D2D1_PROPERTY_TYPE_STRING Nom localisable pour la propriété parente.

Cette sous-propriété est présente sur toutes les propriétés de niveau supérieur.

IsReadOnly / D2D1_SUBPROPERTY_ISREADONLY D2D1_PROPERTY_TYPE_BOOL Valeur indiquant si la propriété parente peut être écrite dans.

Cette sous-propriété est présente sur toutes les propriétés de niveau supérieur.

Par défaut / D2D1_SUBPROPERTY_DEFAULT Identique à la propriété parente. Valeur par défaut de la propriété.

Cette sous-propriété est éventuellement présente sur toutes les propriétés.

Min/ D2D1_SUBPROPERTY_MIN Identique à la propriété parente.
Note Applicable uniquement aux propriétés de type numérique.
 
Valeur minimale prise en charge par la propriété parente.
Max/ D2D1_SUBPROPERTY_MAX Identique à la propriété parente.
Note Applicable uniquement aux propriétés de type numérique.
 
Valeur maximale prise en charge par la propriété parente.
Champs / D2D1_SUBPROPERTY_FIELDS Tableau / D2D1_PROPERTY_TYPE_ARRAY
Note Applicable uniquement lorsque la propriété parente est de type Enum.
 
Ensemble de valeurs valides qui peuvent être définies sur la propriété parente.

Chaque valeur de ce tableau est une paire nom/index. Les index peuvent être définis sur le parent et les noms sont des valeurs localisées conçues pour être utilisées par l’interface utilisateur. Consultez la section suivante pour plus d’informations.

 

Sub-Properties de type tableau

Pour plus d’informations , consultez ID2D1Properties::GetType et D2D1_PROPERTY_TYPE . Si le type de propriété est D2D1_PROPERTY_TYPE_ARRAY, la valeur de la propriété est considérée comme un UINT qui a le nombre d’éléments de tableau. La sous-propriété suivante mappe directement l’index à la valeur de propriété demandée. Par exemple :
Inputs: UINT32 – 2
		Inputs.0 : <Type> – First input
		Inputs.1 : <Type> – Second input
		

L’exemple ci-dessus utilise les sous-propriétés suivantes, qui apparaîtront sur les propriétés de type ARRAY. Notez que les propriétés numérotées ne sont pas des propriétés système et se trouvent dans la plage normale (0x0 – 0x80000000).

Nom de la propriété Index de propriété Description de la propriété
Property.0 0 Premier élément du tableau de propriétés.
... ... ...
Property.N N Nième élément du tableau de propriétés.
 

Le type de chaque sous-élément sera quel que soit le type du tableau. Dans l’exemple ci-dessus, il s’agissait d’un tableau de chaînes.

Enum-Type Sub-Properties

Si la propriété a le type D2D1_PROPERTY_TYPE_ENUM la propriété aura la valeur de l’énumération correspondante. Il y aura un sous-tableau de champs qui sera conforme aux règles générales pour les sous-propriétés de tableau et se compose des paires nom/valeur. Par exemple :
PixelFormat: ENUM – The pixel format value
		PixelFormat.Fields: UINT32 – The number of fields
		PixelFormat.Fields.0:String – The name of the first enum
		PixelFormat.Fields.0.Index: UINT32 – The value of the enumeration.
		

L’exemple ci-dessus utilise les sous-propriétés suivantes. Pour plus d’informations, consultez les énumérations D2D1_SUBPROPERTY et D2D1_PROPERTY_TYPE .

Nom de la propriété Index de propriété Description de la propriété
Property.Fields D2D1_SUBPROPERTY_FIELDS Propriété de type tableau qui fournit des informations sur chaque champ de l’énumération.
Property.Fields.N N Élément de tableau qui donne le nom de la Nième valeur d’énumération.
Property.Fields.N.Index D2D1_SUBPROPERTY_INDEX Index qui correspond à la Nième valeur d’énumération.

Configuration requise

   
Client minimal pris en charge Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 et Platform Update pour Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête d2d1_1.h

Voir aussi

ID2D1Effect

IUnknown