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 
00176 #define acquireSelectorContinue 2
00177 
00178 
00194 #define acquireSelectorFinish   3
00195 
00203 #define acquireSelectorPrepare  4
00204 
00217 #define acquireSelectorFinalize 5
00218  // end ingroup
00220 
00221 
00222 /*  Error return values. The plug-in module may also return standard Macintosh
00223     operating system error codes, or report its own errors, in which case it
00224     can return any positive integer. */
00225 
00233 
00234 
00235 
00238 #define acquireBadParameters    -30000  
00241 #define acquireNoScanner        -30001  
00244 #define acquireScannerProblem   -30002  
00249 
00250 
00251 /******************************************************************************/
00252 /* Pragma to byte align structures; only for Borland C */
00253 
00254 #if defined(__BORLANDC__)
00255 #pragma option -a-
00256 #endif
00257 
00258 /******************************************************************************/
00259 
00260 #if PRAGMA_STRUCT_ALIGN
00261 #pragma options align=mac68k
00262 #endif
00263 
00270 typedef struct AcquireRecord
00271     {
00272 
00273     int32           serialNumber;   
00280     TestAbortProc   abortProc;      
00282     ProgressProc    progressProc;   
00284     int32           maxData;        
00292     int16           imageMode;      
00297     Point           imageSize;      
00303     int16           depth;          
00308     int16           planes;         
00318     Fixed           imageHRes;      
00324     Fixed           imageVRes;      
00334     LookUpTable     redLUT;         
00338     LookUpTable     greenLUT;       
00342     LookUpTable     blueLUT;        
00346     void *          data;           
00355     Rect            theRect;        
00359     int16           loPlane;        
00364     int16           hiPlane;        
00369     int16           colBytes;       
00374     int32           rowBytes;       
00377     int32           planeBytes;     
00382     Str255          filename;       
00387     int16           vRefNum;        
00391     Boolean         dirty;          
00398     OSType          hostSig;        
00400     HostProc        hostProc;       
00403     int32           hostModes;      
00409     PlaneMap        planeMap;       
00422     Boolean         canTranspose;   
00426     Boolean         needTranspose;  
00441     Handle          duotoneInfo;    
00448     int32           diskSpace;      
00452     SpaceProc       spaceProc;      
00454     PlugInMonitor   monitor;        
00456     void *          platformData;   
00459     BufferProcs *   bufferProcs;    
00463     ResourceProcs * resourceProcs;  
00467     ProcessEventProc processEvent;  
00470     Boolean         canReadBack;    
00474     Boolean         wantReadBack;   
00484     Boolean         acquireAgain;   
00501     Boolean         canFinalize;    
00504     DisplayPixelsProc displayPixels; 
00507     HandleProcs     *handleProcs;   
00511 
00512 
00513     
00514     Boolean         wantFinalize;   
00518     char            reserved1[3];   
00520     ColorServicesProc colorServices; 
00523     AdvanceStateProc advanceState;  
00527     /* New in 3.0.4. */
00529 
00530     ImageServicesProcs *imageServicesProcs;
00533     int16           tileWidth;      
00535     int16           tileHeight;     
00538     Point           tileOrigin;     
00540     PropertyProcs   *propertyProcs; 
00545 
00546 
00547     PIDescriptorParameters  *descriptorParameters;  
00548     Str255                  *errorString;           
00553 
00554 
00555     Boolean         isFirstAlphaTransparency;   
00557     char            padding0;                   
00558     char            padding1;                   
00559     char            padding2;                   
00561 
00562 
00563     int32           maxValue;   
00565     SPBasicSuite    *sSPBasic;  
00567     void            *plugInRef; 
00569     int32           transparentIndex; 
00572     Handle          iCCprofileData;     
00578     int32           iCCprofileSize;     
00580     int32           canUseICCProfiles;  
00585     char            *pushDataSource;    
00589 
00590 
00591     int32           lutCount;           
00597 
00598 
00599     int32           convertMode;        
00606 
00607 
00608     int32       HostSupports32BitCoordinates;   
00611     int32       PluginUsing32BitCoordinates;    
00614     VPoint      imageSize32;                    
00617     VRect       theRect32;                      
00620     int64       diskSpace64;                    
00625     uint16      *unicodeFilename;               
00631 
00632 
00633     ChannelPortProcs *channelPortProcs;         
00636     ReadImageDocumentDesc *documentInfo;        
00640     /* Reserved Space for Expansion -- decrement when you add stuff */
00642 
00643     char            reserved [100];            
00645     }
00646 AcquireRecord, *AcquireRecordPtr;
00647 
00648 #if PRAGMA_STRUCT_ALIGN
00649 #pragma options align=reset
00650 #endif
00651 
00652 /******************************************************************************/
00653 /* turn off the byte align pragma back to its original state; only for Borland C */
00654 
00655 #if defined(__BORLANDC__)
00656 #pragma option -a.
00657 #endif
00658 
00659 /******************************************************************************/
00660 
00661 #endif  // __PIAcquire_h__