ID2D1속성 인터페이스(d2d1_1.h)
데이터 기반 애플리케이션이 Direct2D 효과의 상태를 수정할 수 있도록 하는 런타임 바인딩 가능 및 검색 가능한 속성 집합을 나타냅니다.
상속
ID2D1Properties 인터페이스는 IUnknown 인터페이스에서 상속됩니다. ID2D1Properties 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
ID2D1Properties 인터페이스에는 이러한 메서드가 있습니다.
ID2D1속성::GetPropertyCount 최상위 속성의 수를 가져옵니다. |
ID2D1속성::GetPropertyIndex 지정된 속성 이름에 해당하는 인덱스 를 가져옵니다. |
ID2D1속성::GetPropertyName 지정된 인덱스에 해당하는 속성 이름을 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. |
ID2D1속성::GetPropertyName 지정된 인덱스에 해당하는 속성 이름을 가져옵니다. |
ID2D1속성::GetPropertyNameLength 지정된 속성 이름의 문자 수를 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. |
ID2D1속성::GetPropertyNameLength 지정된 속성 이름의 문자 수를 가져옵니다. |
ID2D1속성::GetSubProperties 인덱스별로 제공된 속성의 하위 속성을 가져옵니다. 템플릿 오버로드입니다. |
ID2D1속성::GetSubProperties 인덱스별로 제공된 속성의 하위 속성을 가져옵니다. |
ID2D1속성::GetType 선택한 속성의 D2D1_PROPERTY_TYPE 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. |
ID2D1속성::GetType 선택한 속성의 D2D1_PROPERTY_TYPE 가져옵니다. |
ID2D1속성::GetValue 인덱스별로 속성의 값을 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. (오버로드 1/2) |
ID2D1속성::GetValue 인덱스별로 지정된 속성의 값을 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. |
ID2D1속성::GetValue 인덱스별로 속성의 값을 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. (오버로드 2/2) |
ID2D1속성::GetValue 인덱스별로 지정된 속성의 값을 가져옵니다. (오버로드 1/2) |
ID2D1속성::GetValue 인덱스별로 지정된 속성의 값을 가져옵니다. (오버로드 2/2) |
ID2D1속성::GetValueByName 이름으로 속성 값을 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. (오버로드 2/2) |
ID2D1속성::GetValueByName 이름으로 속성 값을 가져옵니다. (오버로드 2/2) |
ID2D1속성::GetValueByName 이름으로 속성 값을 가져옵니다. (오버로드 1/2) |
ID2D1속성::GetValueByName 이름으로 속성 값을 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. (오버로드 1/2) |
ID2D1속성::GetValueSize 속성 인덱스 를 사용하여 속성 값의 크기를 바이트 단위로 가져옵니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. |
ID2D1속성::GetValueSize 속성 인덱스 를 사용하여 속성 값의 크기를 바이트 단위로 가져옵니다. |
ID2D1속성::SetValue 인덱스별로 해당 속성을 설정합니다. 템플릿 오버로드입니다. (오버로드 2/2) |
ID2D1속성::SetValue 인덱스별로 해당 속성을 설정합니다. 템플릿 오버로드입니다. (오버로드 1/2) |
ID2D1속성::SetValue 인덱스별로 해당 속성을 설정합니다. (오버로드 1/2) |
ID2D1속성::SetValue 인덱스별로 해당 속성을 설정합니다. (오버로드 2/2) |
ID2D1속성::SetValueByName 명명된 속성을 지정된 값으로 설정합니다. (오버로드 1/2) |
ID2D1속성::SetValueByName 명명된 속성을 지정된 값으로 설정합니다. 템플릿 오버로드입니다. 설명 부분을 참조하세요. |
ID2D1Properties::SetValueByName 명명된 속성을 지정된 값으로 설정합니다. (오버로드 2/2) |
설명
이 인터페이스는 인덱스 또는 속성 이름을 통한 액세스를 지원합니다. 최상위 속성 외에도 ID2D1Properties 개체의 각 속성에는 부모 속성을 설명하는 메타데이터를 저장하는 ID2D1Properties 개체가 포함될 수 있습니다.
개요
ID2D1Properties 인터페이스는 효과 그래프 작성 도구 또는 애니메이션 시스템과 같은 데이터 기반 애플리케이션이 Direct2D 효과의 상태를 수정할 수 있도록 하는 런타임 바인딩 가능하고 검색 가능한 속성 집합을 노출합니다.인터페이스는 인덱스 또는 속성 이름을 통한 액세스를 지원합니다. 최상위 속성 외에도 ID2D1Properties 의 각 속성에는 부모 속성을 설명하는 메타데이터를 저장하는 하위 ID2D1Properties 인터페이스가 포함될 수 있습니다. 하위 속성은 속성 인덱스별로 이 하위 인터페이스를 요청하거나 점(.)으로 구분된 속성 이름 문자열을 사용하여 액세스합니다.
인터페이스는 런타임 기준으로 종속성을 방지하기 위해 의도적으로 설계되었습니다. 모든 할당은 API의 호출자에 의해 수행되며 VARIANT 형식은 사용되지 않습니다. 속성 인터페이스는 일반적으로 애플리케이션이 조건을 방지하기 위해 호출 시퀀스를 간단하게 변경할 수 있는 오류를 반환하지 않도록 설계되었습니다. 예를 들어 instance 지원하는 속성 수가 GetPropertyCount 메서드에서 반환되므로 속성 인덱스도 사용하는 다른 메서드는 플러그 인 효과의 속성 시스템도 사용하지 않는 한 오류를 반환하지 않습니다.
인터페이스는 주로 인덱스 기반 액세스 모델을 기반으로 하며 속성 내에서 중첩된 하위 속성을 지원합니다. 디렉터리 구조와 달리 속성 자체는 값과 형식을 가지며 필요에 따라 하위 속성(디렉터리는 파일이 아님)을 지원할 수 있습니다. 일반적으로 속성을 설명하는 메타데이터이지만 개체 배열을 지정하는 데도 사용됩니다. 하위 속성에 대한 액세스를 간소화하고 이름 기반 액세스를 허용하기 위해 GetValueByName 이라는 두 가지 도우미 메서드가 정의됩니다. 예를 들어 하위 속성을 직접 지정할 수 있도록 하려면 "점선" 표기법을 사용합니다.
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 형식입니다.
|
효과의 입력에 대한 이름 배열입니다. 배열의 각 요소는 입력 이름을 지정하는 지역화된 문자열입니다. |
표준 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 참고 부모 속성이 열거형 형식인 경우에만 적용됩니다.
|
부모 속성으로 설정할 수 있는 유효한 값 집합입니다.
이 배열의 각 값은 이름/인덱스 쌍입니다. 인덱스를 부모로 설정할 수 있으며 이름은 UI에서 사용하도록 설계된 지역화된 값입니다. 자세한 내용은 다음 섹션을 참조하세요. |
Array-Type Sub-Properties
자세한 내용은 ID2D1Properties::GetType 및 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 |