або перевірте інформацію про сумісність на сайті розробника додаткового модуля. Це допоможе вам уникнути розчарувань при покупці фільтру. p align="justify"> 2.Общая структура плагіна
Плагін (plug-in) являє собою звичайну dll бібліотеку зі спеціальним розширенням. Для фільтрів це розширення .8 bf. Спеціальні параметри, описувані в ресурсах бібліотеки, дозволяють редактору розпізнати в бібліотеці плагін та визначити його характеристики (тип, підтримувані режими і т.п.). Все спілкування редактора з плагіном відбувається за допомогою викликів експортованої плагіном процедури:
procedure ENTRYPOINT (selector: smallint; pluginParamBlock; data: integer; result: smallint), cdecl;
Зворотне спілкування плагіна з Photoshop відбувається за допомогою виклику функцій зворотного виклику (callback-функцій), що надаються редактором.
Параметри процедури ENTRYPOINT:
В· selector вказує на вироблену плагіном операцію. Процедура з нульовим значенням цього параметра викликається для виведення діалогу About плагіна. Сенс інших значень залежить від типу плагіна і для фільтрів будуть розглянуті нижче.
В· pluginParamBlock використовується для обміну інформацією між плагіном і редактором. У кожного типу плагіна своя структура цього параметра. Для фільтрів параметр вказує на запис типу FilterRecord, розглянуту нижче.
В· Мінлива data зберігається між викликами плагіна. Зазвичай її використовують для зберігання дескриптора (handle) блоку пам'яті, який плагін використовує на свій розсуд. При першому виклику плагіна значення параметра дорівнює 0.
В· При кожному виклику плагін обов'язково повинен присвоїти змінної result значення, що вказує статус завершення операції. Нульове значення Photoshop інтерпретує як знак успішного завершення. Ненульове значення показує, що під час обробки зображення сталася якась помилка, або користувач скасував операцію. При позитивному значенні редактор вважає, що сам плагін вже повідомив користувачеві про помилку. В іншому випадку Photoshop виводить стандартне повідомлення.
Для сумісності з Photoshop процедуру потрібно оголосити з угодою виклику cdecl.
3.Порядок взаємодії редактора і фільтраційного плагіна
При активізації фільтра з меню Filter, редактор кілька разів викликає процедуру плагіна з різними значеннями параметра selector в певній послідовності. Розберемо значення цих викликів в порядку виникнення. p align="justify"> В· filterSelectorParameters. Якщо дія фільтра залежить від якихось параметрів, значення яких потрібно запросити у користувача, то на цьому етапі потрібно вивести відповідни...