PIExport.h
Go to the documentation of this file.
00001 // ADOBE SYSTEMS INCORPORATED
00002 // Copyright  1993 - 2005 Adobe Systems Incorporated
00003 // All Rights Reserved
00004 //
00005 // NOTICE:  Adobe permits you to use, modify, and distribute this 
00006 // file in accordance with the terms of the Adobe license agreement
00007 // accompanying it.  If you have received this file from a source
00008 // other than Adobe, then your use, modification, or distribution
00009 // of it requires the prior written permission of Adobe.
00010 //-------------------------------------------------------------------
00034 #ifndef __PIExport__
00035 #define __PIExport__
00036 
00037 #if PRAGMA_ONCE
00038 #pragma once
00039 #endif
00040 
00041 #include "PIActions.h"
00042 #include "PIGeneral.h"
00043 #include "SPBasic.h"
00044 
00045 /* Operation selectors */
00047 
00048 
00058 #define exportSelectorAbout    0
00059 
00072 #define exportSelectorStart    1
00073 
00090 #define exportSelectorContinue 2
00091 
00105 #define exportSelectorFinish   3
00106 
00111 #define exportSelectorPrepare  4
00112   // end ingroup
00116 
00118 
00119 
00120 
00122 
00123 
00128 /* Error return values. The plug-in module may also return standard Macintosh
00129    operating system error codes, or report its own errors, in which case it
00130    can return any positive integer. */
00131 
00132 #define exportBadParameters -30200  
00133 #define exportBadMode       -30201    // end ingroup
00138 
00140 
00141 /******************************************************************************/
00142 
00144 
00154 #define PIExpFlagsProperty      0x65787066 /* 'expf' <Set> Export flags */
00155 
00156 /******************************************************************************/
00157 
00158 /* Export flag indices. */
00159 
00160 #define PIExpSupportsTransparency 0   
00163 /******************************************************************************/
00164 
00165 #if PRAGMA_STRUCT_ALIGN
00166 #pragma options align=mac68k
00167 #endif
00168 
00175 typedef struct ExportRecord
00176     {
00177 
00178     int32           serialNumber;   
00185     TestAbortProc   abortProc;      
00187     ProgressProc    progressProc;   
00189     int32           maxData;        
00197     int16           imageMode;      
00202     Point           imageSize;      
00205     int16           depth;          
00207     int16           planes;         
00211     Fixed           imageHRes;      
00213     Fixed           imageVRes;      
00216     LookUpTable     redLUT;         
00218     LookUpTable     greenLUT;       
00220     LookUpTable     blueLUT;        
00223     Rect            theRect;        
00229     int16           loPlane;        
00232     int16           hiPlane;        
00236     void *          data;           
00239     int32           rowBytes;       
00241     Str255          filename;       
00244     int16           vRefNum;        
00246     Boolean         dirty;          
00253     Rect            selectBBox;     
00257     OSType          hostSig;        
00259     HostProc        hostProc;       
00261     Handle          duotoneInfo;    
00266     int16           thePlane;       
00269     PlugInMonitor   monitor;        
00271     void *          platformData;   
00274     BufferProcs *   bufferProcs;    
00276     ResourceProcs * resourceProcs;  
00278     ProcessEventProc processEvent;  
00280     DisplayPixelsProc displayPixels;
00282     HandleProcs     *handleProcs;   
00284     // New in 3.0
00285 
00286     ColorServicesProc colorServices; 
00288     GetPropertyProc getPropertyObsolete; 
00292     AdvanceStateProc advanceState;      
00299     int16           layerPlanes;          
00302     int16           transparencyMask;     
00304     int16           layerMasks;           
00309     int16           invertedLayerMasks;   
00314     int16           nonLayerPlanes;       
00321     /* Note that the layer mask fields are necessarily zero in 3.0.4 since
00322        the export module receives the merged data and the merged data doesn't
00323        really have a layer mask associated with it. */
00324 
00325     // New in 3.0.4
00326 
00327     ImageServicesProcs *imageServicesProcs;
00330     int16               tileWidth;      
00335     int16               tileHeight;     
00340     Point               tileOrigin;     
00342     PropertyProcs   *propertyProcs;     
00347     // New in 4.0 
00348 
00349     PIDescriptorParameters  *descriptorParameters;  
00350     Str255                  *errorString;           
00355     ChannelPortProcs *channelPortProcs;     
00357     ReadImageDocumentDesc *documentInfo;    
00360     // New in 5.0 
00361 
00362     SPBasicSuite    *sSPBasic;      
00363     void            *plugInRef;     
00365     int32           transparentIndex;   
00368     Handle          iCCprofileData;     
00374     int32           iCCprofileSize;     
00376     int32           canUseICCProfiles;  
00381     // New in 5.5 
00382 
00383     int32           lutCount;           
00387     // New in 8.0 
00388 
00389     int32       HostSupports32BitCoordinates;   
00391     int32       PluginUsing32BitCoordinates;    
00394     VPoint      imageSize32;                    
00397     VRect       theRect32;                      
00400     VRect       selectBBox32;                   
00404     /* Reserved Space for Expansion -- decrement when you add stuff */
00405     
00407 
00408     char            reserved [106]; 
00410 
00411     }
00412 ExportRecord, *ExportRecordPtr;
00413 
00414 #if PRAGMA_STRUCT_ALIGN
00415 #pragma options align=reset
00416 #endif
00417 
00418 /******************************************************************************/
00419 
00420 #endif // __PIExport_h__