35
4
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. For example, the Tutorial
plug-in’s PiPL is defined in the following source files:
X
Windows — See the PiPL resource declaration in the
Tutorial.rc
file.
X
Mac OS — See the PiPL resource declaration in the
Tutorial.r
file.
As the samples show, it is more flexible to work with PiPL resources in source-code form.
PiPL structure
A plug-in property list has a version number and count, followed by a sequence of arbitrary-length byte
containers called
properties
. The core types that define a PiPL are documented in the
Illustrator API
Reference
and listed in the following table:
Required PiPL properties
Your plug-in’s PiPL resource must include the required properties listed in the following table.
Type
Note
PIProperty
A plug-in property. Each property has a vendor ID, key, ID, length, and property
data (whose 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-in property list has a version number and count, followed by a sequence
of arbitrary-length byte containers called properties.
Property key
Value
Description
PIKindProperty
kind
SPEA
Indicates the type of the plug-in file; it is akin to a file type.
Illustrator loads plug-ins whose kind property have the value
SPEA.
PISPVersionProperty
ivrs
2
Describes to Illustrator the calling conventions expected by
the plug-in and currently has a value of 2.