Adobe 65061456 Programming Guide

Adobe 65061456 Manual

Adobe 65061456 manual content summary:

  • Adobe 65061456 | Programming Guide - Page 1
    ADOBE® ILLUSTRATOR® CS5 ADOBE ILLUSTRATOR CS5 PROGRAMMER'S GUIDE
  • Adobe 65061456 | Programming Guide - Page 2
    license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any Adobe, the Adobe logo, Illustrator, PageMaker, Photoshop, FrameMaker, Flash, Flex, and ActionScript are either registered trademarks or trademarks of Adobe
  • Adobe 65061456 | Programming Guide - Page 3
    Contents Preface 5 Terminology and notational conventions 5 Supporting documentation 5 Sample code 5 1 Overview 6 What is a plug-in 6 A brief history of the Adobe Illustrator API 6 Anatomy of a plug-in 7 Types of plug-ins 8 Action plug-ins 9 Plug-in file formats 9 Plug-in filters 9 Plug-
  • Adobe 65061456 | Programming Guide - Page 4
    and releasing suites and calling suite functions 22 Illustrator API suites 22 Callers and selectors 22 27 Menu plug-ins 29 Next steps 29 3 Creating a Flash UI for Plug-ins 30 Creative Suite extensions 30 About the Adobe Creative Suite SDK 30 Communication between plug-ins and extensions 31
  • Adobe 65061456 | Programming Guide - Page 5
    or from the templates provided with the SDK. X 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. X Adobe Illustrator API Reference - Describes the suites and functions in the
  • Adobe 65061456 | Programming Guide - Page 6
    . This translates into shorter development cycles. A brief history of the Adobe Illustrator API 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
  • Adobe 65061456 | Programming Guide - Page 7
    tool is the most convenient way to produce universal binaries; therefore, Adobe switched to Xcode from CodeWarrior for the development of Illustrator CS3 plug-ins. The Illustrator CS4 API (Illustrator version 14.0) introduced support for multiple artboards and the FXG file format, among other things
  • Adobe 65061456 | Programming Guide - Page 8
    CHAPTER 1: Overview Types of plug-ins 8 Adobe Illustrator Plug-in manager Required plug-ins 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
  • Adobe 65061456 | Programming Guide - Page 9
    register as many formats as desired. The file types supported by a file-format plug-in can appear in Illustrator's Export, Save, and Open dialogs, depending on ). In Illustrator, these are called file-format plug-ins. Illustrator uses the term "filter plug-in" in a way similar to Adobe Photoshop: a
  • Adobe 65061456 | Programming Guide - Page 10
    CS5 Settings\\Plug-ins\ Windows Vista: C:\Users\\AppData\Roaming\Adobe\ Adobe Illustrator CS5 Settings\\Plug-ins\ Mac OS /Users/{username}/Library/Application Support/Adobe/ Adobe Illustrator CS5//Plug-ins Optionally, an additional folder can be
  • Adobe 65061456 | Programming Guide - Page 11
    is why a plug-in should save and restore state information during unload and reload. A plug-in can expect certain services from the application. Because a plug-in may be unloaded, Illustrator provides a means of storing important data when the plug-in is unloaded. Each time a plug-in is called, it
  • Adobe 65061456 | Programming Guide - Page 12
    "AI", while those from PICA use the prefix "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.
  • Adobe 65061456 | Programming Guide - Page 13
    sends a "startup" message to each plug-in it finds. This allows your plug-in to allocate global memory, add user-interface items to Illustrator, register suites, or perform other initialization. The start-up message action consists of the interface caller (kSPInterfaceCaller) and start-up selector
  • Adobe 65061456 | Programming Guide - Page 14
    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; for example, when the user selects an object. Plug-ins must register for the notifiers in which they are
  • Adobe 65061456 | Programming Guide - Page 15
    used to add plug-in suites, adapters, and other plug-in data to Illustrator. Illustrator stores this value with the added data. It is used to recall your allocated by your plug-in at start-up. This value is preserved by Illustrator when your plug-in is unloaded and passed back to the plug-in each
  • Adobe 65061456 | Programming Guide - Page 16
    Adobe Illustrator API Reference. 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 suites and what they do. Suite Name Suite Services provided Art suite AIArtSuite Access the artwork tree
  • Adobe 65061456 | Programming Guide - Page 17
    For more information on how to publish suites, see SPSuitesSuite::AddSuite in Adobe Illustrator API Reference and "Export property" on page 36. Binary compatibility Illustrator makes its best effort to support binary compatibility across two previous product versions. For example, this means a plug
  • Adobe 65061456 | Programming Guide - Page 18
    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.
  • Adobe 65061456 | Programming Guide - Page 19
    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
  • Adobe 65061456 | Programming Guide - Page 20
    supports this functionality is provided as sample code; see SDKAboutPluginsHelper. The Tutorial sample shows how to use this class. NOTE: Before Illustrator the process of writing a plug-in in more detail. Adobe Illustrator API Reference describes each function in detail and provides information on
  • Adobe 65061456 | Programming Guide - Page 21
    your plug-in should save and restore state information during unload and reload. Your plug-in can expect certain services from the application. Because your plug-in may be unloaded, Illustrator provides a means of storing important data when the plug-in is unloaded. Each time the plug-in is called
  • Adobe 65061456 | Programming Guide - Page 22
    is a small "s," followed by the owner of the suite, followed by the suite name; e.g., sSPBasic as shown above, sAIMenu for the Menu suite, etc. Illustrator API suites Every suite has the suite name and version in the suite header file, along with other definitions, like error strings, that are
  • Adobe 65061456 | Programming Guide - Page 23
    place to store information you may need next time the plug-in is loaded. Illustrator does not care what you put in the globals field. Usually, it is a the globals field empty. During the start-up message, you need to inform Illustrator of the filters, tools and so on that your plug-in adds. For
  • Adobe 65061456 | Programming Guide - Page 24
    or another plug-in for a pre-defined period of time, it is unloaded. This is true of all plug-in types, including plug-in suites. Illustrator notifies the plug-in of the loading and unloading events. After the start-up selector is received, each time your plug-in is brought into
  • Adobe 65061456 | Programming Guide - Page 25
    the caller/selector pairs associated with the plug-in types used in the Tutorial. For a description of the major plug-in types Illustrator supports, see Chapter 1, "Overview." Filter plug-ins Illustrator allows plug-ins to add new filters to the Object menu. To add a filter, your plug-in must do the
  • Adobe 65061456 | Programming Guide - Page 26
    the default dialog values. If your plug-in places more than one filter in the Object menu, a separate parameters handle is kept for each one. Illustrator does not care about the specific contents of the parameters handle, but the handle must be self contained; that is, you cannot include pointers or
  • Adobe 65061456 | Programming Guide - Page 27
    mouse is passed in the tool-message structure; see AIToolMessage in Adobe Illustrator API Reference. The tool message contains the basic plug-in data This is left as an exercise for the reader. Action plug-ins For your plug-in to be recordable by Illustrator's Actions panel, you must add special code
  • Adobe 65061456 | Programming Guide - Page 28
    the requested action event. The message struct sent along with the kDoActionSelector is DoActionMessage. Documentation for this structure is in Adobe Illustrator API Reference. It contains the recorded parameter values the action must replay. The DoAction function extracts the parameter values into
  • Adobe 65061456 | Programming Guide - Page 29
    box that displays contact details and a copyright statement. 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 65061456 | Programming Guide - Page 30
    Flash (SWF) file, that extends the capabilities of one or more Adobe Creative Suite applications. Developers can use extensions to add services and with Adobe Illustrator CS5 Development. X For Flash extension development, use the Creative Suite Extension Builder, which is part of the Adobe Creative
  • Adobe 65061456 | Programming Guide - Page 31
    CHAPTER 3: Creating a Flash UI for Plug-ins Communication between plug-ins and extensions 31 language, is used to create client logic. For help developing Flex applications, refer to the online documentation at www.adobe.com/support/documentation/en/flex/. The Adobe Creative Suite SDK provides
  • Adobe 65061456 | Programming Guide - Page 32
    the Stage Manager to load a given extension, making the Flash UI visible in the application and setting the window properties as const csxs::event::Event* const event, void* const context); AddEventListener("com.adobe.csxs.events.OkClicked", OkClickedFunc, NULL); Z The first parameter is the event
  • Adobe 65061456 | Programming Guide - Page 33
    ); Using the CSXS API 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. X To receive CSXS Events of a certain type in ActionScript, register
  • Adobe 65061456 | Programming Guide - Page 34
    UI for Plug-ins Delivering a plug-in with a Flash UI 34 3. Copy the build result, FreeGrid.aip to the Adobe Illustrator CS5 plug-ins folder. See "Where plug-ins live" on page 10. Build the Flash extension The build result for FreeGridUI is provided as an extension package file, SDK_root\samplecode
  • Adobe 65061456 | Programming Guide - Page 35
    size is indicated by the property length). The vendor ID identifies the vendor that defined the property type. All PiPL properties defined by the Illustrator API use a vendor ID of ADBE. Each property must be padded such that the next property begins on a four-byte boundary. PIPropertyList A plug
  • Adobe 65061456 | Programming Guide - Page 36
    CHAPTER 4: Plug-in Property Lists Optional PiPL properties 36 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
  • Adobe 65061456 | Programming Guide - Page 37
    be exported. * Padded to 4 bytes. */ char fName[1]; /** 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 PIPropertyList. The sample plug-ins on the SDK
  • Adobe 65061456 | Programming Guide - Page 38
    suites, 16, 22 action plug-ins, 27 ActionScript, 30 Adobe Creative Suite SDK, 30 P PICA (Plug-in Component Architecture), 16 PiPL (Plug-in property list) resources, 11 plug-in types, 8 publishing suites, 17 C C++ plug-ins, integrating with Flash extensions, 30 callers, 12, 14 code-descriptor, 36
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

ADOBE® ILLUSTRATOR® CS5
ADOBE ILLUSTRATOR CS5
PROGRAMMER’S GUIDE