Interfaz ID2D1Properties (d2d1_1.h)
Representa un conjunto de propiedades enlazables en tiempo de ejecución y detectables que permiten a una aplicación controlada por datos modificar el estado de un efecto Direct2D.
Herencia
La interfaz ID2D1Properties hereda de la interfaz IUnknown . ID2D1Properties también tiene estos tipos de miembros:
Métodos
La interfaz ID2D1Properties tiene estos métodos.
ID2D1Properties::GetPropertyCount Obtiene el número de propiedades de nivel superior. |
ID2D1Properties::GetPropertyIndex Obtiene el índice correspondiente al nombre de propiedad especificado. |
ID2D1Properties::GetPropertyName Obtiene el nombre de propiedad que corresponde al índice especificado. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. |
ID2D1Properties::GetPropertyName Obtiene el nombre de propiedad que corresponde al índice especificado. |
ID2D1Properties::GetPropertyNameLength Obtiene el número de caracteres para el nombre de propiedad especificado. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. |
ID2D1Properties::GetPropertyNameLength Obtiene el número de caracteres para el nombre de propiedad especificado. |
ID2D1Properties::GetSubProperties Obtiene las subpropiedades de la propiedad proporcionada por índice. Se trata de una sobrecarga de plantilla. |
ID2D1Properties::GetSubProperties Obtiene las subpropiedades de la propiedad proporcionada por índice. |
ID2D1Properties::GetType Obtiene el D2D1_PROPERTY_TYPE de la propiedad seleccionada. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. |
ID2D1Properties::GetType Obtiene el D2D1_PROPERTY_TYPE de la propiedad seleccionada. |
ID2D1Properties::GetValue Obtiene el valor de la propiedad por índice. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. (sobrecarga 1/2) |
ID2D1Properties::GetValue Obtiene el valor de la propiedad especificada por índice. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. |
ID2D1Properties::GetValue Obtiene el valor de la propiedad por índice. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. (sobrecarga 2/2) |
ID2D1Properties::GetValue Obtiene el valor de la propiedad especificada por índice. (sobrecarga 1/2) |
ID2D1Properties::GetValue Obtiene el valor de la propiedad especificada por índice. (sobrecarga 2/2) |
ID2D1Properties::GetValueByName Obtiene el valor de propiedad por nombre. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. (sobrecarga 2/2) |
ID2D1Properties::GetValueByName Obtiene el valor de propiedad por nombre. (sobrecarga 2/2) |
ID2D1Properties::GetValueByName Obtiene el valor de propiedad por nombre. (sobrecarga 1/2) |
ID2D1Properties::GetValueByName Obtiene el valor de propiedad por nombre. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. (sobrecarga 1/2) |
ID2D1Properties::GetValueSize Obtiene el tamaño del valor de propiedad en bytes, utilizando el índice de propiedades. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. |
ID2D1Properties::GetValueSize Obtiene el tamaño del valor de propiedad en bytes, utilizando el índice de propiedades. |
ID2D1Properties::SetValue Establece la propiedad correspondiente por índice. Se trata de una sobrecarga de plantilla. (sobrecarga 2/2) |
ID2D1Properties::SetValue Establece la propiedad correspondiente por índice. Se trata de una sobrecarga de plantilla. (sobrecarga 1/2) |
ID2D1Properties::SetValue Establece la propiedad correspondiente por índice. (sobrecarga 1/2) |
ID2D1Properties::SetValue Establece la propiedad correspondiente por índice. (sobrecarga 2/2) |
ID2D1Properties::SetValueByName Establece la propiedad con nombre en el valor especificado. (sobrecarga 1/2) |
ID2D1Properties::SetValueByName Establece la propiedad con nombre en el valor especificado. Se trata de una sobrecarga de plantilla. Vea la sección Comentarios. |
ID2D1Properties::SetValueByName Establece la propiedad con nombre en el valor especificado. (sobrecarga 2/2) |
Comentarios
Esta interfaz admite el acceso a través de índices o nombres de propiedad. Además de las propiedades de nivel superior, cada propiedad de un objeto ID2D1Properties puede contener un objeto ID2D1Properties , que almacena metadatos que describen la propiedad primaria.
Visión general
La interfaz ID2D1Properties expone un conjunto de propiedades enlazables en tiempo de ejecución y detectables que permiten que una aplicación controlada por datos, como una herramienta de creación de gráficos de efectos o un sistema de animación, modifique el estado de un efecto Direct2D.La interfaz admite el acceso a través de índices o nombres de propiedad. Además de las propiedades de nivel superior, cada propiedad de una propiedad ID2D1Properties puede contener una interfaz sub-ID2D1Properties , que almacena metadatos que describen su propiedad primaria. Se tiene acceso a las subpropiedades solicitando esta subfase por índice de propiedad o mediante una cadena de nombre de propiedad separada por un punto (.).
La interfaz está diseñada intencionadamente para evitar dependencias en tiempo de ejecución. El autor de la llamada de la API y los tipos VARIANT no se usan todas las asignaciones. La interfaz de propiedad generalmente está diseñada para no devolver errores en los que la aplicación podría cambiar trivialmente su secuencia de llamadas para evitar la condición. Por ejemplo, dado que el método GetPropertyCount devuelve el número de propiedades admitidas por la instancia, otros métodos que toman un índice de propiedades no devuelven un error, a menos que también usen el sistema de propiedades del efecto de complemento.
La interfaz se basa principalmente en un modelo de acceso basado en índices y admite subpropiedades anidadas dentro de las propiedades. A diferencia de una estructura de directorios, la propia propiedad tiene un valor y un tipo y, opcionalmente, podría admitir subpropiedades (los directorios no son archivos). Normalmente, son metadatos que describen la propiedad, pero también se usa para especificar matrices de objetos. Para simplificar el acceso a las subpropiedades y permitir el acceso basado en nombres, se definen dos métodos auxiliares ( GetValueByName ). Estos usan una notación "punteada" para permitir que las subpropiedades se especifiquen directamente, por ejemplo:
alphaMode = pEffect->GetValueByName<UINT32>(L"Inputs.0.AlphaMode");
O:
pEffect->SetValueByName<UINT32>(
L"Inputs.0.AlphaMode",
DXGI_ALPHA_MODE_PREMULTIPLIED);
Propiedades de efecto estándar
Nombre o índice de la propiedad | Tipo de propiedad | Descripción de la propiedad |
---|---|---|
CLSID/D2D1_PROPERTY_CLSID | D2D1_PROPERTY_TYPE_CLSID | CLSID del efecto. |
DisplayName/D2D1_PROPERTY_DISPLAYNAME | D2D1_PROPERTY_TYPE_STRING | Un nombre que se puede mostrar y localizado para el efecto. |
Autor/D2D1_PROPERTY_AUTHOR | D2D1_PROPERTY_TYPE_STRING | Autor del efecto. |
Categoría/D2D1_PROPERTY_CATEGORY | D2D1_PROPERTY_TYPE_STRING | Categoría del efecto. |
Descripción/D2D1_PROPERTY_DESCRIPTION | D2D1_PROPERTY_TYPE_STRING | Descripción del efecto. |
Entradas/D2D1_PROPERTY_INPUTS | D2D1_PROPERTY_TYPE_ARRAY Nota Los elementos de esta matriz son de tipo D2D1_PROPERTY_TYPE_STRING.
|
Matriz de nombres para las entradas del efecto. Cada elemento de la matriz es una cadena localizada que especifica el nombre de una entrada. |
Sub-Properties estándar
A continuación se muestran las subpropiedades estándar que se pueden usar para el acceso a metadatos y pueden estar disponibles en propiedades personalizadas y del sistema. Consulte las enumeraciones D2D1_SUBPROPERTY y D2D1_PROPERTY_TYPE para obtener más información.Nombre o índice de la propiedad | Tipo de propiedad | Descripción de la propiedad |
---|---|---|
DisplayName/D2D1_SUBPROPERTY_DISPLAYNAME | D2D1_PROPERTY_TYPE_STRING |
Nombre que se puede mostrar y localizado para la propiedad primaria.
Esta subpropiedad está presente en todas las propiedades de nivel superior. |
IsReadOnly/D2D1_SUBPROPERTY_ISREADONLY | D2D1_PROPERTY_TYPE_BOOL |
Valor que indica si la propiedad primaria se puede escribir en.
Esta subpropiedad está presente en todas las propiedades de nivel superior. |
Valor predeterminado/D2D1_SUBPROPERTY_DEFAULT | Igual que la propiedad primaria. |
Valor predeterminado de la propiedad.
Esta subpropiedad está presente opcionalmente en todas las propiedades. |
Min/D2D1_SUBPROPERTY_MIN | Igual que la propiedad primaria.
Nota Solo se aplica a las propiedades de tipo numérico.
|
Valor mínimo en el que la propiedad primaria admite establecerse. |
Máx/ D2D1_SUBPROPERTY_MAX | Igual que la propiedad primaria.
Nota Solo se aplica a las propiedades de tipo numérico.
|
Valor máximo en el que se admite la propiedad primaria. |
Campos/D2D1_SUBPROPERTY_FIELDS | Matriz/D2D1_PROPERTY_TYPE_ARRAY Nota Solo es aplicable cuando la propiedad primaria es de tipo Enum.
|
Conjunto de valores válidos que se pueden establecer en la propiedad primaria.
Cada valor de esta matriz es un par nombre/índice. Los índices se pueden establecer en el elemento primario y los nombres son valores localizados diseñados para su consumo por interfaz de usuario. Vea la siguiente sección para obtener más información. |
Sub-Properties de tipo de matriz
Consulte ID2D1Properties::GetType y D2D1_PROPERTY_TYPE para obtener más información. Si el tipo de propiedad es D2D1_PROPERTY_TYPE_ARRAY, el valor de la propiedad se considerará un UINT que tiene el recuento de elementos de matriz. La siguiente subpropeta asignará directamente el índice al valor de propiedad solicitado. Por ejemplo:Inputs: UINT32 – 2
Inputs.0 : <Type> – First input
Inputs.1 : <Type> – Second input
El ejemplo anterior usa las siguientes subpropiedades, que aparecerán en las propiedades de tipo ARRAY. Tenga en cuenta que las propiedades numeradas no son propiedades del sistema y están en el intervalo normal (0x0 – 0x80000000).
Nombre de propiedad | Índice de propiedades | Descripción de la propiedad |
---|---|---|
Propiedad.0 | 0 | Primer elemento de la matriz de propiedades. |
... | ... | ... |
Propiedad.N | N | Nºelemento de la matriz de propiedades. |
El tipo de cada subelemento será el tipo de la matriz. En el ejemplo anterior, se trata de una matriz de cadenas.
Enum-Type Sub-Properties
Si la propiedad tiene el tipo D2D1_PROPERTY_TYPE_ENUM , la propiedad tendrá el valor de la enumeración correspondiente. Habrá una sub array de campos que se ajustarán a las reglas generales de las subpropiedades de matriz y constarán de los pares nombre-valor. Por ejemplo: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.
En el ejemplo anterior se usa la subpropiedad siguiente. Consulte las enumeraciones D2D1_SUBPROPERTY y D2D1_PROPERTY_TYPE para obtener más información.
Nombre de propiedad | Índice de propiedades | Descripción de la propiedad |
---|---|---|
Property.Fields | D2D1_SUBPROPERTY_FIELDS | Propiedad de tipo de matriz que proporciona información sobre cada campo de la enumeración. |
Property.Fields.N | N | Elemento de matriz que proporciona el nombre del valor de enumeración N. |
Property.Fields.N.Index | D2D1_SUBPROPERTY_INDEX | Índice que corresponde al valor de enumeración N. |
Requisitos
Cliente mínimo compatible | Actualización de windows 8 y plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 y Actualización de plataforma para Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | d2d1_1.h |