Interface ID2D1Properties (d2d1_1.h)

Representa um conjunto de propriedades associáveis e detectáveis em tempo de execução que permitem que um aplicativo controlado por dados modifique o estado de um efeito Direct2D.

Herança

A interface ID2D1Properties herda da interface IUnknown . ID2D1Propriedades também tem esses tipos de membros:

Métodos

A interface ID2D1Properties tem esses métodos.

 
ID2D1Properties::GetPropertyCount

Obtém o número de propriedades de nível superior.
ID2D1Properties::GetPropertyIndex

Obtém o índice correspondente ao nome da propriedade fornecido.
ID2D1Properties::GetPropertyName

Obtém o nome da propriedade que corresponde ao índice fornecido. Essa é uma sobrecarga de modelo. Consulte Observações.
ID2D1Properties::GetPropertyName

Obtém o nome da propriedade que corresponde ao índice fornecido.
ID2D1Properties::GetPropertyNameLength

Obtém o número de caracteres para o nome da propriedade fornecido. Essa é uma sobrecarga de modelo. Consulte Observações.
ID2D1Properties::GetPropertyNameLength

Obtém o número de caracteres para o nome da propriedade fornecido.
ID2D1Properties::GetSubProperties

Obtém as subpropriedades da propriedade fornecida por índice. Essa é uma sobrecarga de modelo.
ID2D1Properties::GetSubProperties

Obtém as subpropriedades da propriedade fornecida por índice.
ID2D1Properties::GetType

Obtém o D2D1_PROPERTY_TYPE da propriedade selecionada. Essa é uma sobrecarga de modelo. Consulte Observações.
ID2D1Properties::GetType

Obtém o D2D1_PROPERTY_TYPE da propriedade selecionada.
ID2D1Properties::GetValue

Obtém o valor da propriedade por índice. Essa é uma sobrecarga de modelo. Consulte Observações. (sobrecarga 1/2)
ID2D1Properties::GetValue

Obtém o valor da propriedade especificada por índice. Essa é uma sobrecarga de modelo. Consulte Observações.
ID2D1Properties::GetValue

Obtém o valor da propriedade por índice. Essa é uma sobrecarga de modelo. Consulte Observações. (sobrecarga 2/2)
ID2D1Properties::GetValue

Obtém o valor da propriedade especificada por índice. (sobrecarga 1/2)
ID2D1Properties::GetValue

Obtém o valor da propriedade especificada por índice. (sobrecarga 2/2)
ID2D1Properties::GetValueByName

Obtém o valor da propriedade por nome. Essa é uma sobrecarga de modelo. Consulte Observações. (sobrecarga 2/2)
ID2D1Properties::GetValueByName

Obtém o valor da propriedade por nome. (sobrecarga 2/2)
ID2D1Properties::GetValueByName

Obtém o valor da propriedade por nome. (sobrecarga 1/2)
ID2D1Properties::GetValueByName

Obtém o valor da propriedade por nome. Essa é uma sobrecarga de modelo. Consulte Observações. (sobrecarga 1/2)
ID2D1Properties::GetValueSize

Obtém o tamanho do valor da propriedade em bytes, usando o índice de propriedade. Essa é uma sobrecarga de modelo. Consulte Observações.
ID2D1Properties::GetValueSize

Obtém o tamanho do valor da propriedade em bytes, usando o índice de propriedade.
ID2D1Properties::SetValue

Define a propriedade correspondente por índice. Essa é uma sobrecarga de modelo. (sobrecarga 2/2)
ID2D1Properties::SetValue

Define a propriedade correspondente por índice. Essa é uma sobrecarga de modelo. (sobrecarga 1/2)
ID2D1Properties::SetValue

Define a propriedade correspondente por índice. (sobrecarga 1/2)
ID2D1Properties::SetValue

Define a propriedade correspondente por índice. (sobrecarga 2/2)
ID2D1Properties::SetValueByName

Define a propriedade nomeada como o valor fornecido. (sobrecarga 1/2)
ID2D1Properties::SetValueByName

Define a propriedade nomeada como o valor fornecido. Essa é uma sobrecarga de modelo. Consulte Observações.
ID2D1Properties::SetValueByName

Define a propriedade nomeada como o valor fornecido. (sobrecarga 2/2)

Comentários

Essa interface dá suporte ao acesso por meio de índices ou nomes de propriedade. Além das propriedades de nível superior, cada propriedade em um objeto ID2D1Properties pode conter um objeto ID2D1Properties , que armazena metadados que descrevem a propriedade pai.

Visão geral

A interface ID2D1Properties expõe um conjunto de propriedades associáveis e detectáveis em tempo de execução que permitem que um aplicativo controlado por dados, como uma ferramenta de criação de grafo de efeito ou um sistema de animação, modifique o estado de um efeito Direct2D.

A interface dá suporte ao acesso por meio de índices ou nomes de propriedade. Além das propriedades de nível superior, cada propriedade em uma ID2D1Properties pode conter uma interface sub-ID2D1Properties , que armazena metadados que descrevem sua propriedade pai. As subpropriedades são acessadas solicitando essa sub-interface por índice de propriedade ou usando uma cadeia de caracteres de nome de propriedade separada por um ponto (.).

A interface foi projetada intencionalmente para evitar dependências em tempo de execução. Toda a alocação é feita pelo chamador da API e os tipos VARIANT não são usados. A interface de propriedade geralmente é projetada para não retornar falhas em que o aplicativo poderia alterar trivialmente sua sequência de chamadas para evitar a condição. Por exemplo, como o número de propriedades compatíveis com a instância é retornado pelo método GetPropertyCount , outros métodos que usam um índice de propriedade não retornam uma falha, a menos que também usem o sistema de propriedades do efeito plug-in.

A interface é baseada principalmente em um modelo de acesso baseado em índice e dá suporte a subpropriedades aninhadas dentro das propriedades. Ao contrário de uma estrutura de diretório, a própria propriedade tem um valor e um tipo e, opcionalmente, pode dar suporte a subpropriedades (diretórios não são arquivos). Normalmente, são metadados que descrevem a propriedade, mas isso também é usado para especificar matrizes de objetos. Para simplificar o acesso a subpropriedades e permitir o acesso baseado em nome, dois métodos auxiliares – GetValueByName – são definidos. Elas usam uma notação "pontilhada" para permitir que as subpropriedades sejam especificadas diretamente, por exemplo:

alphaMode = pEffect->GetValueByName<UINT32>(L"Inputs.0.AlphaMode");

Ou:

pEffect->SetValueByName<UINT32>(
		    L"Inputs.0.AlphaMode", 
		    DXGI_ALPHA_MODE_PREMULTIPLIED);
		

Propriedades de efeito padrão

Nome/índice da propriedade Tipo de propriedade Descrição da propriedade
CLSID/D2D1_PROPERTY_CLSID D2D1_PROPERTY_TYPE_CLSID O CLSID do efeito.
DisplayName/D2D1_PROPERTY_DISPLAYNAME D2D1_PROPERTY_TYPE_STRING Um nome exibido e localizado para o efeito.
Autor/D2D1_PROPERTY_AUTHOR D2D1_PROPERTY_TYPE_STRING O autor do efeito.
Categoria/D2D1_PROPERTY_CATEGORY D2D1_PROPERTY_TYPE_STRING A categoria do efeito.
Descrição/D2D1_PROPERTY_DESCRIPTION D2D1_PROPERTY_TYPE_STRING Uma descrição do efeito.
Entradas/D2D1_PROPERTY_INPUTS D2D1_PROPERTY_TYPE_ARRAY
Nota Os elementos dessa matriz são do tipo D2D1_PROPERTY_TYPE_STRING.
 
Uma matriz de nomes para as entradas do efeito. Cada elemento da matriz é uma cadeia de caracteres localizada especificando o nome de uma entrada.
 

Sub-Properties Padrão

Veja a seguir as subpropriedades padrão que podem ser usadas para acesso a metadados e podem estar disponíveis nas propriedades personalizadas e do sistema. Consulte as enumerações D2D1_SUBPROPERTY e D2D1_PROPERTY_TYPE para obter mais informações.
Nome/índice da propriedade Tipo de propriedade Descrição da propriedade
DisplayName/D2D1_SUBPROPERTY_DISPLAYNAME D2D1_PROPERTY_TYPE_STRING Um nome exibido e localizado para a propriedade pai.

Essa subpropriedade está presente em todas as propriedades de nível superior.

IsReadOnly/ D2D1_SUBPROPERTY_ISREADONLY D2D1_PROPERTY_TYPE_BOOL Um valor que indica se a propriedade pai pode ser gravada.

Essa subpropriedade está presente em todas as propriedades de nível superior.

Padrão/D2D1_SUBPROPERTY_DEFAULT O mesmo que a propriedade pai. O valor padrão para a propriedade.

Essa subpropriedade está opcionalmente presente em todas as propriedades.

Min/D2D1_SUBPROPERTY_MIN O mesmo que a propriedade pai.
Nota Aplicável somente a propriedades de tipo numérico.
 
O valor mínimo para o qual a propriedade pai dá suporte a ser definida.
Max/D2D1_SUBPROPERTY_MAX O mesmo que a propriedade pai.
Nota Aplicável somente a propriedades de tipo numérico.
 
O valor máximo para o qual a propriedade pai dá suporte a ser definida como.
Campos/D2D1_SUBPROPERTY_FIELDS Matriz/D2D1_PROPERTY_TYPE_ARRAY
Nota Aplicável somente quando a propriedade pai é do tipo Enum.
 
O conjunto de valores válidos que podem ser definidos como a propriedade pai.

Cada valor nessa matriz é um par nome/índice. Os índices podem ser definidos como pai e os nomes são valores localizados projetados para consumo por interface do usuário. Confira a seção a seguir para obter mais detalhes.

 

Sub-Properties de tipo de matriz

Consulte ID2D1Properties::GetType e D2D1_PROPERTY_TYPE para obter mais informações. Se o tipo de propriedade for D2D1_PROPERTY_TYPE_ARRAY, o valor da propriedade será considerado um UINT que tem a contagem de elementos de matriz. A próxima subpropósima mapeará diretamente o índice para o valor da propriedade solicitada. Por exemplo:
Inputs: UINT32 – 2
		Inputs.0 : <Type> – First input
		Inputs.1 : <Type> – Second input
		

O exemplo acima usa as subpropriedades a seguir, que aparecerão nas propriedades do tipo ARRAY. Observe que as propriedades numeradas não são propriedades do sistema e estão no intervalo normal (0x0 – 0x80000000).

Nome da propriedade Índice de propriedades Descrição da propriedade
Property.0 0 Primeiro elemento da matriz de propriedades.
... ... ...
Property.N N Nth elemento da matriz de propriedades.
 

O tipo de cada subconjunto será qualquer que seja o tipo da matriz. No exemplo acima, essa era uma matriz de cadeias de caracteres.

Sub-Properties de Tipo de Enumeração

Se a propriedade tiver o tipo D2D1_PROPERTY_TYPE_ENUM , a propriedade terá o valor da enumeração correspondente. Haverá uma sub matriz de campos que estará em conformidade com as regras gerais para subpropriedades de matriz e consistirá nos pares nome/valor. Por exemplo:
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.
		

O exemplo acima usa as subpropriedades a seguir. Consulte as enumerações D2D1_SUBPROPERTY e D2D1_PROPERTY_TYPE para obter mais informações.

Nome da propriedade Índice de propriedades Descrição da propriedade
Property.Fields D2D1_SUBPROPERTY_FIELDS Uma propriedade de tipo de matriz que fornece informações sobre cada campo na enumeração.
Property.Fields.N N Um elemento de matriz que fornece o nome do valor de enumeração N.
Property.Fields.N.Index D2D1_SUBPROPERTY_INDEX O índice que corresponde ao valor de enumeração N.

Requisitos

   
Cliente mínimo com suporte Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 e Platform Update para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d2d1_1.h

Confira também

ID2D1Effect

IUnknown