Page 2
Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement.
Adobe Illustrator CS5 Porting Guide — Describes issues related to porting plug-ins across different versions of the Illustrator API. See /docs/guides/porting-guide.pdf Adobe Illustrator API Reference — Describes the suites and functions in the Illustrator API in detail. See folder. /docs/references/ Using the Adobe Text Engine with Illustrator CS5 —...
The Illustrator API first appeared in version 5.0. It supported one type of plug-in, filters. This was extended in Adobe Illustrator 5.5 to include file formats. The 5.x APIs displayed characteristics of many early API design efforts: the interface was monolithic, incorporating enough function to achieve its intended purpose, but not allowing for future expansion.
Illustrator CS1 (Illustrator version 11.0) integrated a new text engine, the Adobe Text Engine (ATE). The text API was revised completely. The text API from Illustrator 10.0 and earlier was obsoleted ( AIText , etc.).
1: Overview Types of plug-ins 8 HAPTER Required plug-ins Adobe Illustrator Additional plug-ins Plug-ins are notified by Illustrator when they have just been loaded or are about to be unloaded, permitting them to restore or save any state information. Types of plug-ins This section describes the different types of Illustrator plug-ins you can create.
JPEG files). In Illustrator, these are called file-format plug-ins. Illustrator uses the term “filter plug-in” in a way similar to Adobe Photoshop: a filter plug-in modifies the artwork in an algorithmic fashion. Illustrator updates the Repeat and Undo menus automatically, making filters one of the simplest plug-in types to create.
HAPTER A timer plug-in is notified at regular time intervals. For example, a timer plug-in may request to be notified once a second. For more information, see in Adobe Illustrator API Reference. AINotifierSuite AITimerSuite Plugin-group plug-ins Plugin-group plug-ins maintain one or more plug-in groups. A plug-in group is a special art object that contains editable art as well as art that is displayed but not editable.
1: Overview What defines a plug-in? 11 HAPTER In general, each plug-in type is in a specific subfolder; for example, tool plug-ins are in a folder named Tools What defines a plug-in? On Windows, an Illustrator plug-in is a DLL (dynamic-link library). In Mac OS, an Illustrator plug-in is a bundle that contains a shared library.
“SP. ” Illustrator message actions are used to indicate events in which a plug-in has interest. Information on the callers and selectors supported by the API is given by the Plug-in Callers and Plug-in Selectors pages in Adobe Illustrator API Reference.
1: Overview Plug-in entry point and messages 13 HAPTER Core message actions The following table contains the set of core message actions received by all plug-ins and corresponding actions your plug-in should take. Caller Selector Action to perform Restore any state information (globals). kSPAccessCaller kSPAccessReloadSelector (“SP Access”)
1: Overview Plug-in entry point and messages 14 HAPTER your plug-in implements a preferences suite that other plug-ins use, they may call you in their shut-down handlers after you already shut down. Notifiers Some message actions also are referred to as notifiers, indicating something in Illustrator was changed by the user;...
1: Overview Illustrator API 15 HAPTER struct SPBasicSuite *basic; } SPMessageData; If this is a valid message, the field contains SPCheck kSPValidSPMessageData field is a reference to the plug-in being called. The reference to the running plug-in’s is used self self to add plug-in suites, adapters, and other plug-in data to Illustrator.
Illustrator’s suite architecture, known as the Plug-in Component Architecture (PICA), also is found in the latest versions of Adobe Photoshop and other Adobe applications. The former term for PICA was Suite Pea (SP). Suites that are part of PICA all start with the suffix SP; for example,...
PIExportsProperty depend on exported suites can load and start up successfully on the first try. For more information on how to publish suites, see in Adobe Illustrator API SPSuitesSuite::AddSuite Reference and “Export property” on page Binary compatibility Illustrator makes its best effort to support binary compatibility across two previous product versions.
On Windows and Mac OS, byte alignment is to four-byte boundaries. System requirements The platforms supported for Illustrator plug-in development are documented in Getting Started with Adobe Illustrator CS5 Development. Platform requirements for Illustrator are defined in the product release notes.
To fix this override the Create/Use Precompiled Header setting to be Not Using Precompiled Headers for the helper-class source file. For documentation on the classes provided, see Adobe Illustrator API Reference > Helper classes. Plug-in adapters Support for older plug-ins, as well as for Photoshop plug-ins, is provided through plug-in adapters, plug-ins that map API calls between Illustrator and the older or non-native APIs of the other plug-ins.
As of Illustrator CS3, the About Plug-ins dialog was removed. Next steps In this chapter, we introduced plug-ins for Adobe Illustrator, and defined several key concepts, including: Plug-in manager Plug-in types...
Tutorial This chapter describes the fundamentals of Illustrator plug-in programming, using as an example a plug-in called Tutorial that is provided on the SDK. Look for the sample project in the sample code folder on the SDK, and browse the source code while reading this chapter. The core characteristics of an Illustrator plug-in were introduced in Chapter 1, “Overview.
2: Tutorial Callers and selectors 22 HAPTER Acquiring and releasing suites and calling suite functions When your plug-in is first called, it knows about only one suite. The message data structure passed to all plug-ins has a member variable named , which points to the Basic suite (see ).
2: Tutorial Callers and selectors 24 HAPTER The options specify plug-in behavior to be provided by Illustrator. Filters do not have any special behavior but could use some default behavior options, like the kPluginWantsResultsAutoSelectedOption constant, which is used to control how artwork is selected when the plug-in returns control to Illustrator. The final argument is returned to the plug-in by Illustrator.
2: Tutorial Plug-in type-specific messages 25 HAPTER static AIErr ReloadPlugin( SPAccessMessage *message ) AIErr error = kNoErr; g = ( Globals* )message->d.globals; return error; Caller: kSPAccessCaller, selector: kSPAccessUnloadSelector The opposite of the reload selector is . This is an opportunity for the plug-in to kSelectorAIUnloadPlugin save any state information before being removed from memory.
2: Tutorial Plug-in type-specific messages 26 HAPTER else if ( strcmp( selector, kSelectorAIGoFilter ) == 0 ) error = GoFilter( ( AIFilterMessage* )message ); When the user chooses your filter in the Object menu, your plug-in is first called with .
. This function draws path segments to each mouse-down ToolMouseDown Tutorial.cpp location. The location of the mouse is passed in the tool-message structure; see in Adobe AIToolMessage Illustrator API Reference. The tool message contains the basic plug-in data and a reference to the tool being used. The...
Page 28
The message struct sent DoAction Tutorial.cpp along with the . Documentation for this structure is in Adobe kDoActionSelector DoActionMessage Illustrator API Reference. It contains the recorded parameter values the action must replay. The DoAction function extracts the parameter values into its own data structure.
Next steps To learn more about Illustrator plug-in programming, explore the samples provided in the SDK and the documentation in Adobe Illustrator API Reference. Instructions on running and debugging plug-ins are in Getting Started with Adobe Illustrator CS5 Development.
C++ plug-in together with the program logic. To use a Flash UI, separate out the program logic into a C++ plug-in, and put the user-interface code into an Adobe Creative Suite extension. This is a set of files, delivered as a compiled Flash (SWF) file, that extends the capabilities of one or more Adobe Creative Suite applications.
The Adobe Creative Suite SDK provides developers with a consistent platform in which to develop and deploy extensions across the suite. Adobe Creative Suite extensions run in much the same way in all Adobe Creative Suite products, providing users with a rich and uniform experience.
SDKPlugPlug::AddEventListener() static void OkClickedFunc (const csxs::event::Event* const event, void* const context); AddEventListener("com.adobe.csxs.events.OkClicked", OkClickedFunc, NULL); The first parameter is the event type, the second is the callback function, and the third is a user-specific context pointer or NULL. When the extension sends an event to the plug-in, it passes relevant data as a .
The CSXS ActionScript library provides an API that your Flash extension uses to interact with C++ plug-ins. For complete reference details, see the documentation provided with the Adobe Creative Suite SDK. To receive CSXS Events of a certain type in ActionScript, register a callback function for that event type using .
2. Accept the Extension disclaimer. 3. If the certificate does not belong to Adobe or a verified company, you are warned that the publisher cannot be verified. Click OK to proceed with the installation. 4. When the installation is complete, check that the FreeGridUI extension appears under Illustrator.
Plug–in Property Lists A PiPL resource contains a list of properties that store information about a plug-in. Illustrator considers only those files with valid PiPL resources to be potential plug-ins. PiPL samples Sample PiPL resource files are provided on the SDK in source code form. All sample plug-ins in the SDK define their PiPLs in a resource source-code form.
4: Plug–in Property Lists Optional PiPL properties 36 HAPTER Your plug-in also must have at least one code-descriptor property that tells Illustrator the entry point of your code. Code descriptors are available for Intel-based Mac OS, PowerPC-based Mac OS, and Windows-based plug-ins: Property key Description...
/** The version of the suite to be exported. */ long fVersion; } MyExportDesc; For more information Adobe Illustrator API Reference describes the property names and associated data structures, such as . The sample plug-ins on the SDK show how to define a PiPL using native platform PIPropertyList resources.
Need help?
Do you have a question about the 65061456 and is the answer not in the manual?
Questions and answers