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. | floatN où N est compris entre 1 et 4 inclus. | SasUiEnum |
Sens | Vecteur de direction. | floatN où N 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). | floatMxN où M et N sont compris entre 1 et 4. | SasUiMin, SasUiMax, SasUiStride |
Curseur | Ensemble de curseurs. | floatMxN où M 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.
Rubriques connexes