Subversion Repositories filter_foundry

Rev

Rev 210 | Rev 334 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
259 daniel-mar 1
/* Copyright 1993 - 1999 Adobe Systems Incorporated                */
2
/* All Rights Reserved.                                            */
3
 
4
#include <stddef.h>                             // Standard definitions.
5
//#include <Types.h>                            // Standard types.
6
 
7
#include "PITypes.h"                    // Photoshop types.
8
#include "PIGeneral.h"                  // Photoshop general routines.
9
#include "PIActions.h"                  // Photoshop scripting.
10
#include "PIAbout.h"                    // AboutRecord structure.
11
#include "PIFormat.h"                   // AboutRecord structure.
12
//#include "PIDefines.h"                        // Plug-in definitions.
13
//#include "FileUtilities.h"            // Simple file utilities.
14
 
15
Boolean HostDescriptorAvailable (PIDescriptorParameters *procs,
16
                                                                 Boolean *outNewerVersion);
17
OSErr HostCloseReader (PIDescriptorParameters *procs,
18
                                           HandleProcs *hProcs,
19
                                           PIReadDescriptor *token);
20
OSErr   HostCloseWriter(PIDescriptorParameters *procs,
21
                                                HandleProcs *hProcs,
22
                                                PIWriteDescriptor *token);
23
OSErr put_cstring(PIWriteDescriptor token,DescriptorKeyID key,char *s);
24
char *get_cstring(PIReadDescriptor token);
25
 
26
enum ScriptingShowDialog {
27
        SCR_NO_SCRIPT,
28
        SCR_SHOW_DIALOG,
29
        SCR_HIDE_DIALOG
30
};
31
 
32
enum ScriptingShowDialog ReadScriptParamsOnRead(void);
33
OSErr WriteScriptParamsOnRead(void);
34
 
35
OSType getAeteKey(char c, PARM_T *parm);
36
 
37
//-------------------------------------------------------------------------------
38
//      PIDescriptorParameters -- Macro definitions
39
//-------------------------------------------------------------------------------
40
 
41
#define NULLID          0 // for ID routines needing null terminator
42
 
43
#define DescParams      gpb->descriptorParameters
44
 
45
#define Reader          DescParams->readDescriptorProcs
46
 
47
#define Writer          DescParams->writeDescriptorProcs
48
 
49
#define PlayInfo        DescParams->playInfo
50
 
51
#define RecordInfo      DescParams->recordInfo
52
 
53
#define PlayDialog() \
54
        HostPlayDialog (DescParams)
55
 
56
#define DescriptorAvailable(outNewerVersion) \
57
        HostDescriptorAvailable(DescParams, outNewerVersion)
58
 
59
#define WarnDescriptorAvailable() \
60
        WarnHostDescriptorAvailable(DescParams, hDllInstance)
61
 
62
#define OpenReadDesc(desc, array) \
63
        Reader->openReadDescriptorProc(desc, array)
64
 
65
#define OpenReader(array) \
66
        OpenReadDesc(DescParams->descriptor, array)
67
 
68
#define CloseReadDesc(token) \
69
        Reader->closeReadDescriptorProc(token)
70
 
71
#define CloseReader(token) \
72
        HostCloseReader(DescParams, gpb->handleProcs, token)
73
 
74
#define OpenWriter() \
75
        Writer->openWriteDescriptorProc()
76
 
77
#define CloseWriteDesc(token, handle) \
78
        Writer->closeWriteDescriptorProc(token, handle)
79
 
80
#define CloseWriter(token) \
81
        HostCloseWriter(DescParams, gpb->handleProcs, token)
82
 
83
// These Macros simplify access to all the basic Get and Put routines:
84
 
85
#define PIGetKey(token, key, type, flags) \
86
        Reader->getKeyProc(token, key, type, flags)
87
 
88
#define PIGetEnum(token, value) \
89
        Reader->getEnumeratedProc(token, value)
90
 
91
#define PIPutEnum(token, key, type, value) \
92
        Writer->putEnumeratedProc(token, key, type, value)
93
 
94
#define PIGetInt(token, value) \
95
        Reader->getIntegerProc(token, value)
96
 
97
#define PIGetPinInt(token, min, max, value) \
98
        Reader->getPinnedIntegerProc(token, min, max, value)
99
 
100
#define PIPutInt(token, key, value) \
101
        Writer->putIntegerProc(token, key, value)
102
 
103
#define PIGetFloat(token, value) \
104
        Reader->getFloatProc(token, value)
105
 
106
#define PIGetPinFloat(token, min, max, value) \
107
        Reader->getPinnedFloatProc(token, min, max, value)
108
 
109
#define PIPutFloat(token, key, value) \
110
        Writer->putFloatProc(token, key, value)
111
 
112
#define PIGetUnitFloat(token, unit, value) \
113
        Reader->getUnitFloatProc(token, unit, value)
114
 
115
#define PIGetPinUnitFloat(token, min, max, unit, value) \
116
        Reader->getPinnedUnitFloatProc(token, min, max, unit, value)
117
 
118
#define PIPutUnitFloat(token, key, unit, value) \
119
        Writer->putUnitFloatProc(token, key, unit, value)
120
 
121
#define PIGetBool(token, value) \
122
        Reader->getBooleanProc(token, value)
123
 
124
#define PIPutBool(token, key, value) \
125
        Writer->putBooleanProc(token, key, value)
126
 
127
#define PIGetText(token, value) \
128
        Reader->getTextProc(token, value)
129
 
130
#define PIPutText(token, key, value) \
131
        Writer->putTextProc(token, key, value)
132
 
133
#define PIGetAlias(token, value) \
134
        Reader->getAliasProc(token, value)
135
 
136
#define PIPutAlias(token, key, value) \
137
        Writer->putAliasProc(token, key, value)
138
 
139
#define PIGetEnum(token, value) \
140
        Reader->getEnumeratedProc(token, value)
141
 
142
#define PIPutEnum(token, key, type, value) \
143
        Writer->putEnumeratedProc(token, key, type, value)
144
 
145
#define PIGetClass(token, value) \
146
        Reader->getClassProc(token, value)
147
 
148
#define PIPutClass(token, key, value) \
149
        Writer->putClassProc(token, key, value)
150
 
151
#define PIGetRef(token, value) \
152
        Reader->getSimpleReferenceProc(token,value)
153
 
154
#define PIPutRef(token, key, value) \
155
        Writer->putSimpleReferenceProc(token, key, value)
156
 
157
#define PIGetObj(token, type, value) \
158
        Reader->getObjectProc(token, type, value)
159
 
160
#define PIPutObj(token, key, type, value) \
161
        HostPutObj(DescParams, gpb->handleProcs, token, key, type, value)
162
 
163
#define PIPutObjProc(token, key, type, value) \
164
        Writer->putObjectProc(token, key, type, value)
165
 
166
#define PIGetCount(token, value) \
167
        Reader->getCountProc(token, value)
168
 
169
#define PIPutCount(token, key, value) \
170
        Writer->putCountProc(token, key, value)
171
 
172
#define PIGetStr(token, value) \
173
        Reader->getStringProc(token, value)
174
 
175
#define PIPutStr(token, key, value) \
176
        Writer->putStringProc(token, key, value)