Condividi tramite


Annotazione dell'interfaccia utente

Usare questa annotazione per associare un parametro di effetto a un controllo dell'interfaccia utente nell'ambiente host. In questo modo un utente potrà controllare in modo interattivo un parametro di effetto tramite l'applicazione host.

DXSAS definisce un set di controlli standard in termini di modello di dati e comportamento di base che gli autori possono aspettarsi dalle applicazioni host. L'annotazione del controllo viene usata come segue:

string SasUiControl = "ControlType";

dove

ControlType

è uno dei seguenti:

ControlType Descrizione Tipo di dati interno Annotazioni delle proprietà control
Nessuno Non deve essere visualizzato alcun controllo. Si noti che un controllo è visibile se SasUiVisible è True e il tipo di controllo è qualsiasi tipo diverso da Nessuno. n/d n/d
Qualsiasi Ciò implica che non viene richiesto alcun controllo speciale. Il controllo presentato è il risultato del comportamento definito dall'applicazione. n/d n/d
ColorPicker Rappresenta un valore di colore come campione di colore. Il valore viene compresso nei componenti XYZ del vettore associato. Il componente W del vettore associato è sempre impostato su uno. floatN dove N è compreso tra 1 e 4. SasUiEnum
Direction Vettore di direzione. floatN dove N è compreso tra 2 e 4. Nessuno
FilePicker Finestra di dialogo che consente all'utente di esplorare e selezionare un file. string Nessuno
ListPicker Elenco di valori stringa da cui l'utente può selezionare una voce. I valori vengono generati dall'annotazione SasUiEnum . Matrice di stringhe insieme a un valore integer contenente l'indice del valore stringa selezionato. SasUiEnum
Numeric Set di controlli di input numerici, ad esempio caselle di testo. floatMxN dove M e N sono compresi da 1 a 4. SasUiMin, SasUiMax, SasUiStride
Slider Set di dispositivi di scorrimento. floatMxN dove M e N sono 1-4 inclusivi SasUiMin, SasUiMax, SasUiSteps, SasUiStepsPower
string Casella di testo per la modifica del contenuto stringa. string Nessuno

 

Se il tipo di dati interno non è identico al tipo di parametro associato, il cast si verifica quando i dati vengono trasferiti dal parametro dell'applicazione host al parametro dell'effetto.

Il valore predefinito è la stringa "Nessuno".

Proprietà comuni dell'interfaccia utente

SasUiDescription

Usare questa annotazione per specificare una stringa per descrivere uno strumento. Questo può essere usato per gli elementi dell'interfaccia utente, ad esempio suggerimenti per gli strumenti.

string SasUiDescription = "descriptive string";

Ad esempio:

float3 UpNormal
<
  string SasUiDescription = "The normalized up vector";
>;

Il valore predefinito è una stringa vuota.

SasUiLabel

Usare questa annotazione per specificare una stringa per etichettare qualsiasi controllo interfaccia utente.

string SasUiLabel = "some label;

Esempio:

float3 UpNormal
<
  string SasUiLabel = "Normal that points up.";
>;

Il valore predefinito è una stringa vuota.

SasUiVisible

Usare questa annotazione per specificare se il parametro associato deve essere visualizzato all'utente.

bool SasUiVisible = false;

Se impostato su True, l'applicazione host deve visualizzare un controllo dell'interfaccia utente per modificare il parametro dell'effetto annotato. Se false, nessuna interfaccia utente viene visualizzata nell'applicazione host.

Esempio:

float3 UpNormal
<
  string SasUiVisible = false;
>;

Il valore predefinito è True.

Proprietà del controllo interfaccia utente

Le annotazioni delle proprietà di controllo sono modificatori aggiuntivi che consentono di determinare il funzionamento di un determinato controllo.

SasUiEnum

Questa annotazione consente di limitare l'intervallo di valori per un controllo. L'annotazione contiene una stringa di valori delimitati da virgole.

Il valore predefinito è una stringa vuota.

SasUiMax

Questa annotazione specifica il valore massimo del parametro associato. Può essere associato solo a un parametro numericamente tipizzato. Il valore massimo del parametro verrà effettivamente calcolato come:

MaxValue = min(FLT_MAX, PARAMETER_TYPE_MAX);

PARAMETER_TYPE_MAX è il valore massimo per il tipo utilizzato dal parametro associato. Ciò significa che il valore del parametro, prendendo in considerazione l'annotazione SasUiMax viene calcolata come:

ParameterValue = min(NewParameterValue, MaxValue);

Il valore predefinito è FLT_MAX definito in Math.h.

SasUiMin

Questa annotazione specifica il valore minimo del parametro associato. Può essere associato solo a qualsiasi parametro tipizzato numericamente. Il valore minimo del parametro verrà effettivamente calcolato come:

MinValue = max(-FLT_MAX, PARAMETER_TYPE_MIN);

PARAMETER_TYPE_MIN è il valore minimo per il tipo utilizzato dal parametro associato. Ciò significa che il valore del parametro, tenendo conto dell'annotazione SasUiMin viene calcolato come:

ParameterValue = max(NewParameterValue, MinValue);

Il valore predefinito è -FLT_MAX come definito in Math.h.

SasUiSteps

Questa annotazione specifica il numero di passaggi che possono essere usati quando si incrementa o decrementa il valore del parametro associato. L'annotazione è significativa solo in un parametro numericamente tipizzato. Zero specifica che l'applicazione host sceglierà un numero ragionevole di passaggi.

Il valore predefinito è 0.

SasUiStepsPower

Questa annotazione specifica l'esponente nella funzione di alimentazione, che ha l'intervallo [0,0f, 1,0f]. Le applicazioni host devono implementare il metodo seguente durante il calcolo dei valori dei parametri:

ParameterValue = ((SasUiMax - SasUiMin) x pow(UI_VALUE, SasUiStepsPower) + SasUiMin

Il valore predefinito è 1,0f.

SasUiStride

Questa annotazione specifica l'incremento che deve essere usato durante l'incremento o la decrementazione di questo valore. A differenza di SasUiSteps, SasUiStride è utile con un controllo spinner, ad esempio, in cui i dati non sono in uscita e l'utente preferisce incrementare il valore del parametro in base allo stride anziché da un numero predefinito di passaggi. Le applicazioni host devono aumentare (o decrere a seconda del comportamento del controllo) in base al valore di SasUiStride come indicato di seguito:

ParameterValue = ParameterValue +/- SasUiStride

Il valore predefinito è 1,0f.

Riferimenti a annotazioni e semantiche DirectX Standard