На главную
Назад |
Содержание |
Вперед
Основные свойства
Эти свойства являются общими для всех типов плагинов.
Имя | Тип | Ключ | Описание
| PIKindProperty | OSType | 0x6b696e64L ('kind')
| Тип плагина. Для фильтров '8BFM'.
| PIVersionProperty | int32 | 0x76657273L ('vers')
| Версия плагинного интерфейса редактора, для которой написан плагин.
Старший номер версии записывается в старшие 16 бит, а младший - в младшие
биты.
Для каждого типа плагина нумерация может различаться. Текущая версия
реализации интерфейса записана в модуле, его описывающем.
| PIPriorityProperty | int32 | 0x70727479L ('prty')
| Порядок загрузки плагинов. Также используется для определения
порядка вывода названий плагинов в меню редактора. Сначала загружаются
плагины с меньшими номерами.
| PIImageModesProperty | FlagSet | 0x6d6f6465L ('mode')
| Режимы изображения, которые поддерживает плагин (bitmap, grayscale,
indexed, RGB, CMYK, HSL, HSB, multi-channel, duotone, Lab, gray 16 и
RGB 48). Свойство определяет, когда плагин в меню редактора будет
отображаться активным (черным) и неактивным (серым).
| PIEnableInfoProperty | CString | 0x656e626cL ('enbl')
| Строка в стиле modula, определяющая, когда плагин в меню
будет доступен. См. ниже.
| PIRequiredHostProperty | uint32 | 0x686f7374L ('host')
| Редактор, для которого написан плагин. Для Photoshop 0x3842494dL
('8BIM').
| PICategoryProperty | PString | 0x63617467L ('catg')
| Подменю в меню Filter, в котором появится плагин.
| PINameProperty | PString | 0x6e616d65L ('name')
| Название плагина, которое появится в подменю PICategoryProperty.
| PIProgressTextProperty | PString | 0x70726f67L ('prog')
| Текст индикатора процесса.
|
PIEnableInfoProperty
Плагин доступен в меню только тогда, когда результатом строки-выражения
PIEnableInfoProperty является истина (true). PIEnableInfoProperty - это
надмножество над PIImageModesProperty (поддерживаемые режимы).
Несовпадение режимов этих двух множеств приведет к неопределенному
результату.
При исполнении плагина нужно всегда проверять соответствие режима
изображения, т.к. ложный результат выражения PIEnableInfoProperty
еще не гарантирует невозможность его как-нибудь вызвать.
Грамматика
логическоеВыраж = конъюнкция {"||" конъюнкция}.
конъюнкция = отношение {"&&" отношение}.
отношение = равенство {операцияОтношения равенство}.
равенство = простоеВыраж {операцияРавенства простоеВыраж}.
простоеВыраж = слагаемое {операцияСложения слагаемое}.
слагаемое = множитель {операцияУмножения множитель}.
множитель = целое | встроеннаяФункция | идентификатор
| "(" логическоеВыраж ")" | "(" простоеВыраж ")"
| "+" множитель | "-" множитель | "!" множитель.
целое = цифра {цифра}.
встроеннаяФункция = граничнаяФункция | функцияРазмерности
| функцияВхождения.
граничнаяФункция = ("min" | "max") "(" простоеВыраж
"," простоеВыраж {"," простоеВыраж} ")".
функцияРазмерности= "dim" "(" простоеВыраж "," простоеВыраж ")".
идентификатор = (буква | "_") {буква | цифра | "_"}.
операцияУмножения = "*" | "/".
операцияСложения = "+" | "-".
операцияРавенства = "==" | "!=".
операцияОтношения = "<" | "<=" | ">=" | ">".
функцияВхождения = "in" "(" простоеВыраж {"," простоеВыраж} ")".
Константы
Имя | Описание
| true | Логическая правда
| false | Логическая ложь
| BitmapMode | Черно-белый режим
| GrayScaleMode | Режим оттенков серого
| IndexedMode | Режим индексированных цветов
| RGBMode | Режим RGB
| CMYKMode | Режим CMYK
| HSLMode | Режим HSL
| HSBMode | Режим HSB
| MultichannelMode | Многоканальный режим
| DuotoneMode | Двухцветный режим
| LabMode | Режим Lab
| Gray16Mode | Режим оттенков серого, 16 бит на канал
| RGB48Mode | Режим RGB, 16 бит на канал
|
Переменные
Имя | Описание
| PSHOP_ImageMode | Режим изображения
| PSHOP_ImageDepth | Глубина изображения
| PSHOP_HasLayerMask
| Логическая, присутствие маски слоя
| PSHOP_HasSelectionMask
| Логическая, присутствие маски выделения
| PSHOP_HasTransparencyMask
| Логическая, присутствие маски прозрачности
| PSHOP_NumTargetChannels | Количество каналов результирующего изображения
| PSHOP_NumTrueChannels | Количество каналов исходного изображения
| PSHOP_IsTargetComposite | Логическая, плоское ли изображение?
| PSHOP_ImageWidth | Ширина изображения
| PSHOP_ImageHeight | Высота изображения
|
Приоритет операций
Операция | Описание
| || | Или
| && | И
| + - | Сложение и вычитание
| * / | Умножение и деление
| < <= >= > | Меньше, меньше или равно,
больше или равно, больше
| == != | Равенство, неравенство
| (..) in() max() min() унарные: + - !
| Функции, увеличение, уменьшение, не
|
Результат от неопределенных значений
Если в арифметическом выражении или сравнении хотя бы один из операндов
имеет неопределенное значение, то само выражение будет иметь ложное значение.
Ненулевое значение интерпретируется как истина, нулевое и неопределенное -
как ложь.
Функция вхождения
Функция in() возвращает истинное значение только тогда, когда значение
первого параметра совпадает со значением хотя бы одного из следующих параметров.
Обычно используется для определения режима изображения, например:
in(PSHOP_ImageMode, RGBMode, CMYKMode, LabMode)
Назад |
Содержание |
Вперед
© Ярослав Музыкантов muzykantov@mail.ru
При использовании материалов обязательна ссылка на сайт
students.pm.vogu35.ru/pages/pm03/mya
|