PISelection.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 //-------------------------------------------------------------------
00033 #ifndef __PISelection__
00034 #define __PISelection__
00035 
00036 #if PRAGMA_ONCE
00037 #pragma once
00038 #endif
00039 
00040 #include "PIActions.h"
00041 #include "PIGeneral.h"
00042 #include "SPBasic.h"
00043 
00044 /********************************************************************************/
00046 
00047 
00052 /* Operation selectors */
00053 
00061 #define selectionSelectorAbout   0
00062 
00103 #define selectionSelectorExecute 1
00104 
00107 /********************************************************************************/
00108 
00109 /* Error return values. The plug-in module may also return standard Macintosh
00110    operating system error codes, or report its own errors, in which case it
00111    can return any positive integer. */
00112 
00114 
00115 
00118 #define selectionBadParameters -30700   
00119 #define selectionBadMode       -30701   
00122 /********************************************************************************/
00123 
00129 typedef struct PISelectionParams
00130     {
00131     
00132     /* We start with the fields that are common to pretty much all of the plug-ins. */
00133     
00134     int32       serialNumber;       
00141     TestAbortProc   abortProc;      
00143     ProgressProc    progressProc;   
00146     OSType      hostSig;            
00148     HostProc    hostProc;          
00151     BufferProcs *bufferProcs;       
00155     ResourceProcs *resourceProcs;   
00159     ProcessEventProc processEvent;  
00162     DisplayPixelsProc displayPixels;
00165     HandleProcs *handleProcs;       
00169     ColorServicesProc colorServices; 
00172     ImageServicesProcs *imageServicesProcs;
00175     PropertyProcs   *propertyProcs; 
00180     ChannelPortProcs *channelPortProcs;
00183     PIDescriptorParameters  *descriptorParameters;  
00184     Str255                  *errorString;           
00189     PlugInMonitor   monitor;        
00191     void        *platformData;      
00194     char reserved [4];              
00196     /* We follow this with the fields specific to this type of plug-in. */
00197     
00198     ReadImageDocumentDesc *documentInfo;    
00201     WriteChannelDesc *newSelection;         
00205     Handle newPath;                         
00211     /* We can optionally take the mask and use it to build a new layer or floating
00212     selection filled with the current foreground color. 
00213      0 = make selection
00214      1 = make path
00215      2 = make layer/float */
00216     
00217     int32 treatment;           
00222     int32 supportedTreatments; 
00225     SPBasicSuite *sSPBasic;     
00226     void        *plugInRef;     
00228     /* And, of course, space for future expansion. */
00229     
00230     char reservedBlock [248];  
00232     }
00233 PISelectionParams, *SelectionRecordPtr;
00234 
00235 /********************************************************************************/
00236 
00240 #define piSelMakeMask           0    
00241 #define piSelMakeWorkPath       1    
00242 #define piSelMakeLayer          2    
00243 /* @} */
00244 
00245 /********************************************************************************/
00246 
00247 #endif // __PISelection_h__