Format Module PiPL Properties

These PiPL properties are only applicable to Format plug-in modules. More...

PiPL Format Keys

#define PIFmtFileTypeProperty   0x666d5443
 Default type and creator code used for files newly created with this format plug-in; key value is 'fmTC'.
#define PIReadTypesProperty   0x52645479
 List of type and creator pairs that the format plug-in can read; key value is 'RdTy'.
#define PIFilteredTypesProperty   0x66667454
 List of type and creator pairs for which the file format plug-in should be called to determine if the file can be read; key value is 'fftT'.
#define PIReadExtProperty   0x52644578
 List of extensions which the format plug-in can read; key value is 'RdEx'.
#define PIFilteredExtProperty   0x66667445
 List of extensions for which the file format plug-in should be called to determine if the file can be read; key value is 'fftE'.
#define PIFmtFlagsProperty   0x666d7466
 A set of flags which control the operation of file format plug-ins; key value is 'fmtf'.
#define PIFmtHiddenFlagsProperty   0x666D6869
 Hidden read/write flags; key value is 'fmhi'.
#define PIFmtICCFlagsProperty   0x666D6970
 ICC profile flags; key value is 'fmip'.
#define PIFmtICCRequiredFlagsProperty   0x666D6972
 ICC required profile flags; key value is 'fmir'.
#define PIFmtMaxSizeProperty   0x6d78737a
 The maximum number of rows and columns that can be in an image saved in this format; key value is 'mxsz'.
#define PIFmtMaxChannelsProperty   0x6d786368
 An array of counts of the maximum number of channels which can/will be saved for a given image mode; key value is 'mxch'.
#define PIFmtFilePropertiesProperty   0x66667073
 Supports formatSelectorGetFilePropertyValue selector; key value is 'ffps'.
#define PIFmtLosslessRotateProperty   0x666C6C72
 Supports formatSelectorLosslessRotate selector; key value is 'fllr'.
#define PIFmtBulkSettingsProperty   0x66666273
 Supports formatSelectorBulkSettings selector; key value is 'ffbs'.
#define PIFmtPrimaryMetadataProperty   0x6666706d
 File format is primary metadata source; key value is 'ffpm'.
#define PIFmtPrimaryThumbnailProperty   0x66667074
 File format is primary thumbnail source; key value is 'ffpt'.
#define PIFmtXMPReadProperty   0x786D7072
 Supports formatSelectorXMPRead selector; key value is 'xmpr'.
#define PIFmtXMPWriteProperty   0x786D7077
 Supports formatSelectorXMPWrite selector; key value is 'xmpw'.
#define PIFmtQuickThumbExtractProperty   0x7174686D
 Supports extractQuickThumbnail field; key value is 'qthm'.
#define PIFmtBulkOpenProperty   'ffbo'
 Supports formatSelectorBulkOpen selector; key value is 'ffbo'.
#define PIFmtRawSettingsProperty   'rscp'
 Supports settings copy/paste/etc selector; key value is 'rscp'.
#define PIFmtOpenWriteAccessProperty   'fowa'
 Plug-in prefers write access when opening; key value is 'fowa'.
#define PIFmtWarnIfOverriddenProperty   'fwio'
 Warning if this plug-in is override by another; key value is 'fwio'.
#define PIFmtResourceThreadSafeProperty   'frts'
 Plug-in is resource fork thread safe; key value is 'frts'.
#define PIFmtSupportsLayersProperty   'fmsl'
#define PIFmtSupportsLayersReadOnlyProperty   'slRO'
#define PIFmtSupportsBackgroundSaveProperty   'fbgs'
 Plug-in can save a file out on a separate background thread.

Defines

#define PIPluginLaunchesEditorProperty   'piLe'
 Indicates whether the plug-in launches an editor.

Detailed Description

These PiPL properties are only applicable to Format plug-in modules.


Define Documentation

#define PIFmtFileTypeProperty   0x666d5443

Default type and creator code used for files newly created with this format plug-in; key value is 'fmTC'.

This property key reflects the FmtFileType property in the PiPL resource file. The data for the property has type TypeCreatorPair. Under Windows, files don’t store TypeCreator information, except internally, so this property is not required; they are always interpreted as of type 'BINA' and creator 'mdos'.

All the info regarding what files can be read and written is obtained from the PIReadExtProperty or the PIFilteredExtProperty. Under Windows, PiMI extensions are converted to PIReadExtProperty, so use of PIFilteredExtProperty requires additional coding if you are porting a 16-bit plug-in format module to 32-bit.

#define PIPluginLaunchesEditorProperty   'piLe'

Indicates whether the plug-in launches an editor.

This property key reflects the PluginLaunchesEditor property in the PiPL resource file. The existence of this property key means it is enabled.

If this property is present, then the plug-in is called with a file reference so it can launch an external editor. This property key applies to file formats and smart objects. When this property is present, the Format plug-in is called with selector formatSelectorLaunchExternalEditor.

#define PIReadTypesProperty   0x52645479

List of type and creator pairs that the format plug-in can read; key value is 'RdTy'.

This property key reflects the ReadTypes property in the PiPL resource file. The data for the property is an array of TypeCreatorPair. Specifying a value of four spaces (0x20202020L) matches any type or creator.

#define PIFilteredTypesProperty   0x66667454

List of type and creator pairs for which the file format plug-in should be called to determine if the file can be read; key value is 'fftT'.

This property key reflects the FilteredTypes property in the PiPL resource file. The data for the property is an array of TypeCreatorPair. Specifying a value of four spaces (0x20202020L) matches any type or creator.

#define PIReadExtProperty   0x52644578

List of extensions which the format plug-in can read; key value is 'RdEx'.

This property key reflects the ReadExtensions property in the PiPL resource file. The data for the property has type OSType; the extension is stored in the first three characters of the OSType. The fourth character must be a space.

#define PIFilteredExtProperty   0x66667445

List of extensions for which the file format plug-in should be called to determine if the file can be read; key value is 'fftE'.

This property key reflects the FilteredExtensions property in the PiPL resource file. The data for the property has type OSType; the extension is stored in the first three characters of the OSType. The fourth character must be a space.

#define PIFmtFlagsProperty   0x666d7466

A set of flags which control the operation of file format plug-ins; key value is 'fmtf'.

This property key reflects the FormatFlags property in the PiPL resource file. The data for the property has type FlagSet. The default value for any flag is FALSE. See Format Flags.

#define PIFmtHiddenFlagsProperty   0x666D6869

Hidden read/write flags; key value is 'fmhi'.

This property key reflects the FormatHiddenFlags property in the PiPL resource file. The data for the property has type FlagSet. See Format Hidden Flags for PIFmtHiddenFlagsProperty.

#define PIFmtICCFlagsProperty   0x666D6970

ICC profile flags; key value is 'fmip'.

This property key reflects the FormatICCFlags property in the PiPL resource file. The data for the property has type FlagSet. See Format ICC Profile Flags for PIFmtICCFlagsProperty.

#define PIFmtICCRequiredFlagsProperty   0x666D6972

ICC required profile flags; key value is 'fmir'.

This property key reflects the FormatICCRequiredFlags property in the PiPL resource file. The data for the property has type FlagSet. See Required Format ICC Profile Flags for PIFmtICCRequiredFlagsProperty.

#define PIFmtMaxSizeProperty   0x6d78737a

The maximum number of rows and columns that can be in an image saved in this format; key value is 'mxsz'.

This property key reflects the FormatMaxSize property in the PiPL resource file. The data for the property has type Point. Photoshop uses this field to screen out ineligible formats.

#define PIFmtMaxChannelsProperty   0x6d786368

An array of counts of the maximum number of channels which can/will be saved for a given image mode; key value is 'mxch'.

This property key reflects the FormatMaxChannels property in the PiPL resource file. This array is indexed by the plug-in mode constants. For example, if your format plug-in supports a single alpha channel in RGB mode, you should set maxChannels[plugInModeRGBColor]=4. A plug-in might be asked to save more channels than it reports it can support. This field exists primarily so that Photoshop can warn the user that alpha channels will be discarded.

#define PIFmtFilePropertiesProperty   0x66667073

Supports formatSelectorGetFilePropertyValue selector; key value is 'ffps'.

This property key reflects the FileProperties property in the PiPL resource file.

#define PIFmtLosslessRotateProperty   0x666C6C72

Supports formatSelectorLosslessRotate selector; key value is 'fllr'.

This property key reflects the LosslessRotate property in the PiPL resource file.

#define PIFmtBulkSettingsProperty   0x66666273

Supports formatSelectorBulkSettings selector; key value is 'ffbs'.

This property key reflects the BulkSettings property in the PiPL resource file.

#define PIFmtPrimaryMetadataProperty   0x6666706d

File format is primary metadata source; key value is 'ffpm'.

This property key reflects the PrimaryMetadataSource property in the PiPL resource file.

#define PIFmtPrimaryThumbnailProperty   0x66667074

File format is primary thumbnail source; key value is 'ffpt'.

This property key reflects the PrimaryThumbnailSource property in the PiPL resource file.

#define PIFmtXMPReadProperty   0x786D7072

Supports formatSelectorXMPRead selector; key value is 'xmpr'.

This property key reflects the XMPRead property in the PiPL resource file.

#define PIFmtXMPWriteProperty   0x786D7077

Supports formatSelectorXMPWrite selector; key value is 'xmpw'.

This property key reflects the XMPWrite property in the PiPL resource file.

#define PIFmtQuickThumbExtractProperty   0x7174686D

Supports extractQuickThumbnail field; key value is 'qthm'.

This property key reflects the QuickExtractThumbnail property in the PiPL resource file.

#define PIFmtBulkOpenProperty   'ffbo'

Supports formatSelectorBulkOpen selector; key value is 'ffbo'.

This property key reflects the BulkOpen property in the PiPL resource file.

#define PIFmtRawSettingsProperty   'rscp'

Supports settings copy/paste/etc selector; key value is 'rscp'.

This property key reflects the RawSettings property in the PiPL resource file.

#define PIFmtOpenWriteAccessProperty   'fowa'

Plug-in prefers write access when opening; key value is 'fowa'.

This property key reflects the OpenWriteAccess property in the PiPL resource file.

#define PIFmtWarnIfOverriddenProperty   'fwio'

Warning if this plug-in is override by another; key value is 'fwio'.

This property key reflects the WarnIfOverridden property in the PiPL resource file.

#define PIFmtResourceThreadSafeProperty   'frts'

Plug-in is resource fork thread safe; key value is 'frts'.

This property key reflects the ResourceThreadSafe property in the PiPL resource file.

#define PIFmtSupportsLayersProperty   'fmsl'

#define PIFmtSupportsLayersReadOnlyProperty   'slRO'

#define PIFmtSupportsBackgroundSaveProperty   'fbgs'

Plug-in can save a file out on a separate background thread.

This property key reflects the SupportsBackgroundSave property in the PiPL resource file. Formats that rely on Globals, Mac resource manager, or show UI after the formatSelectorWriteStart entry should not allow background save. A format plugin could be called to read a file on main thread while a file is being saved in the background thread.