Anotação da interface do usuário
Use essa anotação para associar um parâmetro de efeito a um controle de interface do usuário no ambiente do host. Isso permitirá que um usuário controle interativamente um parâmetro de efeito por meio do aplicativo host.
O DXSAS define um conjunto de controles padrão em termos do modelo de dados e do comportamento básico que os autores de efeito podem esperar de aplicativos host. A anotação de controle é usada da seguinte maneira:
string SasUiControl = "ControlType";
onde
ControlType
é um dos seguintes:
ControlType | Descrição | Tipo de dados interno | Anotações de propriedade de controle |
---|---|---|---|
Nenhum | Nenhum controle deve ser mostrado. Observe que um controle ficará visível se SasUiVisible for True e o tipo de controle for qualquer tipo diferente de Nenhum. | n/d | n/d |
Qualquer | Isso implica que nenhum controle especial é solicitado. O controle apresentado é o resultado do comportamento definido pelo aplicativo. | n/d | n/d |
ColorPicker | Represente um valor de cor como uma amostra de cor. O valor é empacotado nos componentes XYZ do vetor associado. O componente W do vetor associado é sempre definido como um. | floatN onde N é 1 a 4 inclusive. | SasUiEnum |
Direção | Um vetor de direção. | floatN onde N é 2 a 4 inclusive. | Nenhum |
FilePicker | Uma caixa de diálogo que permite que o usuário navegue e selecione um arquivo. | string | Nenhum |
Listpicker | Uma lista de valores de cadeia de caracteres da qual o usuário pode selecionar uma entrada. Os valores são gerados com base na anotação SasUiEnum . | Uma matriz de cadeias de caracteres junto com um valor inteiro que contém o índice do valor de cadeia de caracteres selecionado. | SasUiEnum |
Numérico | Um conjunto de controles de entrada numéricos (como caixas de texto). | floatMxN em que M e N são de 1 a 4 inclusive. | SasUiMin, SasUiMax, SasUiStride |
Controle deslizante | Um conjunto de controles deslizantes. | floatMxN onde M e N são de 1 a 4 inclusive | SasUiMin, SasUiMax, SasUiSteps, SasUiStepsPower |
String | Uma caixa de texto para editar o conteúdo da cadeia de caracteres. | string | Nenhum |
Se o tipo de dados interno não for idêntico ao tipo do parâmetro associado, a conversão ocorrerá quando os dados forem transferidos do parâmetro do aplicativo host para o parâmetro de efeito.
O padrão é a cadeia de caracteres "None".
Propriedades comuns da interface do usuário
SasUiDescription
Use essa anotação para especificar uma cadeia de caracteres para descrever uma ferramenta. Isso pode ser usado para elementos de interface do usuário, como dicas de ferramenta.
string SasUiDescription = "descriptive string";
Por exemplo:
float3 UpNormal
<
string SasUiDescription = "The normalized up vector";
>;
O padrão é uma cadeia de caracteres vazia.
SasUiLabel
Use essa anotação para especificar uma cadeia de caracteres para rotular qualquer controle de interface do usuário.
string SasUiLabel = "some label;
Veja um exemplo:
float3 UpNormal
<
string SasUiLabel = "Normal that points up.";
>;
O padrão é uma cadeia de caracteres vazia.
SasUiVisible
Use essa anotação para especificar se o parâmetro associado deve ser exibido para o usuário.
bool SasUiVisible = false;
Se definido como True, o aplicativo host deverá exibir um controle de interface do usuário para editar o parâmetro de efeito anotado. Se for false, nenhuma interface do usuário será exibida no aplicativo host.
Veja um exemplo:
float3 UpNormal
<
string SasUiVisible = false;
>;
O padrão é True.
Propriedades do controle de interface do usuário
Anotações de propriedade de controle são modificadores adicionais que ajudam a determinar como um controle específico opera.
SasUiEnum
Essa anotação permite restringir o intervalo de valores de um controle. A anotação contém uma cadeia de caracteres de valores delimitados por vírgulas.
O padrão é uma cadeia de caracteres vazia.
SasUiMax
Essa anotação especifica o valor máximo do parâmetro associado. Ele só pode ser associado a um parâmetro numericamente tipado. O valor máximo do parâmetro será calculado como:
MaxValue = min(FLT_MAX, PARAMETER_TYPE_MAX);
PARAMETER_TYPE_MAX é o valor máximo para o tipo usado pelo parâmetro associado. Isso significa que o valor do parâmetro , levando em conta a anotação SasUiMax é calculado como:
ParameterValue = min(NewParameterValue, MaxValue);
O valor padrão é FLT_MAX conforme definido em Math.h.
SasUiMin
Essa anotação especifica o valor mínimo do parâmetro associado. Ele só pode ser associado a qualquer parâmetro numericamente tipado. O valor mínimo do parâmetro será calculado como:
MinValue = max(-FLT_MAX, PARAMETER_TYPE_MIN);
PARAMETER_TYPE_MIN é o valor mínimo para o tipo usado pelo parâmetro associado. Isso significa que o valor do parâmetro , levando em conta a anotação SasUiMin é calculado como:
ParameterValue = max(NewParameterValue, MinValue);
O valor padrão é -FLT_MAX conforme definido em Math.h.
SasUiSteps
Essa anotação especifica o número de etapas que podem ser usadas ao incrementar ou diminuir o valor do parâmetro associado. A anotação só é significativa em um parâmetro de tipo numericamente. Zero especifica que o aplicativo host escolherá um número razoável de etapas.
O valor padrão é 0.
SasUiStepsPower
Essa anotação especifica o expoente na função de energia, que tem o intervalo [0.0f, 1.0f]. Os aplicativos host devem implementar o seguinte método ao calcular valores de parâmetro:
ParameterValue = ((SasUiMax - SasUiMin) x pow(UI_VALUE, SasUiStepsPower) + SasUiMin
O valor padrão é 1.0f.
SasUiStride
Essa anotação especifica o incremento que deve ser usado ao incrementar ou diminuir esse valor. Ao contrário de SasUiSteps, SasUiStride é útil com um controle spinner, por exemplo, em que os dados não são associados e o usuário prefere incrementar o valor do parâmetro por passo em vez de por um número predefinido de etapas. Os aplicativos host devem incrementar (ou diminuir dependendo do comportamento do controle) pelo valor de SasUiStride da seguinte maneira:
ParameterValue = ParameterValue +/- SasUiStride
O valor padrão é 1.0f.
Tópicos relacionados