ID2D1Properties インターフェイス (d2d1_1.h)
データ ドリブン アプリケーションが Direct2D 効果の状態を変更できるようにする、実行時のバインド可能なプロパティと検出可能なプロパティのセットを表します。
継承
ID2D1Properties インターフェイスは、IUnknown インターフェイスから継承されます。 ID2D1Properties には、次の種類のメンバーもあります。
メソッド
ID2D1Properties インターフェイスには、これらのメソッドがあります。
ID2D1Properties::GetPropertyCount 最上位レベルのプロパティの数を取得します。 |
ID2D1Properties::GetPropertyIndex 指定したプロパティ名に対応するインデックスを取得します。 |
ID2D1Properties::GetPropertyName 指定したインデックスに対応するプロパティ名を取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 |
ID2D1Properties::GetPropertyName 指定したインデックスに対応するプロパティ名を取得します。 |
ID2D1Properties::GetPropertyNameLength 指定したプロパティ名の文字数を取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 |
ID2D1Properties::GetPropertyNameLength 指定したプロパティ名の文字数を取得します。 |
ID2D1Properties::GetSubProperties 指定されたプロパティのサブプロパティをインデックスで取得します。 これはテンプレート オーバーロードです。 |
ID2D1Properties::GetSubProperties 指定されたプロパティのサブプロパティをインデックスで取得します。 |
ID2D1Properties::GetType 選択したプロパティのD2D1_PROPERTY_TYPEを取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 |
ID2D1Properties::GetType 選択したプロパティのD2D1_PROPERTY_TYPEを取得します。 |
ID2D1Properties::GetValue インデックスによって プロパティの値を取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 (オーバーロード 1/2) |
ID2D1Properties::GetValue 指定したプロパティの値をインデックスで取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 |
ID2D1Properties::GetValue インデックスによって プロパティの値を取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 (オーバーロード 2/2) |
ID2D1Properties::GetValue 指定したプロパティの値をインデックスで取得します。 (オーバーロード 1/2) |
ID2D1Properties::GetValue 指定したプロパティの値をインデックスで取得します。 (オーバーロード 2/2) |
ID2D1Properties::GetValueByName プロパティ値を名前で取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 (オーバーロード 2/2) |
ID2D1Properties::GetValueByName プロパティ値を名前で取得します。 (オーバーロード 2/2) |
ID2D1Properties::GetValueByName プロパティ値を名前で取得します。 (オーバーロード 1/2) |
ID2D1Properties::GetValueByName プロパティ値を名前で取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 (オーバーロード 1/2) |
ID2D1Properties::GetValueSize プロパティ インデックスを使用して、プロパティ値のサイズをバイト単位で取得します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 |
ID2D1Properties::GetValueSize プロパティ インデックスを使用して、プロパティ値のサイズをバイト単位で取得します。 |
ID2D1Properties::SetValue 対応するプロパティをインデックスで設定します。 これはテンプレート オーバーロードです。 (オーバーロード 2/2) |
ID2D1Properties::SetValue 対応するプロパティをインデックスで設定します。 これはテンプレート オーバーロードです。 (オーバーロード 1/2) |
ID2D1Properties::SetValue 対応するプロパティをインデックスで設定します。 (オーバーロード 1/2) |
ID2D1Properties::SetValue 対応するプロパティをインデックスで設定します。 (オーバーロード 2/2) |
ID2D1Properties::SetValueByName 指定した値に名前付きプロパティを設定します。 (オーバーロード 1/2) |
ID2D1Properties::SetValueByName 指定した値に名前付きプロパティを設定します。 これはテンプレート オーバーロードです。 「解説」を参照してください。 |
ID2D1Properties::SetValueByName 指定した値に名前付きプロパティを設定します。 (オーバーロード 2/2) |
解説
このインターフェイスでは、インデックスまたはプロパティ名を使用したアクセスがサポートされています。 最上位レベルのプロパティに加えて、 ID2D1Properties オブジェクトの各プロパティには、親プロパティを記述するメタデータを格納する ID2D1Properties オブジェクトが含まれる場合があります。
概要
ID2D1Properties インターフェイスは、エフェクト グラフ作成ツールやアニメーション システムなどのデータ ドリブン アプリケーションが Direct2D 効果の状態を変更できるようにする、実行時のバインド可能で検出可能なプロパティのセットを公開します。インターフェイスは、インデックスまたはプロパティ名を使用したアクセスをサポートします。 最上位レベルのプロパティに加えて、 ID2D1Properties の各プロパティには、親プロパティを記述するメタデータを格納するサブ ID2D1Properties インターフェイスが含まれる場合があります。 サブプロパティには、このサブインターフェイスをプロパティ インデックスで要求するか、ドット (.) で区切られたプロパティ名文字列を使用してアクセスします。
インターフェイスは、実行時に依存関係を回避するように意図的に設計されています。 すべての割り当ては API の呼び出し元によって行われ、 VARIANT 型は使用されません。 プロパティ インターフェイスは、通常、条件を回避するためにアプリケーションが呼び出しシーケンスを簡単に変更できるエラーを返さないように設計されています。 たとえば、インスタンスでサポートされるプロパティの数は GetPropertyCount メソッドによって返されるため、プラグイン効果のプロパティ システムも使用しない限り、プロパティ インデックスを受け取る他のメソッドはエラーを返しません。
インターフェイスは、主にインデックスベースのアクセス モデルに基づいており、プロパティ内の入れ子になったサブプロパティをサポートします。 ディレクトリ構造とは異なり、プロパティ自体には値と型があり、必要に応じてサブプロパティをサポートする場合があります (ディレクトリはファイルではありません)。 これらは通常、 プロパティを記述するメタデータですが、これはオブジェクトの配列を指定するためにも使用されます。 サブプロパティへのアクセスを簡略化し、名前ベースのアクセスを許可するために、 GetValueByName という 2 つのヘルパー メソッドが定義されています。 これらは、サブプロパティを直接指定できるようにするために、"点線" 表記を使用します。次に例を示します。
alphaMode = pEffect->GetValueByName<UINT32>(L"Inputs.0.AlphaMode");
または:
pEffect->SetValueByName<UINT32>(
L"Inputs.0.AlphaMode",
DXGI_ALPHA_MODE_PREMULTIPLIED);
標準効果のプロパティ
プロパティ名/インデックス | プロパティの種類 | プロパティの説明 |
---|---|---|
CLSID / D2D1_PROPERTY_CLSID | D2D1_PROPERTY_TYPE_CLSID | 効果の CLSID。 |
DisplayName /D2D1_PROPERTY_DISPLAYNAME | D2D1_PROPERTY_TYPE_STRING | 効果の表示可能なローカライズされた名前。 |
作成者/D2D1_PROPERTY_AUTHOR | D2D1_PROPERTY_TYPE_STRING | 効果の作成者。 |
カテゴリ/D2D1_PROPERTY_CATEGORY | D2D1_PROPERTY_TYPE_STRING | 効果のカテゴリ。 |
説明/D2D1_PROPERTY_DESCRIPTION | D2D1_PROPERTY_TYPE_STRING | 効果の説明。 |
入力/D2D1_PROPERTY_INPUTS | D2D1_PROPERTY_TYPE_ARRAY メモ この配列の要素は、D2D1_PROPERTY_TYPE_STRING型です。
|
エフェクトの入力の名前の配列。 配列の各要素は、入力の名前を指定するローカライズされた文字列です。 |
Standard Sub-Properties
メタデータ アクセスに使用できる標準のサブプロパティを次に示します。システム プロパティとカスタム プロパティの両方で使用できます。 詳細については、 D2D1_SUBPROPERTY および D2D1_PROPERTY_TYPE 列挙を参照してください。プロパティ名/インデックス | プロパティの種類 | プロパティの説明 |
---|---|---|
DisplayName /D2D1_SUBPROPERTY_DISPLAYNAME | D2D1_PROPERTY_TYPE_STRING |
親プロパティの表示可能なローカライズされた名前。
このサブプロパティは、最上位のすべてのプロパティに存在します。 |
IsReadOnly / D2D1_SUBPROPERTY_ISREADONLY | D2D1_PROPERTY_TYPE_BOOL |
親プロパティを書き込むことができるかどうかを示す値。
このサブプロパティは、最上位のすべてのプロパティに存在します。 |
既定/D2D1_SUBPROPERTY_DEFAULT | 親プロパティと同じです。 |
プロパティの既定値。
このサブプロパティは、必要に応じてすべてのプロパティに存在します。 |
最小/ D2D1_SUBPROPERTY_MIN | 親プロパティと同じです。
メモ 数値型のプロパティにのみ適用されます。
|
親プロパティがサポートする設定の最小値。 |
最大 / D2D1_SUBPROPERTY_MAX | 親プロパティと同じです。
メモ 数値型のプロパティにのみ適用されます。
|
親プロパティがサポートする設定の最大値。 |
フィールド/D2D1_SUBPROPERTY_FIELDS | 配列/D2D1_PROPERTY_TYPE_ARRAY メモ 親プロパティが Enum 型の場合にのみ適用されます。
|
親プロパティに設定できる有効な値のセット。
この配列内の各値は、名前とインデックスのペアです。 インデックスは親に設定でき、名前は UI で使用できるように設計されたローカライズされた値です。 詳細については、次のセクションを参照してください。 |
配列型の Sub-Properties
詳細については、「 ID2D1Properties::GetType and D2D1_PROPERTY_TYPE 」を参照してください。 プロパティ型が D2D1_PROPERTY_TYPE_ARRAYの場合、プロパティの値は、配列要素の数を持つ UINT と見なされます。 次のサブプロパティは、インデックスを要求されたプロパティ値に直接マップします。 たとえば次のような点です。Inputs: UINT32 – 2
Inputs.0 : <Type> – First input
Inputs.1 : <Type> – Second input
上記の例では、 ARRAY 型のプロパティに表示される次のサブプロパティを使用しています。 番号付きプロパティはシステム プロパティではなく、標準 (0x0 – 0x80000000) の範囲内であることに注意してください。
プロパティ名 | プロパティ インデックス | プロパティの説明 |
---|---|---|
Property.0 | 0 | プロパティ配列の最初の要素。 |
... | ... | ... |
Property.N | N | プロパティ配列の N番目の要素。 |
各サブ要素の型は、配列の型に関係なく行われます。 上記の例では、これは文字列の配列でした。
列挙型の Sub-Properties
プロパティの型 がD2D1_PROPERTY_TYPE_ENUM 場合、プロパティは対応する列挙体の値を持ちます。 配列サブプロパティの一般的な規則に準拠し、名前と値のペアで構成されるフィールドのサブ配列があります。 たとえば次のような点です。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.
上記の例では、次のサブプロパティを使用します。 詳細については、 D2D1_SUBPROPERTY および D2D1_PROPERTY_TYPE 列挙を参照してください。
プロパティ名 | プロパティ インデックス | プロパティの説明 |
---|---|---|
Property.Fields | D2D1_SUBPROPERTY_FIELDS | 列挙体の各フィールドに関する情報を提供する配列型プロパティ。 |
Property.Fields.N | N | N番目の列挙値の名前を指定する配列要素。 |
Property.Fields.N.Index | D2D1_SUBPROPERTY_INDEX | N番目の列挙値に対応するインデックス。 |
要件
サポートされている最小のクライアント | Windows 8 および Windows 7 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 および Windows Server 2008 R2 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d2d1_1.h |