FxOnScreenControl
FxOnScreenControl протокол определяет методы, которые плагин должен реализовать для создания экранных средств управления параметром.
Плагины могут использовать FxOnScreenControlAPI для рисования средств управления и других элементов пользовательского интерфейса непосредственно на холсте, где пользователь применил плагин. Это позволяет непосредственное управление объектом и является естественным и забавным способом для пользователей взаимодействовать с плагином. Используйте этот API для преобразования точек от пространства получения холста или документа пиксельному пространству объекта, которым пользователь хочет управлять, и наоборот.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый не применимый
-
drawingCoordinates - drawingCoordinatesТребуемыйОпределяет координатное пространство для события. (требуемый)
Объявление
Objective C
- (FxDrawingCoordinates)drawingCoordinatesВозвращаемое значение
Возвращает координатное пространство для события.
-
Рисует управление на изображении. Это - основной метод вызовы хост-приложения для рисования сменного управления параметром. (требуемый)
Объявление
Параметры
widthШирина текущего изображения, где будет нарисовано управление.
heightВысота текущего изображения, где будет нарисовано управление.
activePartАктивная часть управления для рисования.
timeВремя, выраженное в канонических кадрах, для рисования управления.
Обсуждение
Этот метод служит двум целям, в зависимости от режима рендеринга. Режим рендеринга определяется следующим образом:
GLint renderMode;glGetIntegerv( GL_RENDER_MODE, &renderMode );
Если
renderModeGL_RENDER, тогда этот метод должен представить свой вывод изображения в текущем контексте GL.Если
renderModeGL_SELECT, тогда метод должен выполнить команды рисования GL для определения форм различных «частей» управления. Хост-приложение тогда использует эту информацию для тестирования хита. Когда хост-приложение решает, что положение мыши находится в определенной части, это передает идентификатор части какactivePartпараметр к другомуFxOnScreenControlметоды.В зависимости от хост-приложения временная стоимость может быть относительно запуска временной шкалы или к запуску клипа. Посмотрите Ссылку класса FxHostCapabilities для получения дополнительной информации.
-
mouseUp:positionY:activePart:modifiers:forceUpdate:time: - mouseUp:positionY:activePart:modifiers:forceUpdate:time:ТребуемыйКогда левая кнопка мыши отпускается, предоставляет информацию. (требуемый)
Объявление
Objective C
- (void)mouseUp:(double)mousePositionXpositionY:(double)mousePositionYactivePart:(NSInteger)activePartmodifiers:(FxModifierKeys)modifiersforceUpdate:(BOOL *)forceUpdatetime:(double)timeПараметры
mousePositionXX позиций курсора, в
drawingCoordinatesкоординатное пространство.mousePositionYПозиция Y курсора, в
drawingCoordinatesкоординатное пространство.activePartАктивная часть управления, в настоящее время содержащего курсор.
modifiersМодификаторы клавиатуры в настоящее время нажимали.
forceUpdateНабор к YES, если должен быть повторно вычислен фильтр/генератор, связанный с этим управлением; НЕТ иначе.
timeТекущее время, выраженное в канонических кадрах, когда была отпущена кнопка мыши.
Обсуждение
В зависимости от хост-приложения временная стоимость может быть относительно запуска временной шкалы или к запуску клипа. Посмотрите Ссылку класса FxHostCapabilities для получения дополнительной информации.
-
mouseDragged:positionY:activePart:modifiers:forceUpdate:time: - mouseDragged:positionY:activePart:modifiers:forceUpdate:time:ТребуемыйПредоставляет информацию, когда левая кнопка мыши нажимается и, курсор перемещен с кнопкой мыши все еще вниз. (требуемый)
Объявление
Objective C
- (void)mouseDragged:(double)mousePositionXpositionY:(double)mousePositionYactivePart:(NSInteger)activePartmodifiers:(FxModifierKeys)modifiersforceUpdate:(BOOL *)forceUpdatetime:(double)timeПараметры
mousePositionXX позиций курсора, в
drawingCoordinatesкоординатное пространство.mousePositionYПозиция Y курсора, в
drawingCoordinatesкоординатное пространство.activePartАктивная часть управления, в настоящее время содержащего курсор.
modifiersМодификаторы клавиатуры в настоящее время нажимали.
forceUpdateНабор к
YEStrueесли должен быть повторно вычислен фильтр/генератор, связанный с этим управлением; НЕТ иначе.timeТекущее время, выраженное в канонических кадрах, когда был перемещен указатель.
Обсуждение
В зависимости от хост-приложения временная стоимость может быть относительно запуска временной шкалы или к запуску клипа. Посмотрите Ссылку класса FxHostCapabilities для получения дополнительной информации.
-
mouseDown:positionY:activePart:modifiers:forceUpdate:time: - mouseDown:positionY:activePart:modifiers:forceUpdate:time:ТребуемыйПредоставляет информацию, когда левая кнопка мыши нажимается, и курсор находится на изображении с активным сменным управлением. (требуемый)
Объявление
Objective C
- (void)mouseDown:(double)mousePositionXpositionY:(double)mousePositionYactivePart:(NSInteger)activePartmodifiers:(FxModifierKeys)modifiersforceUpdate:(BOOL *)forceUpdatetime:(double)timeПараметры
mousePositionXX позиций курсора, в
drawingCoordinatesкоординатное пространство.mousePositionYПозиция Y курсора, в
drawingCoordinatesкоординатное пространство.activePartАктивная часть управления, в настоящее время содержащего курсор.
modifiersМодификаторы клавиатуры в настоящее время нажимали.
forceUpdateНабор к YES, если должен быть повторно вычислен фильтр/генератор, связанный с этим управлением; НЕТ иначе.
timeТекущее время, выраженное в канонических кадрах, когда была нажата кнопка мыши.
Обсуждение
В зависимости от хост-приложения временная стоимость может быть относительно запуска временной шкалы или к запуску клипа. Посмотрите Ссылку класса FxHostCapabilities для получения дополнительной информации.
-
keyDown:positionY:keyPressed:modifiers:forceUpdate:didHandle:time: - keyDown:positionY:keyPressed:modifiers:forceUpdate:didHandle:time:ТребуемыйКогда клавиша нажата, предоставляет информацию. (требуемый)
Объявление
Objective C
- (void)keyDown:(double)mousePositionXpositionY:(double)mousePositionYkeyPressed:(unsigned short)asciiKeymodifiers:(FxModifierKeys)modifiersforceUpdate:(BOOL *)forceUpdatedidHandle:(BOOL *)didHandletime:(double)timeПараметры
mousePositionXX позиций курсора, в
drawingCoordinatesкоординатное пространство.mousePositionYПозиция Y курсора, в
drawingCoordinatesкоординатное пространство.asciiKeyПредставление ASCII ключа нажало.
modifiersМодификаторы клавиатуры в настоящее время нажимали.
forceUpdateНабор к
YEStrueесли должен быть повторно вычислен фильтр/генератор, связанный с этим управлением; иначеNOfalse.didHandleНабор к
YEStrueесли управление выполнило действие из-за этого нажатия клавиши; иначеNOfalse, и событие пасуется назад дерево объектов.timeТекущее время, выраженное в канонических кадрах, когда произошло нажатие клавиши.
Обсуждение
В зависимости от хост-приложения временная стоимость может быть относительно запуска временной шкалы или к запуску клипа. Посмотрите Ссылку класса FxHostCapabilities для получения дополнительной информации.
-
keyUp:positionY:keyPressed:modifiers:forceUpdate:didHandle:time: - keyUp:positionY:keyPressed:modifiers:forceUpdate:didHandle:time:ТребуемыйКогда клавиша отпускается, предоставляет информацию. (требуемый)
Объявление
Objective C
- (void)keyUp:(double)mousePositionXpositionY:(double)mousePositionYkeyPressed:(unsigned short)asciiKeymodifiers:(FxModifierKeys)modifiersforceUpdate:(BOOL *)forceUpdatedidHandle:(BOOL *)didHandletime:(double)timeПараметры
mousePositionXX позиций указателя, в
drawingCoordinatesкоординатное пространство.mousePositionYПозиция Y указателя, в
drawingCoordinatesкоординатное пространство.asciiKeyПредставление ASCII отжатой кнопки.
modifiersМодификаторы клавиатуры.
forceUpdateНабор к
YEStrueесли должен быть повторно вычислен фильтр/генератор, связанный с этим управлением; иначеNOfalse.didHandleНабор к
YEStrueесли сменное управление выполнило действие из-за ключевого выпуска; иначеNOfalse, и событие пасуется назад дерево объектов.timeТекущее время, выраженное в канонических кадрах, когда произошел ключевой выпуск.
Обсуждение
В зависимости от хост-приложения временная стоимость может быть относительно запуска временной шкалы или к запуску клипа. Посмотрите Ссылку класса FxHostCapabilities для получения дополнительной информации.
-
Константы раньше идентифицировали координатные пространства.
Yскоординируйте увеличения компонента вверх всех координатных пространств.Объявление
Objective C
enum { kFxDrawingCoordinates_CANVAS = 0, kFxDrawingCoordinates_DOCUMENT = 1, kFxDrawingCoordinates_OBJECT = 2, kFxDrawingCoordinates_OBJECT_CENTERED = 3 }; typedef NSUInteger FxDrawingCoordinates;Константы
-
kFxDrawingCoordinates_CANVASkFxDrawingCoordinates_CANVASУказывает, что координатное пространство использует координаты окна холста.
-
kFxDrawingCoordinates_DOCUMENTkFxDrawingCoordinates_DOCUMENTУказывает, что координатное пространство использует координаты холста фильма.
-
kFxDrawingCoordinates_OBJECTkFxDrawingCoordinates_OBJECTУказывает, что координатное пространство использует объектно-специфичные координаты.
-
kFxDrawingCoordinates_OBJECT_CENTEREDkFxDrawingCoordinates_OBJECT_CENTEREDУказывает, что координатное пространство использует объектные координаты с источником в центре. Эта константа осуждается.
-
-
Указывает флаги, идентифицирующие модифицирующие клавиши, удерживаемые, в то время как сгенерировано событие.
Объявление
Objective C
enum { kFxModifierKey_SHIFT = 1 << 0, kFxModifierKey_CONTROL = 1 << 1, kFxModifierKey_OPTION = 1 << 2, kFxModifierKey_COMMAND = 1 << 3, kFxModifierKey_CAPS_LOCK = 1 << 4 }; typedef NSUInteger FxModifierKeys;Константы
-
kFxModifierKey_SHIFTkFxModifierKey_SHIFTУказывает левую или правую клавишу Shift
-
kFxModifierKey_CONTROLkFxModifierKey_CONTROLУказывает левую или правую Клавишу CTRL
-
kFxModifierKey_OPTIONkFxModifierKey_OPTIONУказывает левую или правую функциональную клавишу
-
kFxModifierKey_COMMANDkFxModifierKey_COMMANDУказывает Командную клавишу
-
kFxModifierKey_CAPS_LOCKkFxModifierKey_CAPS_LOCKУказывает Caps Lock
-
