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 //-------------------------------------------------------------------
00061 #ifndef __PIAcquire__
00062 #define __PIAcquire__
00063 
00064 #if PRAGMA_ONCE
00065 #pragma once
00066 #endif
00067 
00068 #include "PIActions.h"
00069 #include "PIGeneral.h"
00070 #include "SPBasic.h"
00071 
00072 /* Operation selectors */
00074 
00075 
00086 #define acquireSelectorAbout    0
00087 
00107 #define acquireSelectorStart    1
00108 
00171 #define acquireSelectorContinue 2
00172 
00173 
00189 #define acquireSelectorFinish   3
00190 
00198 #define acquireSelectorPrepare  4
00199 
00212 #define acquireSelectorFinalize 5
00213  // end ingroup
00215 
00216 
00217 /*  Error return values. The plug-in module may also return standard Macintosh
00218     operating system error codes, or report its own errors, in which case it
00219     can return any positive integer. */
00220 
00228 
00229 
00230 
00233 #define acquireBadParameters    -30000  
00236 #define acquireNoScanner        -30001  
00239 #define acquireScannerProblem   -30002  
00244 
00245 
00246 /******************************************************************************/
00247 /* Pragma to byte align structures; only for Borland C */
00248 
00249 #if defined(__BORLANDC__)
00250 #pragma option -a-
00251 #endif
00252 
00253 /******************************************************************************/
00254 
00255 #if PRAGMA_STRUCT_ALIGN
00256 #pragma options align=mac68k
00257 #endif
00258 
00265 typedef struct AcquireRecord
00266     {
00267 
00268     int32           serialNumber;   
00275     TestAbortProc   abortProc;      
00277     ProgressProc    progressProc;   
00279     int32           maxData;        
00287     int16           imageMode;      
00292     Point           imageSize;      
00298     int16           depth;          
00303     int16           planes;         
00313     Fixed           imageHRes;      
00319     Fixed           imageVRes;      
00329     LookUpTable     redLUT;         
00333     LookUpTable     greenLUT;       
00337     LookUpTable     blueLUT;        
00341     void *          data;           
00350     Rect            theRect;        
00354     int16           loPlane;        
00359     int16           hiPlane;        
00364     int16           colBytes;       
00369     int32           rowBytes;       
00372     int32           planeBytes;     
00377     Str255          filename;       
00382     int16           vRefNum;        
00386     Boolean         dirty;          
00393     OSType          hostSig;        
00395     HostProc        hostProc;       
00398     int32           hostModes;      
00404     PlaneMap        planeMap;       
00417     Boolean         canTranspose;   
00421     Boolean         needTranspose;  
00436     Handle          duotoneInfo;    
00443     int32           diskSpace;      
00447     SpaceProc       spaceProc;      
00449     PlugInMonitor   monitor;        
00451     void *          platformData;   
00454     BufferProcs *   bufferProcs;    
00458     ResourceProcs * resourceProcs;  
00462     ProcessEventProc processEvent;  
00465     Boolean         canReadBack;    
00469     Boolean         wantReadBack;   
00479     Boolean         acquireAgain;   
00496     Boolean         canFinalize;    
00499     DisplayPixelsProc displayPixels; 
00502     HandleProcs     *handleProcs;   
00506 
00507 
00508     
00509     Boolean         wantFinalize;   
00513     char            reserved1[3];   
00515     ColorServicesProc colorServices; 
00518     AdvanceStateProc advanceState;  
00522     /* New in 3.0.4. */
00524 
00525     ImageServicesProcs *imageServicesProcs;
00528     int16           tileWidth;      
00530     int16           tileHeight;     
00533     Point           tileOrigin;     
00535     PropertyProcs   *propertyProcs; 
00540 
00541 
00542     PIDescriptorParameters  *descriptorParameters;  
00543     Str255                  *errorString;           
00548 
00549 
00550     Boolean         isFirstAlphaTransparency;   
00552     char            padding0;                   
00553     char            padding1;                   
00554     char            padding2;                   
00556 
00557 
00558     int32           maxValue;   
00560     SPBasicSuite    *sSPBasic;  
00562     void            *plugInRef; 
00564     int32           transparentIndex; 
00567     Handle          iCCprofileData;     
00573     int32           iCCprofileSize;     
00575     int32           canUseICCProfiles;  
00580     char            *pushDataSource;    
00584 
00585 
00586     int32           lutCount;           
00592 
00593 
00594     int32           convertMode;        
00601 
00602 
00603     int32       HostSupports32BitCoordinates;   
00606     int32       PluginUsing32BitCoordinates;    
00609     VPoint      imageSize32;                    
00612     VRect       theRect32;                      
00615     int64       diskSpace64;                    
00620     uint16      *unicodeFilename;               
00626 
00627 
00628     ChannelPortProcs *channelPortProcs;         
00631     ReadImageDocumentDesc *documentInfo;        
00635     /* Reserved Space for Expansion -- decrement when you add stuff */
00637 
00638     char            reserved [100];            
00640     }
00641 AcquireRecord, *AcquireRecordPtr;
00642 
00643 #if PRAGMA_STRUCT_ALIGN
00644 #pragma options align=reset
00645 #endif
00646 
00647 /******************************************************************************/
00648 /* turn off the byte align pragma back to its original state; only for Borland C */
00649 
00650 #if defined(__BORLANDC__)
00651 #pragma option -a.
00652 #endif
00653 
00654 /******************************************************************************/
00655 
00656 #endif  // __PIAcquire_h__