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 |