На главную
Назад | Содержание | Вперед

Основные свойства

Эти свойства являются общими для всех типов плагинов.

ИмяТипКлючОписание
PIKindPropertyOSType0x6b696e64L
('kind')

Тип плагина. Для фильтров '8BFM'.

PIVersionPropertyint320x76657273L
('vers')

Версия плагинного интерфейса редактора, для которой написан плагин. Старший номер версии записывается в старшие 16 бит, а младший - в младшие биты.

Для каждого типа плагина нумерация может различаться. Текущая версия реализации интерфейса записана в модуле, его описывающем.

PIPriorityPropertyint320x70727479L
('prty')

Порядок загрузки плагинов. Также используется для определения порядка вывода названий плагинов в меню редактора. Сначала загружаются плагины с меньшими номерами.

PIImageModesPropertyFlagSet0x6d6f6465L
('mode')

Режимы изображения, которые поддерживает плагин (bitmap, grayscale, indexed, RGB, CMYK, HSL, HSB, multi-channel, duotone, Lab, gray 16 и RGB 48). Свойство определяет, когда плагин в меню редактора будет отображаться активным (черным) и неактивным (серым).

PIEnableInfoPropertyCString0x656e626cL
('enbl')

Строка в стиле modula, определяющая, когда плагин в меню будет доступен. См. ниже.

PIRequiredHostPropertyuint320x686f7374L
('host')

Редактор, для которого написан плагин. Для Photoshop 0x3842494dL ('8BIM').

PICategoryPropertyPString0x63617467L
('catg')

Подменю в меню Filter, в котором появится плагин.

PINamePropertyPString0x6e616d65L
('name')

Название плагина, которое появится в подменю PICategoryProperty.

PIProgressTextPropertyPString0x70726f67L
('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