Interfaccia ID2D1Properties (d2d1_1.h)
Rappresenta un set di proprietà associabili e individuabili in fase di esecuzione che consentono a un'applicazione basata sui dati di modificare lo stato di un effetto Direct2D.
Ereditarietà
L'interfaccia ID2D1Properties eredita dall'interfaccia IUnknown . ID2D1Properties include anche questi tipi di membri:
Metodi
L'interfaccia ID2D1Properties include questi metodi.
ID2D1Properties::GetPropertyCount Ottiene il numero di proprietà di primo livello. |
ID2D1Properties::GetPropertyIndex Ottiene l'indice corrispondente al nome della proprietà specificato. |
ID2D1Properties::GetPropertyName Ottiene il nome della proprietà corrispondente all'indice specificato. Si tratta di un overload di modello. Vedere la sezione Osservazioni. |
ID2D1Properties::GetPropertyName Ottiene il nome della proprietà corrispondente all'indice specificato. |
ID2D1Properties::GetPropertyNameLength Ottiene il numero di caratteri per il nome della proprietà specificato. Si tratta di un overload di modello. Vedere la sezione Osservazioni. |
ID2D1Properties::GetPropertyNameLength Ottiene il numero di caratteri per il nome della proprietà specificato. |
ID2D1Properties::GetSubProperties Ottiene le proprietà secondarie della proprietà specificata per indice. Si tratta di un overload di modello. |
ID2D1Properties::GetSubProperties Ottiene le proprietà secondarie della proprietà specificata per indice. |
ID2D1Properties::GetType Ottiene la D2D1_PROPERTY_TYPE della proprietà selezionata. Si tratta di un overload di modello. Vedere la sezione Osservazioni. |
ID2D1Properties::GetType Ottiene la D2D1_PROPERTY_TYPE della proprietà selezionata. |
ID2D1Properties::GetValue Ottiene il valore della proprietà in base all'indice. Si tratta di un overload di modello. Vedere la sezione Osservazioni. (overload 1/2) |
ID2D1Properties::GetValue Ottiene il valore della proprietà specificata in base all'indice. Si tratta di un overload di modello. Vedere la sezione Osservazioni. |
ID2D1Properties::GetValue Ottiene il valore della proprietà in base all'indice. Si tratta di un overload di modello. Vedere la sezione Osservazioni. (overload 2/2) |
ID2D1Properties::GetValue Ottiene il valore della proprietà specificata in base all'indice. (overload 1/2) |
ID2D1Properties::GetValue Ottiene il valore della proprietà specificata in base all'indice. (overload 2/2) |
ID2D1Properties::GetValueByName Ottiene il valore della proprietà in base al nome. Si tratta di un overload di modello. Vedere la sezione Osservazioni. (overload 2/2) |
ID2D1Properties::GetValueByName Ottiene il valore della proprietà in base al nome. (overload 2/2) |
ID2D1Properties::GetValueByName Ottiene il valore della proprietà in base al nome. (overload 1/2) |
ID2D1Properties::GetValueByName Ottiene il valore della proprietà in base al nome. Si tratta di un overload di modello. Vedere la sezione Osservazioni. (overload 1/2) |
ID2D1Properties::GetValueSize Ottiene le dimensioni del valore della proprietà in byte usando l'indice della proprietà. Si tratta di un overload di modello. Vedere la sezione Osservazioni. |
ID2D1Properties::GetValueSize Ottiene le dimensioni del valore della proprietà in byte usando l'indice della proprietà. |
ID2D1Properties::SetValue Imposta la proprietà corrispondente in base all'indice. Si tratta di un overload di modello. (overload 2/2) |
ID2D1Properties::SetValue Imposta la proprietà corrispondente in base all'indice. Si tratta di un overload di modello. (overload 1/2) |
ID2D1Properties::SetValue Imposta la proprietà corrispondente in base all'indice. (overload 1/2) |
ID2D1Properties::SetValue Imposta la proprietà corrispondente in base all'indice. (overload 2/2) |
ID2D1Properties::SetValueByName Imposta la proprietà denominata sul valore specificato. (overload 1/2) |
ID2D1Properties::SetValueByName Imposta la proprietà denominata sul valore specificato. Si tratta di un overload di modello. Vedere la sezione Osservazioni. |
ID2D1Properties::SetValueByName Imposta la proprietà denominata sul valore specificato. (overload 2/2) |
Commenti
Questa interfaccia supporta l'accesso tramite indici o nomi di proprietà. Oltre alle proprietà di primo livello, ogni proprietà in un oggetto ID2D1Properties può contenere un oggetto ID2D1Properties, che archivia i metadati che descrivono la proprietà padre.
Panoramica
L'interfaccia ID2D1Properties espone un set di proprietà associabili e individuabili in fase di esecuzione che consentono a un'applicazione basata sui dati, ad esempio uno strumento di creazione di grafici effetto o un sistema di animazione per modificare lo stato di un effetto Direct2D.L'interfaccia supporta l'accesso tramite indici o nomi di proprietà. Oltre alle proprietà di primo livello, ogni proprietà in un ID2D1Properties può contenere un'interfaccia sub-ID2D1Properties, che archivia i metadati che descrivono la relativa proprietà padre. Le sottoproprietà vengono accessibili richiedendo questa sotto-interfaccia in base all'indice delle proprietà oppure usando una stringa di nome della proprietà separata da un punto (.).
L'interfaccia è intenzionalmente progettata per evitare dipendenze su base di runtime. Tutte le allocazioni vengono eseguite dal chiamante dei tipi API e VARIANT non vengono usate. L'interfaccia delle proprietà è in genere progettata per non restituire errori in cui l'applicazione potrebbe modificare in modo semplice la sequenza di chiamate per evitare la condizione. Ad esempio, poiché il numero di proprietà supportate dall'istanza viene restituito dal metodo GetPropertyCount , altri metodi che accettano un indice di proprietà non restituiscono un errore, a meno che non usino anche il sistema di proprietà dell'effetto plug-in.
L'interfaccia si basa principalmente su un modello di accesso basato su indice e supporta le proprietà secondarie annidate all'interno delle proprietà. A differenza di una struttura di directory, la proprietà stessa ha un valore e un tipo e potrebbe supportare facoltativamente le proprietà secondarie (le directory non sono file). Questi sono in genere metadati che descrivono la proprietà, ma viene usato anche per specificare matrici di oggetti. Per semplificare l'accesso alle proprietà secondarie e per consentire l'accesso basato sul nome, vengono definiti due metodi helper, GetValueByName . Queste usano una notazione "punteggiata" per consentire l'specifica diretta delle proprietà secondarie, ad esempio:
alphaMode = pEffect->GetValueByName<UINT32>(L"Inputs.0.AlphaMode");
Oppure:
pEffect->SetValueByName<UINT32>(
L"Inputs.0.AlphaMode",
DXGI_ALPHA_MODE_PREMULTIPLIED);
Proprietà effetto standard
Nome proprietà/indice | Tipo di proprietà | Descrizione della proprietà |
---|---|---|
CLSID/D2D1_PROPERTY_CLSID | D2D1_PROPERTY_TYPE_CLSID | CLSID dell'effetto. |
DisplayName/D2D1_PROPERTY_DISPLAYNAME | D2D1_PROPERTY_TYPE_STRING | Nome localizzato visualizzabile per l'effetto. |
Autore/D2D1_PROPERTY_AUTHOR | D2D1_PROPERTY_TYPE_STRING | Autore dell'effetto. |
Categoria/D2D1_PROPERTY_CATEGORY | D2D1_PROPERTY_TYPE_STRING | Categoria dell'effetto. |
Descrizione/D2D1_PROPERTY_DESCRIPTION | D2D1_PROPERTY_TYPE_STRING | Descrizione dell'effetto. |
Input/D2D1_PROPERTY_INPUTS | D2D1_PROPERTY_TYPE_ARRAY Nota Gli elementi di questa matrice sono di tipo D2D1_PROPERTY_TYPE_STRING.
|
Matrice di nomi per gli input dell'effetto. Ogni elemento della matrice è una stringa localizzata che specifica il nome di un input. |
Sub-Properties standard
Di seguito sono riportate le proprietà secondarie standard che possono essere usate per l'accesso ai metadati e possono essere disponibili sia in proprietà di sistema che personalizzate. Per altre informazioni, vedere le enumerazioni D2D1_SUBPROPERTY e D2D1_PROPERTY_TYPE .Nome proprietà/indice | Tipo di proprietà | Descrizione della proprietà |
---|---|---|
DisplayName/D2D1_SUBPROPERTY_DISPLAYNAME | D2D1_PROPERTY_TYPE_STRING |
Nome localizzato visualizzabile per la proprietà padre.
Questa sotto-proprietà è presente in tutte le proprietà di primo livello. |
IsReadOnly/D2D1_SUBPROPERTY_ISREADONLY | D2D1_PROPERTY_TYPE_BOOL |
Valore che indica se la proprietà padre può essere scritta in.
Questa sotto-proprietà è presente in tutte le proprietà di primo livello. |
Impostazione predefinita/D2D1_SUBPROPERTY_DEFAULT | Uguale alla proprietà padre. |
Il valore predefinito per la proprietà.
Questa sotto proprietà è facoltativamente presente in tutte le proprietà. |
Min/D2D1_SUBPROPERTY_MIN | Uguale alla proprietà padre.
Nota Applicabile solo alle proprietà di tipo numerico.
|
Valore minimo su cui è supportata la proprietà padre. |
Max/D2D1_SUBPROPERTY_MAX | Uguale alla proprietà padre.
Nota Applicabile solo alle proprietà di tipo numerico.
|
Valore massimo su cui è supportata la proprietà padre. |
Campi/D2D1_SUBPROPERTY_FIELDS | Matrice/D2D1_PROPERTY_TYPE_ARRAY Nota Applicabile solo quando la proprietà padre è di tipo Enum.
|
Set di valori validi che possono essere impostati sulla proprietà padre.
Ogni valore in questa matrice è una coppia nome/indice. Gli indici possono essere impostati sull'elemento padre e i nomi sono valori localizzati progettati per l'utilizzo da parte dell'interfaccia utente. Per maggiori dettagli, vedere la sezione seguente. |
Sub-Properties di tipo matrice
Per altre informazioni, vedere ID2D1Properties::GetType e D2D1_PROPERTY_TYPE . Se il tipo di proprietà è D2D1_PROPERTY_TYPE_ARRAY, il valore della proprietà verrà considerato come un oggetto UINT con il numero di elementi della matrice. La sotto-proprietà successiva esegue il mapping diretto dell'indice al valore della proprietà richiesto. Ad esempio:Inputs: UINT32 – 2
Inputs.0 : <Type> – First input
Inputs.1 : <Type> – Second input
Nell'esempio precedente vengono usate le seguenti proprietà secondarie, che verranno visualizzate nelle proprietà di tipo ARRAY. Si noti che le proprietà numerate non sono proprietà di sistema e si trovano nell'intervallo normale (0x0 - 0x80000000).
Nome proprietà | Indice delle proprietà | Descrizione della proprietà |
---|---|---|
Property.0 | 0 | Primo elemento della matrice di proprietà. |
... | ... | ... |
Property.N | N | Nelemento th della matrice di proprietà. |
Il tipo di ogni sottoelemento sarà qualsiasi sia il tipo della matrice. Nell'esempio precedente si tratta di una matrice di stringhe.
Sub-Properties di tipo enumerazione
Se la proprietà ha tipo D2D1_PROPERTY_TYPE_ENUM , la proprietà avrà il valore dell'enumerazione corrispondente. Sarà presente una sotto matrice di campi che saranno conformi alle regole generali per le sotto-proprietà della matrice e saranno costituite dalle coppie nome/valore. Ad esempio: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.
Nell'esempio precedente vengono usate le seguenti proprietà secondarie. Per altre informazioni, vedere le enumerazioni D2D1_SUBPROPERTY e D2D1_PROPERTY_TYPE .
Nome proprietà | Indice delle proprietà | Descrizione della proprietà |
---|---|---|
Property.Fields | D2D1_SUBPROPERTY_FIELDS | Proprietà del tipo di matrice che fornisce informazioni su ogni campo nell'enumerazione. |
Property.Fields.N | N | Elemento matrice che assegna il nome del valore di enumerazione N. |
Property.Fields.N.Index | D2D1_SUBPROPERTY_INDEX | Indice che corrisponde al valore di enumerazione N. |
Requisiti
Client minimo supportato | Windows 8 e Platform Update per Windows 7 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | d2d1_1.h |