|
1 |
|
2 /* ========================== Module _Icn =========================== */ |
|
3 |
|
4 #include "Python.h" |
|
5 |
|
6 |
|
7 #ifndef __LP64__ |
|
8 |
|
9 #include "pymactoolbox.h" |
|
10 |
|
11 /* Macro to test whether a weak-loaded CFM function exists */ |
|
12 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ |
|
13 PyErr_SetString(PyExc_NotImplementedError, \ |
|
14 "Not available in this shared library/OS version"); \ |
|
15 return NULL; \ |
|
16 }} while(0) |
|
17 |
|
18 |
|
19 #include <Carbon/Carbon.h> |
|
20 |
|
21 |
|
22 static PyObject *Icn_Error; |
|
23 |
|
24 static PyObject *Icn_GetCIcon(PyObject *_self, PyObject *_args) |
|
25 { |
|
26 PyObject *_res = NULL; |
|
27 CIconHandle _rv; |
|
28 SInt16 iconID; |
|
29 #ifndef GetCIcon |
|
30 PyMac_PRECHECK(GetCIcon); |
|
31 #endif |
|
32 if (!PyArg_ParseTuple(_args, "h", |
|
33 &iconID)) |
|
34 return NULL; |
|
35 _rv = GetCIcon(iconID); |
|
36 _res = Py_BuildValue("O&", |
|
37 ResObj_New, _rv); |
|
38 return _res; |
|
39 } |
|
40 |
|
41 static PyObject *Icn_PlotCIcon(PyObject *_self, PyObject *_args) |
|
42 { |
|
43 PyObject *_res = NULL; |
|
44 Rect theRect; |
|
45 CIconHandle theIcon; |
|
46 #ifndef PlotCIcon |
|
47 PyMac_PRECHECK(PlotCIcon); |
|
48 #endif |
|
49 if (!PyArg_ParseTuple(_args, "O&O&", |
|
50 PyMac_GetRect, &theRect, |
|
51 ResObj_Convert, &theIcon)) |
|
52 return NULL; |
|
53 PlotCIcon(&theRect, |
|
54 theIcon); |
|
55 Py_INCREF(Py_None); |
|
56 _res = Py_None; |
|
57 return _res; |
|
58 } |
|
59 |
|
60 static PyObject *Icn_DisposeCIcon(PyObject *_self, PyObject *_args) |
|
61 { |
|
62 PyObject *_res = NULL; |
|
63 CIconHandle theIcon; |
|
64 #ifndef DisposeCIcon |
|
65 PyMac_PRECHECK(DisposeCIcon); |
|
66 #endif |
|
67 if (!PyArg_ParseTuple(_args, "O&", |
|
68 ResObj_Convert, &theIcon)) |
|
69 return NULL; |
|
70 DisposeCIcon(theIcon); |
|
71 Py_INCREF(Py_None); |
|
72 _res = Py_None; |
|
73 return _res; |
|
74 } |
|
75 |
|
76 static PyObject *Icn_GetIcon(PyObject *_self, PyObject *_args) |
|
77 { |
|
78 PyObject *_res = NULL; |
|
79 Handle _rv; |
|
80 SInt16 iconID; |
|
81 #ifndef GetIcon |
|
82 PyMac_PRECHECK(GetIcon); |
|
83 #endif |
|
84 if (!PyArg_ParseTuple(_args, "h", |
|
85 &iconID)) |
|
86 return NULL; |
|
87 _rv = GetIcon(iconID); |
|
88 _res = Py_BuildValue("O&", |
|
89 ResObj_New, _rv); |
|
90 return _res; |
|
91 } |
|
92 |
|
93 static PyObject *Icn_PlotIcon(PyObject *_self, PyObject *_args) |
|
94 { |
|
95 PyObject *_res = NULL; |
|
96 Rect theRect; |
|
97 Handle theIcon; |
|
98 #ifndef PlotIcon |
|
99 PyMac_PRECHECK(PlotIcon); |
|
100 #endif |
|
101 if (!PyArg_ParseTuple(_args, "O&O&", |
|
102 PyMac_GetRect, &theRect, |
|
103 ResObj_Convert, &theIcon)) |
|
104 return NULL; |
|
105 PlotIcon(&theRect, |
|
106 theIcon); |
|
107 Py_INCREF(Py_None); |
|
108 _res = Py_None; |
|
109 return _res; |
|
110 } |
|
111 |
|
112 static PyObject *Icn_PlotIconID(PyObject *_self, PyObject *_args) |
|
113 { |
|
114 PyObject *_res = NULL; |
|
115 OSErr _err; |
|
116 Rect theRect; |
|
117 IconAlignmentType align; |
|
118 IconTransformType transform; |
|
119 SInt16 theResID; |
|
120 #ifndef PlotIconID |
|
121 PyMac_PRECHECK(PlotIconID); |
|
122 #endif |
|
123 if (!PyArg_ParseTuple(_args, "O&hhh", |
|
124 PyMac_GetRect, &theRect, |
|
125 &align, |
|
126 &transform, |
|
127 &theResID)) |
|
128 return NULL; |
|
129 _err = PlotIconID(&theRect, |
|
130 align, |
|
131 transform, |
|
132 theResID); |
|
133 if (_err != noErr) return PyMac_Error(_err); |
|
134 Py_INCREF(Py_None); |
|
135 _res = Py_None; |
|
136 return _res; |
|
137 } |
|
138 |
|
139 static PyObject *Icn_NewIconSuite(PyObject *_self, PyObject *_args) |
|
140 { |
|
141 PyObject *_res = NULL; |
|
142 OSErr _err; |
|
143 IconSuiteRef theIconSuite; |
|
144 #ifndef NewIconSuite |
|
145 PyMac_PRECHECK(NewIconSuite); |
|
146 #endif |
|
147 if (!PyArg_ParseTuple(_args, "")) |
|
148 return NULL; |
|
149 _err = NewIconSuite(&theIconSuite); |
|
150 if (_err != noErr) return PyMac_Error(_err); |
|
151 _res = Py_BuildValue("O&", |
|
152 ResObj_New, theIconSuite); |
|
153 return _res; |
|
154 } |
|
155 |
|
156 static PyObject *Icn_AddIconToSuite(PyObject *_self, PyObject *_args) |
|
157 { |
|
158 PyObject *_res = NULL; |
|
159 OSErr _err; |
|
160 Handle theIconData; |
|
161 IconSuiteRef theSuite; |
|
162 ResType theType; |
|
163 #ifndef AddIconToSuite |
|
164 PyMac_PRECHECK(AddIconToSuite); |
|
165 #endif |
|
166 if (!PyArg_ParseTuple(_args, "O&O&O&", |
|
167 ResObj_Convert, &theIconData, |
|
168 ResObj_Convert, &theSuite, |
|
169 PyMac_GetOSType, &theType)) |
|
170 return NULL; |
|
171 _err = AddIconToSuite(theIconData, |
|
172 theSuite, |
|
173 theType); |
|
174 if (_err != noErr) return PyMac_Error(_err); |
|
175 Py_INCREF(Py_None); |
|
176 _res = Py_None; |
|
177 return _res; |
|
178 } |
|
179 |
|
180 static PyObject *Icn_GetIconFromSuite(PyObject *_self, PyObject *_args) |
|
181 { |
|
182 PyObject *_res = NULL; |
|
183 OSErr _err; |
|
184 Handle theIconData; |
|
185 IconSuiteRef theSuite; |
|
186 ResType theType; |
|
187 #ifndef GetIconFromSuite |
|
188 PyMac_PRECHECK(GetIconFromSuite); |
|
189 #endif |
|
190 if (!PyArg_ParseTuple(_args, "O&O&", |
|
191 ResObj_Convert, &theSuite, |
|
192 PyMac_GetOSType, &theType)) |
|
193 return NULL; |
|
194 _err = GetIconFromSuite(&theIconData, |
|
195 theSuite, |
|
196 theType); |
|
197 if (_err != noErr) return PyMac_Error(_err); |
|
198 _res = Py_BuildValue("O&", |
|
199 ResObj_New, theIconData); |
|
200 return _res; |
|
201 } |
|
202 |
|
203 static PyObject *Icn_GetIconSuite(PyObject *_self, PyObject *_args) |
|
204 { |
|
205 PyObject *_res = NULL; |
|
206 OSErr _err; |
|
207 IconSuiteRef theIconSuite; |
|
208 SInt16 theResID; |
|
209 IconSelectorValue selector; |
|
210 #ifndef GetIconSuite |
|
211 PyMac_PRECHECK(GetIconSuite); |
|
212 #endif |
|
213 if (!PyArg_ParseTuple(_args, "hl", |
|
214 &theResID, |
|
215 &selector)) |
|
216 return NULL; |
|
217 _err = GetIconSuite(&theIconSuite, |
|
218 theResID, |
|
219 selector); |
|
220 if (_err != noErr) return PyMac_Error(_err); |
|
221 _res = Py_BuildValue("O&", |
|
222 ResObj_New, theIconSuite); |
|
223 return _res; |
|
224 } |
|
225 |
|
226 static PyObject *Icn_DisposeIconSuite(PyObject *_self, PyObject *_args) |
|
227 { |
|
228 PyObject *_res = NULL; |
|
229 OSErr _err; |
|
230 IconSuiteRef theIconSuite; |
|
231 Boolean disposeData; |
|
232 #ifndef DisposeIconSuite |
|
233 PyMac_PRECHECK(DisposeIconSuite); |
|
234 #endif |
|
235 if (!PyArg_ParseTuple(_args, "O&b", |
|
236 ResObj_Convert, &theIconSuite, |
|
237 &disposeData)) |
|
238 return NULL; |
|
239 _err = DisposeIconSuite(theIconSuite, |
|
240 disposeData); |
|
241 if (_err != noErr) return PyMac_Error(_err); |
|
242 Py_INCREF(Py_None); |
|
243 _res = Py_None; |
|
244 return _res; |
|
245 } |
|
246 |
|
247 static PyObject *Icn_PlotIconSuite(PyObject *_self, PyObject *_args) |
|
248 { |
|
249 PyObject *_res = NULL; |
|
250 OSErr _err; |
|
251 Rect theRect; |
|
252 IconAlignmentType align; |
|
253 IconTransformType transform; |
|
254 IconSuiteRef theIconSuite; |
|
255 #ifndef PlotIconSuite |
|
256 PyMac_PRECHECK(PlotIconSuite); |
|
257 #endif |
|
258 if (!PyArg_ParseTuple(_args, "O&hhO&", |
|
259 PyMac_GetRect, &theRect, |
|
260 &align, |
|
261 &transform, |
|
262 ResObj_Convert, &theIconSuite)) |
|
263 return NULL; |
|
264 _err = PlotIconSuite(&theRect, |
|
265 align, |
|
266 transform, |
|
267 theIconSuite); |
|
268 if (_err != noErr) return PyMac_Error(_err); |
|
269 Py_INCREF(Py_None); |
|
270 _res = Py_None; |
|
271 return _res; |
|
272 } |
|
273 |
|
274 static PyObject *Icn_LoadIconCache(PyObject *_self, PyObject *_args) |
|
275 { |
|
276 PyObject *_res = NULL; |
|
277 OSErr _err; |
|
278 Rect theRect; |
|
279 IconAlignmentType align; |
|
280 IconTransformType transform; |
|
281 IconCacheRef theIconCache; |
|
282 #ifndef LoadIconCache |
|
283 PyMac_PRECHECK(LoadIconCache); |
|
284 #endif |
|
285 if (!PyArg_ParseTuple(_args, "O&hhO&", |
|
286 PyMac_GetRect, &theRect, |
|
287 &align, |
|
288 &transform, |
|
289 ResObj_Convert, &theIconCache)) |
|
290 return NULL; |
|
291 _err = LoadIconCache(&theRect, |
|
292 align, |
|
293 transform, |
|
294 theIconCache); |
|
295 if (_err != noErr) return PyMac_Error(_err); |
|
296 Py_INCREF(Py_None); |
|
297 _res = Py_None; |
|
298 return _res; |
|
299 } |
|
300 |
|
301 static PyObject *Icn_GetLabel(PyObject *_self, PyObject *_args) |
|
302 { |
|
303 PyObject *_res = NULL; |
|
304 OSErr _err; |
|
305 SInt16 labelNumber; |
|
306 RGBColor labelColor; |
|
307 Str255 labelString; |
|
308 #ifndef GetLabel |
|
309 PyMac_PRECHECK(GetLabel); |
|
310 #endif |
|
311 if (!PyArg_ParseTuple(_args, "hO&", |
|
312 &labelNumber, |
|
313 PyMac_GetStr255, labelString)) |
|
314 return NULL; |
|
315 _err = GetLabel(labelNumber, |
|
316 &labelColor, |
|
317 labelString); |
|
318 if (_err != noErr) return PyMac_Error(_err); |
|
319 _res = Py_BuildValue("O&", |
|
320 QdRGB_New, &labelColor); |
|
321 return _res; |
|
322 } |
|
323 |
|
324 static PyObject *Icn_PtInIconID(PyObject *_self, PyObject *_args) |
|
325 { |
|
326 PyObject *_res = NULL; |
|
327 Boolean _rv; |
|
328 Point testPt; |
|
329 Rect iconRect; |
|
330 IconAlignmentType align; |
|
331 SInt16 iconID; |
|
332 #ifndef PtInIconID |
|
333 PyMac_PRECHECK(PtInIconID); |
|
334 #endif |
|
335 if (!PyArg_ParseTuple(_args, "O&O&hh", |
|
336 PyMac_GetPoint, &testPt, |
|
337 PyMac_GetRect, &iconRect, |
|
338 &align, |
|
339 &iconID)) |
|
340 return NULL; |
|
341 _rv = PtInIconID(testPt, |
|
342 &iconRect, |
|
343 align, |
|
344 iconID); |
|
345 _res = Py_BuildValue("b", |
|
346 _rv); |
|
347 return _res; |
|
348 } |
|
349 |
|
350 static PyObject *Icn_PtInIconSuite(PyObject *_self, PyObject *_args) |
|
351 { |
|
352 PyObject *_res = NULL; |
|
353 Boolean _rv; |
|
354 Point testPt; |
|
355 Rect iconRect; |
|
356 IconAlignmentType align; |
|
357 IconSuiteRef theIconSuite; |
|
358 #ifndef PtInIconSuite |
|
359 PyMac_PRECHECK(PtInIconSuite); |
|
360 #endif |
|
361 if (!PyArg_ParseTuple(_args, "O&O&hO&", |
|
362 PyMac_GetPoint, &testPt, |
|
363 PyMac_GetRect, &iconRect, |
|
364 &align, |
|
365 ResObj_Convert, &theIconSuite)) |
|
366 return NULL; |
|
367 _rv = PtInIconSuite(testPt, |
|
368 &iconRect, |
|
369 align, |
|
370 theIconSuite); |
|
371 _res = Py_BuildValue("b", |
|
372 _rv); |
|
373 return _res; |
|
374 } |
|
375 |
|
376 static PyObject *Icn_RectInIconID(PyObject *_self, PyObject *_args) |
|
377 { |
|
378 PyObject *_res = NULL; |
|
379 Boolean _rv; |
|
380 Rect testRect; |
|
381 Rect iconRect; |
|
382 IconAlignmentType align; |
|
383 SInt16 iconID; |
|
384 #ifndef RectInIconID |
|
385 PyMac_PRECHECK(RectInIconID); |
|
386 #endif |
|
387 if (!PyArg_ParseTuple(_args, "O&O&hh", |
|
388 PyMac_GetRect, &testRect, |
|
389 PyMac_GetRect, &iconRect, |
|
390 &align, |
|
391 &iconID)) |
|
392 return NULL; |
|
393 _rv = RectInIconID(&testRect, |
|
394 &iconRect, |
|
395 align, |
|
396 iconID); |
|
397 _res = Py_BuildValue("b", |
|
398 _rv); |
|
399 return _res; |
|
400 } |
|
401 |
|
402 static PyObject *Icn_RectInIconSuite(PyObject *_self, PyObject *_args) |
|
403 { |
|
404 PyObject *_res = NULL; |
|
405 Boolean _rv; |
|
406 Rect testRect; |
|
407 Rect iconRect; |
|
408 IconAlignmentType align; |
|
409 IconSuiteRef theIconSuite; |
|
410 #ifndef RectInIconSuite |
|
411 PyMac_PRECHECK(RectInIconSuite); |
|
412 #endif |
|
413 if (!PyArg_ParseTuple(_args, "O&O&hO&", |
|
414 PyMac_GetRect, &testRect, |
|
415 PyMac_GetRect, &iconRect, |
|
416 &align, |
|
417 ResObj_Convert, &theIconSuite)) |
|
418 return NULL; |
|
419 _rv = RectInIconSuite(&testRect, |
|
420 &iconRect, |
|
421 align, |
|
422 theIconSuite); |
|
423 _res = Py_BuildValue("b", |
|
424 _rv); |
|
425 return _res; |
|
426 } |
|
427 |
|
428 static PyObject *Icn_IconIDToRgn(PyObject *_self, PyObject *_args) |
|
429 { |
|
430 PyObject *_res = NULL; |
|
431 OSErr _err; |
|
432 RgnHandle theRgn; |
|
433 Rect iconRect; |
|
434 IconAlignmentType align; |
|
435 SInt16 iconID; |
|
436 #ifndef IconIDToRgn |
|
437 PyMac_PRECHECK(IconIDToRgn); |
|
438 #endif |
|
439 if (!PyArg_ParseTuple(_args, "O&O&hh", |
|
440 ResObj_Convert, &theRgn, |
|
441 PyMac_GetRect, &iconRect, |
|
442 &align, |
|
443 &iconID)) |
|
444 return NULL; |
|
445 _err = IconIDToRgn(theRgn, |
|
446 &iconRect, |
|
447 align, |
|
448 iconID); |
|
449 if (_err != noErr) return PyMac_Error(_err); |
|
450 Py_INCREF(Py_None); |
|
451 _res = Py_None; |
|
452 return _res; |
|
453 } |
|
454 |
|
455 static PyObject *Icn_IconSuiteToRgn(PyObject *_self, PyObject *_args) |
|
456 { |
|
457 PyObject *_res = NULL; |
|
458 OSErr _err; |
|
459 RgnHandle theRgn; |
|
460 Rect iconRect; |
|
461 IconAlignmentType align; |
|
462 IconSuiteRef theIconSuite; |
|
463 #ifndef IconSuiteToRgn |
|
464 PyMac_PRECHECK(IconSuiteToRgn); |
|
465 #endif |
|
466 if (!PyArg_ParseTuple(_args, "O&O&hO&", |
|
467 ResObj_Convert, &theRgn, |
|
468 PyMac_GetRect, &iconRect, |
|
469 &align, |
|
470 ResObj_Convert, &theIconSuite)) |
|
471 return NULL; |
|
472 _err = IconSuiteToRgn(theRgn, |
|
473 &iconRect, |
|
474 align, |
|
475 theIconSuite); |
|
476 if (_err != noErr) return PyMac_Error(_err); |
|
477 Py_INCREF(Py_None); |
|
478 _res = Py_None; |
|
479 return _res; |
|
480 } |
|
481 |
|
482 static PyObject *Icn_SetSuiteLabel(PyObject *_self, PyObject *_args) |
|
483 { |
|
484 PyObject *_res = NULL; |
|
485 OSErr _err; |
|
486 IconSuiteRef theSuite; |
|
487 SInt16 theLabel; |
|
488 #ifndef SetSuiteLabel |
|
489 PyMac_PRECHECK(SetSuiteLabel); |
|
490 #endif |
|
491 if (!PyArg_ParseTuple(_args, "O&h", |
|
492 ResObj_Convert, &theSuite, |
|
493 &theLabel)) |
|
494 return NULL; |
|
495 _err = SetSuiteLabel(theSuite, |
|
496 theLabel); |
|
497 if (_err != noErr) return PyMac_Error(_err); |
|
498 Py_INCREF(Py_None); |
|
499 _res = Py_None; |
|
500 return _res; |
|
501 } |
|
502 |
|
503 static PyObject *Icn_GetSuiteLabel(PyObject *_self, PyObject *_args) |
|
504 { |
|
505 PyObject *_res = NULL; |
|
506 SInt16 _rv; |
|
507 IconSuiteRef theSuite; |
|
508 #ifndef GetSuiteLabel |
|
509 PyMac_PRECHECK(GetSuiteLabel); |
|
510 #endif |
|
511 if (!PyArg_ParseTuple(_args, "O&", |
|
512 ResObj_Convert, &theSuite)) |
|
513 return NULL; |
|
514 _rv = GetSuiteLabel(theSuite); |
|
515 _res = Py_BuildValue("h", |
|
516 _rv); |
|
517 return _res; |
|
518 } |
|
519 |
|
520 static PyObject *Icn_PlotIconHandle(PyObject *_self, PyObject *_args) |
|
521 { |
|
522 PyObject *_res = NULL; |
|
523 OSErr _err; |
|
524 Rect theRect; |
|
525 IconAlignmentType align; |
|
526 IconTransformType transform; |
|
527 Handle theIcon; |
|
528 #ifndef PlotIconHandle |
|
529 PyMac_PRECHECK(PlotIconHandle); |
|
530 #endif |
|
531 if (!PyArg_ParseTuple(_args, "O&hhO&", |
|
532 PyMac_GetRect, &theRect, |
|
533 &align, |
|
534 &transform, |
|
535 ResObj_Convert, &theIcon)) |
|
536 return NULL; |
|
537 _err = PlotIconHandle(&theRect, |
|
538 align, |
|
539 transform, |
|
540 theIcon); |
|
541 if (_err != noErr) return PyMac_Error(_err); |
|
542 Py_INCREF(Py_None); |
|
543 _res = Py_None; |
|
544 return _res; |
|
545 } |
|
546 |
|
547 static PyObject *Icn_PlotSICNHandle(PyObject *_self, PyObject *_args) |
|
548 { |
|
549 PyObject *_res = NULL; |
|
550 OSErr _err; |
|
551 Rect theRect; |
|
552 IconAlignmentType align; |
|
553 IconTransformType transform; |
|
554 Handle theSICN; |
|
555 #ifndef PlotSICNHandle |
|
556 PyMac_PRECHECK(PlotSICNHandle); |
|
557 #endif |
|
558 if (!PyArg_ParseTuple(_args, "O&hhO&", |
|
559 PyMac_GetRect, &theRect, |
|
560 &align, |
|
561 &transform, |
|
562 ResObj_Convert, &theSICN)) |
|
563 return NULL; |
|
564 _err = PlotSICNHandle(&theRect, |
|
565 align, |
|
566 transform, |
|
567 theSICN); |
|
568 if (_err != noErr) return PyMac_Error(_err); |
|
569 Py_INCREF(Py_None); |
|
570 _res = Py_None; |
|
571 return _res; |
|
572 } |
|
573 |
|
574 static PyObject *Icn_PlotCIconHandle(PyObject *_self, PyObject *_args) |
|
575 { |
|
576 PyObject *_res = NULL; |
|
577 OSErr _err; |
|
578 Rect theRect; |
|
579 IconAlignmentType align; |
|
580 IconTransformType transform; |
|
581 CIconHandle theCIcon; |
|
582 #ifndef PlotCIconHandle |
|
583 PyMac_PRECHECK(PlotCIconHandle); |
|
584 #endif |
|
585 if (!PyArg_ParseTuple(_args, "O&hhO&", |
|
586 PyMac_GetRect, &theRect, |
|
587 &align, |
|
588 &transform, |
|
589 ResObj_Convert, &theCIcon)) |
|
590 return NULL; |
|
591 _err = PlotCIconHandle(&theRect, |
|
592 align, |
|
593 transform, |
|
594 theCIcon); |
|
595 if (_err != noErr) return PyMac_Error(_err); |
|
596 Py_INCREF(Py_None); |
|
597 _res = Py_None; |
|
598 return _res; |
|
599 } |
|
600 |
|
601 static PyObject *Icn_IconRefToIconFamily(PyObject *_self, PyObject *_args) |
|
602 { |
|
603 PyObject *_res = NULL; |
|
604 OSErr _err; |
|
605 IconRef theIconRef; |
|
606 IconSelectorValue whichIcons; |
|
607 IconFamilyHandle iconFamily; |
|
608 #ifndef IconRefToIconFamily |
|
609 PyMac_PRECHECK(IconRefToIconFamily); |
|
610 #endif |
|
611 if (!PyArg_ParseTuple(_args, "O&l", |
|
612 ResObj_Convert, &theIconRef, |
|
613 &whichIcons)) |
|
614 return NULL; |
|
615 _err = IconRefToIconFamily(theIconRef, |
|
616 whichIcons, |
|
617 &iconFamily); |
|
618 if (_err != noErr) return PyMac_Error(_err); |
|
619 _res = Py_BuildValue("O&", |
|
620 ResObj_New, iconFamily); |
|
621 return _res; |
|
622 } |
|
623 |
|
624 static PyObject *Icn_IconFamilyToIconSuite(PyObject *_self, PyObject *_args) |
|
625 { |
|
626 PyObject *_res = NULL; |
|
627 OSErr _err; |
|
628 IconFamilyHandle iconFamily; |
|
629 IconSelectorValue whichIcons; |
|
630 IconSuiteRef iconSuite; |
|
631 #ifndef IconFamilyToIconSuite |
|
632 PyMac_PRECHECK(IconFamilyToIconSuite); |
|
633 #endif |
|
634 if (!PyArg_ParseTuple(_args, "O&l", |
|
635 ResObj_Convert, &iconFamily, |
|
636 &whichIcons)) |
|
637 return NULL; |
|
638 _err = IconFamilyToIconSuite(iconFamily, |
|
639 whichIcons, |
|
640 &iconSuite); |
|
641 if (_err != noErr) return PyMac_Error(_err); |
|
642 _res = Py_BuildValue("O&", |
|
643 ResObj_New, iconSuite); |
|
644 return _res; |
|
645 } |
|
646 |
|
647 static PyObject *Icn_IconSuiteToIconFamily(PyObject *_self, PyObject *_args) |
|
648 { |
|
649 PyObject *_res = NULL; |
|
650 OSErr _err; |
|
651 IconSuiteRef iconSuite; |
|
652 IconSelectorValue whichIcons; |
|
653 IconFamilyHandle iconFamily; |
|
654 #ifndef IconSuiteToIconFamily |
|
655 PyMac_PRECHECK(IconSuiteToIconFamily); |
|
656 #endif |
|
657 if (!PyArg_ParseTuple(_args, "O&l", |
|
658 ResObj_Convert, &iconSuite, |
|
659 &whichIcons)) |
|
660 return NULL; |
|
661 _err = IconSuiteToIconFamily(iconSuite, |
|
662 whichIcons, |
|
663 &iconFamily); |
|
664 if (_err != noErr) return PyMac_Error(_err); |
|
665 _res = Py_BuildValue("O&", |
|
666 ResObj_New, iconFamily); |
|
667 return _res; |
|
668 } |
|
669 |
|
670 static PyObject *Icn_SetIconFamilyData(PyObject *_self, PyObject *_args) |
|
671 { |
|
672 PyObject *_res = NULL; |
|
673 OSErr _err; |
|
674 IconFamilyHandle iconFamily; |
|
675 OSType iconType; |
|
676 Handle h; |
|
677 #ifndef SetIconFamilyData |
|
678 PyMac_PRECHECK(SetIconFamilyData); |
|
679 #endif |
|
680 if (!PyArg_ParseTuple(_args, "O&O&O&", |
|
681 ResObj_Convert, &iconFamily, |
|
682 PyMac_GetOSType, &iconType, |
|
683 ResObj_Convert, &h)) |
|
684 return NULL; |
|
685 _err = SetIconFamilyData(iconFamily, |
|
686 iconType, |
|
687 h); |
|
688 if (_err != noErr) return PyMac_Error(_err); |
|
689 Py_INCREF(Py_None); |
|
690 _res = Py_None; |
|
691 return _res; |
|
692 } |
|
693 |
|
694 static PyObject *Icn_GetIconFamilyData(PyObject *_self, PyObject *_args) |
|
695 { |
|
696 PyObject *_res = NULL; |
|
697 OSErr _err; |
|
698 IconFamilyHandle iconFamily; |
|
699 OSType iconType; |
|
700 Handle h; |
|
701 #ifndef GetIconFamilyData |
|
702 PyMac_PRECHECK(GetIconFamilyData); |
|
703 #endif |
|
704 if (!PyArg_ParseTuple(_args, "O&O&O&", |
|
705 ResObj_Convert, &iconFamily, |
|
706 PyMac_GetOSType, &iconType, |
|
707 ResObj_Convert, &h)) |
|
708 return NULL; |
|
709 _err = GetIconFamilyData(iconFamily, |
|
710 iconType, |
|
711 h); |
|
712 if (_err != noErr) return PyMac_Error(_err); |
|
713 Py_INCREF(Py_None); |
|
714 _res = Py_None; |
|
715 return _res; |
|
716 } |
|
717 |
|
718 static PyObject *Icn_GetIconRefOwners(PyObject *_self, PyObject *_args) |
|
719 { |
|
720 PyObject *_res = NULL; |
|
721 OSErr _err; |
|
722 IconRef theIconRef; |
|
723 UInt16 owners; |
|
724 #ifndef GetIconRefOwners |
|
725 PyMac_PRECHECK(GetIconRefOwners); |
|
726 #endif |
|
727 if (!PyArg_ParseTuple(_args, "O&", |
|
728 ResObj_Convert, &theIconRef)) |
|
729 return NULL; |
|
730 _err = GetIconRefOwners(theIconRef, |
|
731 &owners); |
|
732 if (_err != noErr) return PyMac_Error(_err); |
|
733 _res = Py_BuildValue("H", |
|
734 owners); |
|
735 return _res; |
|
736 } |
|
737 |
|
738 static PyObject *Icn_AcquireIconRef(PyObject *_self, PyObject *_args) |
|
739 { |
|
740 PyObject *_res = NULL; |
|
741 OSErr _err; |
|
742 IconRef theIconRef; |
|
743 #ifndef AcquireIconRef |
|
744 PyMac_PRECHECK(AcquireIconRef); |
|
745 #endif |
|
746 if (!PyArg_ParseTuple(_args, "O&", |
|
747 ResObj_Convert, &theIconRef)) |
|
748 return NULL; |
|
749 _err = AcquireIconRef(theIconRef); |
|
750 if (_err != noErr) return PyMac_Error(_err); |
|
751 Py_INCREF(Py_None); |
|
752 _res = Py_None; |
|
753 return _res; |
|
754 } |
|
755 |
|
756 static PyObject *Icn_ReleaseIconRef(PyObject *_self, PyObject *_args) |
|
757 { |
|
758 PyObject *_res = NULL; |
|
759 OSErr _err; |
|
760 IconRef theIconRef; |
|
761 #ifndef ReleaseIconRef |
|
762 PyMac_PRECHECK(ReleaseIconRef); |
|
763 #endif |
|
764 if (!PyArg_ParseTuple(_args, "O&", |
|
765 ResObj_Convert, &theIconRef)) |
|
766 return NULL; |
|
767 _err = ReleaseIconRef(theIconRef); |
|
768 if (_err != noErr) return PyMac_Error(_err); |
|
769 Py_INCREF(Py_None); |
|
770 _res = Py_None; |
|
771 return _res; |
|
772 } |
|
773 |
|
774 static PyObject *Icn_GetIconRefFromFile(PyObject *_self, PyObject *_args) |
|
775 { |
|
776 PyObject *_res = NULL; |
|
777 OSErr _err; |
|
778 FSSpec theFile; |
|
779 IconRef theIconRef; |
|
780 SInt16 theLabel; |
|
781 #ifndef GetIconRefFromFile |
|
782 PyMac_PRECHECK(GetIconRefFromFile); |
|
783 #endif |
|
784 if (!PyArg_ParseTuple(_args, "O&", |
|
785 PyMac_GetFSSpec, &theFile)) |
|
786 return NULL; |
|
787 _err = GetIconRefFromFile(&theFile, |
|
788 &theIconRef, |
|
789 &theLabel); |
|
790 if (_err != noErr) return PyMac_Error(_err); |
|
791 _res = Py_BuildValue("O&h", |
|
792 ResObj_New, theIconRef, |
|
793 theLabel); |
|
794 return _res; |
|
795 } |
|
796 |
|
797 static PyObject *Icn_GetIconRef(PyObject *_self, PyObject *_args) |
|
798 { |
|
799 PyObject *_res = NULL; |
|
800 OSErr _err; |
|
801 SInt16 vRefNum; |
|
802 OSType creator; |
|
803 OSType iconType; |
|
804 IconRef theIconRef; |
|
805 #ifndef GetIconRef |
|
806 PyMac_PRECHECK(GetIconRef); |
|
807 #endif |
|
808 if (!PyArg_ParseTuple(_args, "hO&O&", |
|
809 &vRefNum, |
|
810 PyMac_GetOSType, &creator, |
|
811 PyMac_GetOSType, &iconType)) |
|
812 return NULL; |
|
813 _err = GetIconRef(vRefNum, |
|
814 creator, |
|
815 iconType, |
|
816 &theIconRef); |
|
817 if (_err != noErr) return PyMac_Error(_err); |
|
818 _res = Py_BuildValue("O&", |
|
819 ResObj_New, theIconRef); |
|
820 return _res; |
|
821 } |
|
822 |
|
823 static PyObject *Icn_GetIconRefFromFolder(PyObject *_self, PyObject *_args) |
|
824 { |
|
825 PyObject *_res = NULL; |
|
826 OSErr _err; |
|
827 SInt16 vRefNum; |
|
828 SInt32 parentFolderID; |
|
829 SInt32 folderID; |
|
830 SInt8 attributes; |
|
831 SInt8 accessPrivileges; |
|
832 IconRef theIconRef; |
|
833 #ifndef GetIconRefFromFolder |
|
834 PyMac_PRECHECK(GetIconRefFromFolder); |
|
835 #endif |
|
836 if (!PyArg_ParseTuple(_args, "hllbb", |
|
837 &vRefNum, |
|
838 &parentFolderID, |
|
839 &folderID, |
|
840 &attributes, |
|
841 &accessPrivileges)) |
|
842 return NULL; |
|
843 _err = GetIconRefFromFolder(vRefNum, |
|
844 parentFolderID, |
|
845 folderID, |
|
846 attributes, |
|
847 accessPrivileges, |
|
848 &theIconRef); |
|
849 if (_err != noErr) return PyMac_Error(_err); |
|
850 _res = Py_BuildValue("O&", |
|
851 ResObj_New, theIconRef); |
|
852 return _res; |
|
853 } |
|
854 |
|
855 static PyObject *Icn_RegisterIconRefFromIconFamily(PyObject *_self, PyObject *_args) |
|
856 { |
|
857 PyObject *_res = NULL; |
|
858 OSErr _err; |
|
859 OSType creator; |
|
860 OSType iconType; |
|
861 IconFamilyHandle iconFamily; |
|
862 IconRef theIconRef; |
|
863 #ifndef RegisterIconRefFromIconFamily |
|
864 PyMac_PRECHECK(RegisterIconRefFromIconFamily); |
|
865 #endif |
|
866 if (!PyArg_ParseTuple(_args, "O&O&O&", |
|
867 PyMac_GetOSType, &creator, |
|
868 PyMac_GetOSType, &iconType, |
|
869 ResObj_Convert, &iconFamily)) |
|
870 return NULL; |
|
871 _err = RegisterIconRefFromIconFamily(creator, |
|
872 iconType, |
|
873 iconFamily, |
|
874 &theIconRef); |
|
875 if (_err != noErr) return PyMac_Error(_err); |
|
876 _res = Py_BuildValue("O&", |
|
877 ResObj_New, theIconRef); |
|
878 return _res; |
|
879 } |
|
880 |
|
881 static PyObject *Icn_RegisterIconRefFromResource(PyObject *_self, PyObject *_args) |
|
882 { |
|
883 PyObject *_res = NULL; |
|
884 OSErr _err; |
|
885 OSType creator; |
|
886 OSType iconType; |
|
887 FSSpec resourceFile; |
|
888 SInt16 resourceID; |
|
889 IconRef theIconRef; |
|
890 #ifndef RegisterIconRefFromResource |
|
891 PyMac_PRECHECK(RegisterIconRefFromResource); |
|
892 #endif |
|
893 if (!PyArg_ParseTuple(_args, "O&O&O&h", |
|
894 PyMac_GetOSType, &creator, |
|
895 PyMac_GetOSType, &iconType, |
|
896 PyMac_GetFSSpec, &resourceFile, |
|
897 &resourceID)) |
|
898 return NULL; |
|
899 _err = RegisterIconRefFromResource(creator, |
|
900 iconType, |
|
901 &resourceFile, |
|
902 resourceID, |
|
903 &theIconRef); |
|
904 if (_err != noErr) return PyMac_Error(_err); |
|
905 _res = Py_BuildValue("O&", |
|
906 ResObj_New, theIconRef); |
|
907 return _res; |
|
908 } |
|
909 |
|
910 static PyObject *Icn_RegisterIconRefFromFSRef(PyObject *_self, PyObject *_args) |
|
911 { |
|
912 PyObject *_res = NULL; |
|
913 OSStatus _err; |
|
914 OSType creator; |
|
915 OSType iconType; |
|
916 FSRef iconFile; |
|
917 IconRef theIconRef; |
|
918 #ifndef RegisterIconRefFromFSRef |
|
919 PyMac_PRECHECK(RegisterIconRefFromFSRef); |
|
920 #endif |
|
921 if (!PyArg_ParseTuple(_args, "O&O&O&", |
|
922 PyMac_GetOSType, &creator, |
|
923 PyMac_GetOSType, &iconType, |
|
924 PyMac_GetFSRef, &iconFile)) |
|
925 return NULL; |
|
926 _err = RegisterIconRefFromFSRef(creator, |
|
927 iconType, |
|
928 &iconFile, |
|
929 &theIconRef); |
|
930 if (_err != noErr) return PyMac_Error(_err); |
|
931 _res = Py_BuildValue("O&", |
|
932 ResObj_New, theIconRef); |
|
933 return _res; |
|
934 } |
|
935 |
|
936 static PyObject *Icn_UnregisterIconRef(PyObject *_self, PyObject *_args) |
|
937 { |
|
938 PyObject *_res = NULL; |
|
939 OSErr _err; |
|
940 OSType creator; |
|
941 OSType iconType; |
|
942 #ifndef UnregisterIconRef |
|
943 PyMac_PRECHECK(UnregisterIconRef); |
|
944 #endif |
|
945 if (!PyArg_ParseTuple(_args, "O&O&", |
|
946 PyMac_GetOSType, &creator, |
|
947 PyMac_GetOSType, &iconType)) |
|
948 return NULL; |
|
949 _err = UnregisterIconRef(creator, |
|
950 iconType); |
|
951 if (_err != noErr) return PyMac_Error(_err); |
|
952 Py_INCREF(Py_None); |
|
953 _res = Py_None; |
|
954 return _res; |
|
955 } |
|
956 |
|
957 static PyObject *Icn_UpdateIconRef(PyObject *_self, PyObject *_args) |
|
958 { |
|
959 PyObject *_res = NULL; |
|
960 OSErr _err; |
|
961 IconRef theIconRef; |
|
962 #ifndef UpdateIconRef |
|
963 PyMac_PRECHECK(UpdateIconRef); |
|
964 #endif |
|
965 if (!PyArg_ParseTuple(_args, "O&", |
|
966 ResObj_Convert, &theIconRef)) |
|
967 return NULL; |
|
968 _err = UpdateIconRef(theIconRef); |
|
969 if (_err != noErr) return PyMac_Error(_err); |
|
970 Py_INCREF(Py_None); |
|
971 _res = Py_None; |
|
972 return _res; |
|
973 } |
|
974 |
|
975 static PyObject *Icn_OverrideIconRefFromResource(PyObject *_self, PyObject *_args) |
|
976 { |
|
977 PyObject *_res = NULL; |
|
978 OSErr _err; |
|
979 IconRef theIconRef; |
|
980 FSSpec resourceFile; |
|
981 SInt16 resourceID; |
|
982 #ifndef OverrideIconRefFromResource |
|
983 PyMac_PRECHECK(OverrideIconRefFromResource); |
|
984 #endif |
|
985 if (!PyArg_ParseTuple(_args, "O&O&h", |
|
986 ResObj_Convert, &theIconRef, |
|
987 PyMac_GetFSSpec, &resourceFile, |
|
988 &resourceID)) |
|
989 return NULL; |
|
990 _err = OverrideIconRefFromResource(theIconRef, |
|
991 &resourceFile, |
|
992 resourceID); |
|
993 if (_err != noErr) return PyMac_Error(_err); |
|
994 Py_INCREF(Py_None); |
|
995 _res = Py_None; |
|
996 return _res; |
|
997 } |
|
998 |
|
999 static PyObject *Icn_OverrideIconRef(PyObject *_self, PyObject *_args) |
|
1000 { |
|
1001 PyObject *_res = NULL; |
|
1002 OSErr _err; |
|
1003 IconRef oldIconRef; |
|
1004 IconRef newIconRef; |
|
1005 #ifndef OverrideIconRef |
|
1006 PyMac_PRECHECK(OverrideIconRef); |
|
1007 #endif |
|
1008 if (!PyArg_ParseTuple(_args, "O&O&", |
|
1009 ResObj_Convert, &oldIconRef, |
|
1010 ResObj_Convert, &newIconRef)) |
|
1011 return NULL; |
|
1012 _err = OverrideIconRef(oldIconRef, |
|
1013 newIconRef); |
|
1014 if (_err != noErr) return PyMac_Error(_err); |
|
1015 Py_INCREF(Py_None); |
|
1016 _res = Py_None; |
|
1017 return _res; |
|
1018 } |
|
1019 |
|
1020 static PyObject *Icn_RemoveIconRefOverride(PyObject *_self, PyObject *_args) |
|
1021 { |
|
1022 PyObject *_res = NULL; |
|
1023 OSErr _err; |
|
1024 IconRef theIconRef; |
|
1025 #ifndef RemoveIconRefOverride |
|
1026 PyMac_PRECHECK(RemoveIconRefOverride); |
|
1027 #endif |
|
1028 if (!PyArg_ParseTuple(_args, "O&", |
|
1029 ResObj_Convert, &theIconRef)) |
|
1030 return NULL; |
|
1031 _err = RemoveIconRefOverride(theIconRef); |
|
1032 if (_err != noErr) return PyMac_Error(_err); |
|
1033 Py_INCREF(Py_None); |
|
1034 _res = Py_None; |
|
1035 return _res; |
|
1036 } |
|
1037 |
|
1038 static PyObject *Icn_CompositeIconRef(PyObject *_self, PyObject *_args) |
|
1039 { |
|
1040 PyObject *_res = NULL; |
|
1041 OSErr _err; |
|
1042 IconRef backgroundIconRef; |
|
1043 IconRef foregroundIconRef; |
|
1044 IconRef compositeIconRef; |
|
1045 #ifndef CompositeIconRef |
|
1046 PyMac_PRECHECK(CompositeIconRef); |
|
1047 #endif |
|
1048 if (!PyArg_ParseTuple(_args, "O&O&", |
|
1049 ResObj_Convert, &backgroundIconRef, |
|
1050 ResObj_Convert, &foregroundIconRef)) |
|
1051 return NULL; |
|
1052 _err = CompositeIconRef(backgroundIconRef, |
|
1053 foregroundIconRef, |
|
1054 &compositeIconRef); |
|
1055 if (_err != noErr) return PyMac_Error(_err); |
|
1056 _res = Py_BuildValue("O&", |
|
1057 ResObj_New, compositeIconRef); |
|
1058 return _res; |
|
1059 } |
|
1060 |
|
1061 static PyObject *Icn_IsIconRefComposite(PyObject *_self, PyObject *_args) |
|
1062 { |
|
1063 PyObject *_res = NULL; |
|
1064 OSErr _err; |
|
1065 IconRef compositeIconRef; |
|
1066 IconRef backgroundIconRef; |
|
1067 IconRef foregroundIconRef; |
|
1068 #ifndef IsIconRefComposite |
|
1069 PyMac_PRECHECK(IsIconRefComposite); |
|
1070 #endif |
|
1071 if (!PyArg_ParseTuple(_args, "O&", |
|
1072 ResObj_Convert, &compositeIconRef)) |
|
1073 return NULL; |
|
1074 _err = IsIconRefComposite(compositeIconRef, |
|
1075 &backgroundIconRef, |
|
1076 &foregroundIconRef); |
|
1077 if (_err != noErr) return PyMac_Error(_err); |
|
1078 _res = Py_BuildValue("O&O&", |
|
1079 ResObj_New, backgroundIconRef, |
|
1080 ResObj_New, foregroundIconRef); |
|
1081 return _res; |
|
1082 } |
|
1083 |
|
1084 static PyObject *Icn_IsValidIconRef(PyObject *_self, PyObject *_args) |
|
1085 { |
|
1086 PyObject *_res = NULL; |
|
1087 Boolean _rv; |
|
1088 IconRef theIconRef; |
|
1089 #ifndef IsValidIconRef |
|
1090 PyMac_PRECHECK(IsValidIconRef); |
|
1091 #endif |
|
1092 if (!PyArg_ParseTuple(_args, "O&", |
|
1093 ResObj_Convert, &theIconRef)) |
|
1094 return NULL; |
|
1095 _rv = IsValidIconRef(theIconRef); |
|
1096 _res = Py_BuildValue("b", |
|
1097 _rv); |
|
1098 return _res; |
|
1099 } |
|
1100 |
|
1101 static PyObject *Icn_PlotIconRef(PyObject *_self, PyObject *_args) |
|
1102 { |
|
1103 PyObject *_res = NULL; |
|
1104 OSErr _err; |
|
1105 Rect theRect; |
|
1106 IconAlignmentType align; |
|
1107 IconTransformType transform; |
|
1108 IconServicesUsageFlags theIconServicesUsageFlags; |
|
1109 IconRef theIconRef; |
|
1110 #ifndef PlotIconRef |
|
1111 PyMac_PRECHECK(PlotIconRef); |
|
1112 #endif |
|
1113 if (!PyArg_ParseTuple(_args, "O&hhlO&", |
|
1114 PyMac_GetRect, &theRect, |
|
1115 &align, |
|
1116 &transform, |
|
1117 &theIconServicesUsageFlags, |
|
1118 ResObj_Convert, &theIconRef)) |
|
1119 return NULL; |
|
1120 _err = PlotIconRef(&theRect, |
|
1121 align, |
|
1122 transform, |
|
1123 theIconServicesUsageFlags, |
|
1124 theIconRef); |
|
1125 if (_err != noErr) return PyMac_Error(_err); |
|
1126 Py_INCREF(Py_None); |
|
1127 _res = Py_None; |
|
1128 return _res; |
|
1129 } |
|
1130 |
|
1131 static PyObject *Icn_PtInIconRef(PyObject *_self, PyObject *_args) |
|
1132 { |
|
1133 PyObject *_res = NULL; |
|
1134 Boolean _rv; |
|
1135 Point testPt; |
|
1136 Rect iconRect; |
|
1137 IconAlignmentType align; |
|
1138 IconServicesUsageFlags theIconServicesUsageFlags; |
|
1139 IconRef theIconRef; |
|
1140 #ifndef PtInIconRef |
|
1141 PyMac_PRECHECK(PtInIconRef); |
|
1142 #endif |
|
1143 if (!PyArg_ParseTuple(_args, "O&O&hlO&", |
|
1144 PyMac_GetPoint, &testPt, |
|
1145 PyMac_GetRect, &iconRect, |
|
1146 &align, |
|
1147 &theIconServicesUsageFlags, |
|
1148 ResObj_Convert, &theIconRef)) |
|
1149 return NULL; |
|
1150 _rv = PtInIconRef(&testPt, |
|
1151 &iconRect, |
|
1152 align, |
|
1153 theIconServicesUsageFlags, |
|
1154 theIconRef); |
|
1155 _res = Py_BuildValue("b", |
|
1156 _rv); |
|
1157 return _res; |
|
1158 } |
|
1159 |
|
1160 static PyObject *Icn_RectInIconRef(PyObject *_self, PyObject *_args) |
|
1161 { |
|
1162 PyObject *_res = NULL; |
|
1163 Boolean _rv; |
|
1164 Rect testRect; |
|
1165 Rect iconRect; |
|
1166 IconAlignmentType align; |
|
1167 IconServicesUsageFlags iconServicesUsageFlags; |
|
1168 IconRef theIconRef; |
|
1169 #ifndef RectInIconRef |
|
1170 PyMac_PRECHECK(RectInIconRef); |
|
1171 #endif |
|
1172 if (!PyArg_ParseTuple(_args, "O&O&hlO&", |
|
1173 PyMac_GetRect, &testRect, |
|
1174 PyMac_GetRect, &iconRect, |
|
1175 &align, |
|
1176 &iconServicesUsageFlags, |
|
1177 ResObj_Convert, &theIconRef)) |
|
1178 return NULL; |
|
1179 _rv = RectInIconRef(&testRect, |
|
1180 &iconRect, |
|
1181 align, |
|
1182 iconServicesUsageFlags, |
|
1183 theIconRef); |
|
1184 _res = Py_BuildValue("b", |
|
1185 _rv); |
|
1186 return _res; |
|
1187 } |
|
1188 |
|
1189 static PyObject *Icn_IconRefToRgn(PyObject *_self, PyObject *_args) |
|
1190 { |
|
1191 PyObject *_res = NULL; |
|
1192 OSErr _err; |
|
1193 RgnHandle theRgn; |
|
1194 Rect iconRect; |
|
1195 IconAlignmentType align; |
|
1196 IconServicesUsageFlags iconServicesUsageFlags; |
|
1197 IconRef theIconRef; |
|
1198 #ifndef IconRefToRgn |
|
1199 PyMac_PRECHECK(IconRefToRgn); |
|
1200 #endif |
|
1201 if (!PyArg_ParseTuple(_args, "O&O&hlO&", |
|
1202 ResObj_Convert, &theRgn, |
|
1203 PyMac_GetRect, &iconRect, |
|
1204 &align, |
|
1205 &iconServicesUsageFlags, |
|
1206 ResObj_Convert, &theIconRef)) |
|
1207 return NULL; |
|
1208 _err = IconRefToRgn(theRgn, |
|
1209 &iconRect, |
|
1210 align, |
|
1211 iconServicesUsageFlags, |
|
1212 theIconRef); |
|
1213 if (_err != noErr) return PyMac_Error(_err); |
|
1214 Py_INCREF(Py_None); |
|
1215 _res = Py_None; |
|
1216 return _res; |
|
1217 } |
|
1218 |
|
1219 static PyObject *Icn_GetIconSizesFromIconRef(PyObject *_self, PyObject *_args) |
|
1220 { |
|
1221 PyObject *_res = NULL; |
|
1222 OSErr _err; |
|
1223 IconSelectorValue iconSelectorInput; |
|
1224 IconSelectorValue iconSelectorOutputPtr; |
|
1225 IconServicesUsageFlags iconServicesUsageFlags; |
|
1226 IconRef theIconRef; |
|
1227 #ifndef GetIconSizesFromIconRef |
|
1228 PyMac_PRECHECK(GetIconSizesFromIconRef); |
|
1229 #endif |
|
1230 if (!PyArg_ParseTuple(_args, "llO&", |
|
1231 &iconSelectorInput, |
|
1232 &iconServicesUsageFlags, |
|
1233 ResObj_Convert, &theIconRef)) |
|
1234 return NULL; |
|
1235 _err = GetIconSizesFromIconRef(iconSelectorInput, |
|
1236 &iconSelectorOutputPtr, |
|
1237 iconServicesUsageFlags, |
|
1238 theIconRef); |
|
1239 if (_err != noErr) return PyMac_Error(_err); |
|
1240 _res = Py_BuildValue("l", |
|
1241 iconSelectorOutputPtr); |
|
1242 return _res; |
|
1243 } |
|
1244 |
|
1245 static PyObject *Icn_FlushIconRefs(PyObject *_self, PyObject *_args) |
|
1246 { |
|
1247 PyObject *_res = NULL; |
|
1248 OSErr _err; |
|
1249 OSType creator; |
|
1250 OSType iconType; |
|
1251 #ifndef FlushIconRefs |
|
1252 PyMac_PRECHECK(FlushIconRefs); |
|
1253 #endif |
|
1254 if (!PyArg_ParseTuple(_args, "O&O&", |
|
1255 PyMac_GetOSType, &creator, |
|
1256 PyMac_GetOSType, &iconType)) |
|
1257 return NULL; |
|
1258 _err = FlushIconRefs(creator, |
|
1259 iconType); |
|
1260 if (_err != noErr) return PyMac_Error(_err); |
|
1261 Py_INCREF(Py_None); |
|
1262 _res = Py_None; |
|
1263 return _res; |
|
1264 } |
|
1265 |
|
1266 static PyObject *Icn_FlushIconRefsByVolume(PyObject *_self, PyObject *_args) |
|
1267 { |
|
1268 PyObject *_res = NULL; |
|
1269 OSErr _err; |
|
1270 SInt16 vRefNum; |
|
1271 #ifndef FlushIconRefsByVolume |
|
1272 PyMac_PRECHECK(FlushIconRefsByVolume); |
|
1273 #endif |
|
1274 if (!PyArg_ParseTuple(_args, "h", |
|
1275 &vRefNum)) |
|
1276 return NULL; |
|
1277 _err = FlushIconRefsByVolume(vRefNum); |
|
1278 if (_err != noErr) return PyMac_Error(_err); |
|
1279 Py_INCREF(Py_None); |
|
1280 _res = Py_None; |
|
1281 return _res; |
|
1282 } |
|
1283 |
|
1284 static PyObject *Icn_SetCustomIconsEnabled(PyObject *_self, PyObject *_args) |
|
1285 { |
|
1286 PyObject *_res = NULL; |
|
1287 OSErr _err; |
|
1288 SInt16 vRefNum; |
|
1289 Boolean enableCustomIcons; |
|
1290 #ifndef SetCustomIconsEnabled |
|
1291 PyMac_PRECHECK(SetCustomIconsEnabled); |
|
1292 #endif |
|
1293 if (!PyArg_ParseTuple(_args, "hb", |
|
1294 &vRefNum, |
|
1295 &enableCustomIcons)) |
|
1296 return NULL; |
|
1297 _err = SetCustomIconsEnabled(vRefNum, |
|
1298 enableCustomIcons); |
|
1299 if (_err != noErr) return PyMac_Error(_err); |
|
1300 Py_INCREF(Py_None); |
|
1301 _res = Py_None; |
|
1302 return _res; |
|
1303 } |
|
1304 |
|
1305 static PyObject *Icn_GetCustomIconsEnabled(PyObject *_self, PyObject *_args) |
|
1306 { |
|
1307 PyObject *_res = NULL; |
|
1308 OSErr _err; |
|
1309 SInt16 vRefNum; |
|
1310 Boolean customIconsEnabled; |
|
1311 #ifndef GetCustomIconsEnabled |
|
1312 PyMac_PRECHECK(GetCustomIconsEnabled); |
|
1313 #endif |
|
1314 if (!PyArg_ParseTuple(_args, "h", |
|
1315 &vRefNum)) |
|
1316 return NULL; |
|
1317 _err = GetCustomIconsEnabled(vRefNum, |
|
1318 &customIconsEnabled); |
|
1319 if (_err != noErr) return PyMac_Error(_err); |
|
1320 _res = Py_BuildValue("b", |
|
1321 customIconsEnabled); |
|
1322 return _res; |
|
1323 } |
|
1324 |
|
1325 static PyObject *Icn_IsIconRefMaskEmpty(PyObject *_self, PyObject *_args) |
|
1326 { |
|
1327 PyObject *_res = NULL; |
|
1328 Boolean _rv; |
|
1329 IconRef iconRef; |
|
1330 #ifndef IsIconRefMaskEmpty |
|
1331 PyMac_PRECHECK(IsIconRefMaskEmpty); |
|
1332 #endif |
|
1333 if (!PyArg_ParseTuple(_args, "O&", |
|
1334 ResObj_Convert, &iconRef)) |
|
1335 return NULL; |
|
1336 _rv = IsIconRefMaskEmpty(iconRef); |
|
1337 _res = Py_BuildValue("b", |
|
1338 _rv); |
|
1339 return _res; |
|
1340 } |
|
1341 |
|
1342 static PyObject *Icn_GetIconRefVariant(PyObject *_self, PyObject *_args) |
|
1343 { |
|
1344 PyObject *_res = NULL; |
|
1345 IconRef _rv; |
|
1346 IconRef inIconRef; |
|
1347 OSType inVariant; |
|
1348 IconTransformType outTransform; |
|
1349 #ifndef GetIconRefVariant |
|
1350 PyMac_PRECHECK(GetIconRefVariant); |
|
1351 #endif |
|
1352 if (!PyArg_ParseTuple(_args, "O&O&", |
|
1353 ResObj_Convert, &inIconRef, |
|
1354 PyMac_GetOSType, &inVariant)) |
|
1355 return NULL; |
|
1356 _rv = GetIconRefVariant(inIconRef, |
|
1357 inVariant, |
|
1358 &outTransform); |
|
1359 _res = Py_BuildValue("O&h", |
|
1360 ResObj_New, _rv, |
|
1361 outTransform); |
|
1362 return _res; |
|
1363 } |
|
1364 |
|
1365 static PyObject *Icn_RegisterIconRefFromIconFile(PyObject *_self, PyObject *_args) |
|
1366 { |
|
1367 PyObject *_res = NULL; |
|
1368 OSErr _err; |
|
1369 OSType creator; |
|
1370 OSType iconType; |
|
1371 FSSpec iconFile; |
|
1372 IconRef theIconRef; |
|
1373 #ifndef RegisterIconRefFromIconFile |
|
1374 PyMac_PRECHECK(RegisterIconRefFromIconFile); |
|
1375 #endif |
|
1376 if (!PyArg_ParseTuple(_args, "O&O&O&", |
|
1377 PyMac_GetOSType, &creator, |
|
1378 PyMac_GetOSType, &iconType, |
|
1379 PyMac_GetFSSpec, &iconFile)) |
|
1380 return NULL; |
|
1381 _err = RegisterIconRefFromIconFile(creator, |
|
1382 iconType, |
|
1383 &iconFile, |
|
1384 &theIconRef); |
|
1385 if (_err != noErr) return PyMac_Error(_err); |
|
1386 _res = Py_BuildValue("O&", |
|
1387 ResObj_New, theIconRef); |
|
1388 return _res; |
|
1389 } |
|
1390 |
|
1391 static PyObject *Icn_ReadIconFile(PyObject *_self, PyObject *_args) |
|
1392 { |
|
1393 PyObject *_res = NULL; |
|
1394 OSErr _err; |
|
1395 FSSpec iconFile; |
|
1396 IconFamilyHandle iconFamily; |
|
1397 #ifndef ReadIconFile |
|
1398 PyMac_PRECHECK(ReadIconFile); |
|
1399 #endif |
|
1400 if (!PyArg_ParseTuple(_args, "O&", |
|
1401 PyMac_GetFSSpec, &iconFile)) |
|
1402 return NULL; |
|
1403 _err = ReadIconFile(&iconFile, |
|
1404 &iconFamily); |
|
1405 if (_err != noErr) return PyMac_Error(_err); |
|
1406 _res = Py_BuildValue("O&", |
|
1407 ResObj_New, iconFamily); |
|
1408 return _res; |
|
1409 } |
|
1410 |
|
1411 static PyObject *Icn_ReadIconFromFSRef(PyObject *_self, PyObject *_args) |
|
1412 { |
|
1413 PyObject *_res = NULL; |
|
1414 OSStatus _err; |
|
1415 FSRef ref; |
|
1416 IconFamilyHandle iconFamily; |
|
1417 #ifndef ReadIconFromFSRef |
|
1418 PyMac_PRECHECK(ReadIconFromFSRef); |
|
1419 #endif |
|
1420 if (!PyArg_ParseTuple(_args, "O&", |
|
1421 PyMac_GetFSRef, &ref)) |
|
1422 return NULL; |
|
1423 _err = ReadIconFromFSRef(&ref, |
|
1424 &iconFamily); |
|
1425 if (_err != noErr) return PyMac_Error(_err); |
|
1426 _res = Py_BuildValue("O&", |
|
1427 ResObj_New, iconFamily); |
|
1428 return _res; |
|
1429 } |
|
1430 |
|
1431 static PyObject *Icn_WriteIconFile(PyObject *_self, PyObject *_args) |
|
1432 { |
|
1433 PyObject *_res = NULL; |
|
1434 OSErr _err; |
|
1435 IconFamilyHandle iconFamily; |
|
1436 FSSpec iconFile; |
|
1437 #ifndef WriteIconFile |
|
1438 PyMac_PRECHECK(WriteIconFile); |
|
1439 #endif |
|
1440 if (!PyArg_ParseTuple(_args, "O&O&", |
|
1441 ResObj_Convert, &iconFamily, |
|
1442 PyMac_GetFSSpec, &iconFile)) |
|
1443 return NULL; |
|
1444 _err = WriteIconFile(iconFamily, |
|
1445 &iconFile); |
|
1446 if (_err != noErr) return PyMac_Error(_err); |
|
1447 Py_INCREF(Py_None); |
|
1448 _res = Py_None; |
|
1449 return _res; |
|
1450 } |
|
1451 #endif /* __LP64__ */ |
|
1452 |
|
1453 static PyMethodDef Icn_methods[] = { |
|
1454 #ifndef __LP64__ |
|
1455 {"GetCIcon", (PyCFunction)Icn_GetCIcon, 1, |
|
1456 PyDoc_STR("(SInt16 iconID) -> (CIconHandle _rv)")}, |
|
1457 {"PlotCIcon", (PyCFunction)Icn_PlotCIcon, 1, |
|
1458 PyDoc_STR("(Rect theRect, CIconHandle theIcon) -> None")}, |
|
1459 {"DisposeCIcon", (PyCFunction)Icn_DisposeCIcon, 1, |
|
1460 PyDoc_STR("(CIconHandle theIcon) -> None")}, |
|
1461 {"GetIcon", (PyCFunction)Icn_GetIcon, 1, |
|
1462 PyDoc_STR("(SInt16 iconID) -> (Handle _rv)")}, |
|
1463 {"PlotIcon", (PyCFunction)Icn_PlotIcon, 1, |
|
1464 PyDoc_STR("(Rect theRect, Handle theIcon) -> None")}, |
|
1465 {"PlotIconID", (PyCFunction)Icn_PlotIconID, 1, |
|
1466 PyDoc_STR("(Rect theRect, IconAlignmentType align, IconTransformType transform, SInt16 theResID) -> None")}, |
|
1467 {"NewIconSuite", (PyCFunction)Icn_NewIconSuite, 1, |
|
1468 PyDoc_STR("() -> (IconSuiteRef theIconSuite)")}, |
|
1469 {"AddIconToSuite", (PyCFunction)Icn_AddIconToSuite, 1, |
|
1470 PyDoc_STR("(Handle theIconData, IconSuiteRef theSuite, ResType theType) -> None")}, |
|
1471 {"GetIconFromSuite", (PyCFunction)Icn_GetIconFromSuite, 1, |
|
1472 PyDoc_STR("(IconSuiteRef theSuite, ResType theType) -> (Handle theIconData)")}, |
|
1473 {"GetIconSuite", (PyCFunction)Icn_GetIconSuite, 1, |
|
1474 PyDoc_STR("(SInt16 theResID, IconSelectorValue selector) -> (IconSuiteRef theIconSuite)")}, |
|
1475 {"DisposeIconSuite", (PyCFunction)Icn_DisposeIconSuite, 1, |
|
1476 PyDoc_STR("(IconSuiteRef theIconSuite, Boolean disposeData) -> None")}, |
|
1477 {"PlotIconSuite", (PyCFunction)Icn_PlotIconSuite, 1, |
|
1478 PyDoc_STR("(Rect theRect, IconAlignmentType align, IconTransformType transform, IconSuiteRef theIconSuite) -> None")}, |
|
1479 {"LoadIconCache", (PyCFunction)Icn_LoadIconCache, 1, |
|
1480 PyDoc_STR("(Rect theRect, IconAlignmentType align, IconTransformType transform, IconCacheRef theIconCache) -> None")}, |
|
1481 {"GetLabel", (PyCFunction)Icn_GetLabel, 1, |
|
1482 PyDoc_STR("(SInt16 labelNumber, Str255 labelString) -> (RGBColor labelColor)")}, |
|
1483 {"PtInIconID", (PyCFunction)Icn_PtInIconID, 1, |
|
1484 PyDoc_STR("(Point testPt, Rect iconRect, IconAlignmentType align, SInt16 iconID) -> (Boolean _rv)")}, |
|
1485 {"PtInIconSuite", (PyCFunction)Icn_PtInIconSuite, 1, |
|
1486 PyDoc_STR("(Point testPt, Rect iconRect, IconAlignmentType align, IconSuiteRef theIconSuite) -> (Boolean _rv)")}, |
|
1487 {"RectInIconID", (PyCFunction)Icn_RectInIconID, 1, |
|
1488 PyDoc_STR("(Rect testRect, Rect iconRect, IconAlignmentType align, SInt16 iconID) -> (Boolean _rv)")}, |
|
1489 {"RectInIconSuite", (PyCFunction)Icn_RectInIconSuite, 1, |
|
1490 PyDoc_STR("(Rect testRect, Rect iconRect, IconAlignmentType align, IconSuiteRef theIconSuite) -> (Boolean _rv)")}, |
|
1491 {"IconIDToRgn", (PyCFunction)Icn_IconIDToRgn, 1, |
|
1492 PyDoc_STR("(RgnHandle theRgn, Rect iconRect, IconAlignmentType align, SInt16 iconID) -> None")}, |
|
1493 {"IconSuiteToRgn", (PyCFunction)Icn_IconSuiteToRgn, 1, |
|
1494 PyDoc_STR("(RgnHandle theRgn, Rect iconRect, IconAlignmentType align, IconSuiteRef theIconSuite) -> None")}, |
|
1495 {"SetSuiteLabel", (PyCFunction)Icn_SetSuiteLabel, 1, |
|
1496 PyDoc_STR("(IconSuiteRef theSuite, SInt16 theLabel) -> None")}, |
|
1497 {"GetSuiteLabel", (PyCFunction)Icn_GetSuiteLabel, 1, |
|
1498 PyDoc_STR("(IconSuiteRef theSuite) -> (SInt16 _rv)")}, |
|
1499 {"PlotIconHandle", (PyCFunction)Icn_PlotIconHandle, 1, |
|
1500 PyDoc_STR("(Rect theRect, IconAlignmentType align, IconTransformType transform, Handle theIcon) -> None")}, |
|
1501 {"PlotSICNHandle", (PyCFunction)Icn_PlotSICNHandle, 1, |
|
1502 PyDoc_STR("(Rect theRect, IconAlignmentType align, IconTransformType transform, Handle theSICN) -> None")}, |
|
1503 {"PlotCIconHandle", (PyCFunction)Icn_PlotCIconHandle, 1, |
|
1504 PyDoc_STR("(Rect theRect, IconAlignmentType align, IconTransformType transform, CIconHandle theCIcon) -> None")}, |
|
1505 {"IconRefToIconFamily", (PyCFunction)Icn_IconRefToIconFamily, 1, |
|
1506 PyDoc_STR("(IconRef theIconRef, IconSelectorValue whichIcons) -> (IconFamilyHandle iconFamily)")}, |
|
1507 {"IconFamilyToIconSuite", (PyCFunction)Icn_IconFamilyToIconSuite, 1, |
|
1508 PyDoc_STR("(IconFamilyHandle iconFamily, IconSelectorValue whichIcons) -> (IconSuiteRef iconSuite)")}, |
|
1509 {"IconSuiteToIconFamily", (PyCFunction)Icn_IconSuiteToIconFamily, 1, |
|
1510 PyDoc_STR("(IconSuiteRef iconSuite, IconSelectorValue whichIcons) -> (IconFamilyHandle iconFamily)")}, |
|
1511 {"SetIconFamilyData", (PyCFunction)Icn_SetIconFamilyData, 1, |
|
1512 PyDoc_STR("(IconFamilyHandle iconFamily, OSType iconType, Handle h) -> None")}, |
|
1513 {"GetIconFamilyData", (PyCFunction)Icn_GetIconFamilyData, 1, |
|
1514 PyDoc_STR("(IconFamilyHandle iconFamily, OSType iconType, Handle h) -> None")}, |
|
1515 {"GetIconRefOwners", (PyCFunction)Icn_GetIconRefOwners, 1, |
|
1516 PyDoc_STR("(IconRef theIconRef) -> (UInt16 owners)")}, |
|
1517 {"AcquireIconRef", (PyCFunction)Icn_AcquireIconRef, 1, |
|
1518 PyDoc_STR("(IconRef theIconRef) -> None")}, |
|
1519 {"ReleaseIconRef", (PyCFunction)Icn_ReleaseIconRef, 1, |
|
1520 PyDoc_STR("(IconRef theIconRef) -> None")}, |
|
1521 {"GetIconRefFromFile", (PyCFunction)Icn_GetIconRefFromFile, 1, |
|
1522 PyDoc_STR("(FSSpec theFile) -> (IconRef theIconRef, SInt16 theLabel)")}, |
|
1523 {"GetIconRef", (PyCFunction)Icn_GetIconRef, 1, |
|
1524 PyDoc_STR("(SInt16 vRefNum, OSType creator, OSType iconType) -> (IconRef theIconRef)")}, |
|
1525 {"GetIconRefFromFolder", (PyCFunction)Icn_GetIconRefFromFolder, 1, |
|
1526 PyDoc_STR("(SInt16 vRefNum, SInt32 parentFolderID, SInt32 folderID, SInt8 attributes, SInt8 accessPrivileges) -> (IconRef theIconRef)")}, |
|
1527 {"RegisterIconRefFromIconFamily", (PyCFunction)Icn_RegisterIconRefFromIconFamily, 1, |
|
1528 PyDoc_STR("(OSType creator, OSType iconType, IconFamilyHandle iconFamily) -> (IconRef theIconRef)")}, |
|
1529 {"RegisterIconRefFromResource", (PyCFunction)Icn_RegisterIconRefFromResource, 1, |
|
1530 PyDoc_STR("(OSType creator, OSType iconType, FSSpec resourceFile, SInt16 resourceID) -> (IconRef theIconRef)")}, |
|
1531 {"RegisterIconRefFromFSRef", (PyCFunction)Icn_RegisterIconRefFromFSRef, 1, |
|
1532 PyDoc_STR("(OSType creator, OSType iconType, FSRef iconFile) -> (IconRef theIconRef)")}, |
|
1533 {"UnregisterIconRef", (PyCFunction)Icn_UnregisterIconRef, 1, |
|
1534 PyDoc_STR("(OSType creator, OSType iconType) -> None")}, |
|
1535 {"UpdateIconRef", (PyCFunction)Icn_UpdateIconRef, 1, |
|
1536 PyDoc_STR("(IconRef theIconRef) -> None")}, |
|
1537 {"OverrideIconRefFromResource", (PyCFunction)Icn_OverrideIconRefFromResource, 1, |
|
1538 PyDoc_STR("(IconRef theIconRef, FSSpec resourceFile, SInt16 resourceID) -> None")}, |
|
1539 {"OverrideIconRef", (PyCFunction)Icn_OverrideIconRef, 1, |
|
1540 PyDoc_STR("(IconRef oldIconRef, IconRef newIconRef) -> None")}, |
|
1541 {"RemoveIconRefOverride", (PyCFunction)Icn_RemoveIconRefOverride, 1, |
|
1542 PyDoc_STR("(IconRef theIconRef) -> None")}, |
|
1543 {"CompositeIconRef", (PyCFunction)Icn_CompositeIconRef, 1, |
|
1544 PyDoc_STR("(IconRef backgroundIconRef, IconRef foregroundIconRef) -> (IconRef compositeIconRef)")}, |
|
1545 {"IsIconRefComposite", (PyCFunction)Icn_IsIconRefComposite, 1, |
|
1546 PyDoc_STR("(IconRef compositeIconRef) -> (IconRef backgroundIconRef, IconRef foregroundIconRef)")}, |
|
1547 {"IsValidIconRef", (PyCFunction)Icn_IsValidIconRef, 1, |
|
1548 PyDoc_STR("(IconRef theIconRef) -> (Boolean _rv)")}, |
|
1549 {"PlotIconRef", (PyCFunction)Icn_PlotIconRef, 1, |
|
1550 PyDoc_STR("(Rect theRect, IconAlignmentType align, IconTransformType transform, IconServicesUsageFlags theIconServicesUsageFlags, IconRef theIconRef) -> None")}, |
|
1551 {"PtInIconRef", (PyCFunction)Icn_PtInIconRef, 1, |
|
1552 PyDoc_STR("(Point testPt, Rect iconRect, IconAlignmentType align, IconServicesUsageFlags theIconServicesUsageFlags, IconRef theIconRef) -> (Boolean _rv)")}, |
|
1553 {"RectInIconRef", (PyCFunction)Icn_RectInIconRef, 1, |
|
1554 PyDoc_STR("(Rect testRect, Rect iconRect, IconAlignmentType align, IconServicesUsageFlags iconServicesUsageFlags, IconRef theIconRef) -> (Boolean _rv)")}, |
|
1555 {"IconRefToRgn", (PyCFunction)Icn_IconRefToRgn, 1, |
|
1556 PyDoc_STR("(RgnHandle theRgn, Rect iconRect, IconAlignmentType align, IconServicesUsageFlags iconServicesUsageFlags, IconRef theIconRef) -> None")}, |
|
1557 {"GetIconSizesFromIconRef", (PyCFunction)Icn_GetIconSizesFromIconRef, 1, |
|
1558 PyDoc_STR("(IconSelectorValue iconSelectorInput, IconServicesUsageFlags iconServicesUsageFlags, IconRef theIconRef) -> (IconSelectorValue iconSelectorOutputPtr)")}, |
|
1559 {"FlushIconRefs", (PyCFunction)Icn_FlushIconRefs, 1, |
|
1560 PyDoc_STR("(OSType creator, OSType iconType) -> None")}, |
|
1561 {"FlushIconRefsByVolume", (PyCFunction)Icn_FlushIconRefsByVolume, 1, |
|
1562 PyDoc_STR("(SInt16 vRefNum) -> None")}, |
|
1563 {"SetCustomIconsEnabled", (PyCFunction)Icn_SetCustomIconsEnabled, 1, |
|
1564 PyDoc_STR("(SInt16 vRefNum, Boolean enableCustomIcons) -> None")}, |
|
1565 {"GetCustomIconsEnabled", (PyCFunction)Icn_GetCustomIconsEnabled, 1, |
|
1566 PyDoc_STR("(SInt16 vRefNum) -> (Boolean customIconsEnabled)")}, |
|
1567 {"IsIconRefMaskEmpty", (PyCFunction)Icn_IsIconRefMaskEmpty, 1, |
|
1568 PyDoc_STR("(IconRef iconRef) -> (Boolean _rv)")}, |
|
1569 {"GetIconRefVariant", (PyCFunction)Icn_GetIconRefVariant, 1, |
|
1570 PyDoc_STR("(IconRef inIconRef, OSType inVariant) -> (IconRef _rv, IconTransformType outTransform)")}, |
|
1571 {"RegisterIconRefFromIconFile", (PyCFunction)Icn_RegisterIconRefFromIconFile, 1, |
|
1572 PyDoc_STR("(OSType creator, OSType iconType, FSSpec iconFile) -> (IconRef theIconRef)")}, |
|
1573 {"ReadIconFile", (PyCFunction)Icn_ReadIconFile, 1, |
|
1574 PyDoc_STR("(FSSpec iconFile) -> (IconFamilyHandle iconFamily)")}, |
|
1575 {"ReadIconFromFSRef", (PyCFunction)Icn_ReadIconFromFSRef, 1, |
|
1576 PyDoc_STR("(FSRef ref) -> (IconFamilyHandle iconFamily)")}, |
|
1577 {"WriteIconFile", (PyCFunction)Icn_WriteIconFile, 1, |
|
1578 PyDoc_STR("(IconFamilyHandle iconFamily, FSSpec iconFile) -> None")}, |
|
1579 #endif /* __LP64__ */ |
|
1580 {NULL, NULL, 0} |
|
1581 }; |
|
1582 |
|
1583 |
|
1584 |
|
1585 |
|
1586 void init_Icn(void) |
|
1587 { |
|
1588 PyObject *m; |
|
1589 #ifndef __LP64__ |
|
1590 PyObject *d; |
|
1591 #endif /* __LP64__ */ |
|
1592 |
|
1593 |
|
1594 |
|
1595 |
|
1596 m = Py_InitModule("_Icn", Icn_methods); |
|
1597 #ifndef __LP64__ |
|
1598 d = PyModule_GetDict(m); |
|
1599 Icn_Error = PyMac_GetOSErrException(); |
|
1600 if (Icn_Error == NULL || |
|
1601 PyDict_SetItemString(d, "Error", Icn_Error) != 0) |
|
1602 return; |
|
1603 #endif /* __LP64__ */ |
|
1604 } |
|
1605 |
|
1606 /* ======================== End module _Icn ========================= */ |
|
1607 |