|
Getting Started
SDK API Reference
SDK API Features
Other Documentation
|
|
|
This information is included as reference material.
If you use the example source code and the documentation included on the Photoshop SDK, you probably won’t need to worry about the specifics of the PiPL syntax.
# Miscellaneous definitions
<OSType>
<int16>
<int32>
<epsilon> :=
# Beginning of real grammar.
<PiPL spec> := <resource header> <resource body>
<resource header> :=
"resource" "'PiPL'" "("
<resourceID> <optional resource name> <optional attribute list>
")"
<optional name> :=
<epsilon> |
"," <string>
<optional attribute list> :=
<epsilon> |
"," <attribute> <attribute list tail>
<attribute list tail> :=
<epsilon> |
"|" <attribute> <attribute list tail>
<resource body> :=
"{" "{"
<property list>
"}" "}"
<property list tail> :=
<epsilon> |
"," <property> <property list tail>
<property list> :=
<epsilon>
| <property> <property list tail>
<property> :=
<kind property> |
<version property> |
<priority property> |
<required host property> |
<name property> |
<category property> |
<68k code descriptor property> |
<powerpc code descriptor property> |
<win32 x86 code property> |
<supported modes property> |
<filter case info property> |
<format file type property> |
<read types property> |
<write types property> |
<filtered types property> |
<read extensions property> |
<write extensions property> |
<filtered extensions property> |
<format flags property> |
<format maximum size property> |
<format maximum channels property> |
<parsable types property> |
<parsable extensions property> |
<filtered parsable types property> |
<filtered parsable extensions property> |
<parsable clipboard types property>
<kind property> := "Kind" "{" <kind ID> "}"
<kind ID> := <OSType> |
"Filter" |
"Parser" |
"ImageFormat" |
"Extension" |
"Acquire" |
"Export"
<version property> := "Version" "{" <version clause> "}"
<version clause> := <int32> |
"(" <wired version ID high> "<<" "16" ")" "|"
"(" <wired version ID low> ")" |
<wired version ID>
<wired version ID> := "FilterVersion" |
"ParserVersion" |
"ImageFormatVersion" |
"ExtensionVersion" |
"AcquireVersion" |
"ExportVersion"
<wired version ID high> := "latestFilterVersion" |
"latestParserVersion" |
"latestImageFormatVersion" |
"latestExtensionVersion" |
"latestAcquireVersion" |
"latestExportVersion"
<wired version ID high> := "latestFilterSubVersion" |
"latestParserSubVersion" |
"latestImageFormatSubVersion" |
"latestExtensionSubVersion" |
"latestAcquireSubVersion" |
"latestExportSubVersion"
<priority property> := "Priority" "{" <int16> "}"
<required host property> := "Host" "{" <OSType> "}"
<name property> := "Name" "{" <string> "}"
<category property> := "Category" "{" <string> "}"
<68k code descriptor property> := "Code68k" "{" <OSType>, <int16> "}"
<powerpc code descriptor property> := "CodePowerPC" "{"
<int32>, <int32> <optional name> "}"
<win32 x86 code property> := "CodeWin32X86" "{" <string> "}
<bitmap support> := "noBitmap" | "doesSupportBitmap"
<grayscale support> := "noGrayScale" | "doesSupportGrayScale"
<indexed support> := "noIndexedColor" | "doesSupportIndexedColor"
<RGB support> := "noRGBColor" | "doesSupportRGBColor"
<CMYK support> := "noCMYKColor" | "doesSupportCMYKColor"
<HSL support> := "noHSLColor" | "doesSupportHSLColor"
<HSB support> := "noHSBColor" | "doesSupportHSBColor"
<multichannel support> := "noMultichannel" | "doesSupportMultichannel"
<duotone support> := "noDuotone" | "doesSupportDuotone"
<LAB support> := "noLABColor" | "doesSupportLABColor"
<supported modes property> := "SupportedModes"
"{"
<bitmap support> ","
<grayscale support> ","
<indexed support> ","
<RGB support> ","
<CMYK support> ","
<HSL support> ","
<HSB support> ","
<multichannel support> ","
<duotone support> ","
<LAB support>
"}"
<filter case info property> := "FilterCaseInfo"
"{"
"{"
<filter info case> # filterCaseFlatImageNoSelection
<filter info case> # filterCaseFlatImageWithSelection
<filter info case> # filterCaseFloatingSelection
<filter info case> # filterCaseEditableTransparencyNoSelection
<filter info case> # filterCaseEditableTransparencyWithSelection
<filter info case> # filterCaseProtectedTransparencyNoSelection
<filter info case> # filterCaseProtectedTransparencyWithSelection
"}"
"}"
<filter info case> :=
<input matting> "," <output matting> ","
<layer mask flag> "," <blank data flag> "," <copy source flag>
<input matting> :=
"inCantFilter" |
"inStraightData" |
"inBlackMat" |
"inGrayMat" |
"inWhiteMat" |
"inDefringe" |
"inBlackZap" |
"inGrayZap" |
"inWhiteZap" |
"inBackgroundZap" |
"inForegroundZap"
<ouput matting> :=
"outCantFilter" |
"outStraightData" |
"outBlackMat" |
"outGrayMat" |
"outWhiteMat" |
"outFillMask"
<layer mask flag> := "doesNotFilterLayerMasks" | "filtersLayerMasks"
<blank data flag> := "doesNotWorkWithBlankData" | "worksWithBlankData"
<copy source flag> := "copySourceToDestination" |
"doNotCopySourceToDestination"
<type creator pair> :=
<OSType> "," <OSType>
<format file type property> :=
"{"
<type creator pair>
"}"
<type creator pair list tail> :=
<epsilon> |
"," "{" <type creator pair> "}" <type creator pair list tail>
<type creator pair list> :=
<epsilon> |
"{" <type creator pair> "}" <type creator pair list tail>
<read types property> :=
"{"
<type creator pair list>
"}"
<write types property> :=
"{"
<type creator pair list>
"}"
<filtered types property> :=
"{"
<type creator pair list>
"}"
<ostype list tail> :=
<epsilon> |
"," "{" <OSType> "}" <ostype list tail>
<ostype list> :=
<epsilon> |
"{" <OSType> "}" <ostype list tail>
<read extensions property> :=
"{"
<ostype list>
"}"
<write extensions property> :=
"{"
<ostype list>
"}"
<filtered extensions property> :=
"{"
<ostype list>
"}"
<saves image resources flag> :=
"fmtDoesNotSaveImageResources" | "fmtSavesImageResources"
<can read flag> :=
"fmtCannotRead" | "fmtCanRead"
<can write flag> :=
"fmtCannotWrite" | "fmtCanWrite"
<write if read flag> :=
"fmtWritesAll" | "fmtCanWriteIfRead"
<format flags property> :=
"{"
<saves image resources flag> ","
<can read flag> ","
<can write flag> ","
<write if read flag>
"}"
<format maximum size property> :=
"{"
<int16>, <int16>
"}"
<format maximum channels property> :=
<parsable types property> :=
"{"
<type creator pair list>
"}"
<parsable extensions property> :=
"{"
<ostype list>
"}"
<filtered parsable types property> :=
"{"
<type creator pair list>
"}"
<filtered parsable extensions property> :=
"{"
<ostype list>
"}"
<parsable clipboard types property> :=
"{"
<ostype list>
"}"Adobe Photoshop PiPL Syntax
This information is included as reference material. If you use the example
# Miscellaneous definitions
<OSType>
<int16>
<int32>
<epsilon> :=
# Beginning of real grammar.
<PiPL spec> := <resource header> <resource body>
<resource header> :=
"resource" "'PiPL'" "("
<resourceID> <optional resource name> <optional attribute list>
")"
<optional name> :=
<epsilon> |
"," <string>
<optional attribute list> :=
<epsilon> |
"," <attribute> <attribute list tail>
<attribute list tail> :=
<epsilon> |
"|" <attribute> <attribute list tail>
<resource body> :=
"{" "{"
<property list>
"}" "}"
<property list tail> :=
<epsilon> |
"," <property> <property list tail>
<property list> :=
<epsilon>
| <property> <property list tail>
<property> :=
<kind property> |
<version property> |
<priority property> |
<required host property> |
<name property> |
<category property> |
<68k code descriptor property> |
<powerpc code descriptor property> |
<win32 x86 code property> |
<supported modes property> |
<filter case info property> |
<format file type property> |
<read types property> |
<write types property> |
<filtered types property> |
<read extensions property> |
<write extensions property> |
<filtered extensions property> |
<format flags property> |
<format maximum size property> |
<format maximum channels property> |
<parsable types property> |
<parsable extensions property> |
<filtered parsable types property> |
<filtered parsable extensions property> |
<parsable clipboard types property>
<kind property> := "Kind" "{" <kind ID> "}"
<kind ID> := <OSType> |
"Filter" |
"Parser" |
"ImageFormat" |
"Extension" |
"Acquire" |
"Export"
<version property> := "Version" "{" <version clause> "}"
<version clause> := <int32> |
"(" <wired version ID high> "<<" "16" ")" "|"
"(" <wired version ID low> ")" |
<wired version ID>
<wired version ID> := "FilterVersion" |
"ParserVersion" |
"ImageFormatVersion" |
"ExtensionVersion" |
"AcquireVersion" |
"ExportVersion"
<wired version ID high> := "latestFilterVersion" |
"latestParserVersion" |
"latestImageFormatVersion" |
"latestExtensionVersion" |
"latestAcquireVersion" |
"latestExportVersion"
<wired version ID high> := "latestFilterSubVersion" |
"latestParserSubVersion" |
"latestImageFormatSubVersion" |
"latestExtensionSubVersion" |
"latestAcquireSubVersion" |
"latestExportSubVersion"
<priority property> := "Priority" "{" <int16> "}"
<required host property> := "Host" "{" <OSType> "}"
<name property> := "Name" "{" <string> "}"
<category property> := "Category" "{" <string> "}"
<68k code descriptor property> := "Code68k" "{" <OSType>, <int16> "}"
<powerpc code descriptor property> := "CodePowerPC" "{"
<int32>, <int32> <optional name> "}"
<win32 x86 code property> := "CodeWin32X86" "{" <string> "}
<bitmap support> := "noBitmap" | "doesSupportBitmap"
<grayscale support> := "noGrayScale" | "doesSupportGrayScale"
<indexed support> := "noIndexedColor" | "doesSupportIndexedColor"
<RGB support> := "noRGBColor" | "doesSupportRGBColor"
<CMYK support> := "noCMYKColor" | "doesSupportCMYKColor"
<HSL support> := "noHSLColor" | "doesSupportHSLColor"
<HSB support> := "noHSBColor" | "doesSupportHSBColor"
<multichannel support> := "noMultichannel" | "doesSupportMultichannel"
<duotone support> := "noDuotone" | "doesSupportDuotone"
<LAB support> := "noLABColor" | "doesSupportLABColor"
<supported modes property> := "SupportedModes"
"{"
<bitmap support> ","
<grayscale support> ","
<indexed support> ","
<RGB support> ","
<CMYK support> ","
<HSL support> ","
<HSB support> ","
<multichannel support> ","
<duotone support> ","
<LAB support>
"}"
<filter case info property> := "FilterCaseInfo"
"{"
"{"
<filter info case> # filterCaseFlatImageNoSelection
<filter info case> # filterCaseFlatImageWithSelection
<filter info case> # filterCaseFloatingSelection
<filter info case> # filterCaseEditableTransparencyNoSelection
<filter info case> # filterCaseEditableTransparencyWithSelection
<filter info case> # filterCaseProtectedTransparencyNoSelection
<filter info case> # filterCaseProtectedTransparencyWithSelection
"}"
"}"
<filter info case> :=
<input matting> "," <output matting> ","
<layer mask flag> "," <blank data flag> "," <copy source flag>
<input matting> :=
"inCantFilter" |
"inStraightData" |
"inBlackMat" |
"inGrayMat" |
"inWhiteMat" |
"inDefringe" |
"inBlackZap" |
"inGrayZap" |
"inWhiteZap" |
"inBackgroundZap" |
"inForegroundZap"
<ouput matting> :=
"outCantFilter" |
"outStraightData" |
"outBlackMat" |
"outGrayMat" |
"outWhiteMat" |
"outFillMask"
<layer mask flag> := "doesNotFilterLayerMasks" | "filtersLayerMasks"
<blank data flag> := "doesNotWorkWithBlankData" | "worksWithBlankData"
<copy source flag> := "copySourceToDestination" |
"doNotCopySourceToDestination"
<type creator pair> :=
<OSType> "," <OSType>
<format file type property> :=
"{"
<type creator pair>
"}"
<type creator pair list tail> :=
<epsilon> |
"," "{" <type creator pair> "}" <type creator pair list tail>
<type creator pair list> :=
<epsilon> |
"{" <type creator pair> "}" <type creator pair list tail>
<read types property> :=
"{"
<type creator pair list>
"}"
<write types property> :=
"{"
<type creator pair list>
"}"
<filtered types property> :=
"{"
<type creator pair list>
"}"
<ostype list tail> :=
<epsilon> |
"," "{" <OSType> "}" <ostype list tail>
<ostype list> :=
<epsilon> |
"{" <OSType> "}" <ostype list tail>
<read extensions property> :=
"{"
<ostype list>
"}"
<write extensions property> :=
"{"
<ostype list>
"}"
<filtered extensions property> :=
"{"
<ostype list>
"}"
<saves image resources flag> :=
"fmtDoesNotSaveImageResources" | "fmtSavesImageResources"
<can read flag> :=
"fmtCannotRead" | "fmtCanRead"
<can write flag> :=
"fmtCannotWrite" | "fmtCanWrite"
<write if read flag> :=
"fmtWritesAll" | "fmtCanWriteIfRead"
<format flags property> :=
"{"
<saves image resources flag> ","
<can read flag> ","
<can write flag> ","
<write if read flag>
"}"
<format maximum size property> :=
"{"
<int16>, <int16>
"}"
<format maximum channels property> :=
<parsable types property> :=
"{"
<type creator pair list>
"}"
<parsable extensions property> :=
"{"
<ostype list>
"}"
<filtered parsable types property> :=
"{"
<type creator pair list>
"}"
<filtered parsable extensions property> :=
"{"
<ostype list>
"}"
<parsable clipboard types property> :=
"{"
<ostype list>
"}"
|
|