this repo has no description
at main 321 lines 7.9 kB view raw
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}