/* Copyright 1992. Adobe Systems, Inc.. All rights reserved. */ /* File: PIGeneral.r Copyright 1991, 1992 by Adobe Systems Inc.. Written by Marc Kaufman Kaufman Research 17 Mountain Meadow Woodside, CA 94062 (415) 851-5777 */ #ifndef __PIGeneral.r__ #define __PIGeneral.r__ type 'PiMI' { Start: /* The following is common to all Photoshop 2.5 Plugin modules */ integer; /* The version number of the interface supported. */ integer; /* The sub-version number. */ integer; /* The plug-in's priority. */ integer = (General-Start)/8; /* The size of the general info. */ integer = (TypeInfo-General)/8; /* The size of the type specific info. */ integer; /* A bit mask indicating supported image modes. */ literal longint; /* A required host if any. */ General: array { /* The following is used only for Format Plugin modules */ integer = $$Countof(TypeArray); /* type count */ integer = $$Countof(ExtensionArray); /* extension count */ byte cannotRead, canRead; /* Can we read using this format? */ byte cannotReadAll, canReadAll; /* Can this plug-in read from all files? */ byte cannotWrite, canWrite; /* Can we write using this format? */ byte cannotWriteIfRead, canWriteIfRead; /* Can we write if we read using this format? */ byte doesntSaveResources, savesResources; /* Does this file format save the resource data? */ fill byte; /* Padding */ wide array [16] { integer; }; /* Maximum # of channels with each plug-in mode. */ integer; /* Maximum rows allowed in document. */ integer; /* Maximum columns allowed in document. */ literal longint; /* The file type if we create a file. */ literal longint; /* The creator type if we create a file. */ array TypeArray { literal longint; /* The type-creator pairs supported. */ literal longint; }; array ExtensionArray { literal longint; /* The extensions supported. */ }; }; array { /* The following is used only for filter plug-in modules. */ byte dontCopySourceToDestination, copySourceToDestination; }; TypeInfo: }; #define supportsBitmap 1 #define supportsGrayScale 2 #define supportsIndexedColor 4 #define supportsRGBColor 8 #define supportsCMYKColor 16 #define supportsHSLColor 32 #define supportsHSBColor 64 #define supportsMultichannel 128 #define supportsDuotone 256 #define supportsLABColor 512 #define latestAcquireVersion 4 #define latestAcquireSubVersion 0 #define latestExportVersion 4 #define latestExportSubVersion 0 #define latestExtensionVersion 1 #define latestExtensionSubVersion 0 #define latestFilterVersion 4 #define latestFilterSubVersion 0 #define latestFormatVersion 1 #define latestFormatSubVersion 0 #if 0 /* Example of Format plugin resource */ resource 'PiMI' (16000, purgeable) { latestFormatVersion, /* Version, subVersion, and priority of the interface */ latestFormatSubVersion, 0, supportsGrayScale+supportsRGBColor+supportsCMYKColor, ' ', { canRead, cannotReadAll, canWrite, canWriteIfRead, doesntSaveResources, { 0, 1, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 32767, 32767, 'JPEG', ' ', { 'JPEG', '8BIM' }, { 'JPG ' } } {} }; /* Example of Acquire/Export resource */ resource 'PiMI' (16001, purgeable) { latestAcquireVersion, /* Version, subVersion, and priority of the interface */ latestAcquireSubVersion, 0, supportsGrayScale+supportsRGBColor+supportsCMYKColor, ' ', {} /* Null Format extension field */ {} /* Null Filter extension field */ }; /* Example of Filter resource */ resource 'PiMI' (16001, purgeable) { latestAcquireVersion, /* Version, subVersion, and priority of the interface */ latestAcquireSubVersion, 0, supportsGrayScale+supportsRGBColor+supportsCMYKColor, ' ', {} /* Null Format extension field */ { dontCopySourceToDestination } }; #endif #endif