PIActions.h File Reference

This file contains the public definitions and structures used by all plug-ins for scripting control and access. More...

#include <CoreServices/CoreServices.h>
#include "PITypes.h"
#include "SPTypes.h"
#include "SPPlugs.h"

Go to the source code of this file.

Data Structures

struct  PITerminology
 Maps Photoshop "key" information into human readable text and provides additional type information for values. More...
struct  PIDescriptorSimpleReference
 Refers to an external object, such as a channel or a layer. More...
struct  PIDescriptorSimpleReference::_keyData
struct  WriteDescriptorProcs
 The Write Descriptor Suite, handles all the Put functionality for scripting. More...
struct  ReadDescriptorProcs
 The Read Descriptor Suite, handles all the Get functionality for scripting. More...
struct  PIDescriptorParameters
 Descriptor suite callbacks. More...
struct  PSWindowNotifyProcs
 The set of routines available in the Window Notify suite. More...
struct  PSActionControlProcs
 The set of routines available in the Action Control Suite. More...
struct  PSActionControlProcs4
 The set of routines available in the Action Control Suite version 4. More...
struct  PSActionControlProcsOld
 The set of routines available in the Action Control Suite version 3 and 2. More...
struct  PSBasicActionControlProcs
 The set of routines available in the Basic Action Control Suite. More...
struct  PSBasicActionControlProcsOld
 The set of routines available in the Basic Action Control Suite. More...
struct  PSDescriptorRegistryProcs
 The set of routines available in the Descriptor Registry Suite. More...
struct  PSActionDescriptorProcs
 The set of routines available in the Action Descriptor Suite. More...
struct  PSActionDescriptorProcs3
 The set of routines available in the Action Descriptor Suite. More...
struct  PSActionDescriptorProcs2
 The set of routines available in the Action Descriptor Suite. More...
struct  PSActionListProcs
 The set of available routines for the Action List Suite. More...
struct  PSActionListProcs2
 The set of available routines for the Action List Suite. More...
struct  PSActionListProcs1
 The set of available routines for the Action List Suite. More...
struct  PSActionReferenceProcs
 The set of routines available in the Action Reference Suite. More...
struct  PSActionReferenceProcsOld
 The set of routines available in the Action Reference Suite version 2. More...
struct  PIActionParameters
 Parameters passed to an automation plug-in through the message data. More...

Defines

#define typeBookmark   'bkmk'
 The following are new with Photoshop 17.0.
#define typeXPlatFileSpec   'xpfs'
#define typePath   'Pth '
 Path type for a descriptor key.
#define typePlatformFilePath   typeAlias
#define PITerminologyMinSize   15
#define kCurrentWriteDescriptorProcsVersion   0
#define kCurrentWriteDescriptorProcsCount   ((sizeof(WriteDescriptorProcs) - offsetof(WriteDescriptorProcs, openWriteDescriptorProc)) / sizeof(void*))
#define kCurrentReadDescriptorProcsVersion   0
#define kCurrentReadDescriptorProcsCount   ((sizeof(ReadDescriptorProcs) - offsetof(ReadDescriptorProcs, openReadDescriptorProc)) / sizeof(void*))
#define kCurrentDescriptorParametersVersion   0
#define kPSWindowNotifySuite   "482963f4-3ea1-11d1-8da3-00c04fd5f7ee"
 Unique identifier for the Window Notify suite.
#define kPSWindowNotifySuiteVersion   1
 Current version of the Window Notify Suite.
#define kPSActionControlSuite   "bc1e4d70-f953-11d0-8d9f-00c04fd5f7ee"
 Unique identifier for the Action Control Suite.
#define kPSActionControlSuiteVersion   6
 Current version of the Action Control Suite, compatible with version 2.
#define kPSActionControlSuiteVersion5   5
#define kPSActionControlSuiteVersion4   4
#define kPSActionControlSuiteVersion3   3
#define kPSActionControlSuiteVersion2   2
#define kPSBasicActionControlSuite   "3eb7c480-8797-11d1-8da7-00c04fd5f7ee"
 Unique identifier for the Basic Action Control Suite.
#define kPSBasicActionControlSuiteVersion   3
 Current version of the Basic Action Control Suite; released with CC 2015.5, Version 17.0.
#define kPSBasicActionControlSuiteVersion2   2
 CC 2015 release, Version 16.0.
#define kPSBasicActionControlSuitePrevVersion   1
 Previous version of the Basic Action Control Suite.
#define kPSDescriptorRegistrySuite   "61e608b0-40fd-11d1-8da3-00c04fd5f7ee"
 Unique identifier for the Descriptor Registry Suite.
#define kPSDescriptorRegistrySuiteVersion   1
 Current version of the Descriptor Registry Suite.
#define kPSActionDescriptorSuite   "df135115-c769-11d0-8079-00c04fd7ec47"
 Unique identifier for the Action Descriptor Suite.
#define kPSActionDescriptorSuiteVersion   5
 Current version of the Action Descriptor Suite. First release, CC 2015.5 version 17.0.
#define kPSActionDescriptorSuiteVersion3   3
 intermediate version do not use
#define kPSActionDescriptorSuiteVersion2   2
 Original version.
#define kPSActionListSuite   "df135116-c769-11d0-8079-00c04fd7ec47"
 Unique identifier for the Action List Suite.
#define kPSActionListSuiteVersion   3
 Current version of the Action List Suite. First release, CC 2015.5 version 17.0.
#define kPSActionListSuiteVersion2   2
 CS5 version 12.0.
#define kPSActionListSuiteVersion1   1
 Original version.
#define kPSActionReferenceSuite   "df135117-c769-11d0-8079-00c04fd7ec47"
 The unique identifier for the Action Reference Suite.
#define kPSActionReferenceSuiteVersion   3
 The current version of the Action Reference Suite.
#define kPSActionReferenceSuitePrevVersion   2
Parameter Flags used in the Terminology Resource.

#define flagsSingleParameter
 Flags to describe a parameter with a single value.
#define flagsListParameter
 Flags to describe a parameter with a list value.
#define flagsEnumeratedParameter
 Flags to describe a parameter with a value taken from an enumeration.
#define flagsEnumeratedListParameter
 Flags to describe a parameter with a list value, where values are taken from an enumeration.
#define flagsOptionalSingleParameter
 Flags to describe an optional parameter with a single value.
#define flagsOptionalListParameter
 Flags to describe an optional parameter with a list value.
#define flagsOptionalEnumeratedParameter
 Flags to describe an optional parameter with a value taken from an enumeration.
#define flagsOptionalEnumeratedListParameter
 Flags to describe an optional parameter with a list value, where values are taken from an enumeration.
Property Flags used in the Terminology Resource.

#define flagsSingleProperty
 Flags to describe a property with a single value.
#define flagsListProperty
 Flags to describe a property with a value that is a list.
#define flagsEnumeratedProperty
 Flags to describe a property with a single value taken from an enumeration.
#define flagsEnumeratedListProperty
 Flags to describe a property with a value that is a list, where values are taken from an enumeration.
Direct Dictionary Flags used in the Terminology Resource
#define flagsOptionalEnumeratedChangesDirect
 Flags to describe an optional direct dictionary parameter that takes a single value from an enumeration, and has the possibility of changing state.
#define flagsEnumeratedChangesDirect
 Flags to describe a direct dictionary parameter that takes a single value from an enumeration, and has the possibility of changing state.
#define flagsEnumeratedDirect
 Flags to describe a direct dictionary parameter that takes a single value from an enumeration, and does not change state.
#define flagsChangesDirect
 Flags to describe a direct dictionary parameter that takes a single value, and has the possibility of changing state.
#define flagsListChangesDirect
 Flags to describe a direct dictionary parameter that takes a list value, and has the possibility of changing state.
Short Cuts for the Terminology Resource
#define NO_REPLY
 Short cut to define that a plug-in does not require a reply.
#define IMAGE_DIRECT_PARAMETER
 Short cut to define an image direct parameter used by Photoshop.
PiPL Scripting Keys
#define PIHasTerminologyProperty
 Indicates whether an 'aete' resource is present, and whether a plug-in is scripting-aware for Photoshop and AppleScript; key value is 'hstm'.
#define PITerminologyProperty
 Used internally as terminology cache; key value is 'trmn'.
Flags returned by GetKeyProc
#define actionSimpleParameter   0x00000000L
#define actionEnumeratedParameter   0x00002000L
#define actionListParameter   0x00004000L
#define actionOptionalParameter   0x00008000L
#define actionObjectParameter   0x80000000L
#define actionScopedParameter   0x40000000L
#define actionStringIDParameter   0x20000000L

Typedefs

typedef Handle PIDescriptorHandle
 Descriptor Handle used in the Descriptor Suite Callbacks (deprecated Standard Suite).
typedef struct
PIOpaqueWriteDescriptor * 
PIWriteDescriptor
 Write descriptor used by WriteDescriptorProcs.
typedef struct
PIOpaqueReadDescriptor * 
PIReadDescriptor
 Read descriptor used by ReadDescriptorProcs.
typedef uint32 DescriptorEventID
 Event ID.
typedef uint32 DescriptorClassID
 Class type ID, used in the PICA Automation Suites.
typedef uint32 DescriptorKeyID
 Key ID, used in the Automation Suites.
typedef uint32 DescriptorTypeID
 ID for the type of a class or object.
typedef uint32 DescriptorUnitID
 ID for the type of unit associated when getting and putting unit numbers.
typedef uint32 DescriptorEnumID
 Enumeration ID from a given enumeration type.
typedef uint32 DescriptorEnumTypeID
 Enumeration Type ID.
typedef uint32 DescriptorFormID
 Form ID, used with PSActionReferenceProcs::GetForm.
typedef DescriptorKeyID DescriptorKeyIDArray []
 Array to track which keys have been returned in the Descriptor Suite.
typedef struct PITerminology PITerminology
 Maps Photoshop "key" information into human readable text and provides additional type information for values.
typedef struct
PIDescriptorSimpleReference 
PIDescriptorSimpleReference
 Refers to an external object, such as a channel or a layer.
typedef struct WriteDescriptorProcs WriteDescriptorProcs
 The Write Descriptor Suite, handles all the Put functionality for scripting.
typedef struct ReadDescriptorProcs ReadDescriptorProcs
 The Read Descriptor Suite, handles all the Get functionality for scripting.
typedef struct
PIDescriptorParameters 
PIDescriptorParameters
 Descriptor suite callbacks.
typedef void(* PIWindowNotifier )(const struct EventRecord *event, void *data)
typedef struct PSWindowNotifyProcs PSWindowNotifyProcs
 The set of routines available in the Window Notify suite.
typedef struct _ADsc * PIActionDescriptor
 An action descriptor.
typedef struct _ALst * PIActionList
 An action list.
typedef struct _ARef * PIActionReference
 An action reference.
typedef void(* PIEventNotifier )(DescriptorEventID eventID, PIActionDescriptor descriptor, PIDialogRecordOptions options, void *data)
 The prototype for a plug-in routine that receives action event notification.
typedef void(* PICommandNotifier )(uint32 commandID, OSErr result, DescriptorEventID eventID, PIActionDescriptor descriptor, PIDialogRecordOptions options, void *data)
 The prototype for a plug-in routine that receives a command completion notification associated with a PostCommand call.
typedef SPErr(* PISuspendProc )(void *data)
 The prototype for a plug-in routine that plays actions that are not recorded to the Actions Palette.
typedef struct PSActionControlProcs PSActionControlProcs
 The set of routines available in the Action Control Suite.
typedef struct
PSActionControlProcs4 
PSActionControlProcs4
 The set of routines available in the Action Control Suite version 4.
typedef struct
PSActionControlProcsOld 
PSActionControlProcsOld
 The set of routines available in the Action Control Suite version 3 and 2.
typedef struct
PSBasicActionControlProcs 
PSBasicActionControlProcs
 The set of routines available in the Basic Action Control Suite.
typedef struct
PSBasicActionControlProcsOld 
PSBasicActionControlProcsOld
 The set of routines available in the Basic Action Control Suite.
typedef struct
PSDescriptorRegistryProcs 
PSDescriptorRegistryProcs
 The set of routines available in the Descriptor Registry Suite.
typedef struct
PSActionDescriptorProcs 
PSActionDescriptorProcs
 The set of routines available in the Action Descriptor Suite.
typedef struct
PSActionDescriptorProcs3 
PSActionDescriptorProcs3
 The set of routines available in the Action Descriptor Suite.
typedef struct
PSActionDescriptorProcs2 
PSActionDescriptorProcs2
 The set of routines available in the Action Descriptor Suite.
typedef struct PSActionListProcs PSActionListProcs
 The set of available routines for the Action List Suite.
typedef struct PSActionListProcs2 PSActionListProcs2
 The set of available routines for the Action List Suite.
typedef struct PSActionListProcs1 PSActionListProcs1
 The set of available routines for the Action List Suite.
typedef struct
PSActionReferenceProcs 
PSActionReferenceProcs
 The set of routines available in the Action Reference Suite.
typedef struct
PSActionReferenceProcsOld 
PSActionReferenceProcsOld
 The set of routines available in the Action Reference Suite version 2.
typedef struct PIActionParameters PIActionParameters
 Parameters passed to an automation plug-in through the message data.
WriteDescriptor callbacks
typedef MACPASCAL
PIWriteDescriptor(* 
OpenWriteDescriptorProc )(void)
 Opens a PIWriteDescriptor handle for access to its descriptor array.
typedef MACPASCAL OSErr(* CloseWriteDescriptorProc )(PIWriteDescriptor, PIDescriptorHandle *)
 Creates a new PIDescriptorHandle containing the key/value pairs that have been written to the write descriptor, and closes the PIWriteDescriptor handle.
typedef MACPASCAL OSErr(* PutIntegerProc )(PIWriteDescriptor, DescriptorKeyID, int32)
 Stores an ID and corresponding integer (typeInteger) into a descriptor structure.
typedef MACPASCAL OSErr(* PutFloatProc )(PIWriteDescriptor, DescriptorKeyID, const real64 *)
 Stores an ID and corresponding floating point number (typeFloat) into a descriptor structure.
typedef MACPASCAL OSErr(* PutUnitFloatProc )(PIWriteDescriptor, DescriptorKeyID, DescriptorUnitID, const real64 *)
 Stores an ID and corresponding unit-based floating point number (typeUnitFloat) into a descriptor structure.
typedef MACPASCAL OSErr(* PutBooleanProc )(PIWriteDescriptor, DescriptorKeyID, Boolean)
 Stores an ID and corresponding boolean (typeBoolean) into a descriptor structure.
typedef MACPASCAL OSErr(* PutTextProc )(PIWriteDescriptor, DescriptorKeyID, Handle)
 Stores an ID and corresponding text (typeChar) into a descriptor structure.
typedef MACPASCAL OSErr(* PutAliasProc )(PIWriteDescriptor, DescriptorKeyID, Handle)
 Stores an ID and corresponding alias (typeAlias) into a descriptor structure.
typedef MACPASCAL OSErr(* PutEnumeratedProc )(PIWriteDescriptor, DescriptorKeyID key, DescriptorTypeID type, DescriptorEnumID value)
 Stores an ID and corresponding value from an enumeration (typeEnumerated) into a descriptor structure.
typedef MACPASCAL OSErr(* PutClassProc )(PIWriteDescriptor, DescriptorKeyID, DescriptorTypeID)
 Stores an ID and corresponding class description type (typeClass) into a descriptor structure.
typedef MACPASCAL OSErr(* PutSimpleReferenceProc )(PIWriteDescriptor, DescriptorKeyID, const PIDescriptorSimpleReference *)
 Stores an ID and corresponding basic class, type, name and index (typeObjectReference) into a descriptor structure.
typedef MACPASCAL OSErr(* PutObjectProc )(PIWriteDescriptor, DescriptorKeyID, DescriptorTypeID, PIDescriptorHandle)
 Stores an ID and corresponding object (typeObject) into a descriptor structure.
typedef MACPASCAL OSErr(* PutCountProc )(PIWriteDescriptor, DescriptorKeyID, uint32 count)
 Stores an ID and corresponding integer into a descriptor structure.
typedef MACPASCAL OSErr(* PutStringProc )(PIWriteDescriptor, DescriptorKeyID, ConstStr255Param)
 Stores an ID and corresponding string (typeChar) into a descriptor structure.
typedef MACPASCAL OSErr(* PutScopedClassProc )(PIWriteDescriptor, DescriptorKeyID, DescriptorTypeID)
typedef MACPASCAL OSErr(* PutScopedObjectProc )(PIWriteDescriptor, DescriptorKeyID, DescriptorTypeID, PIDescriptorHandle)
ReadDescriptor callbacks
typedef MACPASCAL
PIReadDescriptor(* 
OpenReadDescriptorProc )(PIDescriptorHandle, DescriptorKeyIDArray)
 Creates a new read descriptor.
typedef MACPASCAL OSErr(* CloseReadDescriptorProc )(PIReadDescriptor)
 Closes the PIReadDescriptor handle.
typedef MACPASCAL Boolean(* GetKeyProc )(PIReadDescriptor, DescriptorKeyID *key, DescriptorTypeID *type, int32 *flags)
 Returns the next key in the read descriptor; returns key ID, description type, and flags.
typedef MACPASCAL OSErr(* GetIntegerProc )(PIReadDescriptor, int32 *)
 Returns the next value in the read descriptor as a integer (typeInteger).
typedef MACPASCAL OSErr(* GetFloatProc )(PIReadDescriptor, real64 *)
 Returns the next value in the read descriptor as a float (typeFloat).
typedef MACPASCAL OSErr(* GetUnitFloatProc )(PIReadDescriptor, DescriptorUnitID *, real64 *)
 Returns the next value in the read descriptor as a unit-based floating point number (typeUnitFloat).
typedef MACPASCAL OSErr(* GetBooleanProc )(PIReadDescriptor, Boolean *)
 Returns the next value in the read descriptor as a boolean (typeBoolean).
typedef MACPASCAL OSErr(* GetTextProc )(PIReadDescriptor, Handle *)
 Returns the next value in the read descriptor as a pointer to text (typeChar).
typedef MACPASCAL OSErr(* GetAliasProc )(PIReadDescriptor, Handle *)
 Returns the next value in the read descriptor as an alias (typeAlias).
typedef MACPASCAL OSErr(* GetEnumeratedProc )(PIReadDescriptor, DescriptorEnumID *)
 Returns the next value in the read descriptor as an enumerated description type (typeEnumerated).
typedef MACPASCAL OSErr(* GetClassProc )(PIReadDescriptor, DescriptorTypeID *)
 Returns the next value in the read descriptor as an class description type (typeClass).
typedef MACPASCAL OSErr(* GetSimpleReferenceProc )(PIReadDescriptor, PIDescriptorSimpleReference *)
 Returns the next value in the read descriptor as a basic reference (typeObjectReference).
typedef MACPASCAL OSErr(* GetObjectProc )(PIReadDescriptor, DescriptorTypeID *, PIDescriptorHandle *)
 Returns the next value in the read descriptor as an object, defined by a descriptor type and a handle to the corresponding object (typeObject).
typedef MACPASCAL OSErr(* GetCountProc )(PIReadDescriptor, uint32 *)
 Returns the number of descriptors in a read descriptor structure.
typedef MACPASCAL OSErr(* GetStringProc )(PIReadDescriptor, Str255 *)
 Returns the next value in the read descriptor as a string (typeChar).
typedef MACPASCAL OSErr(* GetPinnedIntegerProc )(PIReadDescriptor, int32 min, int32 max, int32 *)
 Returns the next value in the read descriptor as a pinned integer (typeInteger).
typedef MACPASCAL OSErr(* GetPinnedFloatProc )(PIReadDescriptor, const real64 *min, const real64 *max, real64 *)
 Returns the next value in the read descriptor as a pinned float (typeFloat).
typedef MACPASCAL OSErr(* GetPinnedUnitFloatProc )(PIReadDescriptor, const real64 *min, const real64 *max, DescriptorUnitID *, real64 *)
 Returns the next value in the read descriptor as a pinned unit float (typeUnitFloat).
enum  {
  plugInDialogOptional,
  plugInDialogRequired,
  plugInDialogNone
}
 These are the flags are associated with PIDialogRecordOptions, and are used for PIDescriptorParameters::recordInfo, and PIActionParameters::recordInfo. More...
enum  {
  plugInDialogDontDisplay,
  plugInDialogDisplay,
  plugInDialogSilent
}
 These flags are associated with PIDialogPlayOptions, and are used for PIDescriptorParameters::playInfo, and PIActionParameters::playInfo. More...
typedef int32 PIDialogRecordOptions
typedef int32 PIDialogPlayOptions
 Dialog options for playback. See associated enum for dialog play..

Detailed Description

This file contains the public definitions and structures used by all plug-ins for scripting control and access.

Distribution: PUBLIC

This file must be included to correctly compile. It is included by all the plug-in headers.


Define Documentation

#define typeBookmark   'bkmk'

The following are new with Photoshop 17.0.

#define typeXPlatFileSpec   'xpfs'
Value:
required,           singleItem,     notEnumerated,  reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    prepositionParam,   notFeminine,    notMasculine,   singular

Flags to describe a parameter with a single value.

Value:
required,           listOfItems,    notEnumerated,  reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    prepositionParam,   notFeminine,    notMasculine,   singular

Flags to describe a parameter with a list value.

Value:
required,           singleItem,     enumerated,     reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    prepositionParam,   notFeminine,    notMasculine,   singular

Flags to describe a parameter with a value taken from an enumeration.

Value:
required,           listOfItems,    enumerated,     reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    prepositionParam,   notFeminine,    notMasculine,   singular

Flags to describe a parameter with a list value, where values are taken from an enumeration.

Value:
optional,           singleItem,     notEnumerated,  reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    prepositionParam,   notFeminine,    notMasculine,   singular

Flags to describe an optional parameter with a single value.

Value:
optional,           listOfItems,    notEnumerated,  reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    prepositionParam,   notFeminine,    notMasculine,   singular

Flags to describe an optional parameter with a list value.

Value:
optional,           singleItem,     enumerated,     reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    prepositionParam,   notFeminine,    notMasculine,   singular

Flags to describe an optional parameter with a value taken from an enumeration.

Value:
optional,           listOfItems,    enumerated,     reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    prepositionParam,   notFeminine,    notMasculine,   singular

Flags to describe an optional parameter with a list value, where values are taken from an enumeration.

Value:
reserved,           singleItem,     notEnumerated,  readWrite,  \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    noApostrophe,       notFeminine,    notMasculine,   singular

Flags to describe a property with a single value.

Value:
reserved,           listOfItems,    notEnumerated,  readWrite,  \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    noApostrophe,       notFeminine,    notMasculine,   singular

Flags to describe a property with a value that is a list.

Value:
reserved,           singleItem,     enumerated,     readWrite,  \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    noApostrophe,       notFeminine,    notMasculine,   singular

Flags to describe a property with a single value taken from an enumeration.

Value:
reserved,           listOfItems,    enumerated,     readWrite,  \
    reserved,           reserved,       reserved,       reserved,   \
    reserved,           reserved,       reserved,       reserved,   \
    noApostrophe,       notFeminine,    notMasculine,   singular

Flags to describe a property with a value that is a list, where values are taken from an enumeration.

Value:
directParamOptional,    singleItem, enumerated, changesState,   \
    reserved,               reserved,   reserved,   reserved,       \
    reserved,               reserved,   reserved,   reserved,       \
    reserved,               reserved,   reserved,   reserved

Flags to describe an optional direct dictionary parameter that takes a single value from an enumeration, and has the possibility of changing state.

Value:
directParamRequired,    singleItem, enumerated, changesState,   \
    reserved,               reserved,   reserved,   reserved,       \
    reserved,               reserved,   reserved,   reserved,       \
    reserved,               reserved,   reserved,   reserved

Flags to describe a direct dictionary parameter that takes a single value from an enumeration, and has the possibility of changing state.

Value:
directParamRequired,    singleItem, enumerated, doesntChangeState,  \
    reserved,               reserved,   reserved,   reserved,           \
    reserved,               reserved,   reserved,   reserved,           \
    reserved,               reserved,   reserved,   reserved

Flags to describe a direct dictionary parameter that takes a single value from an enumeration, and does not change state.

Value:
directParamRequired,    singleItem, notEnumerated,  changesState,   \
    reserved,               reserved,   reserved,       reserved,       \
    reserved,               reserved,   reserved,       reserved,       \
    reserved,               reserved,   reserved,       reserved

Flags to describe a direct dictionary parameter that takes a single value, and has the possibility of changing state.

Value:
directParamRequired,    listOfItems,    notEnumerated,  changesState,   \
    reserved,               reserved,       reserved,       reserved,       \
    reserved,               reserved,       reserved,       reserved,       \
    reserved,               reserved,       reserved,       reserved

Flags to describe a direct dictionary parameter that takes a list value, and has the possibility of changing state.

#define NO_REPLY
Value:
noReply,            \
    "",                 \
    replyRequired,  singleItem, notEnumerated,  notTightBindingFunction,    \
    reserved,       reserved,   reserved,       reserved,                   \
    reserved,       reserved,   reserved,       reserved,                   \
    verbEvent,      reserved,   reserved,       reserved

Short cut to define that a plug-in does not require a reply.

Value:
typeImageReference,         \
    "",                         \
    flagsOptionalEnumeratedChangesDirect

Short cut to define an image direct parameter used by Photoshop.

This is required for most filter, selection and color picker plug-in resources.

#define typePath   'Pth '

Path type for a descriptor key.

#define typePlatformFilePath   typeAlias
#define PITerminologyMinSize   15

Typedef Documentation

typedef int32 PIDialogPlayOptions

Dialog options for playback. See associated enum for dialog play..

typedef Handle PIDescriptorHandle
typedef struct PIOpaqueWriteDescriptor* PIWriteDescriptor

Write descriptor used by WriteDescriptorProcs.

typedef struct PIOpaqueReadDescriptor* PIReadDescriptor

Read descriptor used by ReadDescriptorProcs.

typedef uint32 DescriptorEventID

Event ID.

See Action Control Suite

typedef uint32 DescriptorClassID

Class type ID, used in the PICA Automation Suites.

typedef uint32 DescriptorKeyID

Key ID, used in the Automation Suites.

typedef uint32 DescriptorTypeID

ID for the type of a class or object.

Used in the Automation Suites.

typedef uint32 DescriptorUnitID

ID for the type of unit associated when getting and putting unit numbers.

typedef uint32 DescriptorEnumID

Enumeration ID from a given enumeration type.

Used when getting or putting an enumerated value in the Automation Suites.

typedef uint32 DescriptorEnumTypeID

Enumeration Type ID.

Used when getting or putting an enumerated value in the Automation Suites.

typedef uint32 DescriptorFormID

Form ID, used with PSActionReferenceProcs::GetForm.

Array to track which keys have been returned in the Descriptor Suite.

See OpenReadDescriptorProc for additional information.

typedef struct PITerminology PITerminology

Maps Photoshop "key" information into human readable text and provides additional type information for values.

This structure is used for two PiPL scripting properties: PIHasTerminologyProperty and PITerminologyProperty.

The "HasTerminology" property indicates whether an 'aete' resource is present and whether your plug-in is scripting-aware for Photoshop and AppleScript. All scripting-aware plug-ins must have an 'aete' dictionary resource. terminologyID should be the resource number for that dictionary. Multiple dictionaries are usually provided when a file contains more than one plug-in.

Scripting-aware Filters, Selection, and Color Picker modules must provide both a classID and an eventID. All other types of plug-ins must provide a classID and pass typeNull="null" for the eventID.

Note:
If a non-filter module does not pass typeNull="null" for eventID, then errors will occur, as the existence of an eventID triggers the host to parse the dictionary as if it was for a Filter, Selection, or Color Picker module.

Refers to an external object, such as a channel or a layer.

See also Type typeObjectReference.

typedef struct _ADsc* PIActionDescriptor

An action descriptor.

Created and accessed through the Action Descriptor Suite.

typedef struct _ALst* PIActionList

An action list.

Created and accessed through the Action List Suite.

typedef struct _ARef* PIActionReference

An action reference.

Created and accessed through the Action Reference Suite.

The set of routines available in the Action Control Suite version 4.

See above for documentation.

The set of routines available in the Action Control Suite version 3 and 2.

See above for documentation.

The set of routines available in the Action Descriptor Suite.

Version 3. See above for documentation.

The set of routines available in the Action Descriptor Suite.

Version 2. See above for documentation.

The set of available routines for the Action List Suite.

Version 2, see above for documentation

The set of available routines for the Action List Suite.

See above for documentation.

The set of routines available in the Action Reference Suite version 2.

See above for documentation.


Enumeration Type Documentation

anonymous enum

These are the flags are associated with PIDialogRecordOptions, and are used for PIDescriptorParameters::recordInfo, and PIActionParameters::recordInfo.

Enumerator:
plugInDialogOptional 

Display dialog only if necessary or requested by user.

plugInDialogRequired 

Always display dialog.

plugInDialogNone 

No dialog to display.

anonymous enum

These flags are associated with PIDialogPlayOptions, and are used for PIDescriptorParameters::playInfo, and PIActionParameters::playInfo.

Enumerator:
plugInDialogDontDisplay 

Display dialog only if necessary due to missing parameters or error.

plugInDialogDisplay 

Present the plug-in dialog using descriptor information.

plugInDialogSilent 

Never present a dialog; use only descriptor information; if the information is insufficient to run the plug-in, the plug-in should return an error in the errorString field of the plug-ins parameter block.