Поделиться через


Заметка пользовательского интерфейса

Используйте эту заметку для связывания параметра эффекта с элементом управления пользовательского интерфейса в среде узла. Это позволит пользователю в интерактивном режиме управлять параметром эффекта через ведущее приложение.

DXSAS определяет набор стандартных элементов управления с точки зрения модели данных и базового поведения, которое авторы могут ожидать от ведущих приложений. Заметка элемента управления используется следующим образом:

string SasUiControl = "ControlType";

where

ControlType

 — одно из следующих:

ControlType Описание Внутренний тип данных Заметки свойств элемента управления
Нет Элемент управления не должен отображаться. Обратите внимание, что элемент управления отображается, если SasUiVisible имеет значение True, а тип элемента управления — любой тип, отличный от None. Недоступно Недоступно
Любой Это означает, что специальный контроль не запрашивается. Представленный элемент управления является результатом поведения, определяемого приложением. Недоступно Недоступно
ColorPicker Представление значения цвета в виде цветовой палитры. Значение упаковывается в компоненты XYZ связанного вектора. Компонент W связанного вектора всегда имеет значение 1. floatN , где N — от 1 до 4 включительно. SasUiEnum
Направление Вектор направления. floatN , где N — от 2 до 4 включительно. Нет
FilePicker Диалоговое окно, позволяющее пользователю просматривать и выбирать файл. строка Нет
ListPicker Список строковых значений, из которых пользователь может выбрать одну запись. Значения создаются из заметки SasUiEnum . Массив строк и целочисленное значение, содержащее индекс выбранного строкового значения. SasUiEnum
Числовой Набор числовых элементов управления вводом (например, текстовых полей). floatMxN , где M и N имеют значение от 1 до 4 включительно. SasUiMin, SasUiMax, SasUiStride
Ползунок Набор ползунков. floatMxN , где M и N от 1 до 4 включительно SasUiMin, SasUiMax, SasUiSteps, SasUiStepsPower
Строка Текстовое поле для редактирования строкового содержимого. строка Нет

 

Если внутренний тип данных не идентичен типу связанного параметра, приведение будет выполняться при передаче данных из параметра ведущего приложения в параметр effect.

По умолчанию используется строка "None".

Общие свойства пользовательского интерфейса

SasUiDescription

Используйте эту заметку, чтобы указать строку для описания средства. Его можно использовать для элементов пользовательского интерфейса, таких как подсказки инструментов.

string SasUiDescription = "descriptive string";

Например:

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

Значением по умолчанию является пустая строка.

SasUiLabel

Используйте эту заметку, чтобы указать строку, которая помечает любой элемент управления пользовательского интерфейса.

string SasUiLabel = "some label;

Вот пример:

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

Значением по умолчанию является пустая строка.

SasUiVisible

Используйте эту заметку, чтобы указать, должен ли соответствующий параметр отображаться для пользователя.

bool SasUiVisible = false;

Если задано значение True, в ведущем приложении должен отображаться элемент управления пользовательского интерфейса для изменения параметра эффекта с заметками. Если значение равно false, пользовательский интерфейс не отображается в ведущем приложении.

Вот пример:

float3 UpNormal
<
  string SasUiVisible = false;
>;

Значение по умолчанию равно True.

Свойства элемента управления пользовательского интерфейса

Заметки свойств элемента управления — это дополнительные модификаторы, которые помогают определить, как работает конкретный элемент управления.

SasUiEnum

Эта заметка позволяет ограничить диапазон значений для элемента управления. Заметка содержит строку значений, разделенных запятыми.

Значением по умолчанию является пустая строка.

SasUiMax

Эта заметка задает максимальное значение связанного параметра. Его можно связать только с параметром с числовым типом. Максимальное значение параметра фактически вычисляется следующим образом:

MaxValue = min(FLT_MAX, PARAMETER_TYPE_MAX);

PARAMETER_TYPE_MAX — это максимальное значение для типа, используемого связанным параметром. Это означает, что значение параметра с учетом заметки SasUiMax вычисляется следующим образом:

ParameterValue = min(NewParameterValue, MaxValue);

Значение по умолчанию — FLT_MAX, как определено в Math.h.

SasUiMin

В этой заметке указывается минимальное значение связанного параметра. Его можно связать только с любым числовым типизированным параметром. Минимальное значение параметра фактически вычисляется следующим образом:

MinValue = max(-FLT_MAX, PARAMETER_TYPE_MIN);

PARAMETER_TYPE_MIN — это минимальное значение для типа, используемого связанным параметром. Это означает, что значение параметра с учетом заметки SasUiMin вычисляется следующим образом:

ParameterValue = max(NewParameterValue, MinValue);

Значение по умолчанию — -FLT_MAX, как определено в Math.h.

SasUiSteps

В этой заметке указывается количество шагов, которые можно использовать при приращении или уменьшении значения связанного параметра. Заметка имеет смысл только в параметре с числовым типом. Ноль указывает, что ведущее приложение выберет разумное количество шагов.

Значение по умолчанию — 0.

SasUiStepsPower

Эта заметка указывает степень в функции power, которая имеет диапазон [0,0f, 1,0f]. При вычислении значений параметров в ведущих приложениях должен быть реализован следующий метод:

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

Значение по умолчанию — 1,0f.

SasUiStride

Эта заметка указывает приращение, которое должно использоваться при приращении или уменьшении этого значения. В отличие от SasUiSteps, SasUiStride полезен с элементом управления спиннером, например, когда данные являются неограниченными, и пользователь предпочел бы увеличить значение параметра по шагам, а не по предварительно определенному количеству шагов. Ведущее приложение должно увеличиваться (или уменьшаться в зависимости от поведения элемента управления) на значение SasUiStride следующим образом:

ParameterValue = ParameterValue +/- SasUiStride

Значение по умолчанию — 1,0f.

Справочник по стандартным заметкам и семантике DirectX