static PyObject *Icn_IconSuiteToIconFamily(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSErr _err; IconSuiteRef iconSuite; IconSelectorValue whichIcons; IconFamilyHandle iconFamily; #ifndef IconSuiteToIconFamily PyMac_PRECHECK(IconSuiteToIconFamily); #endif if (!PyArg_ParseTuple(_args, "O&l", ResObj_Convert, &iconSuite, &whichIcons)) return NULL; _err = IconSuiteToIconFamily(iconSuite, whichIcons, &iconFamily); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", ResObj_New, iconFamily); return _res; }
/* convert IPIcon to IconFamily */ OSErr IPIconToIconFamily(const IPIconRec *ipIcon,IconFamilyHandle *iconFamily) { OSErr err=noErr; short curRefNum = CurResFile(); if (ipIcon->iconSuite == NULL) { UseResFile(gApplRefNum); *iconFamily=(IconFamilyHandle)Get1Resource(kXIconClipType,2002); DetachResource((Handle)*iconFamily); HUnlock((Handle)*iconFamily); UseResFile(curRefNum); } else { err=IconSuiteToIconFamily(ipIcon->iconSuite,kSelectorMy32Data,iconFamily); if (err==memFullErr) { UseResFile(gApplRefNum); *iconFamily=(IconFamilyHandle)Get1Resource(kXIconClipType,2002); DetachResource((Handle)*iconFamily); HUnlock((Handle)*iconFamily); err=noErr; UseResFile(curRefNum); } } if (err==noErr && isThumbnailIconsAvailable) { /* thumbnail */ if (ipIcon->it32Data != NULL) err=SetIconFamilyData(*iconFamily,kThumbnail32BitData,ipIcon->it32Data); if (ipIcon->t8mkData != NULL) err=SetIconFamilyData(*iconFamily,kThumbnail8BitMask,ipIcon->t8mkData); } return err; }