Partager via


Annotation d’interface utilisateur

Utilisez cette annotation pour associer un paramètre d’effet à un contrôle d’interface utilisateur dans l’environnement hôte. Cela permet à un utilisateur de contrôler de manière interactive un paramètre d’effet via l’application hôte.

DXSAS définit un ensemble de contrôles standard en termes de modèle de données et de comportement de base que les auteurs de l’effet peuvent attendre des applications hôtes. L’annotation de contrôle est utilisée comme suit :

string SasUiControl = "ControlType";

where

ControlType

prend l’une des valeurs suivantes :

ControlType Description Type de données interne Annotations de propriété de contrôle
Aucune Aucun contrôle ne doit être affiché. Notez qu’un contrôle est visible si SasUiVisible a la valeur True et si le type de contrôle est n’importe quel type autre que None. n/a n/a
Quelconque Cela implique qu’aucun contrôle spécial n’est demandé. Le contrôle présenté est le résultat d’un comportement défini par l’application. n/a n/a
ColorPicker Représente une valeur de couleur sous la forme d’une nuance de couleur. La valeur est empaquetée dans les composants XYZ du vecteur associé. Le composant W du vecteur associé est toujours défini sur un. floatNN est compris entre 1 et 4 inclus. SasUiEnum
Sens Vecteur de direction. floatNN est compris entre 2 et 4 inclus. None
FilePicker Boîte de dialogue qui permet à l’utilisateur de parcourir et de sélectionner un fichier. string None
ListPicker Liste de valeurs de chaîne à partir de laquelle l’utilisateur peut sélectionner une entrée. Les valeurs sont générées à partir de l’annotation SasUiEnum . Tableau de chaînes avec une valeur entière contenant l’index de la valeur de chaîne sélectionnée. SasUiEnum
Numérique Ensemble de contrôles d’entrée numériques (tels que les zones de texte). floatMxNM et N sont compris entre 1 et 4. SasUiMin, SasUiMax, SasUiStride
Curseur Ensemble de curseurs. floatMxNM et N sont compris entre 1 et 4 inclus SasUiMin, SasUiMax, SasUiSteps, SasUiStepsPower
String Zone de texte permettant de modifier le contenu de chaîne. string None

 

Si le type de données interne n’est pas identique au type du paramètre associé, le cast se produit lorsque les données sont transférées du paramètre d’application hôte vers le paramètre d’effet.

La valeur par défaut est la chaîne « None ».

Propriétés communes de l’interface utilisateur

SasUiDescription

Utilisez cette annotation pour spécifier une chaîne pour décrire un outil. Cela peut être utilisé pour les éléments d’interface utilisateur tels que les info-bulles.

string SasUiDescription = "descriptive string";

Exemple :

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

La valeur par défaut est une chaîne vide.

SasUiLabel

Utilisez cette annotation pour spécifier une chaîne pour étiqueter n’importe quel contrôle d’interface utilisateur.

string SasUiLabel = "some label;

Voici un exemple :

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

La valeur par défaut est une chaîne vide.

SasUiVisible

Utilisez cette annotation pour spécifier si le paramètre associé doit être affiché à l’utilisateur.

bool SasUiVisible = false;

Si la valeur est True, l’application hôte doit afficher un contrôle d’interface utilisateur pour modifier le paramètre d’effet annoté. Si la valeur est false, aucune interface utilisateur n’est affichée dans l’application hôte.

Voici un exemple :

float3 UpNormal
<
  string SasUiVisible = false;
>;

La valeur par défaut est True.

Propriétés du contrôle d’interface utilisateur

Les annotations de propriété de contrôle sont des modificateurs supplémentaires qui permettent de déterminer le fonctionnement d’un contrôle particulier.

SasUiEnum

Cette annotation vous permet de restreindre la plage de valeurs d’un contrôle. L’annotation contient une chaîne de valeurs délimitées par des virgules.

La valeur par défaut est une chaîne vide.

SasUiMax

Cette annotation spécifie la valeur maximale du paramètre associé. Il ne peut être associé qu’à un paramètre de type numérique. La valeur maximale du paramètre est en fait calculée comme suit :

MaxValue = min(FLT_MAX, PARAMETER_TYPE_MAX);

PARAMETER_TYPE_MAX est la valeur maximale du type utilisé par le paramètre associé. Cela signifie que la valeur du paramètre, en tenant compte de l’annotation SasUiMax , est calculée comme suit :

ParameterValue = min(NewParameterValue, MaxValue);

La valeur par défaut est FLT_MAX comme défini dans Math.h.

SasUiMin

Cette annotation spécifie la valeur minimale du paramètre associé. Il ne peut être associé qu’à n’importe quel paramètre de type numérique. La valeur minimale du paramètre est en fait calculée comme suit :

MinValue = max(-FLT_MAX, PARAMETER_TYPE_MIN);

PARAMETER_TYPE_MIN est la valeur minimale du type utilisé par le paramètre associé. Cela signifie que la valeur du paramètre, en tenant compte de l’annotation SasUiMin , est calculée comme suit :

ParameterValue = max(NewParameterValue, MinValue);

La valeur par défaut est -FLT_MAX comme défini dans Math.h.

SasUiSteps

Cette annotation spécifie le nombre d’étapes qui peuvent être utilisées lors de l’incrémentation ou de la décrémentation de la valeur de paramètre associée. L’annotation n’est significative que sur un paramètre typé numériquement. Zéro spécifie que l’application hôte choisira un nombre raisonnable d’étapes.

La valeur par défaut est 0.

SasUiStepsPower

Cette annotation spécifie l’exposant dans la fonction d’alimentation, qui a la plage [0.0f, 1.0f]. Les applications hôtes doivent implémenter la méthode suivante lors du calcul des valeurs de paramètres :

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

La valeur par défaut est 1.0f.

SasUiStride

Cette annotation spécifie l’incrément à utiliser lors de l’incrémentation ou de la décrémentation de cette valeur. Contrairement à SasUiSteps, SasUiStride est utile avec un contrôle spinner, pour les instance, où les données ne sont pas liées et où l’utilisateur préfère incrémenter la valeur du paramètre par étape plutôt que par un nombre d’étapes prédéfini. Les applications hôtes doivent incrémenter (ou décrémenter en fonction du comportement du contrôle) par la valeur de SasUiStride comme suit :

ParameterValue = ParameterValue +/- SasUiStride

La valeur par défaut est 1.0f.

Informations de référence sur les annotations et la sémantique standard DirectX