![]() |
Adobe Photoshop SDK |
|
PIExport.hGo 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 /* Pragma to byte align structures; only for Borland C */ 00165 00166 #if defined(__BORLANDC__) 00167 #pragma option -a- 00168 #endif 00169 00170 /******************************************************************************/ 00171 00172 #if PRAGMA_STRUCT_ALIGN 00173 #pragma options align=mac68k 00174 #endif 00175 00182 typedef struct ExportRecord 00183 { 00184 00185 int32 serialNumber; 00192 TestAbortProc abortProc; 00194 ProgressProc progressProc; 00196 int32 maxData; 00204 int16 imageMode; 00209 Point imageSize; 00212 int16 depth; 00214 int16 planes; 00218 Fixed imageHRes; 00220 Fixed imageVRes; 00223 LookUpTable redLUT; 00225 LookUpTable greenLUT; 00227 LookUpTable blueLUT; 00230 Rect theRect; 00236 int16 loPlane; 00239 int16 hiPlane; 00243 void * data; 00246 int32 rowBytes; 00248 Str255 filename; 00250 int16 vRefNum; 00252 Boolean dirty; 00259 Rect selectBBox; 00263 OSType hostSig; 00265 HostProc hostProc; 00267 Handle duotoneInfo; 00272 int16 thePlane; 00275 PlugInMonitor monitor; 00277 void * platformData; 00280 BufferProcs * bufferProcs; 00282 ResourceProcs * resourceProcs; 00284 ProcessEventProc processEvent; 00286 DisplayPixelsProc displayPixels; 00288 HandleProcs *handleProcs; 00290 00291 00292 ColorServicesProc colorServices; 00294 GetPropertyProc getPropertyObsolete; 00298 AdvanceStateProc advanceState; 00305 int16 layerPlanes; 00308 int16 transparencyMask; 00310 int16 layerMasks; 00315 int16 invertedLayerMasks; 00320 int16 nonLayerPlanes; 00327 /* Note that the layer mask fields are necessarily zero in 3.0.4 since 00328 the export module receives the merged data and the merged data doesn't 00329 really have a layer mask associated with it. */ 00331 00332 00333 ImageServicesProcs *imageServicesProcs; 00336 int16 tileWidth; 00341 int16 tileHeight; 00346 Point tileOrigin; 00348 PropertyProcs *propertyProcs; 00353 00354 00355 PIDescriptorParameters *descriptorParameters; 00356 Str255 *errorString; 00361 ChannelPortProcs *channelPortProcs; 00363 ReadImageDocumentDesc *documentInfo; 00366 00367 00368 SPBasicSuite *sSPBasic; 00369 void *plugInRef; 00371 int32 transparentIndex; 00374 Handle iCCprofileData; 00380 int32 iCCprofileSize; 00382 int32 canUseICCProfiles; 00387 00388 00389 int32 lutCount; 00393 00394 00395 int32 HostSupports32BitCoordinates; 00397 int32 PluginUsing32BitCoordinates; 00400 VPoint imageSize32; 00403 VRect theRect32; 00406 VRect selectBBox32; 00411 /* Reserved Space for Expansion -- decrement when you add stuff */ 00412 00414 00415 char reserved [106]; 00417 00418 } 00419 ExportRecord, *ExportRecordPtr; 00420 00421 #if PRAGMA_STRUCT_ALIGN 00422 #pragma options align=reset 00423 #endif 00424 00425 /******************************************************************************/ 00426 /* turn off the byte align pragma back to its original state; only for Borland C */ 00427 00428 #if defined(__BORLANDC__) 00429 #pragma option -a. 00430 #endif 00431 00432 /******************************************************************************/ 00433 00434 #endif // __PIExport_h__ |