PIAcquire.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 //-------------------------------------------------------------------
00066 #ifndef __PIAcquire__
00067 #define __PIAcquire__
00068 
00069 #if PRAGMA_ONCE
00070 #pragma once
00071 #endif
00072 
00073 #include "PIActions.h"
00074 #include "PIGeneral.h"
00075 #include "SPBasic.h"
00076 
00077 /* Operation selectors */
00079 
00080 
00091 #define acquireSelectorAbout    0
00092 
00112 #define acquireSelectorStart    1
00113 
00173 #define acquireSelectorContinue 2
00174 
00175 
00191 #define acquireSelectorFinish   3
00192 
00200 #define acquireSelectorPrepare  4
00201 
00214 #define acquireSelectorFinalize 5
00215  // end ingroup
00217 
00218 
00219 /*  Error return values. The plug-in module may also return standard Macintosh
00220     operating system error codes, or report its own errors, in which case it
00221     can return any positive integer. */
00222 
00230 
00231 
00232 
00235 #define acquireBadParameters    -30000  
00238 #define acquireNoScanner        -30001  
00241 #define acquireScannerProblem   -30002  
00246 
00247 
00248 /******************************************************************************/
00249 
00250 #if PRAGMA_STRUCT_ALIGN
00251 #pragma options align=mac68k
00252 #endif
00253 
00260 typedef struct AcquireRecord
00261     {
00262 
00263     int32           serialNumber;   
00270     TestAbortProc   abortProc;      
00272     ProgressProc    progressProc;   
00274     int32           maxData;        
00282     int16           imageMode;      
00287     Point           imageSize;      
00294     int16           depth;          
00299     int16           planes;         
00309     Fixed           imageHRes;      
00315     Fixed           imageVRes;      
00325     LookUpTable     redLUT;         
00329     LookUpTable     greenLUT;       
00333     LookUpTable     blueLUT;        
00337     void *          data;           
00346     Rect            theRect;        
00350     int16           loPlane;        
00355     int16           hiPlane;        
00360     int16           colBytes;       
00365     int32           rowBytes;       
00368     int32           planeBytes;     
00373     Str255          filename;       
00378     int16           vRefNum;        
00379     Boolean         dirty;          
00386     OSType          hostSig;        
00388     HostProc        hostProc;       
00391     int32           hostModes;      
00397     PlaneMap        planeMap;       
00410     Boolean         canTranspose;   
00414     Boolean         needTranspose;  
00429     Handle          duotoneInfo;    
00436     int32           diskSpace;      
00440     SpaceProc       spaceProc;      
00442     PlugInMonitor   monitor;        
00444     void *          platformData;   
00447     BufferProcs *   bufferProcs;    
00451     ResourceProcs * resourceProcs;  
00455     ProcessEventProc processEvent;  
00458     Boolean         canReadBack;    
00462     Boolean         wantReadBack;   
00472     Boolean         acquireAgain;   
00489     Boolean         canFinalize;    
00492     DisplayPixelsProc displayPixels; 
00495     HandleProcs     *handleProcs;   
00499     // New in 3.0
00500     
00501     Boolean         wantFinalize;   
00505     char            reserved1[3];   
00507     ColorServicesProc colorServices; 
00510     AdvanceStateProc advanceState;  
00513     // New in 3.0.4 
00514 
00515     ImageServicesProcs *imageServicesProcs;
00518     int16           tileWidth;      
00520     int16           tileHeight;     
00523     Point           tileOrigin;     
00525     PropertyProcs   *propertyProcs; 
00530     // New in 4.0
00531 
00532     PIDescriptorParameters  *descriptorParameters;  
00533     Str255                  *errorString;           
00538     // New in 4.0.1
00539 
00540     Boolean         isFirstAlphaTransparency;   
00542     char            padding0;                   
00543     char            padding1;                   
00544     char            padding2;                   
00546     // New in 5.0 
00547 
00548     int32           maxValue;   
00550     SPBasicSuite    *sSPBasic;  
00552     void            *plugInRef; 
00554     int32           transparentIndex; 
00557     Handle          iCCprofileData;     
00563     int32           iCCprofileSize;     
00565     int32           canUseICCProfiles;  
00570     char            *pushDataSource;    
00573     // New in 5.5 
00574 
00575     int32           lutCount;           
00580     // New in 6.0 
00581 
00582     int32           convertMode;        
00589     // New in 8.0 
00590 
00591     int32       HostSupports32BitCoordinates;   
00594     int32       PluginUsing32BitCoordinates;    
00597     VPoint      imageSize32;                    
00600     VRect       theRect32;                      
00603     int64       diskSpace64;                    
00608     uint16      *unicodeFilename;               
00614     // New in 10.0 
00615 
00616     ChannelPortProcs *channelPortProcs;         
00619     ReadImageDocumentDesc *documentInfo;        
00622     /* Reserved Space for Expansion -- decrement when you add stuff */
00624 
00625     char            reserved [100];            
00627     }
00628 AcquireRecord, *AcquireRecordPtr;
00629 
00630 #if PRAGMA_STRUCT_ALIGN
00631 #pragma options align=reset
00632 #endif
00633 
00634 /******************************************************************************/
00635 
00636 #endif  // __PIAcquire_h__