Bagikan melalui


Antarmuka ID2D1Properties (d2d1_1.h)

Mewakili sekumpulan properti run-time yang dapat diikat dan dapat ditemukan yang memungkinkan aplikasi berbasis data untuk memodifikasi status efek Direct2D.

Warisan

Antarmuka ID2D1Properties mewarisi dari antarmuka IUnknown . ID2D1Properties juga memiliki jenis anggota berikut:

Metode

Antarmuka ID2D1Properties memiliki metode ini.

 
ID2D1Properties::GetPropertyCount

Mendapatkan jumlah properti tingkat atas.
ID2D1Properties::GetPropertyIndex

Mendapatkan indeks yang sesuai dengan nama properti yang diberikan.
ID2D1Properties::GetPropertyName

Mendapatkan nama properti yang sesuai dengan indeks yang diberikan. Ini adalah kelebihan beban templat. Lihat Keterangan.
ID2D1Properties::GetPropertyName

Mendapatkan nama properti yang sesuai dengan indeks yang diberikan.
ID2D1Properties::GetPropertyNameLength

Mendapatkan jumlah karakter untuk nama properti yang diberikan. Ini adalah kelebihan beban templat. Lihat Keterangan.
ID2D1Properties::GetPropertyNameLength

Mendapatkan jumlah karakter untuk nama properti yang diberikan.
ID2D1Properties::GetSubProperties

Mendapatkan sub-properti properti yang disediakan menurut indeks. Ini adalah kelebihan beban templat.
ID2D1Properties::GetSubProperties

Mendapatkan sub-properti properti yang disediakan menurut indeks.
ID2D1Properties::GetType

Mendapatkan D2D1_PROPERTY_TYPE properti yang dipilih. Ini adalah kelebihan beban templat. Lihat Keterangan.
ID2D1Properties::GetType

Mendapatkan D2D1_PROPERTY_TYPE properti yang dipilih.
ID2D1Properties::GetValue

Mendapatkan nilai properti menurut indeks. Ini adalah kelebihan beban templat. Lihat Keterangan. (kelebihan beban 1/2)
ID2D1Properties::GetValue

Mendapatkan nilai properti yang ditentukan menurut indeks. Ini adalah kelebihan beban templat. Lihat Keterangan.
ID2D1Properties::GetValue

Mendapatkan nilai properti menurut indeks. Ini adalah kelebihan beban templat. Lihat Keterangan. (kelebihan beban 2/2)
ID2D1Properties::GetValue

Mendapatkan nilai properti yang ditentukan menurut indeks. (kelebihan beban 1/2)
ID2D1Properties::GetValue

Mendapatkan nilai properti yang ditentukan menurut indeks. (kelebihan beban 2/2)
ID2D1Properties::GetValueByName

Mendapatkan nilai properti berdasarkan nama. Ini adalah kelebihan beban templat. Lihat Keterangan. (kelebihan beban 2/2)
ID2D1Properties::GetValueByName

Mendapatkan nilai properti berdasarkan nama. (kelebihan beban 2/2)
ID2D1Properties::GetValueByName

Mendapatkan nilai properti berdasarkan nama. (kelebihan beban 1/2)
ID2D1Properties::GetValueByName

Mendapatkan nilai properti berdasarkan nama. Ini adalah kelebihan beban templat. Lihat Keterangan. (kelebihan beban 1/2)
ID2D1Properties::GetValueSize

Mendapatkan ukuran nilai properti dalam byte, menggunakan indeks properti. Ini adalah kelebihan beban templat. Lihat Keterangan.
ID2D1Properties::GetValueSize

Mendapatkan ukuran nilai properti dalam byte, menggunakan indeks properti.
ID2D1Properties::SetValue

Mengatur properti terkait menurut indeks. Ini adalah kelebihan beban templat. (kelebihan beban 2/2)
ID2D1Properties::SetValue

Mengatur properti terkait menurut indeks. Ini adalah kelebihan beban templat. (kelebihan beban 1/2)
ID2D1Properties::SetValue

Mengatur properti terkait menurut indeks. (kelebihan beban 1/2)
ID2D1Properties::SetValue

Mengatur properti terkait menurut indeks. (kelebihan beban 2/2)
ID2D1Properties::SetValueByName

Mengatur properti bernama ke nilai yang diberikan. (kelebihan beban 1/2)
ID2D1Properties::SetValueByName

Mengatur properti bernama ke nilai yang diberikan. Ini adalah kelebihan beban templat. Lihat Keterangan.
ID2D1Properties::SetValueByName

Mengatur properti bernama ke nilai yang diberikan. (kelebihan beban 2/2)

Keterangan

Antarmuka ini mendukung akses melalui indeks atau nama properti. Selain properti tingkat atas, setiap properti dalam objek ID2D1Properties mungkin berisi objek ID2D1Properties , yang menyimpan metadata yang menjelaskan properti induk.

Ikhtisar

Antarmuka ID2D1Properties memaparkan serangkaian properti run-time yang dapat diikat dan dapat ditemukan yang memungkinkan aplikasi berbasis data seperti alat penulisan grafik efek atau sistem animasi untuk memodifikasi status efek Direct2D.

Antarmuka mendukung akses melalui indeks atau nama properti. Selain properti tingkat atas, setiap properti dalam ID2D1Properties mungkin berisi antarmuka sub-ID2D1Properties , yang menyimpan metadata yang menjelaskan properti induknya. Sub-properti diakses dengan meminta sub-antarmuka ini menurut indeks properti, atau dengan menggunakan string nama properti yang dipisahkan oleh titik (.).

Antarmuka ini sengaja dirancang untuk menghindari dependensi berdasarkan run-time. Semua alokasi dilakukan oleh pemanggil jenis API dan VARIAN tidak digunakan. Antarmuka properti umumnya dirancang untuk tidak mengembalikan kegagalan di mana aplikasi dapat dengan mudah mengubah urutan panggilan mereka untuk menghindari kondisi tersebut. Misalnya, karena jumlah properti yang didukung oleh instans dikembalikan oleh metode GetPropertyCount , metode lain yang mengambil indeks properti tidak mengembalikan kegagalan, kecuali mereka juga menggunakan sistem properti efek plug-in.

Antarmuka ini terutama didasarkan pada model akses berbasis indeks, dan mendukung sub-properti berlapis dalam properti. Tidak seperti struktur direktori, properti itu sendiri memiliki nilai dan jenis dan mungkin secara opsional mendukung sub-properti (direktori bukan file). Ini biasanya metadata yang menjelaskan properti , tetapi, ini juga digunakan untuk menentukan array objek. Untuk menyederhanakan akses sub-properti dan untuk memungkinkan akses berbasis nama, dua metode pembantu – GetValueByName – ditentukan. Ini menggunakan notasi "putus-putus" untuk memungkinkan sub-properti ditentukan secara langsung, misalnya:

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

Atau:

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

Properti Efek Standar

Nama/indeks properti Jenis properti Deskripsi properti
CLSID / D2D1_PROPERTY_CLSID D2D1_PROPERTY_TYPE_CLSID CLSID efeknya.
DisplayName / D2D1_PROPERTY_DISPLAYNAME D2D1_PROPERTY_TYPE_STRING Nama yang dapat ditampilkan dan dilokalkan untuk efek tersebut.
Penulis/ D2D1_PROPERTY_AUTHOR D2D1_PROPERTY_TYPE_STRING Penulis efek.
Kategori / D2D1_PROPERTY_CATEGORY D2D1_PROPERTY_TYPE_STRING Kategori efek.
Deskripsi / D2D1_PROPERTY_DESCRIPTION D2D1_PROPERTY_TYPE_STRING Deskripsi efeknya.
Input / D2D1_PROPERTY_INPUTS D2D1_PROPERTY_TYPE_ARRAY
Catatan Elemen array ini berjenis D2D1_PROPERTY_TYPE_STRING.
 
Array nama untuk input efek. Setiap elemen array adalah string yang dilokalkan yang menentukan nama input.
 

Sub-Properties standar

Berikut ini adalah sub-properti standar yang dapat digunakan untuk akses meta-data, dan mungkin tersedia di properti sistem dan kustom. Silakan lihat enumerasi D2D1_SUBPROPERTY dan D2D1_PROPERTY_TYPE untuk informasi lebih lanjut.
Nama/indeks properti Jenis properti Deskripsi properti
DisplayName / D2D1_SUBPROPERTY_DISPLAYNAME D2D1_PROPERTY_TYPE_STRING Nama yang dapat ditampilkan dan dilokalkan untuk properti induk.

Sub-properti ini ada di semua properti tingkat atas.

IsReadOnly / D2D1_SUBPROPERTY_ISREADONLY D2D1_PROPERTY_TYPE_BOOL Nilai yang menunjukkan apakah properti induk dapat ditulis.

Sub-properti ini ada di semua properti tingkat atas.

Default / D2D1_SUBPROPERTY_DEFAULT Sama seperti properti induk. Nilai default untuk properti .

Sub-properti ini secara opsional ada di semua properti.

Min / D2D1_SUBPROPERTY_MIN Sama seperti properti induk.
Catatan Hanya berlaku untuk properti jenis numerik.
 
Nilai minimum yang didukung properti induk diatur ke.
Maks/ D2D1_SUBPROPERTY_MAX Sama seperti properti induk.
Catatan Hanya berlaku untuk properti jenis numerik.
 
Nilai maksimum yang didukung properti induk diatur ke.
Bidang / D2D1_SUBPROPERTY_FIELDS Array / D2D1_PROPERTY_TYPE_ARRAY
Catatan Hanya berlaku ketika properti induk berjenis Enum.
 
Kumpulan nilai valid yang dapat diatur ke properti induk.

Setiap nilai dalam array ini adalah pasangan nama/indeks. Indeks dapat diatur ke induk dan namanya adalah nilai yang dilokalkan yang dirancang untuk dikonsumsi oleh UI. Lihat bagian berikut untuk detail selengkapnya.

 

Sub-Properties Jenis Array

Lihat ID2D1Properties::GetType dan D2D1_PROPERTY_TYPE untuk informasi selengkapnya. Jika jenis properti D2D1_PROPERTY_TYPE_ARRAY, nilai properti akan dianggap sebagai UINT yang memiliki jumlah elemen array. Sub-properti berikutnya akan langsung memetakan indeks ke nilai properti yang diminta. Contohnya:
Inputs: UINT32 – 2
		Inputs.0 : <Type> – First input
		Inputs.1 : <Type> – Second input
		

Contoh di atas menggunakan sub-properti berikut, yang akan muncul pada properti jenis ARRAY. Perhatikan bahwa properti bernomor bukan properti sistem, dan berada dalam rentang normal (0x0 – 0x80000000).

Nama properti Indeks properti Deskripsi properti
Property.0 0 Elemen pertama dari array properti.
... ... ...
Property.N N ElemenN th dari array properti.
 

Jenis setiap sub-elemen akan menjadi apa pun jenis arraynya. Dalam contoh di atas, ini adalah array string.

Sub-Properties Tipe Enum

Jika properti memiliki jenis D2D1_PROPERTY_TYPE_ENUM maka properti akan memiliki nilai enumerasi yang sesuai. Akan ada sub-array bidang yang akan sesuai dengan aturan umum untuk sub-properti array dan terdiri dari pasangan nama/nilai. Contohnya:
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.
		

Contoh di atas menggunakan sub-properti berikut. Silakan lihat enumerasi D2D1_SUBPROPERTY dan D2D1_PROPERTY_TYPE untuk informasi lebih lanjut.

Nama properti Indeks properti Deskripsi properti
Property.Fields D2D1_SUBPROPERTY_FIELDS Properti jenis array yang memberikan informasi tentang setiap bidang dalam enumerasi.
Property.Fields.N N Elemen array yang memberikan nama nilai enumerasi Nth.
Property.Fields.N.Index D2D1_SUBPROPERTY_INDEX Indeks yang sesuai dengan nilai enumerasi Nth.

Persyaratan

   
Klien minimum yang didukung Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 dan Pembaruan Platform untuk Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header d2d1_1.h

Lihat juga

ID2D1Effect

IUnknown