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 
00088 typedef SPErr (*Progress_DoProgress) (const ASZString zs, SPErr (*proc) (void *), void *refCon);
00089 
00098 typedef SPErr (*Progress_DoForcedProgress) (const ASZString zs, SPErr (*proc) (void *), void *refCon);
00099 
00107 typedef SPErr (*Progress_DoTask) (real64 taskLength, SPErr (*proc) (void *), void *refCon);
00108 
00109 
00123 typedef SPErr (*Progress_DoSegmentTask) (int32 segmentLength,
00124                                          int32 *done,
00125                                          int32 total,
00126                                          SPErr (*proc) (void *),
00127                                          void *refCon);
00128 
00129 
00134 typedef void (*Progress_ChangeProgressText) (const ASZString zs);
00135 
00136 
00152 typedef SPErr (*Progress_DoPreviewTask) (const char *selector,
00153                                         SPErr (*proc) (void *),
00154                                         void *refCon);
00155 
00156 
00162 typedef SPErr (*Progress_DoWatchTask) (SPErr (*proc) (void *), void *refCon);
00163 
00164 
00171 typedef SPErr (*Progress_DoSuspendedWatchTask) (SPErr (*proc) (void *), void *refCon);
00172 
00173 typedef void (*Progress_ContinueWatchCursor) (void);
00174 
00175 
00176 //-------------------------------------------------------------------------
00177 //  Progress suite version 1
00178 //-------------------------------------------------------------------------
00179 
00181 #define kPSProgressSuiteVersion1        1
00182 
00184 typedef struct 
00185 {
00186     Progress_DoProgress                 DoProgress;           
00187     Progress_DoTask                     DoTask;               
00188     Progress_DoSegmentTask              DoSegmentTask;        
00189     Progress_ChangeProgressText         ChangeProgressText;   
00190     Progress_DoPreviewTask              DoPreviewTask;        
00191     Progress_DoWatchTask                DoWatchTask;          
00192     Progress_DoSuspendedWatchTask       DoSuspendedWatchTask; 
00193     Progress_ContinueWatchCursor        ContinueWatchCursor;  
00195 //  The following are taken from from the parameter block and are defined in PIGeneral.h:
00196     TestAbortProc                       TestAbort;           
00197     ProgressProc                        UpdateProgress;      
00199 } PSProgressSuite1;
00200 
00201 //-------------------------------------------------------------------------
00202 //  Progress suite version 2
00203 //-------------------------------------------------------------------------
00204 
00206 #define kPSProgressSuiteVersion2        2
00207 
00209 typedef struct 
00210 {
00211     Progress_DoProgress                 DoProgress;           
00212     Progress_DoForcedProgress           DoForcedProgress;     
00213     Progress_DoTask                     DoTask;               
00214     Progress_DoSegmentTask              DoSegmentTask;        
00215     Progress_ChangeProgressText         ChangeProgressText;   
00216     Progress_DoPreviewTask              DoPreviewTask;        
00217     Progress_DoWatchTask                DoWatchTask;          
00218     Progress_DoSuspendedWatchTask       DoSuspendedWatchTask; 
00219     Progress_ContinueWatchCursor        ContinueWatchCursor;  
00221 //  The following are taken from from the parameter block and are defined in PIGeneral.h:
00222     TestAbortProc                       TestAbort;           
00223     ProgressProc                        UpdateProgress;      
00225 } PSProgressSuite2;
00226 
00227 /******************************************************************************/
00228 
00229 #ifdef __cplusplus
00230 }
00231 #endif
00232 
00233 
00235 #endif  // PIProgressSuite