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 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

Consulte también

ID2D1Effect

IUnknown