ID2D1Properties-Schnittstelle (d2d1_1.h)
Stellt einen Satz von bindbaren und auffindbaren Laufzeiteigenschaften dar, die es einer datengesteuerten Anwendung ermöglichen, den Zustand eines Direct2D-Effekts zu ändern.
Vererbung
Die ID2D1Properties-Schnittstelle erbt von der IUnknown-Schnittstelle . ID2D1Properties verfügt auch über folgende Membertypen:
Methoden
Die ID2D1Properties-Schnittstelle verfügt über diese Methoden.
ID2D1Properties::GetPropertyCount Ruft die Anzahl der Eigenschaften der obersten Ebene ab. |
ID2D1Properties::GetPropertyIndex Ruft den Index ab, der dem angegebenen Eigenschaftsnamen entspricht. |
ID2D1Properties::GetPropertyName Ruft den Eigenschaftennamen ab, der dem angegebenen Index entspricht. Dies ist eine Vorlagenüberladung. Siehe Hinweise. |
ID2D1Properties::GetPropertyName Ruft den Eigenschaftennamen ab, der dem angegebenen Index entspricht. |
ID2D1Properties::GetPropertyNameLength Ruft die Anzahl der Zeichen für den angegebenen Eigenschaftennamen ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. |
ID2D1Properties::GetPropertyNameLength Ruft die Anzahl der Zeichen für den angegebenen Eigenschaftennamen ab. |
ID2D1Properties::GetSubProperties Ruft die Untereigenschaften der bereitgestellten Eigenschaft nach Index ab. Dies ist eine Vorlagenüberladung. |
ID2D1Properties::GetSubProperties Ruft die Untereigenschaften der bereitgestellten Eigenschaft nach Index ab. |
ID2D1Properties::GetType Ruft den D2D1_PROPERTY_TYPE der ausgewählten Eigenschaft ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. |
ID2D1Properties::GetType Ruft den D2D1_PROPERTY_TYPE der ausgewählten Eigenschaft ab. |
ID2D1Properties::GetValue Ruft den Wert der Eigenschaft nach Index ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. (Überladung 1/2) |
ID2D1Properties::GetValue Ruft den Wert der angegebenen Eigenschaft nach Index ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. |
ID2D1Properties::GetValue Ruft den Wert der Eigenschaft nach Index ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. (Überladung 2/2) |
ID2D1Properties::GetValue Ruft den Wert der angegebenen Eigenschaft nach Index ab. (Überladung 1/2) |
ID2D1Properties::GetValue Ruft den Wert der angegebenen Eigenschaft nach Index ab. (Überladung 2/2) |
ID2D1Properties::GetValueByName Ruft den Eigenschaftswert anhand des Namens ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. (Überladung 2/2) |
ID2D1Properties::GetValueByName Ruft den Eigenschaftswert anhand des Namens ab. (Überladung 2/2) |
ID2D1Properties::GetValueByName Ruft den Eigenschaftswert anhand des Namens ab. (Überladung 1/2) |
ID2D1Properties::GetValueByName Ruft den Eigenschaftswert anhand des Namens ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. (Überladung 1/2) |
ID2D1Properties::GetValueSize Ruft die Größe des Eigenschaftswerts in Bytes unter Verwendung des Eigenschaftenindexes ab. Dies ist eine Vorlagenüberladung. Siehe Hinweise. |
ID2D1Properties::GetValueSize Ruft die Größe des Eigenschaftswerts in Bytes unter Verwendung des Eigenschaftenindexes ab. |
ID2D1Properties::SetValue Legt die entsprechende Eigenschaft nach Index fest. Dies ist eine Vorlagenüberladung. (Überladung 2/2) |
ID2D1Properties::SetValue Legt die entsprechende Eigenschaft nach Index fest. Dies ist eine Vorlagenüberladung. (Überladung 1/2) |
ID2D1Properties::SetValue Legt die entsprechende Eigenschaft nach Index fest. (Überladung 1/2) |
ID2D1Properties::SetValue Legt die entsprechende Eigenschaft nach Index fest. (Überladung 2/2) |
ID2D1Properties::SetValueByName Legt die benannte Eigenschaft auf den angegebenen Wert fest. (Überladung 1/2) |
ID2D1Properties::SetValueByName Legt die benannte Eigenschaft auf den angegebenen Wert fest. Dies ist eine Vorlagenüberladung. Siehe Hinweise. |
ID2D1Properties::SetValueByName Legt die benannte Eigenschaft auf den angegebenen Wert fest. (Überladung 2/2) |
Hinweise
Diese Schnittstelle unterstützt den Zugriff entweder über Indizes oder Eigenschaftennamen. Zusätzlich zu den Eigenschaften der obersten Ebene kann jede Eigenschaft in einem ID2D1Properties-Objekt ein ID2D1Properties-Objekt enthalten, in dem Metadaten gespeichert werden, die die übergeordnete Eigenschaft beschreiben.
Übersicht
Die ID2D1Properties-Schnittstelle macht eine Reihe von laufzeitbindungsfähigen und auffindbaren Eigenschaften verfügbar, die es einer datengesteuerten Anwendung wie einem Effektdiagrammerstellungstool oder einem Animationssystem ermöglichen, den Zustand eines Direct2D-Effekts zu ändern.Die Schnittstelle unterstützt den Zugriff über Indizes oder Eigenschaftennamen. Zusätzlich zu den Eigenschaften der obersten Ebene kann jede Eigenschaft in einer ID2D1Properties eine Sub-ID2D1Properties-Schnittstelle enthalten, in der Metadaten gespeichert werden, die die übergeordnete Eigenschaft beschreiben. Auf Untereigenschaften wird zugegriffen, indem Sie diese Unterschnittstelle nach Eigenschaftenindex anfordern oder eine durch einen Punkt (.) getrennte Eigenschaftennamenzeichenfolge verwenden.
Die Schnittstelle ist absichtlich so konzipiert, dass Abhängigkeiten auf Laufzeitbasis vermieden werden. Die gesamte Zuordnung erfolgt durch den Aufrufer der API, und variant-Typen werden nicht verwendet. Die Eigenschaftenschnittstelle ist im Allgemeinen so konzipiert, dass keine Fehler zurückgegeben werden, bei denen die Anwendung ihre Aufrufsequenz trivial ändern könnte, um die Bedingung zu vermeiden. Da beispielsweise die Anzahl der von der instance unterstützten Eigenschaften von der GetPropertyCount-Methode zurückgegeben wird, geben andere Methoden, die einen Eigenschaftenindex annehmen, keinen Fehler zurück, es sei denn, sie verwenden auch das Eigenschaftensystem des Plug-In-Effekts.
Die Schnittstelle basiert in erster Linie auf einem indexbasierten Zugriffsmodell und unterstützt geschachtelte Untereigenschaften in Eigenschaften. Im Gegensatz zu einer Verzeichnisstruktur verfügt die Eigenschaft selbst über einen Wert und einen Typ und unterstützt optional Untereigenschaften (Verzeichnisse sind keine Dateien). Dies sind normalerweise Metadaten, die die Eigenschaft beschreiben, aber dies wird auch verwendet, um Arrays von Objekten anzugeben. Um den Zugriff auf Untereigenschaften zu vereinfachen und den namenbasierten Zugriff zu ermöglichen, werden zwei Hilfsmethoden – GetValueByName – definiert. Diese verwenden eine "gepunktete" Notation, um die direkte Angabe von Untereigenschaften zu ermöglichen, z. B.:
alphaMode = pEffect->GetValueByName<UINT32>(L"Inputs.0.AlphaMode");
Oder:
pEffect->SetValueByName<UINT32>(
L"Inputs.0.AlphaMode",
DXGI_ALPHA_MODE_PREMULTIPLIED);
Standardeffekteigenschaften
Eigenschaftsname/Index | Eigenschaftstyp | Eigenschaftenbeschreibung |
---|---|---|
CLSID/D2D1_PROPERTY_CLSID | D2D1_PROPERTY_TYPE_CLSID | Die CLSID des Effekts. |
DisplayName/D2D1_PROPERTY_DISPLAYNAME | D2D1_PROPERTY_TYPE_STRING | Ein anzeigebarer, lokalisierter Name für den Effekt. |
Autor/D2D1_PROPERTY_AUTHOR | D2D1_PROPERTY_TYPE_STRING | Der Autor des Effekts. |
Kategorie/D2D1_PROPERTY_CATEGORY | D2D1_PROPERTY_TYPE_STRING | Die Kategorie des Effekts. |
Beschreibung /D2D1_PROPERTY_DESCRIPTION | D2D1_PROPERTY_TYPE_STRING | Eine Beschreibung des Effekts. |
Eingaben/D2D1_PROPERTY_INPUTS | D2D1_PROPERTY_TYPE_ARRAY Hinweis Elemente dieses Arrays sind vom Typ D2D1_PROPERTY_TYPE_STRING.
|
Ein Array von Namen für die Eingaben des Effekts. Jedes Element des Arrays ist eine lokalisierte Zeichenfolge, die den Namen einer Eingabe angibt. |
Standard Sub-Properties
Im Folgenden sind standardmäßige Untereigenschaften aufgeführt, die für den Metadatenzugriff verwendet werden können und möglicherweise sowohl für Systemeigenschaften als auch für benutzerdefinierte Eigenschaften verfügbar sind. Weitere Informationen finden Sie in den D2D1_SUBPROPERTY - und D2D1_PROPERTY_TYPE-Enumerationen .Eigenschaftsname/Index | Eigenschaftstyp | Eigenschaftenbeschreibung |
---|---|---|
DisplayName/D2D1_SUBPROPERTY_DISPLAYNAME | D2D1_PROPERTY_TYPE_STRING |
Ein anzeigebarer, lokalisierter Name für die übergeordnete Eigenschaft.
Diese Untereigenschaft ist in allen Eigenschaften der obersten Ebene vorhanden. |
IsReadOnly/D2D1_SUBPROPERTY_ISREADONLY | D2D1_PROPERTY_TYPE_BOOL |
Ein Wert, der angibt, ob die übergeordnete Eigenschaft geschrieben werden kann.
Diese Untereigenschaft ist in allen Eigenschaften der obersten Ebene vorhanden. |
Standard/D2D1_SUBPROPERTY_DEFAULT | Identisch mit der übergeordneten Eigenschaft. |
Der Standardwert für die Eigenschaft.
Diese Untereigenschaft ist optional für alle Eigenschaften vorhanden. |
Min/D2D1_SUBPROPERTY_MIN | Identisch mit der übergeordneten Eigenschaft.
Hinweis Gilt nur für numerische Eigenschaften.
|
Der Mindestwert, auf den die übergeordnete Eigenschaft festgelegt wird. |
Max/ D2D1_SUBPROPERTY_MAX | Identisch mit der übergeordneten Eigenschaft.
Hinweis Gilt nur für numerische Eigenschaften.
|
Der maximale Wert, auf den die übergeordnete Eigenschaft festgelegt wird. |
Felder/D2D1_SUBPROPERTY_FIELDS | Array/D2D1_PROPERTY_TYPE_ARRAY Hinweis Gilt nur, wenn die übergeordnete Eigenschaft vom Typ Enum ist.
|
Der Satz von gültigen Werten, die auf die übergeordnete Eigenschaft festgelegt werden können.
Jeder Wert in diesem Array ist ein Name-Index-Paar. Die Indizes können auf das übergeordnete Element festgelegt werden, und die Namen sind lokalisierte Werte für die Nutzung durch die Benutzeroberfläche. Im folgenden Abschnitt finden Sie weitere Details. |
Arraytyp-Sub-Properties
Weitere Informationen finden Sie unter ID2D1Properties::GetType und D2D1_PROPERTY_TYPE . Wenn der Eigenschaftstyp D2D1_PROPERTY_TYPE_ARRAY ist, wird der Wert der Eigenschaft als UINT mit der Anzahl der Arrayelemente betrachtet. Die nächste Untereigenschaft zuordnen den Index direkt dem angeforderten Eigenschaftswert. Beispiel:Inputs: UINT32 – 2
Inputs.0 : <Type> – First input
Inputs.1 : <Type> – Second input
Im obigen Beispiel werden die folgenden Untereigenschaften verwendet, die in eigenschaften vom TYP ARRAY angezeigt werden. Beachten Sie, dass die nummerierten Eigenschaften keine Systemeigenschaften sind und sich im normalen Bereich (0x0 – 0x80000000) befinden.
Eigenschaftenname | Eigenschaftenindex | Eigenschaftenbeschreibung |
---|---|---|
Property.0 | 0 | Erstes Element des Eigenschaftenarrays. |
... | ... | ... |
Property.N | N | Nth-Element des Eigenschaftenarrays. |
Der Typ jedes Unterelements ist unabhängig vom Typ des Arrays. Im obigen Beispiel war dies ein Array von Zeichenfolgen.
Enum-Type Sub-Properties
Wenn die Eigenschaft den Typ D2D1_PROPERTY_TYPE_ENUM hat, hat die Eigenschaft den Wert der entsprechenden Enumeration. Es gibt ein Unterarray von Feldern, die den allgemeinen Regeln für Arrayuntereigenschaften entsprechen und aus den Namen-Wert-Paaren bestehen. Beispiel: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.
Im obigen Beispiel werden die folgenden Untereigenschaften verwendet. Weitere Informationen finden Sie in den D2D1_SUBPROPERTY - und D2D1_PROPERTY_TYPE-Enumerationen .
Eigenschaftenname | Eigenschaftenindex | Eigenschaftenbeschreibung |
---|---|---|
Property.Fields | D2D1_SUBPROPERTY_FIELDS | Eine Arraytypeigenschaft, die Informationen zu jedem Feld in der Enumeration bereitstellt. |
Property.Fields.N | N | Ein Arrayelement, das den Namen des N-tenEnumerationswerts angibt. |
Property.Fields.N.Index | D2D1_SUBPROPERTY_INDEX | Der Index, der dem N-tenEnumerationswert entspricht. |
Anforderungen
Unterstützte Mindestversion (Client) | Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | d2d1_1.h |