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 |