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

関連項目

ID2D1Effect

IUnknown