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