PIProgressSuite.h

Go to the documentation of this file.
00001 // ADOBE SYSTEMS INCORPORATED
00002 // (c) 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 //-------------------------------------------------------------------
00056 #ifndef __PIProgressSuite__
00057 #define __PIProgressSuite__
00058 
00059 #if PRAGMA_ONCE
00060 #pragma once
00061 #endif
00062 
00063 #include "PIGeneral.h"
00064 
00065 #include "ASPreInclude.h"
00066 #include "ASZStringSuite.h"
00067 
00068 #ifdef __cplusplus
00069 extern "C" {
00070 #endif
00071 
00072 /******************************************************************************/
00073 
00075 #define kPSProgressSuite            "Photoshop Progress Suite for Plug-ins"
00076 
00077 
00078 //-------------------------------------------------------------------------
00079 //  Progress suite typedefs 
00080 //-------------------------------------------------------------------------
00081 
00082 
00083 typedef SPErr (*Progress_DoProgress) (const ASZString zs, SPErr (*proc) (void *), void *refCon);
00084 
00085 
00093 typedef SPErr (*Progress_DoTask) (real64 taskLength, SPErr (*proc) (void *), void *refCon);
00094 
00095 
00109 typedef SPErr (*Progress_DoSegmentTask) (int32 segmentLength,
00110                                          int32 *done,
00111                                          int32 total,
00112                                          SPErr (*proc) (void *),
00113                                          void *refCon);
00114 
00115 
00120 typedef void (*Progress_ChangeProgressText) (const ASZString zs);
00121 
00122 
00138 typedef SPErr (*Progress_DoPreviewTask) (const char *selector,
00139                                         SPErr (*proc) (void *),
00140                                         void *refCon);
00141 
00142 
00148 typedef SPErr (*Progress_DoWatchTask) (SPErr (*proc) (void *), void *refCon);
00149 
00150 
00157 typedef SPErr (*Progress_DoSuspendedWatchTask) (SPErr (*proc) (void *), void *refCon);
00158 
00159 typedef void (*Progress_ContinueWatchCursor) (void);
00160 
00161 
00162 //-------------------------------------------------------------------------
00163 //  Progress suite version 1
00164 //-------------------------------------------------------------------------
00165 
00167 #define kPSProgressSuiteVersion1        1
00168 
00170 typedef struct 
00171 {
00172     Progress_DoProgress                 DoProgress;           
00173     Progress_DoTask                     DoTask;               
00174     Progress_DoSegmentTask              DoSegmentTask;        
00175     Progress_ChangeProgressText         ChangeProgressText;   
00176     Progress_DoPreviewTask              DoPreviewTask;        
00177     Progress_DoWatchTask                DoWatchTask;          
00178     Progress_DoSuspendedWatchTask       DoSuspendedWatchTask; 
00179     Progress_ContinueWatchCursor        ContinueWatchCursor;  
00181 //  The following are taken from from the parameter block and are defined in PIGeneral.h:
00182     TestAbortProc                       TestAbort;           
00183     ProgressProc                        UpdateProgress;      
00185 } PSProgressSuite1;
00186 
00187 /******************************************************************************/
00188 
00189 #ifdef __cplusplus
00190 }
00191 #endif
00192 
00193 
00195 #endif  // PIProgressSuite