Интерфейс 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 может содержать интерфейс sub-ID2D1Properties , в котором хранятся метаданные, описывающие его родительское свойство. Доступ к вложенным свойствам можно получить путем запроса этого вложенного интерфейса по индексу свойств или с помощью строки имени свойства, разделенной точкой (.).
Интерфейс специально разработан таким образом, чтобы избежать зависимостей во время выполнения. Все выделение выполняется вызывающим методом API, а типы VARIANT не используются. Интерфейс свойств обычно не предназначен для возврата ошибок, когда приложение может тривиально изменить последовательность вызовов, чтобы избежать условия. Например, так как количество свойств, поддерживаемых экземпляром , возвращается методом 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 Примечание Применимо, только если родительское свойство имеет тип Enum.
|
Набор допустимых значений, которым может быть присвоено родительское свойство.
Каждое значение в этом массиве представляет собой пару "имя-индекс". Для индексов можно задать родительский объект, а имена — это локализованные значения, предназначенные для использования в пользовательском интерфейсе. Дополнительные сведения см. в следующем разделе. |
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 enum-Type
Если свойство имеет тип 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-го значения перечисления. |
Property.Fields.N.Index | D2D1_SUBPROPERTY_INDEX | Индекс, соответствующийзначению N-го перечисления. |
Требования
Минимальная версия клиента | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | d2d1_1.h |