this repo has no description
1/*
2 WRMACRES.i
3 Copyright (C) 2007 Paul C. Pratt
4
5 You can redistribute this file and/or modify it under the terms
6 of version 2 of the GNU General Public License as published by
7 the Free Software Foundation. You should have received a copy
8 of the license along with this file; see the file COPYING.
9
10 This file is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 license for more details.
14*/
15
16/*
17 WRite MACintosh RESources configuration
18*/
19
20
21LOCALPROC WriteBeginResResource(char *types, int id)
22{
23 WriteBlankLineToDestFile();
24 WriteBgnDestFileLn();
25 WriteCStrToDestFile("resource '");
26 WriteCStrToDestFile(types);
27 WriteSingleQuoteToDestFile();
28 WriteCStrToDestFile(" (");
29 WriteUnsignedToOutput(id);
30 WriteCStrToDestFile(") {");
31 WriteEndDestFileLn();
32 ++DestFileIndent;
33}
34
35LOCALPROC WriteEndResResource(void)
36{
37 --DestFileIndent;
38 WriteDestFileLn("};");
39}
40
41LOCALPROC WriteQuotedInclude(char *name)
42{
43 WriteBgnDestFileLn();
44 WriteCStrToDestFile("#include ");
45 WriteQuoteToDestFile();
46 WriteCStrToDestFile(name);
47 WriteQuoteToDestFile();
48 WriteEndDestFileLn();
49}
50
51LOCALPROC WriteResTypeComma(char *types)
52{
53 WriteBgnDestFileLn();
54 WriteSingleQuoteToDestFile();
55 WriteCStrToDestFile(types);
56 WriteSingleQuoteToDestFile();
57 WriteCStrToDestFile(",");
58 WriteEndDestFileLn();
59}
60
61LOCALPROC WriteAFREFres(char *types, int i)
62{
63 WriteBeginResResource("FREF", 128 + i);
64 WriteResTypeComma(types);
65
66 WriteBgnDestFileLn();
67 WriteUnsignedToOutput(i);
68 WriteCStrToDestFile(",");
69 WriteEndDestFileLn();
70
71 WriteBgnDestFileLn();
72 WriteQuoteToDestFile();
73 WriteQuoteToDestFile();
74 WriteEndDestFileLn();
75 WriteEndResResource();
76}
77
78LOCALPROC WriteDocTypeDefIconId(void)
79{
80 WriteBgnDestFileLn();
81 WriteCStrToDestFile("#define ");
82 WriteDocTypeIconShortName();
83 WriteCStrToDestFile("IconId ");
84 WriteUnsignedToOutput(128 + DocTypeCounter);
85 WriteEndDestFileLn();
86}
87
88LOCALPROC WriteDocTypeFREFres(void)
89{
90 WriteAFREFres(DoDocType_gd()->MacType, DocTypeCounter);
91}
92
93LOCALPROC WriteDocTypeBNDLFREF(void)
94{
95 WriteBgnDestFileLn();
96 if (0 != DocTypeCounter) {
97 WriteCStrToDestFile(",");
98 }
99 WriteUnsignedToOutput(DocTypeCounter);
100 WriteCStrToDestFile(", ");
101 WriteUnsignedToOutput(128 + DocTypeCounter);
102 WriteEndDestFileLn();
103}
104
105LOCALPROC WriteDocTypeBNDLICN(void)
106{
107 WriteBgnDestFileLn();
108 if (0 != DocTypeCounter) {
109 WriteCStrToDestFile(",");
110 }
111 WriteUnsignedToOutput(DocTypeCounter);
112 WriteCStrToDestFile(", ");
113 WriteDocTypeIconShortName();
114 WriteCStrToDestFile("IconId");
115 WriteEndDestFileLn();
116}
117
118LOCALPROC WriteDocTypeIncludeIconFile(void)
119{
120 WriteBgnDestFileLn();
121 WriteCStrToDestFile("#include ");
122 WriteQuoteToDestFile();
123 WriteDocTypeIconFileName();
124 WriteQuoteToDestFile();
125 WriteEndDestFileLn();
126}
127
128LOCALPROC WriteMacResConfigContents(void)
129{
130 WriteBlankLineToDestFile();
131 if (gbk_ide_mw8 == cur_ide) {
132 if (gbk_targfam_mach == gbo_targfam) {
133 WriteDestFileLn("#include <Carbon/Carbon.r>");
134 } else {
135 WriteQuotedInclude("Types.r");
136 WriteQuotedInclude("Icons.r");
137 }
138 } else
139 if ((gbk_ide_bgc == cur_ide)
140 || (gbk_ide_xcd == cur_ide)
141 || (gbk_ide_mvc == cur_ide))
142 {
143 WriteQuotedInclude("Carbon.r");
144 } else
145 {
146 WriteQuotedInclude("Types.r");
147 WriteQuotedInclude("Icons.r");
148 }
149
150 WriteBlankLineToDestFile();
151
152 WriteCDefQuote("kStrAppName", WriteStrAppUnabrevName);
153 WriteCDefQuote("kAppVariationStr", WriteAppVariationStr);
154 WriteCDefQuote("kStrCopyrightYear", WriteAppCopyrightYearStr);
155 WriteCDefQuote("kStrHomePage", WriteHomePage);
156
157 if (gbk_targfam_mach != gbo_targfam) {
158 if (gbk_targfam_carb == gbo_targfam) {
159 WriteBlankLineToDestFile();
160 WriteDestFileLn("data 'plst' (0) {");
161 ++DestFileIndent;
162 WriteDestFileLn("$\"00\"");
163 --DestFileIndent;
164 WriteDestFileLn("};");
165 }
166
167 WriteBlankLineToDestFile();
168 WriteBgnDestFileLn();
169 WriteCStrToDestFile("data '");
170 WriteCStrToDestFile(kMacCreatorSig);
171 WriteCStrToDestFile("' (0, \"Owner resource\") {");
172 WriteEndDestFileLn();
173 ++DestFileIndent;
174 WriteDestFileLn("$\"00\"");
175 --DestFileIndent;
176 WriteDestFileLn("};");
177
178 WriteBeginResResource("vers", 1);
179 WriteBgnDestFileLn();
180 WriteDec2CharToOutput(MajorVersion);
181 WriteCStrToDestFile(",");
182 WriteEndDestFileLn();
183
184 WriteBgnDestFileLn();
185 WriteDec2CharToOutput(MinorVersion);
186#if 0
187 WriteCStrToDestFile(" * 16 + ");
188 WriteCStrToDestFile(kMinorSubVersion);
189#endif
190 WriteCStrToDestFile(",");
191 WriteEndDestFileLn();
192
193 WriteDestFileLn("release,");
194 WriteDestFileLn("0x0,");
195 WriteDestFileLn("0,");
196
197 WriteBgnDestFileLn();
198 WriteQuoteToDestFile();
199 WriteVersionStr();
200 WriteQuoteToDestFile();
201 WriteCStrToDestFile(",");
202 WriteEndDestFileLn();
203
204 WriteBgnDestFileLn();
205 WriteQuoteToDestFile();
206 WriteGetInfoString();
207 WriteQuoteToDestFile();
208 WriteEndDestFileLn();
209 WriteEndResResource();
210
211#if 0
212 WriteBeginResResource("vers", 2);
213 WriteDestFileLn("0x0,");
214 WriteDestFileLn("0x0,");
215 WriteDestFileLn("release,");
216 WriteDestFileLn("0x0,");
217 WriteDestFileLn("0,");
218 WriteBgnDestFileLn();
219 WriteQuoteToDestFile();
220 WriteQuoteToDestFile();
221 WriteCStrToDestFile(",");
222 WriteEndDestFileLn();
223 WriteBgnDestFileLn();
224 WriteQuoteToDestFile();
225 WriteCStrToDestFile(kShortDescription);
226 WriteQuoteToDestFile();
227 WriteEndDestFileLn();
228 WriteEndResResource();
229#endif
230
231 if (gbk_ide_mw8 != cur_ide) {
232 WriteBlankLineToDestFile();
233 WriteDestFileLn("resource 'SIZE' (-1) {");
234 ++DestFileIndent;
235 WriteDestFileLn("reserved,");
236 WriteDestFileLn("acceptSuspendResumeEvents,");
237 WriteDestFileLn("reserved,");
238 WriteDestFileLn("canBackground,");
239 WriteDestFileLn("multiFinderAware,");
240 WriteDestFileLn("backgroundAndForeground,");
241 WriteDestFileLn("dontGetFrontClicks,");
242 WriteDestFileLn("ignoreChildDiedEvents,");
243 WriteDestFileLn("is32BitCompatible,");
244
245 /*
246 following 4 should be "reserved"
247 if api not available
248 */
249 WriteDestFileLn("isHighLevelEventAware,");
250 WriteDestFileLn("localAndRemoteHLEvents,");
251 WriteDestFileLn("isStationeryAware,");
252 WriteDestFileLn("useTextEditServices,");
253
254 WriteDestFileLn("reserved,");
255 WriteDestFileLn("reserved,");
256 WriteDestFileLn("reserved,");
257
258 WriteBgnDestFileLn();
259 WriteUnsignedToOutput(TotMemSize + (2UL * 1024 * 1024));
260 WriteCStrToDestFile(",");
261 WriteEndDestFileLn();
262
263 WriteBgnDestFileLn();
264 WriteUnsignedToOutput(TotMemSize + (512UL * 1024));
265 WriteEndDestFileLn();
266 WriteEndResResource();
267 }
268
269 WriteBlankLineToDestFile();
270 DoAllDocTypesWithSetup(WriteDocTypeDefIconId);
271
272
273 DoAllDocTypesWithSetup(WriteDocTypeFREFres);
274 WriteAFREFres("****", DocTypeCounter);
275
276 WriteBeginResResource("BNDL", 128);
277 WriteResTypeComma(kMacCreatorSig);
278
279 WriteDestFileLn("0,");
280 WriteDestFileLn("{");
281 ++DestFileIndent;
282 WriteResTypeComma("FREF");
283
284 WriteDestFileLn("{");
285 ++DestFileIndent;
286 DoAllDocTypesWithSetup(WriteDocTypeBNDLFREF);
287 WriteDocTypeBNDLFREF();
288 --DestFileIndent;
289 WriteDestFileLn("},");
290
291 WriteResTypeComma("ICN#");
292
293 WriteDestFileLn("{");
294 ++DestFileIndent;
295 DoAllDocTypesWithSetup(WriteDocTypeBNDLICN);
296 WriteBgnDestFileLn();
297 WriteCStrToDestFile(",");
298 WriteUnsignedToOutput(DocTypeCounter);
299 WriteCStrToDestFile(", 0");
300 WriteEndDestFileLn();
301 --DestFileIndent;
302 WriteDestFileLn("}");
303 --DestFileIndent;
304 WriteDestFileLn("}");
305 WriteEndResResource();
306
307 WriteBlankLineToDestFile();
308 WriteDestFileLn("#define SmallIconAPIAvail 1");
309 WriteDestFileLn("#define ColorIconAPIAvail 1");
310
311 WriteBlankLineToDestFile();
312 DoAllDocTypesWithSetup(WriteDocTypeIncludeIconFile);
313 }
314}
315
316LOCALPROC WriteCommonCNFGRSRC(void)
317{
318 WriteADstFile1("my_config_d",
319 "CNFGRSRC", ".h", " Configuration file",
320 WriteMacResConfigContents);
321}