Condividi tramite


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

Vedi anche

ID2D1Effect

IUnknown