diff options
Diffstat (limited to 'Mac')
-rw-r--r-- | Mac/Modules/ae/AEmodule.c | 1270 | ||||
-rw-r--r-- | Mac/Modules/cf/CFmodule.c | 3179 | ||||
-rw-r--r-- | Mac/Modules/cm/Cmmodule.c | 790 | ||||
-rw-r--r-- | Mac/Modules/ctl/Ctlmodule.c | 2686 | ||||
-rw-r--r-- | Mac/Modules/dlg/Dlgmodule.c | 1426 | ||||
-rw-r--r-- | Mac/Modules/drag/Dragmodule.c | 1004 | ||||
-rw-r--r-- | Mac/Modules/evt/Evtmodule.c | 451 | ||||
-rw-r--r-- | Mac/Modules/fm/Fmmodule.c | 351 | ||||
-rw-r--r-- | Mac/Modules/help/Helpmodule.c | 292 | ||||
-rw-r--r-- | Mac/Modules/icn/Icnmodule.c | 1409 | ||||
-rw-r--r-- | Mac/Modules/list/Listmodule.c | 1001 | ||||
-rw-r--r-- | Mac/Modules/menu/Menumodule.c | 2558 | ||||
-rw-r--r-- | Mac/Modules/mlte/Mltemodule.c | 1390 | ||||
-rw-r--r-- | Mac/Modules/qd/Qdmodule.c | 5687 | ||||
-rw-r--r-- | Mac/Modules/qdoffs/Qdoffsmodule.c | 596 | ||||
-rw-r--r-- | Mac/Modules/qt/Qtmodule.c | 8418 | ||||
-rw-r--r-- | Mac/Modules/res/Resmodule.c | 1579 | ||||
-rw-r--r-- | Mac/Modules/scrap/Scrapmodule.c | 260 | ||||
-rw-r--r-- | Mac/Modules/snd/Sndihooks.c | 513 | ||||
-rw-r--r-- | Mac/Modules/snd/Sndmodule.c | 1454 | ||||
-rw-r--r-- | Mac/Modules/te/TEmodule.c | 1032 | ||||
-rw-r--r-- | Mac/Modules/win/Winmodule.c | 2806 |
22 files changed, 0 insertions, 40152 deletions
diff --git a/Mac/Modules/ae/AEmodule.c b/Mac/Modules/ae/AEmodule.c deleted file mode 100644 index 236bbd4..0000000 --- a/Mac/Modules/ae/AEmodule.c +++ /dev/null @@ -1,1270 +0,0 @@ - -/* =========================== Module AE ============================ */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <AppleEvents.h> -#include <AEObjects.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_AEDesc_New(AEDesc *); -extern int _AEDesc_Convert(PyObject *, AEDesc *); - -#define AEDesc_New _AEDesc_New -#define AEDesc_Convert _AEDesc_Convert -#endif - -static pascal OSErr GenericEventHandler(); /* Forward */ - -AEEventHandlerUPP upp_GenericEventHandler; - -static pascal Boolean AEIdleProc(EventRecord *theEvent, long *sleepTime, RgnHandle *mouseRgn) -{ - if ( PyOS_InterruptOccurred() ) - return 1; - if ( PyMac_HandleEvent(theEvent) < 0 ) { - PySys_WriteStderr("Exception in user event handler during AE processing\n"); - PyErr_Clear(); - } - return 0; -} - -AEIdleUPP upp_AEIdleProc; - -static PyObject *AE_Error; - -/* ----------------------- Object type AEDesc ----------------------- */ - -PyTypeObject AEDesc_Type; - -#define AEDesc_Check(x) ((x)->ob_type == &AEDesc_Type) - -typedef struct AEDescObject { - PyObject_HEAD - AEDesc ob_itself; -} AEDescObject; - -PyObject *AEDesc_New(AEDesc *itself) -{ - AEDescObject *it; - it = PyObject_NEW(AEDescObject, &AEDesc_Type); - if (it == NULL) return NULL; - it->ob_itself = *itself; - return (PyObject *)it; -} -AEDesc_Convert(PyObject *v, AEDesc *p_itself) -{ - if (!AEDesc_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "AEDesc required"); - return 0; - } - *p_itself = ((AEDescObject *)v)->ob_itself; - return 1; -} - -static void AEDesc_dealloc(AEDescObject *self) -{ - AEDisposeDesc(&self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *AEDesc_AECoerceDesc(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DescType toType; - AEDesc result; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &toType)) - return NULL; - _err = AECoerceDesc(&_self->ob_itself, - toType, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; -} - -static PyObject *AEDesc_AEDuplicateDesc(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEDesc result; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEDuplicateDesc(&_self->ob_itself, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; -} - -static PyObject *AEDesc_AECountItems(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long theCount; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AECountItems(&_self->ob_itself, - &theCount); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - theCount); - return _res; -} - -static PyObject *AEDesc_AEPutPtr(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long index; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - if (!PyArg_ParseTuple(_args, "lO&s#", - &index, - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AEPutPtr(&_self->ob_itself, - index, - typeCode, - dataPtr__in__, dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - dataPtr__error__: ; - return _res; -} - -static PyObject *AEDesc_AEPutDesc(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long index; - AEDesc theAEDesc; - if (!PyArg_ParseTuple(_args, "lO&", - &index, - AEDesc_Convert, &theAEDesc)) - return NULL; - _err = AEPutDesc(&_self->ob_itself, - index, - &theAEDesc); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AEDesc_AEGetNthPtr(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long index; - DescType desiredType; - AEKeyword theAEKeyword; - DescType typeCode; - char *dataPtr__out__; - long dataPtr__len__; - int dataPtr__in_len__; - if (!PyArg_ParseTuple(_args, "lO&i", - &index, - PyMac_GetOSType, &desiredType, - &dataPtr__in_len__)) - return NULL; - if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto dataPtr__error__; - } - dataPtr__len__ = dataPtr__in_len__; - _err = AEGetNthPtr(&_self->ob_itself, - index, - desiredType, - &theAEKeyword, - &typeCode, - dataPtr__out__, dataPtr__len__, &dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&s#", - PyMac_BuildOSType, theAEKeyword, - PyMac_BuildOSType, typeCode, - dataPtr__out__, (int)dataPtr__len__); - free(dataPtr__out__); - dataPtr__error__: ; - return _res; -} - -static PyObject *AEDesc_AEGetNthDesc(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long index; - DescType desiredType; - AEKeyword theAEKeyword; - AEDesc result; - if (!PyArg_ParseTuple(_args, "lO&", - &index, - PyMac_GetOSType, &desiredType)) - return NULL; - _err = AEGetNthDesc(&_self->ob_itself, - index, - desiredType, - &theAEKeyword, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&", - PyMac_BuildOSType, theAEKeyword, - AEDesc_New, &result); - return _res; -} - -static PyObject *AEDesc_AESizeOfNthItem(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long index; - DescType typeCode; - Size dataSize; - if (!PyArg_ParseTuple(_args, "l", - &index)) - return NULL; - _err = AESizeOfNthItem(&_self->ob_itself, - index, - &typeCode, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&l", - PyMac_BuildOSType, typeCode, - dataSize); - return _res; -} - -static PyObject *AEDesc_AEDeleteItem(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long index; - if (!PyArg_ParseTuple(_args, "l", - &index)) - return NULL; - _err = AEDeleteItem(&_self->ob_itself, - index); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AEDesc_AEPutParamPtr(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - if (!PyArg_ParseTuple(_args, "O&O&s#", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AEPutParamPtr(&_self->ob_itself, - theAEKeyword, - typeCode, - dataPtr__in__, dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - dataPtr__error__: ; - return _res; -} - -static PyObject *AEDesc_AEPutParamDesc(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - AEDesc theAEDesc; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEKeyword, - AEDesc_Convert, &theAEDesc)) - return NULL; - _err = AEPutParamDesc(&_self->ob_itself, - theAEKeyword, - &theAEDesc); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AEDesc_AEGetParamPtr(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType desiredType; - DescType typeCode; - char *dataPtr__out__; - long dataPtr__len__; - int dataPtr__in_len__; - if (!PyArg_ParseTuple(_args, "O&O&i", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &desiredType, - &dataPtr__in_len__)) - return NULL; - if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto dataPtr__error__; - } - dataPtr__len__ = dataPtr__in_len__; - _err = AEGetParamPtr(&_self->ob_itself, - theAEKeyword, - desiredType, - &typeCode, - dataPtr__out__, dataPtr__len__, &dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&s#", - PyMac_BuildOSType, typeCode, - dataPtr__out__, (int)dataPtr__len__); - free(dataPtr__out__); - dataPtr__error__: ; - return _res; -} - -static PyObject *AEDesc_AEGetParamDesc(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType desiredType; - AEDesc result; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &desiredType)) - return NULL; - _err = AEGetParamDesc(&_self->ob_itself, - theAEKeyword, - desiredType, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; -} - -static PyObject *AEDesc_AESizeOfParam(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType typeCode; - Size dataSize; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theAEKeyword)) - return NULL; - _err = AESizeOfParam(&_self->ob_itself, - theAEKeyword, - &typeCode, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&l", - PyMac_BuildOSType, typeCode, - dataSize); - return _res; -} - -static PyObject *AEDesc_AEDeleteParam(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theAEKeyword)) - return NULL; - _err = AEDeleteParam(&_self->ob_itself, - theAEKeyword); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AEDesc_AEGetAttributePtr(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType desiredType; - DescType typeCode; - char *dataPtr__out__; - long dataPtr__len__; - int dataPtr__in_len__; - if (!PyArg_ParseTuple(_args, "O&O&i", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &desiredType, - &dataPtr__in_len__)) - return NULL; - if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto dataPtr__error__; - } - dataPtr__len__ = dataPtr__in_len__; - _err = AEGetAttributePtr(&_self->ob_itself, - theAEKeyword, - desiredType, - &typeCode, - dataPtr__out__, dataPtr__len__, &dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&s#", - PyMac_BuildOSType, typeCode, - dataPtr__out__, (int)dataPtr__len__); - free(dataPtr__out__); - dataPtr__error__: ; - return _res; -} - -static PyObject *AEDesc_AEGetAttributeDesc(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType desiredType; - AEDesc result; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &desiredType)) - return NULL; - _err = AEGetAttributeDesc(&_self->ob_itself, - theAEKeyword, - desiredType, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; -} - -static PyObject *AEDesc_AESizeOfAttribute(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType typeCode; - Size dataSize; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theAEKeyword)) - return NULL; - _err = AESizeOfAttribute(&_self->ob_itself, - theAEKeyword, - &typeCode, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&l", - PyMac_BuildOSType, typeCode, - dataSize); - return _res; -} - -static PyObject *AEDesc_AEPutAttributePtr(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - if (!PyArg_ParseTuple(_args, "O&O&s#", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AEPutAttributePtr(&_self->ob_itself, - theAEKeyword, - typeCode, - dataPtr__in__, dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - dataPtr__error__: ; - return _res; -} - -static PyObject *AEDesc_AEPutAttributeDesc(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - AEDesc theAEDesc; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEKeyword, - AEDesc_Convert, &theAEDesc)) - return NULL; - _err = AEPutAttributeDesc(&_self->ob_itself, - theAEKeyword, - &theAEDesc); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *AEDesc_AEGetDescDataSize(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Size _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = AEGetDescDataSize(&_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -static PyObject *AEDesc_AESend(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AppleEvent reply; - AESendMode sendMode; - AESendPriority sendPriority; - long timeOutInTicks; - if (!PyArg_ParseTuple(_args, "lhl", - &sendMode, - &sendPriority, - &timeOutInTicks)) - return NULL; - _err = AESend(&_self->ob_itself, - &reply, - sendMode, - sendPriority, - timeOutInTicks, - upp_AEIdleProc, - (AEFilterUPP)0); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &reply); - return _res; -} - -static PyObject *AEDesc_AEResetTimer(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEResetTimer(&_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AEDesc_AESuspendTheCurrentEvent(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AESuspendTheCurrentEvent(&_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AEDesc_AEResumeTheCurrentEvent(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AppleEvent reply; - AEEventHandlerUPP dispatcher__proc__ = upp_GenericEventHandler; - PyObject *dispatcher; - if (!PyArg_ParseTuple(_args, "O&O", - AEDesc_Convert, &reply, - &dispatcher)) - return NULL; - _err = AEResumeTheCurrentEvent(&_self->ob_itself, - &reply, - dispatcher__proc__, (long)dispatcher); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - Py_INCREF(dispatcher); /* XXX leak, but needed */ - return _res; -} - -static PyObject *AEDesc_AEGetTheCurrentEvent(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEGetTheCurrentEvent(&_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AEDesc_AESetTheCurrentEvent(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AESetTheCurrentEvent(&_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AEDesc_AEResolve(AEDescObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short callbackFlags; - AEDesc theToken; - if (!PyArg_ParseTuple(_args, "h", - &callbackFlags)) - return NULL; - _err = AEResolve(&_self->ob_itself, - callbackFlags, - &theToken); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &theToken); - return _res; -} - -static PyMethodDef AEDesc_methods[] = { - {"AECoerceDesc", (PyCFunction)AEDesc_AECoerceDesc, 1, - "(DescType toType) -> (AEDesc result)"}, - {"AEDuplicateDesc", (PyCFunction)AEDesc_AEDuplicateDesc, 1, - "() -> (AEDesc result)"}, - {"AECountItems", (PyCFunction)AEDesc_AECountItems, 1, - "() -> (long theCount)"}, - {"AEPutPtr", (PyCFunction)AEDesc_AEPutPtr, 1, - "(long index, DescType typeCode, Buffer dataPtr) -> None"}, - {"AEPutDesc", (PyCFunction)AEDesc_AEPutDesc, 1, - "(long index, AEDesc theAEDesc) -> None"}, - {"AEGetNthPtr", (PyCFunction)AEDesc_AEGetNthPtr, 1, - "(long index, DescType desiredType, Buffer dataPtr) -> (AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr)"}, - {"AEGetNthDesc", (PyCFunction)AEDesc_AEGetNthDesc, 1, - "(long index, DescType desiredType) -> (AEKeyword theAEKeyword, AEDesc result)"}, - {"AESizeOfNthItem", (PyCFunction)AEDesc_AESizeOfNthItem, 1, - "(long index) -> (DescType typeCode, Size dataSize)"}, - {"AEDeleteItem", (PyCFunction)AEDesc_AEDeleteItem, 1, - "(long index) -> None"}, - {"AEPutParamPtr", (PyCFunction)AEDesc_AEPutParamPtr, 1, - "(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None"}, - {"AEPutParamDesc", (PyCFunction)AEDesc_AEPutParamDesc, 1, - "(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None"}, - {"AEGetParamPtr", (PyCFunction)AEDesc_AEGetParamPtr, 1, - "(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)"}, - {"AEGetParamDesc", (PyCFunction)AEDesc_AEGetParamDesc, 1, - "(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)"}, - {"AESizeOfParam", (PyCFunction)AEDesc_AESizeOfParam, 1, - "(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)"}, - {"AEDeleteParam", (PyCFunction)AEDesc_AEDeleteParam, 1, - "(AEKeyword theAEKeyword) -> None"}, - {"AEGetAttributePtr", (PyCFunction)AEDesc_AEGetAttributePtr, 1, - "(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)"}, - {"AEGetAttributeDesc", (PyCFunction)AEDesc_AEGetAttributeDesc, 1, - "(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)"}, - {"AESizeOfAttribute", (PyCFunction)AEDesc_AESizeOfAttribute, 1, - "(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)"}, - {"AEPutAttributePtr", (PyCFunction)AEDesc_AEPutAttributePtr, 1, - "(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None"}, - {"AEPutAttributeDesc", (PyCFunction)AEDesc_AEPutAttributeDesc, 1, - "(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None"}, - -#if TARGET_API_MAC_CARBON - {"AEGetDescDataSize", (PyCFunction)AEDesc_AEGetDescDataSize, 1, - "() -> (Size _rv)"}, -#endif - {"AESend", (PyCFunction)AEDesc_AESend, 1, - "(AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks) -> (AppleEvent reply)"}, - {"AEResetTimer", (PyCFunction)AEDesc_AEResetTimer, 1, - "() -> None"}, - {"AESuspendTheCurrentEvent", (PyCFunction)AEDesc_AESuspendTheCurrentEvent, 1, - "() -> None"}, - {"AEResumeTheCurrentEvent", (PyCFunction)AEDesc_AEResumeTheCurrentEvent, 1, - "(AppleEvent reply, EventHandler dispatcher) -> None"}, - {"AEGetTheCurrentEvent", (PyCFunction)AEDesc_AEGetTheCurrentEvent, 1, - "() -> None"}, - {"AESetTheCurrentEvent", (PyCFunction)AEDesc_AESetTheCurrentEvent, 1, - "() -> None"}, - {"AEResolve", (PyCFunction)AEDesc_AEResolve, 1, - "(short callbackFlags) -> (AEDesc theToken)"}, - {NULL, NULL, 0} -}; - -PyMethodChain AEDesc_chain = { AEDesc_methods, NULL }; - -static PyObject *AEDesc_getattr(AEDescObject *self, char *name) -{ - - if (strcmp(name, "type") == 0) - return PyMac_BuildOSType(self->ob_itself.descriptorType); - if (strcmp(name, "data") == 0) { - PyObject *res; -#if !TARGET_API_MAC_CARBON - char state; - state = HGetState(self->ob_itself.dataHandle); - HLock(self->ob_itself.dataHandle); - res = PyString_FromStringAndSize( - *self->ob_itself.dataHandle, - GetHandleSize(self->ob_itself.dataHandle)); - HUnlock(self->ob_itself.dataHandle); - HSetState(self->ob_itself.dataHandle, state); -#else - Size size; - char *ptr; - OSErr err; - - size = AEGetDescDataSize(&self->ob_itself); - if ( (res = PyString_FromStringAndSize(NULL, size)) == NULL ) - return NULL; - if ( (ptr = PyString_AsString(res)) == NULL ) - return NULL; - if ( (err=AEGetDescData(&self->ob_itself, ptr, size)) < 0 ) - return PyMac_Error(err); -#endif - return res; - } - if (strcmp(name, "__members__") == 0) - return Py_BuildValue("[ss]", "data", "type"); - - return Py_FindMethodInChain(&AEDesc_chain, (PyObject *)self, name); -} - -#define AEDesc_setattr NULL - -#define AEDesc_compare NULL - -#define AEDesc_repr NULL - -#define AEDesc_hash NULL - -PyTypeObject AEDesc_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "AEDesc", /*tp_name*/ - sizeof(AEDescObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) AEDesc_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) AEDesc_getattr, /*tp_getattr*/ - (setattrfunc) AEDesc_setattr, /*tp_setattr*/ - (cmpfunc) AEDesc_compare, /*tp_compare*/ - (reprfunc) AEDesc_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) AEDesc_hash, /*tp_hash*/ -}; - -/* --------------------- End object type AEDesc --------------------- */ - - -static PyObject *AE_AECoercePtr(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - DescType toType; - AEDesc result; - if (!PyArg_ParseTuple(_args, "O&s#O&", - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__, - PyMac_GetOSType, &toType)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AECoercePtr(typeCode, - dataPtr__in__, dataPtr__len__, - toType, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - dataPtr__error__: ; - return _res; -} - -static PyObject *AE_AECreateDesc(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - AEDesc result; - if (!PyArg_ParseTuple(_args, "O&s#", - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AECreateDesc(typeCode, - dataPtr__in__, dataPtr__len__, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - dataPtr__error__: ; - return _res; -} - -static PyObject *AE_AECreateList(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - char *factoringPtr__in__; - long factoringPtr__len__; - int factoringPtr__in_len__; - Boolean isRecord; - AEDescList resultList; - if (!PyArg_ParseTuple(_args, "s#b", - &factoringPtr__in__, &factoringPtr__in_len__, - &isRecord)) - return NULL; - factoringPtr__len__ = factoringPtr__in_len__; - _err = AECreateList(factoringPtr__in__, factoringPtr__len__, - isRecord, - &resultList); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &resultList); - factoringPtr__error__: ; - return _res; -} - -static PyObject *AE_AECreateAppleEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEEventClass theAEEventClass; - AEEventID theAEEventID; - AEAddressDesc target; - AEReturnID returnID; - AETransactionID transactionID; - AppleEvent result; - if (!PyArg_ParseTuple(_args, "O&O&O&hl", - PyMac_GetOSType, &theAEEventClass, - PyMac_GetOSType, &theAEEventID, - AEDesc_Convert, &target, - &returnID, - &transactionID)) - return NULL; - _err = AECreateAppleEvent(theAEEventClass, - theAEEventID, - &target, - returnID, - transactionID, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *AE_AEReplaceDescData(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - AEDesc theAEDesc; - if (!PyArg_ParseTuple(_args, "O&s#", - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AEReplaceDescData(typeCode, - dataPtr__in__, dataPtr__len__, - &theAEDesc); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &theAEDesc); - dataPtr__error__: ; - return _res; -} -#endif - -static PyObject *AE_AEProcessAppleEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - EventRecord theEventRecord; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &theEventRecord)) - return NULL; - _err = AEProcessAppleEvent(&theEventRecord); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AE_AEGetInteractionAllowed(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEInteractAllowed level; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEGetInteractionAllowed(&level); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - level); - return _res; -} - -static PyObject *AE_AESetInteractionAllowed(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEInteractAllowed level; - if (!PyArg_ParseTuple(_args, "b", - &level)) - return NULL; - _err = AESetInteractionAllowed(level); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AE_AEInteractWithUser(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long timeOutInTicks; - if (!PyArg_ParseTuple(_args, "l", - &timeOutInTicks)) - return NULL; - _err = AEInteractWithUser(timeOutInTicks, - (NMRecPtr)0, - upp_AEIdleProc); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AE_AEInstallEventHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEEventClass theAEEventClass; - AEEventID theAEEventID; - AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler; - PyObject *handler; - if (!PyArg_ParseTuple(_args, "O&O&O", - PyMac_GetOSType, &theAEEventClass, - PyMac_GetOSType, &theAEEventID, - &handler)) - return NULL; - _err = AEInstallEventHandler(theAEEventClass, - theAEEventID, - handler__proc__, (long)handler, - 0); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - Py_INCREF(handler); /* XXX leak, but needed */ - return _res; -} - -static PyObject *AE_AERemoveEventHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEEventClass theAEEventClass; - AEEventID theAEEventID; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEEventClass, - PyMac_GetOSType, &theAEEventID)) - return NULL; - _err = AERemoveEventHandler(theAEEventClass, - theAEEventID, - upp_GenericEventHandler, - 0); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AE_AEGetEventHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEEventClass theAEEventClass; - AEEventID theAEEventID; - AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler; - PyObject *handler; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEEventClass, - PyMac_GetOSType, &theAEEventID)) - return NULL; - _err = AEGetEventHandler(theAEEventClass, - theAEEventID, - &handler__proc__, (long *)&handler, - 0); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O", - handler); - Py_INCREF(handler); /* XXX leak, but needed */ - return _res; -} - -static PyObject *AE_AEInstallSpecialHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword functionClass; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &functionClass)) - return NULL; - _err = AEInstallSpecialHandler(functionClass, - upp_GenericEventHandler, - 0); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AE_AERemoveSpecialHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword functionClass; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &functionClass)) - return NULL; - _err = AERemoveSpecialHandler(functionClass, - upp_GenericEventHandler, - 0); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AE_AEManagerInfo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEKeyword keyWord; - long result; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &keyWord)) - return NULL; - _err = AEManagerInfo(keyWord, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - result); - return _res; -} - -static PyObject *AE_AEObjectInit(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEObjectInit(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *AE_AEDisposeToken(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEDesc theToken; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEDisposeToken(&theToken); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &theToken); - return _res; -} - -static PyObject *AE_AECallObjectAccessor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DescType desiredClass; - AEDesc containerToken; - DescType containerClass; - DescType keyForm; - AEDesc keyData; - AEDesc token; - if (!PyArg_ParseTuple(_args, "O&O&O&O&O&", - PyMac_GetOSType, &desiredClass, - AEDesc_Convert, &containerToken, - PyMac_GetOSType, &containerClass, - PyMac_GetOSType, &keyForm, - AEDesc_Convert, &keyData)) - return NULL; - _err = AECallObjectAccessor(desiredClass, - &containerToken, - containerClass, - keyForm, - &keyData, - &token); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &token); - return _res; -} - -static PyMethodDef AE_methods[] = { - {"AECoercePtr", (PyCFunction)AE_AECoercePtr, 1, - "(DescType typeCode, Buffer dataPtr, DescType toType) -> (AEDesc result)"}, - {"AECreateDesc", (PyCFunction)AE_AECreateDesc, 1, - "(DescType typeCode, Buffer dataPtr) -> (AEDesc result)"}, - {"AECreateList", (PyCFunction)AE_AECreateList, 1, - "(Buffer factoringPtr, Boolean isRecord) -> (AEDescList resultList)"}, - {"AECreateAppleEvent", (PyCFunction)AE_AECreateAppleEvent, 1, - "(AEEventClass theAEEventClass, AEEventID theAEEventID, AEAddressDesc target, AEReturnID returnID, AETransactionID transactionID) -> (AppleEvent result)"}, - -#if TARGET_API_MAC_CARBON - {"AEReplaceDescData", (PyCFunction)AE_AEReplaceDescData, 1, - "(DescType typeCode, Buffer dataPtr) -> (AEDesc theAEDesc)"}, -#endif - {"AEProcessAppleEvent", (PyCFunction)AE_AEProcessAppleEvent, 1, - "(EventRecord theEventRecord) -> None"}, - {"AEGetInteractionAllowed", (PyCFunction)AE_AEGetInteractionAllowed, 1, - "() -> (AEInteractAllowed level)"}, - {"AESetInteractionAllowed", (PyCFunction)AE_AESetInteractionAllowed, 1, - "(AEInteractAllowed level) -> None"}, - {"AEInteractWithUser", (PyCFunction)AE_AEInteractWithUser, 1, - "(long timeOutInTicks) -> None"}, - {"AEInstallEventHandler", (PyCFunction)AE_AEInstallEventHandler, 1, - "(AEEventClass theAEEventClass, AEEventID theAEEventID, EventHandler handler) -> None"}, - {"AERemoveEventHandler", (PyCFunction)AE_AERemoveEventHandler, 1, - "(AEEventClass theAEEventClass, AEEventID theAEEventID) -> None"}, - {"AEGetEventHandler", (PyCFunction)AE_AEGetEventHandler, 1, - "(AEEventClass theAEEventClass, AEEventID theAEEventID) -> (EventHandler handler)"}, - {"AEInstallSpecialHandler", (PyCFunction)AE_AEInstallSpecialHandler, 1, - "(AEKeyword functionClass) -> None"}, - {"AERemoveSpecialHandler", (PyCFunction)AE_AERemoveSpecialHandler, 1, - "(AEKeyword functionClass) -> None"}, - {"AEManagerInfo", (PyCFunction)AE_AEManagerInfo, 1, - "(AEKeyword keyWord) -> (long result)"}, - {"AEObjectInit", (PyCFunction)AE_AEObjectInit, 1, - "() -> None"}, - {"AEDisposeToken", (PyCFunction)AE_AEDisposeToken, 1, - "() -> (AEDesc theToken)"}, - {"AECallObjectAccessor", (PyCFunction)AE_AECallObjectAccessor, 1, - "(DescType desiredClass, AEDesc containerToken, DescType containerClass, DescType keyForm, AEDesc keyData) -> (AEDesc token)"}, - {NULL, NULL, 0} -}; - - -#if UNIVERSAL_INTERFACES_VERSION >= 0x0340 -typedef long refcontype; -#else -typedef unsigned long refcontype; -#endif - -static pascal OSErr -GenericEventHandler(const AppleEvent *request, AppleEvent *reply, refcontype refcon) -{ - PyObject *handler = (PyObject *)refcon; - AEDescObject *requestObject, *replyObject; - PyObject *args, *res; - if ((requestObject = (AEDescObject *)AEDesc_New((AppleEvent *)request)) == NULL) { - return -1; - } - if ((replyObject = (AEDescObject *)AEDesc_New(reply)) == NULL) { - Py_DECREF(requestObject); - return -1; - } - if ((args = Py_BuildValue("OO", requestObject, replyObject)) == NULL) { - Py_DECREF(requestObject); - Py_DECREF(replyObject); - return -1; - } - res = PyEval_CallObject(handler, args); - requestObject->ob_itself.descriptorType = 'null'; - requestObject->ob_itself.dataHandle = NULL; - replyObject->ob_itself.descriptorType = 'null'; - replyObject->ob_itself.dataHandle = NULL; - Py_DECREF(args); - if (res == NULL) - return -1; - Py_DECREF(res); - return noErr; -} - - -void initAE(void) -{ - PyObject *m; - PyObject *d; - - - - upp_AEIdleProc = NewAEIdleUPP(AEIdleProc); - upp_GenericEventHandler = NewAEEventHandlerUPP(&GenericEventHandler); - PyMac_INIT_TOOLBOX_OBJECT_NEW(AEDesc *, AEDesc_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(AEDesc, AEDesc_Convert); - - - m = Py_InitModule("AE", AE_methods); - d = PyModule_GetDict(m); - AE_Error = PyMac_GetOSErrException(); - if (AE_Error == NULL || - PyDict_SetItemString(d, "Error", AE_Error) != 0) - return; - AEDesc_Type.ob_type = &PyType_Type; - Py_INCREF(&AEDesc_Type); - if (PyDict_SetItemString(d, "AEDescType", (PyObject *)&AEDesc_Type) != 0) - Py_FatalError("can't initialize AEDescType"); -} - -/* ========================= End module AE ========================== */ - diff --git a/Mac/Modules/cf/CFmodule.c b/Mac/Modules/cf/CFmodule.c deleted file mode 100644 index 51b85fc..0000000 --- a/Mac/Modules/cf/CFmodule.c +++ /dev/null @@ -1,3179 +0,0 @@ - -/* =========================== Module CF ============================ */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -/* Macro to test whether a weak-loaded CFM function exists */ -#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ - PyErr_SetString(PyExc_NotImplementedError, \ - "Not available in this shared library/OS version"); \ - return NULL; \ - }} while(0) - - -#ifdef WITHOUT_FRAMEWORKS -#include <CFBase.h> -#include <CFArray.h> -#include <CFData.h> -#include <CFDictionary.h> -#include <CFString.h> -#include <CFURL.h> -#else -#include <CoreServices/CoreServices.h> -#endif - -/* For now we declare them forward here. They'll go to mactoolbox later */ -staticforward PyObject *CFTypeRefObj_New(CFTypeRef); -staticforward int CFTypeRefObj_Convert(PyObject *, CFTypeRef *); -staticforward PyObject *CFStringRefObj_New(CFStringRef); -staticforward int CFStringRefObj_Convert(PyObject *, CFStringRef *); -staticforward PyObject *CFURLRefObj_New(CFURLRef); -staticforward int CFURLRefObj_Convert(PyObject *, CFURLRef *); - -staticforward int CFURLRefObj_Convert(PyObject *, CFURLRef *); - -// ADD declarations -#ifdef NOTYET_USE_TOOLBOX_OBJECT_GLUE -//extern PyObject *_CFTypeRefObj_New(CFTypeRef); -//extern int _CFTypeRefObj_Convert(PyObject *, CFTypeRef *); - -//#define CFTypeRefObj_New _CFTypeRefObj_New -//#define CFTypeRefObj_Convert _CFTypeRefObj_Convert -#endif - -/* -** Parse/generate CFRange records -*/ -PyObject *CFRange_New(CFRange *itself) -{ - - return Py_BuildValue("ll", (long)itself->location, (long)itself->length); -} - -CFRange_Convert(PyObject *v, CFRange *p_itself) -{ - long location, length; - - if( !PyArg_ParseTuple(v, "ll", &location, &length) ) - return 0; - p_itself->location = (CFIndex)location; - p_itself->length = (CFIndex)length; - return 1; -} - -/* Optional CFURL argument or None (passed as NULL) */ -int -OptionalCFURLRefObj_Convert(PyObject *v, CFURLRef *p_itself) -{ - if ( v == Py_None ) { - p_itself = NULL; - return 1; - } - return CFURLRefObj_Convert(v, p_itself); -} - - -static PyObject *CF_Error; - -/* --------------------- Object type CFTypeRef ---------------------- */ - -PyTypeObject CFTypeRef_Type; - -#define CFTypeRefObj_Check(x) ((x)->ob_type == &CFTypeRef_Type) - -typedef struct CFTypeRefObject { - PyObject_HEAD - CFTypeRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFTypeRefObject; - -PyObject *CFTypeRefObj_New(CFTypeRef itself) -{ - CFTypeRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFTypeRefObject, &CFTypeRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFTypeRefObj_Convert(PyObject *v, CFTypeRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFTypeRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFTypeRef required"); - return 0; - } - *p_itself = ((CFTypeRefObject *)v)->ob_itself; - return 1; -} - -static void CFTypeRefObj_dealloc(CFTypeRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFTypeRefObj_CFGetTypeID(CFTypeRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFTypeID _rv; - PyMac_PRECHECK(CFGetTypeID); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFGetTypeID(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFTypeRefObj_CFRetain(CFTypeRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFTypeRef _rv; - PyMac_PRECHECK(CFRetain); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFRetain(_self->ob_itself); - _res = Py_BuildValue("O&", - CFTypeRefObj_New, _rv); - return _res; -} - -static PyObject *CFTypeRefObj_CFRelease(CFTypeRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(CFRelease); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CFRelease(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFTypeRefObj_CFGetRetainCount(CFTypeRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex _rv; - PyMac_PRECHECK(CFGetRetainCount); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFGetRetainCount(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFTypeRefObj_CFEqual(CFTypeRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CFTypeRef cf2; - PyMac_PRECHECK(CFEqual); - if (!PyArg_ParseTuple(_args, "O&", - CFTypeRefObj_Convert, &cf2)) - return NULL; - _rv = CFEqual(_self->ob_itself, - cf2); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFTypeRefObj_CFHash(CFTypeRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFHashCode _rv; - PyMac_PRECHECK(CFHash); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFHash(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFTypeRefObj_CFCopyDescription(CFTypeRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFCopyDescription); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFCopyDescription(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFTypeRefObj_CFShow(CFTypeRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(CFShow); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CFShow(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef CFTypeRefObj_methods[] = { - {"CFGetTypeID", (PyCFunction)CFTypeRefObj_CFGetTypeID, 1, - "() -> (CFTypeID _rv)"}, - {"CFRetain", (PyCFunction)CFTypeRefObj_CFRetain, 1, - "() -> (CFTypeRef _rv)"}, - {"CFRelease", (PyCFunction)CFTypeRefObj_CFRelease, 1, - "() -> None"}, - {"CFGetRetainCount", (PyCFunction)CFTypeRefObj_CFGetRetainCount, 1, - "() -> (CFIndex _rv)"}, - {"CFEqual", (PyCFunction)CFTypeRefObj_CFEqual, 1, - "(CFTypeRef cf2) -> (Boolean _rv)"}, - {"CFHash", (PyCFunction)CFTypeRefObj_CFHash, 1, - "() -> (CFHashCode _rv)"}, - {"CFCopyDescription", (PyCFunction)CFTypeRefObj_CFCopyDescription, 1, - "() -> (CFStringRef _rv)"}, - {"CFShow", (PyCFunction)CFTypeRefObj_CFShow, 1, - "() -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFTypeRefObj_chain = { CFTypeRefObj_methods, NULL }; - -static PyObject *CFTypeRefObj_getattr(CFTypeRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFTypeRefObj_chain, (PyObject *)self, name); -} - -#define CFTypeRefObj_setattr NULL - -static int CFTypeRefObj_compare(CFTypeRefObject *self, CFTypeRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFTypeRefObj_repr(CFTypeRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFTypeRef type-%d object at 0x%08.8x for 0x%08.8x>", CFGetTypeID(self->ob_itself), self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFTypeRefObj_hash(CFTypeRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFTypeRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFTypeRef", /*tp_name*/ - sizeof(CFTypeRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFTypeRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFTypeRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFTypeRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFTypeRefObj_compare, /*tp_compare*/ - (reprfunc) CFTypeRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFTypeRefObj_hash, /*tp_hash*/ -}; - -/* ------------------- End object type CFTypeRef -------------------- */ - - -/* --------------------- Object type CFArrayRef --------------------- */ - -PyTypeObject CFArrayRef_Type; - -#define CFArrayRefObj_Check(x) ((x)->ob_type == &CFArrayRef_Type) - -typedef struct CFArrayRefObject { - PyObject_HEAD - CFArrayRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFArrayRefObject; - -PyObject *CFArrayRefObj_New(CFArrayRef itself) -{ - CFArrayRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFArrayRefObject, &CFArrayRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFArrayRefObj_Convert(PyObject *v, CFArrayRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFArrayRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFArrayRef required"); - return 0; - } - *p_itself = ((CFArrayRefObject *)v)->ob_itself; - return 1; -} - -static void CFArrayRefObj_dealloc(CFArrayRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFArrayRefObj_CFArrayCreateCopy(CFArrayRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFArrayRef _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFArrayCreateCopy((CFAllocatorRef)NULL, - _self->ob_itself); - _res = Py_BuildValue("O&", - CFArrayRefObj_New, _rv); - return _res; -} - -static PyObject *CFArrayRefObj_CFArrayGetCount(CFArrayRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex _rv; - PyMac_PRECHECK(CFArrayGetCount); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFArrayGetCount(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFArrayRefObj_CFStringCreateByCombiningStrings(CFArrayRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFStringRef separatorString; - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &separatorString)) - return NULL; - _rv = CFStringCreateByCombiningStrings((CFAllocatorRef)NULL, - _self->ob_itself, - separatorString); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyMethodDef CFArrayRefObj_methods[] = { - {"CFArrayCreateCopy", (PyCFunction)CFArrayRefObj_CFArrayCreateCopy, 1, - "() -> (CFArrayRef _rv)"}, - {"CFArrayGetCount", (PyCFunction)CFArrayRefObj_CFArrayGetCount, 1, - "() -> (CFIndex _rv)"}, - {"CFStringCreateByCombiningStrings", (PyCFunction)CFArrayRefObj_CFStringCreateByCombiningStrings, 1, - "(CFStringRef separatorString) -> (CFStringRef _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFArrayRefObj_chain = { CFArrayRefObj_methods, &CFTypeRefObj_chain }; - -static PyObject *CFArrayRefObj_getattr(CFArrayRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFArrayRefObj_chain, (PyObject *)self, name); -} - -#define CFArrayRefObj_setattr NULL - -static int CFArrayRefObj_compare(CFArrayRefObject *self, CFArrayRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFArrayRefObj_repr(CFArrayRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFArrayRef object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFArrayRefObj_hash(CFArrayRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFArrayRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFArrayRef", /*tp_name*/ - sizeof(CFArrayRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFArrayRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFArrayRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFArrayRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFArrayRefObj_compare, /*tp_compare*/ - (reprfunc) CFArrayRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFArrayRefObj_hash, /*tp_hash*/ -}; - -/* ------------------- End object type CFArrayRef ------------------- */ - - -/* ----------------- Object type CFMutableArrayRef ------------------ */ - -PyTypeObject CFMutableArrayRef_Type; - -#define CFMutableArrayRefObj_Check(x) ((x)->ob_type == &CFMutableArrayRef_Type) - -typedef struct CFMutableArrayRefObject { - PyObject_HEAD - CFMutableArrayRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFMutableArrayRefObject; - -PyObject *CFMutableArrayRefObj_New(CFMutableArrayRef itself) -{ - CFMutableArrayRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFMutableArrayRefObject, &CFMutableArrayRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFMutableArrayRefObj_Convert(PyObject *v, CFMutableArrayRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFMutableArrayRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFMutableArrayRef required"); - return 0; - } - *p_itself = ((CFMutableArrayRefObject *)v)->ob_itself; - return 1; -} - -static void CFMutableArrayRefObj_dealloc(CFMutableArrayRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFMutableArrayRefObj_CFArrayRemoveValueAtIndex(CFMutableArrayRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex idx; - PyMac_PRECHECK(CFArrayRemoveValueAtIndex); - if (!PyArg_ParseTuple(_args, "l", - &idx)) - return NULL; - CFArrayRemoveValueAtIndex(_self->ob_itself, - idx); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableArrayRefObj_CFArrayRemoveAllValues(CFMutableArrayRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(CFArrayRemoveAllValues); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CFArrayRemoveAllValues(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableArrayRefObj_CFArrayExchangeValuesAtIndices(CFMutableArrayRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex idx1; - CFIndex idx2; - PyMac_PRECHECK(CFArrayExchangeValuesAtIndices); - if (!PyArg_ParseTuple(_args, "ll", - &idx1, - &idx2)) - return NULL; - CFArrayExchangeValuesAtIndices(_self->ob_itself, - idx1, - idx2); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef CFMutableArrayRefObj_methods[] = { - {"CFArrayRemoveValueAtIndex", (PyCFunction)CFMutableArrayRefObj_CFArrayRemoveValueAtIndex, 1, - "(CFIndex idx) -> None"}, - {"CFArrayRemoveAllValues", (PyCFunction)CFMutableArrayRefObj_CFArrayRemoveAllValues, 1, - "() -> None"}, - {"CFArrayExchangeValuesAtIndices", (PyCFunction)CFMutableArrayRefObj_CFArrayExchangeValuesAtIndices, 1, - "(CFIndex idx1, CFIndex idx2) -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFMutableArrayRefObj_chain = { CFMutableArrayRefObj_methods, &CFArrayRefObj_chain }; - -static PyObject *CFMutableArrayRefObj_getattr(CFMutableArrayRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFMutableArrayRefObj_chain, (PyObject *)self, name); -} - -#define CFMutableArrayRefObj_setattr NULL - -static int CFMutableArrayRefObj_compare(CFMutableArrayRefObject *self, CFMutableArrayRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFMutableArrayRefObj_repr(CFMutableArrayRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFMutableArrayRef object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFMutableArrayRefObj_hash(CFMutableArrayRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFMutableArrayRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFMutableArrayRef", /*tp_name*/ - sizeof(CFMutableArrayRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFMutableArrayRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFMutableArrayRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFMutableArrayRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFMutableArrayRefObj_compare, /*tp_compare*/ - (reprfunc) CFMutableArrayRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFMutableArrayRefObj_hash, /*tp_hash*/ -}; - -/* --------------- End object type CFMutableArrayRef ---------------- */ - - -/* ------------------ Object type CFDictionaryRef ------------------- */ - -PyTypeObject CFDictionaryRef_Type; - -#define CFDictionaryRefObj_Check(x) ((x)->ob_type == &CFDictionaryRef_Type) - -typedef struct CFDictionaryRefObject { - PyObject_HEAD - CFDictionaryRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFDictionaryRefObject; - -PyObject *CFDictionaryRefObj_New(CFDictionaryRef itself) -{ - CFDictionaryRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFDictionaryRefObject, &CFDictionaryRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFDictionaryRefObj_Convert(PyObject *v, CFDictionaryRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFDictionaryRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFDictionaryRef required"); - return 0; - } - *p_itself = ((CFDictionaryRefObject *)v)->ob_itself; - return 1; -} - -static void CFDictionaryRefObj_dealloc(CFDictionaryRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFDictionaryRefObj_CFDictionaryCreateCopy(CFDictionaryRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFDictionaryRef _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFDictionaryCreateCopy((CFAllocatorRef)NULL, - _self->ob_itself); - _res = Py_BuildValue("O&", - CFDictionaryRefObj_New, _rv); - return _res; -} - -static PyObject *CFDictionaryRefObj_CFDictionaryGetCount(CFDictionaryRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex _rv; - PyMac_PRECHECK(CFDictionaryGetCount); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFDictionaryGetCount(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyMethodDef CFDictionaryRefObj_methods[] = { - {"CFDictionaryCreateCopy", (PyCFunction)CFDictionaryRefObj_CFDictionaryCreateCopy, 1, - "() -> (CFDictionaryRef _rv)"}, - {"CFDictionaryGetCount", (PyCFunction)CFDictionaryRefObj_CFDictionaryGetCount, 1, - "() -> (CFIndex _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFDictionaryRefObj_chain = { CFDictionaryRefObj_methods, &CFTypeRefObj_chain }; - -static PyObject *CFDictionaryRefObj_getattr(CFDictionaryRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFDictionaryRefObj_chain, (PyObject *)self, name); -} - -#define CFDictionaryRefObj_setattr NULL - -static int CFDictionaryRefObj_compare(CFDictionaryRefObject *self, CFDictionaryRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFDictionaryRefObj_repr(CFDictionaryRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFDictionaryRef object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFDictionaryRefObj_hash(CFDictionaryRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFDictionaryRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFDictionaryRef", /*tp_name*/ - sizeof(CFDictionaryRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFDictionaryRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFDictionaryRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFDictionaryRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFDictionaryRefObj_compare, /*tp_compare*/ - (reprfunc) CFDictionaryRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFDictionaryRefObj_hash, /*tp_hash*/ -}; - -/* ---------------- End object type CFDictionaryRef ----------------- */ - - -/* --------------- Object type CFMutableDictionaryRef --------------- */ - -PyTypeObject CFMutableDictionaryRef_Type; - -#define CFMutableDictionaryRefObj_Check(x) ((x)->ob_type == &CFMutableDictionaryRef_Type) - -typedef struct CFMutableDictionaryRefObject { - PyObject_HEAD - CFMutableDictionaryRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFMutableDictionaryRefObject; - -PyObject *CFMutableDictionaryRefObj_New(CFMutableDictionaryRef itself) -{ - CFMutableDictionaryRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFMutableDictionaryRefObject, &CFMutableDictionaryRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFMutableDictionaryRefObj_Convert(PyObject *v, CFMutableDictionaryRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFMutableDictionaryRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFMutableDictionaryRef required"); - return 0; - } - *p_itself = ((CFMutableDictionaryRefObject *)v)->ob_itself; - return 1; -} - -static void CFMutableDictionaryRefObj_dealloc(CFMutableDictionaryRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFMutableDictionaryRefObj_CFDictionaryRemoveAllValues(CFMutableDictionaryRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(CFDictionaryRemoveAllValues); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CFDictionaryRemoveAllValues(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef CFMutableDictionaryRefObj_methods[] = { - {"CFDictionaryRemoveAllValues", (PyCFunction)CFMutableDictionaryRefObj_CFDictionaryRemoveAllValues, 1, - "() -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFMutableDictionaryRefObj_chain = { CFMutableDictionaryRefObj_methods, &CFDictionaryRefObj_chain }; - -static PyObject *CFMutableDictionaryRefObj_getattr(CFMutableDictionaryRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFMutableDictionaryRefObj_chain, (PyObject *)self, name); -} - -#define CFMutableDictionaryRefObj_setattr NULL - -static int CFMutableDictionaryRefObj_compare(CFMutableDictionaryRefObject *self, CFMutableDictionaryRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFMutableDictionaryRefObj_repr(CFMutableDictionaryRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFMutableDictionaryRef object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFMutableDictionaryRefObj_hash(CFMutableDictionaryRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFMutableDictionaryRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFMutableDictionaryRef", /*tp_name*/ - sizeof(CFMutableDictionaryRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFMutableDictionaryRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFMutableDictionaryRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFMutableDictionaryRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFMutableDictionaryRefObj_compare, /*tp_compare*/ - (reprfunc) CFMutableDictionaryRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFMutableDictionaryRefObj_hash, /*tp_hash*/ -}; - -/* ------------- End object type CFMutableDictionaryRef ------------- */ - - -/* --------------------- Object type CFDataRef ---------------------- */ - -PyTypeObject CFDataRef_Type; - -#define CFDataRefObj_Check(x) ((x)->ob_type == &CFDataRef_Type) - -typedef struct CFDataRefObject { - PyObject_HEAD - CFDataRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFDataRefObject; - -PyObject *CFDataRefObj_New(CFDataRef itself) -{ - CFDataRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFDataRefObject, &CFDataRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFDataRefObj_Convert(PyObject *v, CFDataRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFDataRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFDataRef required"); - return 0; - } - *p_itself = ((CFDataRefObject *)v)->ob_itself; - return 1; -} - -static void CFDataRefObj_dealloc(CFDataRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFDataRefObj_CFDataCreateCopy(CFDataRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFDataRef _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFDataCreateCopy((CFAllocatorRef)NULL, - _self->ob_itself); - _res = Py_BuildValue("O&", - CFDataRefObj_New, _rv); - return _res; -} - -static PyObject *CFDataRefObj_CFDataGetLength(CFDataRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex _rv; - PyMac_PRECHECK(CFDataGetLength); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFDataGetLength(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFDataRefObj_CFStringCreateFromExternalRepresentation(CFDataRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFStringEncoding encoding; - if (!PyArg_ParseTuple(_args, "l", - &encoding)) - return NULL; - _rv = CFStringCreateFromExternalRepresentation((CFAllocatorRef)NULL, - _self->ob_itself, - encoding); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyMethodDef CFDataRefObj_methods[] = { - {"CFDataCreateCopy", (PyCFunction)CFDataRefObj_CFDataCreateCopy, 1, - "() -> (CFDataRef _rv)"}, - {"CFDataGetLength", (PyCFunction)CFDataRefObj_CFDataGetLength, 1, - "() -> (CFIndex _rv)"}, - {"CFStringCreateFromExternalRepresentation", (PyCFunction)CFDataRefObj_CFStringCreateFromExternalRepresentation, 1, - "(CFStringEncoding encoding) -> (CFStringRef _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFDataRefObj_chain = { CFDataRefObj_methods, &CFTypeRefObj_chain }; - -static PyObject *CFDataRefObj_getattr(CFDataRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFDataRefObj_chain, (PyObject *)self, name); -} - -#define CFDataRefObj_setattr NULL - -static int CFDataRefObj_compare(CFDataRefObject *self, CFDataRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFDataRefObj_repr(CFDataRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFDataRef object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFDataRefObj_hash(CFDataRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFDataRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFDataRef", /*tp_name*/ - sizeof(CFDataRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFDataRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFDataRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFDataRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFDataRefObj_compare, /*tp_compare*/ - (reprfunc) CFDataRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFDataRefObj_hash, /*tp_hash*/ -}; - -/* ------------------- End object type CFDataRef -------------------- */ - - -/* ------------------ Object type CFMutableDataRef ------------------ */ - -PyTypeObject CFMutableDataRef_Type; - -#define CFMutableDataRefObj_Check(x) ((x)->ob_type == &CFMutableDataRef_Type) - -typedef struct CFMutableDataRefObject { - PyObject_HEAD - CFMutableDataRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFMutableDataRefObject; - -PyObject *CFMutableDataRefObj_New(CFMutableDataRef itself) -{ - CFMutableDataRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFMutableDataRefObject, &CFMutableDataRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFMutableDataRefObj_Convert(PyObject *v, CFMutableDataRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFMutableDataRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFMutableDataRef required"); - return 0; - } - *p_itself = ((CFMutableDataRefObject *)v)->ob_itself; - return 1; -} - -static void CFMutableDataRefObj_dealloc(CFMutableDataRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFMutableDataRefObj_CFDataSetLength(CFMutableDataRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex length; - PyMac_PRECHECK(CFDataSetLength); - if (!PyArg_ParseTuple(_args, "l", - &length)) - return NULL; - CFDataSetLength(_self->ob_itself, - length); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableDataRefObj_CFDataIncreaseLength(CFMutableDataRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex extraLength; - PyMac_PRECHECK(CFDataIncreaseLength); - if (!PyArg_ParseTuple(_args, "l", - &extraLength)) - return NULL; - CFDataIncreaseLength(_self->ob_itself, - extraLength); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableDataRefObj_CFDataAppendBytes(CFMutableDataRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - unsigned char *bytes__in__; - long bytes__len__; - int bytes__in_len__; - PyMac_PRECHECK(CFDataAppendBytes); - if (!PyArg_ParseTuple(_args, "s#", - &bytes__in__, &bytes__in_len__)) - return NULL; - bytes__len__ = bytes__in_len__; - CFDataAppendBytes(_self->ob_itself, - bytes__in__, bytes__len__); - Py_INCREF(Py_None); - _res = Py_None; - bytes__error__: ; - return _res; -} - -static PyObject *CFMutableDataRefObj_CFDataReplaceBytes(CFMutableDataRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFRange range; - unsigned char *newBytes__in__; - long newBytes__len__; - int newBytes__in_len__; - PyMac_PRECHECK(CFDataReplaceBytes); - if (!PyArg_ParseTuple(_args, "O&s#", - CFRange_Convert, &range, - &newBytes__in__, &newBytes__in_len__)) - return NULL; - newBytes__len__ = newBytes__in_len__; - CFDataReplaceBytes(_self->ob_itself, - range, - newBytes__in__, newBytes__len__); - Py_INCREF(Py_None); - _res = Py_None; - newBytes__error__: ; - return _res; -} - -static PyObject *CFMutableDataRefObj_CFDataDeleteBytes(CFMutableDataRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFRange range; - PyMac_PRECHECK(CFDataDeleteBytes); - if (!PyArg_ParseTuple(_args, "O&", - CFRange_Convert, &range)) - return NULL; - CFDataDeleteBytes(_self->ob_itself, - range); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef CFMutableDataRefObj_methods[] = { - {"CFDataSetLength", (PyCFunction)CFMutableDataRefObj_CFDataSetLength, 1, - "(CFIndex length) -> None"}, - {"CFDataIncreaseLength", (PyCFunction)CFMutableDataRefObj_CFDataIncreaseLength, 1, - "(CFIndex extraLength) -> None"}, - {"CFDataAppendBytes", (PyCFunction)CFMutableDataRefObj_CFDataAppendBytes, 1, - "(Buffer bytes) -> None"}, - {"CFDataReplaceBytes", (PyCFunction)CFMutableDataRefObj_CFDataReplaceBytes, 1, - "(CFRange range, Buffer newBytes) -> None"}, - {"CFDataDeleteBytes", (PyCFunction)CFMutableDataRefObj_CFDataDeleteBytes, 1, - "(CFRange range) -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFMutableDataRefObj_chain = { CFMutableDataRefObj_methods, &CFDataRefObj_chain }; - -static PyObject *CFMutableDataRefObj_getattr(CFMutableDataRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFMutableDataRefObj_chain, (PyObject *)self, name); -} - -#define CFMutableDataRefObj_setattr NULL - -static int CFMutableDataRefObj_compare(CFMutableDataRefObject *self, CFMutableDataRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFMutableDataRefObj_repr(CFMutableDataRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFMutableDataRef object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFMutableDataRefObj_hash(CFMutableDataRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFMutableDataRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFMutableDataRef", /*tp_name*/ - sizeof(CFMutableDataRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFMutableDataRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFMutableDataRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFMutableDataRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFMutableDataRefObj_compare, /*tp_compare*/ - (reprfunc) CFMutableDataRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFMutableDataRefObj_hash, /*tp_hash*/ -}; - -/* ---------------- End object type CFMutableDataRef ---------------- */ - - -/* -------------------- Object type CFStringRef --------------------- */ - -PyTypeObject CFStringRef_Type; - -#define CFStringRefObj_Check(x) ((x)->ob_type == &CFStringRef_Type) - -typedef struct CFStringRefObject { - PyObject_HEAD - CFStringRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFStringRefObject; - -PyObject *CFStringRefObj_New(CFStringRef itself) -{ - CFStringRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFStringRefObject, &CFStringRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFStringRefObj_Convert(PyObject *v, CFStringRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - if (PyString_Check(v)) { - char *cStr = PyString_AsString(v); - *p_itself = CFStringCreateWithCString((CFAllocatorRef)NULL, cStr, 0); - return 1; - } - if (PyUnicode_Check(v)) { - /* We use the CF types here, if Python was configured differently that will give an error */ - CFIndex size = PyUnicode_GetSize(v); - UniChar *unichars = PyUnicode_AsUnicode(v); - if (!unichars) return 0; - *p_itself = CFStringCreateWithCharacters((CFAllocatorRef)NULL, unichars, size); - return 1; - } - - - if (!CFStringRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFStringRef required"); - return 0; - } - *p_itself = ((CFStringRefObject *)v)->ob_itself; - return 1; -} - -static void CFStringRefObj_dealloc(CFStringRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFStringRefObj_CFStringCreateWithSubstring(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFRange range; - if (!PyArg_ParseTuple(_args, "O&", - CFRange_Convert, &range)) - return NULL; - _rv = CFStringCreateWithSubstring((CFAllocatorRef)NULL, - _self->ob_itself, - range); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringCreateCopy(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringCreateCopy((CFAllocatorRef)NULL, - _self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringGetLength(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex _rv; - PyMac_PRECHECK(CFStringGetLength); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringGetLength(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringGetBytes(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex _rv; - CFRange range; - CFStringEncoding encoding; - UInt8 lossByte; - Boolean isExternalRepresentation; - UInt8 buffer; - CFIndex maxBufLen; - CFIndex usedBufLen; - PyMac_PRECHECK(CFStringGetBytes); - if (!PyArg_ParseTuple(_args, "O&lbll", - CFRange_Convert, &range, - &encoding, - &lossByte, - &isExternalRepresentation, - &maxBufLen)) - return NULL; - _rv = CFStringGetBytes(_self->ob_itself, - range, - encoding, - lossByte, - isExternalRepresentation, - &buffer, - maxBufLen, - &usedBufLen); - _res = Py_BuildValue("lbl", - _rv, - buffer, - usedBufLen); - return _res; -} - -static PyObject *CFStringRefObj_CFStringCreateExternalRepresentation(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFDataRef _rv; - CFStringEncoding encoding; - UInt8 lossByte; - if (!PyArg_ParseTuple(_args, "lb", - &encoding, - &lossByte)) - return NULL; - _rv = CFStringCreateExternalRepresentation((CFAllocatorRef)NULL, - _self->ob_itself, - encoding, - lossByte); - _res = Py_BuildValue("O&", - CFDataRefObj_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringGetSmallestEncoding(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringEncoding _rv; - PyMac_PRECHECK(CFStringGetSmallestEncoding); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringGetSmallestEncoding(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringGetFastestEncoding(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringEncoding _rv; - PyMac_PRECHECK(CFStringGetFastestEncoding); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringGetFastestEncoding(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringCompareWithOptions(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFComparisonResult _rv; - CFStringRef string2; - CFRange rangeToCompare; - CFOptionFlags compareOptions; - PyMac_PRECHECK(CFStringCompareWithOptions); - if (!PyArg_ParseTuple(_args, "O&O&l", - CFStringRefObj_Convert, &string2, - CFRange_Convert, &rangeToCompare, - &compareOptions)) - return NULL; - _rv = CFStringCompareWithOptions(_self->ob_itself, - string2, - rangeToCompare, - compareOptions); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringCompare(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFComparisonResult _rv; - CFStringRef string2; - CFOptionFlags compareOptions; - PyMac_PRECHECK(CFStringCompare); - if (!PyArg_ParseTuple(_args, "O&l", - CFStringRefObj_Convert, &string2, - &compareOptions)) - return NULL; - _rv = CFStringCompare(_self->ob_itself, - string2, - compareOptions); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringFindWithOptions(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CFStringRef stringToFind; - CFRange rangeToSearch; - CFOptionFlags searchOptions; - CFRange result; - PyMac_PRECHECK(CFStringFindWithOptions); - if (!PyArg_ParseTuple(_args, "O&O&l", - CFStringRefObj_Convert, &stringToFind, - CFRange_Convert, &rangeToSearch, - &searchOptions)) - return NULL; - _rv = CFStringFindWithOptions(_self->ob_itself, - stringToFind, - rangeToSearch, - searchOptions, - &result); - _res = Py_BuildValue("lO&", - _rv, - CFRange_New, result); - return _res; -} - -static PyObject *CFStringRefObj_CFStringCreateArrayWithFindResults(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFArrayRef _rv; - CFStringRef stringToFind; - CFRange rangeToSearch; - CFOptionFlags compareOptions; - if (!PyArg_ParseTuple(_args, "O&O&l", - CFStringRefObj_Convert, &stringToFind, - CFRange_Convert, &rangeToSearch, - &compareOptions)) - return NULL; - _rv = CFStringCreateArrayWithFindResults((CFAllocatorRef)NULL, - _self->ob_itself, - stringToFind, - rangeToSearch, - compareOptions); - _res = Py_BuildValue("O&", - CFArrayRefObj_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringFind(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFRange _rv; - CFStringRef stringToFind; - CFOptionFlags compareOptions; - PyMac_PRECHECK(CFStringFind); - if (!PyArg_ParseTuple(_args, "O&l", - CFStringRefObj_Convert, &stringToFind, - &compareOptions)) - return NULL; - _rv = CFStringFind(_self->ob_itself, - stringToFind, - compareOptions); - _res = Py_BuildValue("O&", - CFRange_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringHasPrefix(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CFStringRef prefix; - PyMac_PRECHECK(CFStringHasPrefix); - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &prefix)) - return NULL; - _rv = CFStringHasPrefix(_self->ob_itself, - prefix); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringHasSuffix(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CFStringRef suffix; - PyMac_PRECHECK(CFStringHasSuffix); - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &suffix)) - return NULL; - _rv = CFStringHasSuffix(_self->ob_itself, - suffix); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringGetLineBounds(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFRange range; - CFIndex lineBeginIndex; - CFIndex lineEndIndex; - CFIndex contentsEndIndex; - PyMac_PRECHECK(CFStringGetLineBounds); - if (!PyArg_ParseTuple(_args, "O&", - CFRange_Convert, &range)) - return NULL; - CFStringGetLineBounds(_self->ob_itself, - range, - &lineBeginIndex, - &lineEndIndex, - &contentsEndIndex); - _res = Py_BuildValue("lll", - lineBeginIndex, - lineEndIndex, - contentsEndIndex); - return _res; -} - -static PyObject *CFStringRefObj_CFStringCreateArrayBySeparatingStrings(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFArrayRef _rv; - CFStringRef separatorString; - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &separatorString)) - return NULL; - _rv = CFStringCreateArrayBySeparatingStrings((CFAllocatorRef)NULL, - _self->ob_itself, - separatorString); - _res = Py_BuildValue("O&", - CFArrayRefObj_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringGetIntValue(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - PyMac_PRECHECK(CFStringGetIntValue); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringGetIntValue(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringGetDoubleValue(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - double _rv; - PyMac_PRECHECK(CFStringGetDoubleValue); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringGetDoubleValue(_self->ob_itself); - _res = Py_BuildValue("d", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringConvertIANACharSetNameToEncoding(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringEncoding _rv; - PyMac_PRECHECK(CFStringConvertIANACharSetNameToEncoding); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringConvertIANACharSetNameToEncoding(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFShowStr(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(CFShowStr); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CFShowStr(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFStringRefObj_CFURLCreateWithString(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFURLRef _rv; - CFURLRef baseURL; - if (!PyArg_ParseTuple(_args, "O&", - OptionalCFURLRefObj_Convert, &baseURL)) - return NULL; - _rv = CFURLCreateWithString((CFAllocatorRef)NULL, - _self->ob_itself, - baseURL); - _res = Py_BuildValue("O&", - CFURLRefObj_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFURLCreateWithFileSystemPath(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFURLRef _rv; - CFURLPathStyle pathStyle; - Boolean isDirectory; - if (!PyArg_ParseTuple(_args, "ll", - &pathStyle, - &isDirectory)) - return NULL; - _rv = CFURLCreateWithFileSystemPath((CFAllocatorRef)NULL, - _self->ob_itself, - pathStyle, - isDirectory); - _res = Py_BuildValue("O&", - CFURLRefObj_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFURLCreateStringByReplacingPercentEscapes(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFStringRef charactersToLeaveEscaped; - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &charactersToLeaveEscaped)) - return NULL; - _rv = CFURLCreateStringByReplacingPercentEscapes((CFAllocatorRef)NULL, - _self->ob_itself, - charactersToLeaveEscaped); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFStringRefObj_CFStringGetString(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - int size = CFStringGetLength(_self->ob_itself)+1; - char *data = malloc(size); - - if( data == NULL ) return PyErr_NoMemory(); - if ( CFStringGetCString(_self->ob_itself, data, size, 0) ) { - _res = (PyObject *)PyString_FromString(data); - } else { - PyErr_SetString(PyExc_RuntimeError, "CFStringGetCString could not fit the string"); - _res = NULL; - } - free(data); - return _res; - -} - -static PyObject *CFStringRefObj_CFStringGetUnicode(CFStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - int size = CFStringGetLength(_self->ob_itself)+1; - Py_UNICODE *data = malloc(size*sizeof(Py_UNICODE)); - CFRange range; - - range.location = 0; - range.length = size; - if( data == NULL ) return PyErr_NoMemory(); - CFStringGetCharacters(_self->ob_itself, range, data); - _res = (PyObject *)PyUnicode_FromUnicode(data, size); - free(data); - return _res; - -} - -static PyMethodDef CFStringRefObj_methods[] = { - {"CFStringCreateWithSubstring", (PyCFunction)CFStringRefObj_CFStringCreateWithSubstring, 1, - "(CFRange range) -> (CFStringRef _rv)"}, - {"CFStringCreateCopy", (PyCFunction)CFStringRefObj_CFStringCreateCopy, 1, - "() -> (CFStringRef _rv)"}, - {"CFStringGetLength", (PyCFunction)CFStringRefObj_CFStringGetLength, 1, - "() -> (CFIndex _rv)"}, - {"CFStringGetBytes", (PyCFunction)CFStringRefObj_CFStringGetBytes, 1, - "(CFRange range, CFStringEncoding encoding, UInt8 lossByte, Boolean isExternalRepresentation, CFIndex maxBufLen) -> (CFIndex _rv, UInt8 buffer, CFIndex usedBufLen)"}, - {"CFStringCreateExternalRepresentation", (PyCFunction)CFStringRefObj_CFStringCreateExternalRepresentation, 1, - "(CFStringEncoding encoding, UInt8 lossByte) -> (CFDataRef _rv)"}, - {"CFStringGetSmallestEncoding", (PyCFunction)CFStringRefObj_CFStringGetSmallestEncoding, 1, - "() -> (CFStringEncoding _rv)"}, - {"CFStringGetFastestEncoding", (PyCFunction)CFStringRefObj_CFStringGetFastestEncoding, 1, - "() -> (CFStringEncoding _rv)"}, - {"CFStringCompareWithOptions", (PyCFunction)CFStringRefObj_CFStringCompareWithOptions, 1, - "(CFStringRef string2, CFRange rangeToCompare, CFOptionFlags compareOptions) -> (CFComparisonResult _rv)"}, - {"CFStringCompare", (PyCFunction)CFStringRefObj_CFStringCompare, 1, - "(CFStringRef string2, CFOptionFlags compareOptions) -> (CFComparisonResult _rv)"}, - {"CFStringFindWithOptions", (PyCFunction)CFStringRefObj_CFStringFindWithOptions, 1, - "(CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags searchOptions) -> (Boolean _rv, CFRange result)"}, - {"CFStringCreateArrayWithFindResults", (PyCFunction)CFStringRefObj_CFStringCreateArrayWithFindResults, 1, - "(CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags compareOptions) -> (CFArrayRef _rv)"}, - {"CFStringFind", (PyCFunction)CFStringRefObj_CFStringFind, 1, - "(CFStringRef stringToFind, CFOptionFlags compareOptions) -> (CFRange _rv)"}, - {"CFStringHasPrefix", (PyCFunction)CFStringRefObj_CFStringHasPrefix, 1, - "(CFStringRef prefix) -> (Boolean _rv)"}, - {"CFStringHasSuffix", (PyCFunction)CFStringRefObj_CFStringHasSuffix, 1, - "(CFStringRef suffix) -> (Boolean _rv)"}, - {"CFStringGetLineBounds", (PyCFunction)CFStringRefObj_CFStringGetLineBounds, 1, - "(CFRange range) -> (CFIndex lineBeginIndex, CFIndex lineEndIndex, CFIndex contentsEndIndex)"}, - {"CFStringCreateArrayBySeparatingStrings", (PyCFunction)CFStringRefObj_CFStringCreateArrayBySeparatingStrings, 1, - "(CFStringRef separatorString) -> (CFArrayRef _rv)"}, - {"CFStringGetIntValue", (PyCFunction)CFStringRefObj_CFStringGetIntValue, 1, - "() -> (SInt32 _rv)"}, - {"CFStringGetDoubleValue", (PyCFunction)CFStringRefObj_CFStringGetDoubleValue, 1, - "() -> (double _rv)"}, - {"CFStringConvertIANACharSetNameToEncoding", (PyCFunction)CFStringRefObj_CFStringConvertIANACharSetNameToEncoding, 1, - "() -> (CFStringEncoding _rv)"}, - {"CFShowStr", (PyCFunction)CFStringRefObj_CFShowStr, 1, - "() -> None"}, - {"CFURLCreateWithString", (PyCFunction)CFStringRefObj_CFURLCreateWithString, 1, - "(CFURLRef baseURL) -> (CFURLRef _rv)"}, - {"CFURLCreateWithFileSystemPath", (PyCFunction)CFStringRefObj_CFURLCreateWithFileSystemPath, 1, - "(CFURLPathStyle pathStyle, Boolean isDirectory) -> (CFURLRef _rv)"}, - {"CFURLCreateStringByReplacingPercentEscapes", (PyCFunction)CFStringRefObj_CFURLCreateStringByReplacingPercentEscapes, 1, - "(CFStringRef charactersToLeaveEscaped) -> (CFStringRef _rv)"}, - {"CFStringGetString", (PyCFunction)CFStringRefObj_CFStringGetString, 1, - "() -> (string _rv)"}, - {"CFStringGetUnicode", (PyCFunction)CFStringRefObj_CFStringGetUnicode, 1, - "() -> (unicode _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFStringRefObj_chain = { CFStringRefObj_methods, &CFTypeRefObj_chain }; - -static PyObject *CFStringRefObj_getattr(CFStringRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFStringRefObj_chain, (PyObject *)self, name); -} - -#define CFStringRefObj_setattr NULL - -static int CFStringRefObj_compare(CFStringRefObject *self, CFStringRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFStringRefObj_repr(CFStringRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFStringRef object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFStringRefObj_hash(CFStringRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFStringRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFStringRef", /*tp_name*/ - sizeof(CFStringRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFStringRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFStringRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFStringRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFStringRefObj_compare, /*tp_compare*/ - (reprfunc) CFStringRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFStringRefObj_hash, /*tp_hash*/ -}; - -/* ------------------ End object type CFStringRef ------------------- */ - - -/* ----------------- Object type CFMutableStringRef ----------------- */ - -PyTypeObject CFMutableStringRef_Type; - -#define CFMutableStringRefObj_Check(x) ((x)->ob_type == &CFMutableStringRef_Type) - -typedef struct CFMutableStringRefObject { - PyObject_HEAD - CFMutableStringRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFMutableStringRefObject; - -PyObject *CFMutableStringRefObj_New(CFMutableStringRef itself) -{ - CFMutableStringRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFMutableStringRefObject, &CFMutableStringRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFMutableStringRefObj_Convert(PyObject *v, CFMutableStringRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFMutableStringRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFMutableStringRef required"); - return 0; - } - *p_itself = ((CFMutableStringRefObject *)v)->ob_itself; - return 1; -} - -static void CFMutableStringRefObj_dealloc(CFMutableStringRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFMutableStringRefObj_CFStringAppend(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef appendedString; - PyMac_PRECHECK(CFStringAppend); - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &appendedString)) - return NULL; - CFStringAppend(_self->ob_itself, - appendedString); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringAppendPascalString(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - StringPtr pStr; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringAppendPascalString); - if (!PyArg_ParseTuple(_args, "O&l", - PyMac_GetStr255, &pStr, - &encoding)) - return NULL; - CFStringAppendPascalString(_self->ob_itself, - pStr, - encoding); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringAppendCString(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char* cStr; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringAppendCString); - if (!PyArg_ParseTuple(_args, "sl", - &cStr, - &encoding)) - return NULL; - CFStringAppendCString(_self->ob_itself, - cStr, - encoding); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringInsert(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex idx; - CFStringRef insertedStr; - PyMac_PRECHECK(CFStringInsert); - if (!PyArg_ParseTuple(_args, "lO&", - &idx, - CFStringRefObj_Convert, &insertedStr)) - return NULL; - CFStringInsert(_self->ob_itself, - idx, - insertedStr); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringDelete(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFRange range; - PyMac_PRECHECK(CFStringDelete); - if (!PyArg_ParseTuple(_args, "O&", - CFRange_Convert, &range)) - return NULL; - CFStringDelete(_self->ob_itself, - range); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringReplace(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFRange range; - CFStringRef replacement; - PyMac_PRECHECK(CFStringReplace); - if (!PyArg_ParseTuple(_args, "O&O&", - CFRange_Convert, &range, - CFStringRefObj_Convert, &replacement)) - return NULL; - CFStringReplace(_self->ob_itself, - range, - replacement); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringReplaceAll(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef replacement; - PyMac_PRECHECK(CFStringReplaceAll); - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &replacement)) - return NULL; - CFStringReplaceAll(_self->ob_itself, - replacement); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringPad(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef padString; - CFIndex length; - CFIndex indexIntoPad; - PyMac_PRECHECK(CFStringPad); - if (!PyArg_ParseTuple(_args, "O&ll", - CFStringRefObj_Convert, &padString, - &length, - &indexIntoPad)) - return NULL; - CFStringPad(_self->ob_itself, - padString, - length, - indexIntoPad); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringTrim(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef trimString; - PyMac_PRECHECK(CFStringTrim); - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &trimString)) - return NULL; - CFStringTrim(_self->ob_itself, - trimString); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CFMutableStringRefObj_CFStringTrimWhitespace(CFMutableStringRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(CFStringTrimWhitespace); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CFStringTrimWhitespace(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef CFMutableStringRefObj_methods[] = { - {"CFStringAppend", (PyCFunction)CFMutableStringRefObj_CFStringAppend, 1, - "(CFStringRef appendedString) -> None"}, - {"CFStringAppendPascalString", (PyCFunction)CFMutableStringRefObj_CFStringAppendPascalString, 1, - "(StringPtr pStr, CFStringEncoding encoding) -> None"}, - {"CFStringAppendCString", (PyCFunction)CFMutableStringRefObj_CFStringAppendCString, 1, - "(char* cStr, CFStringEncoding encoding) -> None"}, - {"CFStringInsert", (PyCFunction)CFMutableStringRefObj_CFStringInsert, 1, - "(CFIndex idx, CFStringRef insertedStr) -> None"}, - {"CFStringDelete", (PyCFunction)CFMutableStringRefObj_CFStringDelete, 1, - "(CFRange range) -> None"}, - {"CFStringReplace", (PyCFunction)CFMutableStringRefObj_CFStringReplace, 1, - "(CFRange range, CFStringRef replacement) -> None"}, - {"CFStringReplaceAll", (PyCFunction)CFMutableStringRefObj_CFStringReplaceAll, 1, - "(CFStringRef replacement) -> None"}, - {"CFStringPad", (PyCFunction)CFMutableStringRefObj_CFStringPad, 1, - "(CFStringRef padString, CFIndex length, CFIndex indexIntoPad) -> None"}, - {"CFStringTrim", (PyCFunction)CFMutableStringRefObj_CFStringTrim, 1, - "(CFStringRef trimString) -> None"}, - {"CFStringTrimWhitespace", (PyCFunction)CFMutableStringRefObj_CFStringTrimWhitespace, 1, - "() -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFMutableStringRefObj_chain = { CFMutableStringRefObj_methods, &CFStringRefObj_chain }; - -static PyObject *CFMutableStringRefObj_getattr(CFMutableStringRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFMutableStringRefObj_chain, (PyObject *)self, name); -} - -#define CFMutableStringRefObj_setattr NULL - -static int CFMutableStringRefObj_compare(CFMutableStringRefObject *self, CFMutableStringRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFMutableStringRefObj_repr(CFMutableStringRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFMutableStringRef object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFMutableStringRefObj_hash(CFMutableStringRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFMutableStringRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFMutableStringRef", /*tp_name*/ - sizeof(CFMutableStringRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFMutableStringRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFMutableStringRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFMutableStringRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFMutableStringRefObj_compare, /*tp_compare*/ - (reprfunc) CFMutableStringRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFMutableStringRefObj_hash, /*tp_hash*/ -}; - -/* --------------- End object type CFMutableStringRef --------------- */ - - -/* ---------------------- Object type CFURLRef ---------------------- */ - -PyTypeObject CFURLRef_Type; - -#define CFURLRefObj_Check(x) ((x)->ob_type == &CFURLRef_Type) - -typedef struct CFURLRefObject { - PyObject_HEAD - CFURLRef ob_itself; - void (*ob_freeit)(CFTypeRef ptr); -} CFURLRefObject; - -PyObject *CFURLRefObj_New(CFURLRef itself) -{ - CFURLRefObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(CFURLRefObject, &CFURLRef_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = CFRelease; - return (PyObject *)it; -} -CFURLRefObj_Convert(PyObject *v, CFURLRef *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - /* Check for other CF objects here */ - - if (!CFURLRefObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "CFURLRef required"); - return 0; - } - *p_itself = ((CFURLRefObject *)v)->ob_itself; - return 1; -} - -static void CFURLRefObj_dealloc(CFURLRefObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit((CFTypeRef)self->ob_itself); - } - PyMem_DEL(self); -} - -static PyObject *CFURLRefObj_CFURLCreateData(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFDataRef _rv; - CFStringEncoding encoding; - Boolean escapeWhitespace; - if (!PyArg_ParseTuple(_args, "ll", - &encoding, - &escapeWhitespace)) - return NULL; - _rv = CFURLCreateData((CFAllocatorRef)NULL, - _self->ob_itself, - encoding, - escapeWhitespace); - _res = Py_BuildValue("O&", - CFDataRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyAbsoluteURL(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFURLRef _rv; - PyMac_PRECHECK(CFURLCopyAbsoluteURL); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCopyAbsoluteURL(_self->ob_itself); - _res = Py_BuildValue("O&", - CFURLRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLGetString(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFURLGetString); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLGetString(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLGetBaseURL(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFURLRef _rv; - PyMac_PRECHECK(CFURLGetBaseURL); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLGetBaseURL(_self->ob_itself); - _res = Py_BuildValue("O&", - CFURLRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCanBeDecomposed(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - PyMac_PRECHECK(CFURLCanBeDecomposed); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCanBeDecomposed(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyScheme(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFURLCopyScheme); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCopyScheme(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyNetLocation(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFURLCopyNetLocation); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCopyNetLocation(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyPath(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFURLCopyPath); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCopyPath(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLHasDirectoryPath(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - PyMac_PRECHECK(CFURLHasDirectoryPath); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLHasDirectoryPath(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyResourceSpecifier(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFURLCopyResourceSpecifier); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCopyResourceSpecifier(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyHostName(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFURLCopyHostName); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCopyHostName(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLGetPortNumber(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - PyMac_PRECHECK(CFURLGetPortNumber); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLGetPortNumber(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyUserName(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFURLCopyUserName); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCopyUserName(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyPassword(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - PyMac_PRECHECK(CFURLCopyPassword); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLCopyPassword(_self->ob_itself); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyParameterString(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFStringRef charactersToLeaveEscaped; - PyMac_PRECHECK(CFURLCopyParameterString); - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &charactersToLeaveEscaped)) - return NULL; - _rv = CFURLCopyParameterString(_self->ob_itself, - charactersToLeaveEscaped); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyQueryString(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFStringRef charactersToLeaveEscaped; - PyMac_PRECHECK(CFURLCopyQueryString); - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &charactersToLeaveEscaped)) - return NULL; - _rv = CFURLCopyQueryString(_self->ob_itself, - charactersToLeaveEscaped); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CFURLRefObj_CFURLCopyFragment(CFURLRefObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFStringRef charactersToLeaveEscaped; - PyMac_PRECHECK(CFURLCopyFragment); - if (!PyArg_ParseTuple(_args, "O&", - CFStringRefObj_Convert, &charactersToLeaveEscaped)) - return NULL; - _rv = CFURLCopyFragment(_self->ob_itself, - charactersToLeaveEscaped); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyMethodDef CFURLRefObj_methods[] = { - {"CFURLCreateData", (PyCFunction)CFURLRefObj_CFURLCreateData, 1, - "(CFStringEncoding encoding, Boolean escapeWhitespace) -> (CFDataRef _rv)"}, - {"CFURLCopyAbsoluteURL", (PyCFunction)CFURLRefObj_CFURLCopyAbsoluteURL, 1, - "() -> (CFURLRef _rv)"}, - {"CFURLGetString", (PyCFunction)CFURLRefObj_CFURLGetString, 1, - "() -> (CFStringRef _rv)"}, - {"CFURLGetBaseURL", (PyCFunction)CFURLRefObj_CFURLGetBaseURL, 1, - "() -> (CFURLRef _rv)"}, - {"CFURLCanBeDecomposed", (PyCFunction)CFURLRefObj_CFURLCanBeDecomposed, 1, - "() -> (Boolean _rv)"}, - {"CFURLCopyScheme", (PyCFunction)CFURLRefObj_CFURLCopyScheme, 1, - "() -> (CFStringRef _rv)"}, - {"CFURLCopyNetLocation", (PyCFunction)CFURLRefObj_CFURLCopyNetLocation, 1, - "() -> (CFStringRef _rv)"}, - {"CFURLCopyPath", (PyCFunction)CFURLRefObj_CFURLCopyPath, 1, - "() -> (CFStringRef _rv)"}, - {"CFURLHasDirectoryPath", (PyCFunction)CFURLRefObj_CFURLHasDirectoryPath, 1, - "() -> (Boolean _rv)"}, - {"CFURLCopyResourceSpecifier", (PyCFunction)CFURLRefObj_CFURLCopyResourceSpecifier, 1, - "() -> (CFStringRef _rv)"}, - {"CFURLCopyHostName", (PyCFunction)CFURLRefObj_CFURLCopyHostName, 1, - "() -> (CFStringRef _rv)"}, - {"CFURLGetPortNumber", (PyCFunction)CFURLRefObj_CFURLGetPortNumber, 1, - "() -> (SInt32 _rv)"}, - {"CFURLCopyUserName", (PyCFunction)CFURLRefObj_CFURLCopyUserName, 1, - "() -> (CFStringRef _rv)"}, - {"CFURLCopyPassword", (PyCFunction)CFURLRefObj_CFURLCopyPassword, 1, - "() -> (CFStringRef _rv)"}, - {"CFURLCopyParameterString", (PyCFunction)CFURLRefObj_CFURLCopyParameterString, 1, - "(CFStringRef charactersToLeaveEscaped) -> (CFStringRef _rv)"}, - {"CFURLCopyQueryString", (PyCFunction)CFURLRefObj_CFURLCopyQueryString, 1, - "(CFStringRef charactersToLeaveEscaped) -> (CFStringRef _rv)"}, - {"CFURLCopyFragment", (PyCFunction)CFURLRefObj_CFURLCopyFragment, 1, - "(CFStringRef charactersToLeaveEscaped) -> (CFStringRef _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain CFURLRefObj_chain = { CFURLRefObj_methods, &CFTypeRefObj_chain }; - -static PyObject *CFURLRefObj_getattr(CFURLRefObject *self, char *name) -{ - return Py_FindMethodInChain(&CFURLRefObj_chain, (PyObject *)self, name); -} - -#define CFURLRefObj_setattr NULL - -static int CFURLRefObj_compare(CFURLRefObject *self, CFURLRefObject *other) -{ - /* XXXX Or should we use CFEqual?? */ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * CFURLRefObj_repr(CFURLRefObject *self) -{ - char buf[100]; - sprintf(buf, "<CFURL object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int CFURLRefObj_hash(CFURLRefObject *self) -{ - /* XXXX Or should we use CFHash?? */ - return (int)self->ob_itself; -} - -PyTypeObject CFURLRef_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "CFURLRef", /*tp_name*/ - sizeof(CFURLRefObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CFURLRefObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CFURLRefObj_getattr, /*tp_getattr*/ - (setattrfunc) CFURLRefObj_setattr, /*tp_setattr*/ - (cmpfunc) CFURLRefObj_compare, /*tp_compare*/ - (reprfunc) CFURLRefObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CFURLRefObj_hash, /*tp_hash*/ -}; - -/* -------------------- End object type CFURLRef -------------------- */ - - -static PyObject *CF_CFAllocatorGetTypeID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFTypeID _rv; - PyMac_PRECHECK(CFAllocatorGetTypeID); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFAllocatorGetTypeID(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFAllocatorGetPreferredSizeForSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex _rv; - CFIndex size; - CFOptionFlags hint; - PyMac_PRECHECK(CFAllocatorGetPreferredSizeForSize); - if (!PyArg_ParseTuple(_args, "ll", - &size, - &hint)) - return NULL; - _rv = CFAllocatorGetPreferredSizeForSize((CFAllocatorRef)NULL, - size, - hint); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFCopyTypeIDDescription(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFTypeID theType; - PyMac_PRECHECK(CFCopyTypeIDDescription); - if (!PyArg_ParseTuple(_args, "l", - &theType)) - return NULL; - _rv = CFCopyTypeIDDescription(theType); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFArrayGetTypeID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFTypeID _rv; - PyMac_PRECHECK(CFArrayGetTypeID); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFArrayGetTypeID(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFArrayCreateMutable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFMutableArrayRef _rv; - CFIndex capacity; - PyMac_PRECHECK(CFArrayCreateMutable); - if (!PyArg_ParseTuple(_args, "l", - &capacity)) - return NULL; - _rv = CFArrayCreateMutable((CFAllocatorRef)NULL, - capacity, - &kCFTypeArrayCallBacks); - _res = Py_BuildValue("O&", - CFMutableArrayRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFArrayCreateMutableCopy(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFMutableArrayRef _rv; - CFIndex capacity; - CFArrayRef srcArray; - PyMac_PRECHECK(CFArrayCreateMutableCopy); - if (!PyArg_ParseTuple(_args, "lO&", - &capacity, - CFArrayRefObj_Convert, &srcArray)) - return NULL; - _rv = CFArrayCreateMutableCopy((CFAllocatorRef)NULL, - capacity, - srcArray); - _res = Py_BuildValue("O&", - CFMutableArrayRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFDataGetTypeID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFTypeID _rv; - PyMac_PRECHECK(CFDataGetTypeID); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFDataGetTypeID(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFDataCreate(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFDataRef _rv; - unsigned char *bytes__in__; - long bytes__len__; - int bytes__in_len__; - PyMac_PRECHECK(CFDataCreate); - if (!PyArg_ParseTuple(_args, "s#", - &bytes__in__, &bytes__in_len__)) - return NULL; - bytes__len__ = bytes__in_len__; - _rv = CFDataCreate((CFAllocatorRef)NULL, - bytes__in__, bytes__len__); - _res = Py_BuildValue("O&", - CFDataRefObj_New, _rv); - bytes__error__: ; - return _res; -} - -static PyObject *CF_CFDataCreateWithBytesNoCopy(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFDataRef _rv; - unsigned char *bytes__in__; - long bytes__len__; - int bytes__in_len__; - PyMac_PRECHECK(CFDataCreateWithBytesNoCopy); - if (!PyArg_ParseTuple(_args, "s#", - &bytes__in__, &bytes__in_len__)) - return NULL; - bytes__len__ = bytes__in_len__; - _rv = CFDataCreateWithBytesNoCopy((CFAllocatorRef)NULL, - bytes__in__, bytes__len__, - (CFAllocatorRef)NULL); - _res = Py_BuildValue("O&", - CFDataRefObj_New, _rv); - bytes__error__: ; - return _res; -} - -static PyObject *CF_CFDataCreateMutable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFMutableDataRef _rv; - CFIndex capacity; - PyMac_PRECHECK(CFDataCreateMutable); - if (!PyArg_ParseTuple(_args, "l", - &capacity)) - return NULL; - _rv = CFDataCreateMutable((CFAllocatorRef)NULL, - capacity); - _res = Py_BuildValue("O&", - CFMutableDataRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFDataCreateMutableCopy(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFMutableDataRef _rv; - CFIndex capacity; - CFDataRef data; - PyMac_PRECHECK(CFDataCreateMutableCopy); - if (!PyArg_ParseTuple(_args, "lO&", - &capacity, - CFDataRefObj_Convert, &data)) - return NULL; - _rv = CFDataCreateMutableCopy((CFAllocatorRef)NULL, - capacity, - data); - _res = Py_BuildValue("O&", - CFMutableDataRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFDictionaryGetTypeID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFTypeID _rv; - PyMac_PRECHECK(CFDictionaryGetTypeID); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFDictionaryGetTypeID(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFDictionaryCreateMutable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFMutableDictionaryRef _rv; - CFIndex capacity; - PyMac_PRECHECK(CFDictionaryCreateMutable); - if (!PyArg_ParseTuple(_args, "l", - &capacity)) - return NULL; - _rv = CFDictionaryCreateMutable((CFAllocatorRef)NULL, - capacity, - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks); - _res = Py_BuildValue("O&", - CFMutableDictionaryRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFDictionaryCreateMutableCopy(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFMutableDictionaryRef _rv; - CFIndex capacity; - CFDictionaryRef dict; - PyMac_PRECHECK(CFDictionaryCreateMutableCopy); - if (!PyArg_ParseTuple(_args, "lO&", - &capacity, - CFDictionaryRefObj_Convert, &dict)) - return NULL; - _rv = CFDictionaryCreateMutableCopy((CFAllocatorRef)NULL, - capacity, - dict); - _res = Py_BuildValue("O&", - CFMutableDictionaryRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFStringGetTypeID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFTypeID _rv; - PyMac_PRECHECK(CFStringGetTypeID); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringGetTypeID(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFStringCreateWithPascalString(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - StringPtr pStr; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringCreateWithPascalString); - if (!PyArg_ParseTuple(_args, "O&l", - PyMac_GetStr255, &pStr, - &encoding)) - return NULL; - _rv = CFStringCreateWithPascalString((CFAllocatorRef)NULL, - pStr, - encoding); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFStringCreateWithCString(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - char* cStr; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringCreateWithCString); - if (!PyArg_ParseTuple(_args, "sl", - &cStr, - &encoding)) - return NULL; - _rv = CFStringCreateWithCString((CFAllocatorRef)NULL, - cStr, - encoding); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFStringCreateWithPascalStringNoCopy(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - StringPtr pStr; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringCreateWithPascalStringNoCopy); - if (!PyArg_ParseTuple(_args, "O&l", - PyMac_GetStr255, &pStr, - &encoding)) - return NULL; - _rv = CFStringCreateWithPascalStringNoCopy((CFAllocatorRef)NULL, - pStr, - encoding, - (CFAllocatorRef)NULL); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFStringCreateWithCStringNoCopy(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - char* cStr; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringCreateWithCStringNoCopy); - if (!PyArg_ParseTuple(_args, "sl", - &cStr, - &encoding)) - return NULL; - _rv = CFStringCreateWithCStringNoCopy((CFAllocatorRef)NULL, - cStr, - encoding, - (CFAllocatorRef)NULL); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFStringCreateMutable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFMutableStringRef _rv; - CFIndex maxLength; - PyMac_PRECHECK(CFStringCreateMutable); - if (!PyArg_ParseTuple(_args, "l", - &maxLength)) - return NULL; - _rv = CFStringCreateMutable((CFAllocatorRef)NULL, - maxLength); - _res = Py_BuildValue("O&", - CFMutableStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFStringCreateMutableCopy(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFMutableStringRef _rv; - CFIndex maxLength; - CFStringRef theString; - PyMac_PRECHECK(CFStringCreateMutableCopy); - if (!PyArg_ParseTuple(_args, "lO&", - &maxLength, - CFStringRefObj_Convert, &theString)) - return NULL; - _rv = CFStringCreateMutableCopy((CFAllocatorRef)NULL, - maxLength, - theString); - _res = Py_BuildValue("O&", - CFMutableStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFStringCreateWithBytes(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - unsigned char *bytes__in__; - long bytes__len__; - int bytes__in_len__; - CFStringEncoding encoding; - Boolean isExternalRepresentation; - PyMac_PRECHECK(CFStringCreateWithBytes); - if (!PyArg_ParseTuple(_args, "s#ll", - &bytes__in__, &bytes__in_len__, - &encoding, - &isExternalRepresentation)) - return NULL; - bytes__len__ = bytes__in_len__; - _rv = CFStringCreateWithBytes((CFAllocatorRef)NULL, - bytes__in__, bytes__len__, - encoding, - isExternalRepresentation); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - bytes__error__: ; - return _res; -} - -static PyObject *CF_CFStringGetSystemEncoding(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringEncoding _rv; - PyMac_PRECHECK(CFStringGetSystemEncoding); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFStringGetSystemEncoding(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFStringGetMaximumSizeForEncoding(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFIndex _rv; - CFIndex length; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringGetMaximumSizeForEncoding); - if (!PyArg_ParseTuple(_args, "ll", - &length, - &encoding)) - return NULL; - _rv = CFStringGetMaximumSizeForEncoding(length, - encoding); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFStringIsEncodingAvailable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringIsEncodingAvailable); - if (!PyArg_ParseTuple(_args, "l", - &encoding)) - return NULL; - _rv = CFStringIsEncodingAvailable(encoding); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFStringGetNameOfEncoding(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringGetNameOfEncoding); - if (!PyArg_ParseTuple(_args, "l", - &encoding)) - return NULL; - _rv = CFStringGetNameOfEncoding(encoding); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFStringConvertEncodingToNSStringEncoding(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 _rv; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringConvertEncodingToNSStringEncoding); - if (!PyArg_ParseTuple(_args, "l", - &encoding)) - return NULL; - _rv = CFStringConvertEncodingToNSStringEncoding(encoding); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFStringConvertNSStringEncodingToEncoding(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringEncoding _rv; - UInt32 encoding; - PyMac_PRECHECK(CFStringConvertNSStringEncodingToEncoding); - if (!PyArg_ParseTuple(_args, "l", - &encoding)) - return NULL; - _rv = CFStringConvertNSStringEncodingToEncoding(encoding); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFStringConvertEncodingToWindowsCodepage(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 _rv; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringConvertEncodingToWindowsCodepage); - if (!PyArg_ParseTuple(_args, "l", - &encoding)) - return NULL; - _rv = CFStringConvertEncodingToWindowsCodepage(encoding); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFStringConvertWindowsCodepageToEncoding(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringEncoding _rv; - UInt32 codepage; - PyMac_PRECHECK(CFStringConvertWindowsCodepageToEncoding); - if (!PyArg_ParseTuple(_args, "l", - &codepage)) - return NULL; - _rv = CFStringConvertWindowsCodepageToEncoding(codepage); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFStringConvertEncodingToIANACharSetName(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - CFStringEncoding encoding; - PyMac_PRECHECK(CFStringConvertEncodingToIANACharSetName); - if (!PyArg_ParseTuple(_args, "l", - &encoding)) - return NULL; - _rv = CFStringConvertEncodingToIANACharSetName(encoding); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF___CFStringMakeConstantString(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFStringRef _rv; - char* cStr; - PyMac_PRECHECK(__CFStringMakeConstantString); - if (!PyArg_ParseTuple(_args, "s", - &cStr)) - return NULL; - _rv = __CFStringMakeConstantString(cStr); - _res = Py_BuildValue("O&", - CFStringRefObj_New, _rv); - return _res; -} - -static PyObject *CF_CFURLGetTypeID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFTypeID _rv; - PyMac_PRECHECK(CFURLGetTypeID); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CFURLGetTypeID(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CF_CFURLCreateWithBytes(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CFURLRef _rv; - unsigned char *URLBytes__in__; - long URLBytes__len__; - int URLBytes__in_len__; - CFStringEncoding encoding; - CFURLRef baseURL; - PyMac_PRECHECK(CFURLCreateWithBytes); - if (!PyArg_ParseTuple(_args, "s#lO&", - &URLBytes__in__, &URLBytes__in_len__, - &encoding, - OptionalCFURLRefObj_Convert, &baseURL)) - return NULL; - URLBytes__len__ = URLBytes__in_len__; - _rv = CFURLCreateWithBytes((CFAllocatorRef)NULL, - URLBytes__in__, URLBytes__len__, - encoding, - baseURL); - _res = Py_BuildValue("O&", - CFURLRefObj_New, _rv); - URLBytes__error__: ; - return _res; -} - -static PyMethodDef CF_methods[] = { - {"CFAllocatorGetTypeID", (PyCFunction)CF_CFAllocatorGetTypeID, 1, - "() -> (CFTypeID _rv)"}, - {"CFAllocatorGetPreferredSizeForSize", (PyCFunction)CF_CFAllocatorGetPreferredSizeForSize, 1, - "(CFIndex size, CFOptionFlags hint) -> (CFIndex _rv)"}, - {"CFCopyTypeIDDescription", (PyCFunction)CF_CFCopyTypeIDDescription, 1, - "(CFTypeID theType) -> (CFStringRef _rv)"}, - {"CFArrayGetTypeID", (PyCFunction)CF_CFArrayGetTypeID, 1, - "() -> (CFTypeID _rv)"}, - {"CFArrayCreateMutable", (PyCFunction)CF_CFArrayCreateMutable, 1, - "(CFIndex capacity) -> (CFMutableArrayRef _rv)"}, - {"CFArrayCreateMutableCopy", (PyCFunction)CF_CFArrayCreateMutableCopy, 1, - "(CFIndex capacity, CFArrayRef srcArray) -> (CFMutableArrayRef _rv)"}, - {"CFDataGetTypeID", (PyCFunction)CF_CFDataGetTypeID, 1, - "() -> (CFTypeID _rv)"}, - {"CFDataCreate", (PyCFunction)CF_CFDataCreate, 1, - "(Buffer bytes) -> (CFDataRef _rv)"}, - {"CFDataCreateWithBytesNoCopy", (PyCFunction)CF_CFDataCreateWithBytesNoCopy, 1, - "(Buffer bytes) -> (CFDataRef _rv)"}, - {"CFDataCreateMutable", (PyCFunction)CF_CFDataCreateMutable, 1, - "(CFIndex capacity) -> (CFMutableDataRef _rv)"}, - {"CFDataCreateMutableCopy", (PyCFunction)CF_CFDataCreateMutableCopy, 1, - "(CFIndex capacity, CFDataRef data) -> (CFMutableDataRef _rv)"}, - {"CFDictionaryGetTypeID", (PyCFunction)CF_CFDictionaryGetTypeID, 1, - "() -> (CFTypeID _rv)"}, - {"CFDictionaryCreateMutable", (PyCFunction)CF_CFDictionaryCreateMutable, 1, - "(CFIndex capacity) -> (CFMutableDictionaryRef _rv)"}, - {"CFDictionaryCreateMutableCopy", (PyCFunction)CF_CFDictionaryCreateMutableCopy, 1, - "(CFIndex capacity, CFDictionaryRef dict) -> (CFMutableDictionaryRef _rv)"}, - {"CFStringGetTypeID", (PyCFunction)CF_CFStringGetTypeID, 1, - "() -> (CFTypeID _rv)"}, - {"CFStringCreateWithPascalString", (PyCFunction)CF_CFStringCreateWithPascalString, 1, - "(StringPtr pStr, CFStringEncoding encoding) -> (CFStringRef _rv)"}, - {"CFStringCreateWithCString", (PyCFunction)CF_CFStringCreateWithCString, 1, - "(char* cStr, CFStringEncoding encoding) -> (CFStringRef _rv)"}, - {"CFStringCreateWithPascalStringNoCopy", (PyCFunction)CF_CFStringCreateWithPascalStringNoCopy, 1, - "(StringPtr pStr, CFStringEncoding encoding) -> (CFStringRef _rv)"}, - {"CFStringCreateWithCStringNoCopy", (PyCFunction)CF_CFStringCreateWithCStringNoCopy, 1, - "(char* cStr, CFStringEncoding encoding) -> (CFStringRef _rv)"}, - {"CFStringCreateMutable", (PyCFunction)CF_CFStringCreateMutable, 1, - "(CFIndex maxLength) -> (CFMutableStringRef _rv)"}, - {"CFStringCreateMutableCopy", (PyCFunction)CF_CFStringCreateMutableCopy, 1, - "(CFIndex maxLength, CFStringRef theString) -> (CFMutableStringRef _rv)"}, - {"CFStringCreateWithBytes", (PyCFunction)CF_CFStringCreateWithBytes, 1, - "(Buffer bytes, CFStringEncoding encoding, Boolean isExternalRepresentation) -> (CFStringRef _rv)"}, - {"CFStringGetSystemEncoding", (PyCFunction)CF_CFStringGetSystemEncoding, 1, - "() -> (CFStringEncoding _rv)"}, - {"CFStringGetMaximumSizeForEncoding", (PyCFunction)CF_CFStringGetMaximumSizeForEncoding, 1, - "(CFIndex length, CFStringEncoding encoding) -> (CFIndex _rv)"}, - {"CFStringIsEncodingAvailable", (PyCFunction)CF_CFStringIsEncodingAvailable, 1, - "(CFStringEncoding encoding) -> (Boolean _rv)"}, - {"CFStringGetNameOfEncoding", (PyCFunction)CF_CFStringGetNameOfEncoding, 1, - "(CFStringEncoding encoding) -> (CFStringRef _rv)"}, - {"CFStringConvertEncodingToNSStringEncoding", (PyCFunction)CF_CFStringConvertEncodingToNSStringEncoding, 1, - "(CFStringEncoding encoding) -> (UInt32 _rv)"}, - {"CFStringConvertNSStringEncodingToEncoding", (PyCFunction)CF_CFStringConvertNSStringEncodingToEncoding, 1, - "(UInt32 encoding) -> (CFStringEncoding _rv)"}, - {"CFStringConvertEncodingToWindowsCodepage", (PyCFunction)CF_CFStringConvertEncodingToWindowsCodepage, 1, - "(CFStringEncoding encoding) -> (UInt32 _rv)"}, - {"CFStringConvertWindowsCodepageToEncoding", (PyCFunction)CF_CFStringConvertWindowsCodepageToEncoding, 1, - "(UInt32 codepage) -> (CFStringEncoding _rv)"}, - {"CFStringConvertEncodingToIANACharSetName", (PyCFunction)CF_CFStringConvertEncodingToIANACharSetName, 1, - "(CFStringEncoding encoding) -> (CFStringRef _rv)"}, - {"__CFStringMakeConstantString", (PyCFunction)CF___CFStringMakeConstantString, 1, - "(char* cStr) -> (CFStringRef _rv)"}, - {"CFURLGetTypeID", (PyCFunction)CF_CFURLGetTypeID, 1, - "() -> (CFTypeID _rv)"}, - {"CFURLCreateWithBytes", (PyCFunction)CF_CFURLCreateWithBytes, 1, - "(Buffer URLBytes, CFStringEncoding encoding, CFURLRef baseURL) -> (CFURLRef _rv)"}, - {NULL, NULL, 0} -}; - - - - -void initCF(void) -{ - PyObject *m; - PyObject *d; - - - - // PyMac_INIT_TOOLBOX_OBJECT_NEW(Track, TrackObj_New); - // PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Track, TrackObj_Convert); - - - m = Py_InitModule("CF", CF_methods); - d = PyModule_GetDict(m); - CF_Error = PyMac_GetOSErrException(); - if (CF_Error == NULL || - PyDict_SetItemString(d, "Error", CF_Error) != 0) - return; - CFTypeRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFTypeRef_Type); - if (PyDict_SetItemString(d, "CFTypeRefType", (PyObject *)&CFTypeRef_Type) != 0) - Py_FatalError("can't initialize CFTypeRefType"); - CFArrayRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFArrayRef_Type); - if (PyDict_SetItemString(d, "CFArrayRefType", (PyObject *)&CFArrayRef_Type) != 0) - Py_FatalError("can't initialize CFArrayRefType"); - CFMutableArrayRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFMutableArrayRef_Type); - if (PyDict_SetItemString(d, "CFMutableArrayRefType", (PyObject *)&CFMutableArrayRef_Type) != 0) - Py_FatalError("can't initialize CFMutableArrayRefType"); - CFDictionaryRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFDictionaryRef_Type); - if (PyDict_SetItemString(d, "CFDictionaryRefType", (PyObject *)&CFDictionaryRef_Type) != 0) - Py_FatalError("can't initialize CFDictionaryRefType"); - CFMutableDictionaryRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFMutableDictionaryRef_Type); - if (PyDict_SetItemString(d, "CFMutableDictionaryRefType", (PyObject *)&CFMutableDictionaryRef_Type) != 0) - Py_FatalError("can't initialize CFMutableDictionaryRefType"); - CFDataRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFDataRef_Type); - if (PyDict_SetItemString(d, "CFDataRefType", (PyObject *)&CFDataRef_Type) != 0) - Py_FatalError("can't initialize CFDataRefType"); - CFMutableDataRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFMutableDataRef_Type); - if (PyDict_SetItemString(d, "CFMutableDataRefType", (PyObject *)&CFMutableDataRef_Type) != 0) - Py_FatalError("can't initialize CFMutableDataRefType"); - CFStringRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFStringRef_Type); - if (PyDict_SetItemString(d, "CFStringRefType", (PyObject *)&CFStringRef_Type) != 0) - Py_FatalError("can't initialize CFStringRefType"); - CFMutableStringRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFMutableStringRef_Type); - if (PyDict_SetItemString(d, "CFMutableStringRefType", (PyObject *)&CFMutableStringRef_Type) != 0) - Py_FatalError("can't initialize CFMutableStringRefType"); - CFURLRef_Type.ob_type = &PyType_Type; - Py_INCREF(&CFURLRef_Type); - if (PyDict_SetItemString(d, "CFURLRefType", (PyObject *)&CFURLRef_Type) != 0) - Py_FatalError("can't initialize CFURLRefType"); -} - -/* ========================= End module CF ========================== */ - diff --git a/Mac/Modules/cm/Cmmodule.c b/Mac/Modules/cm/Cmmodule.c deleted file mode 100644 index 1738f3e..0000000 --- a/Mac/Modules/cm/Cmmodule.c +++ /dev/null @@ -1,790 +0,0 @@ - -/* =========================== Module Cm ============================ */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Components.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_CmpObj_New(Component); -extern int _CmpObj_Convert(PyObject *, Component *); -extern PyObject *_CmpInstObj_New(ComponentInstance); -extern int _CmpInstObj_Convert(PyObject *, ComponentInstance *); - -#define CmpObj_New _CmpObj_New -#define CmpObj_Convert _CmpObj_Convert -#define CmpInstObj_New _CmpInstObj_New -#define CmpInstObj_Convert _CmpInstObj_Convert -#endif - -/* -** Parse/generate ComponentDescriptor records -*/ -static PyObject * -CmpDesc_New(ComponentDescription *itself) -{ - - return Py_BuildValue("O&O&O&ll", - PyMac_BuildOSType, itself->componentType, - PyMac_BuildOSType, itself->componentSubType, - PyMac_BuildOSType, itself->componentManufacturer, - itself->componentFlags, itself->componentFlagsMask); -} - -static int -CmpDesc_Convert(PyObject *v, ComponentDescription *p_itself) -{ - return PyArg_ParseTuple(v, "O&O&O&ll", - PyMac_GetOSType, &p_itself->componentType, - PyMac_GetOSType, &p_itself->componentSubType, - PyMac_GetOSType, &p_itself->componentManufacturer, - &p_itself->componentFlags, &p_itself->componentFlagsMask); -} - - -static PyObject *Cm_Error; - -/* ----------------- Object type ComponentInstance ------------------ */ - -PyTypeObject ComponentInstance_Type; - -#define CmpInstObj_Check(x) ((x)->ob_type == &ComponentInstance_Type) - -typedef struct ComponentInstanceObject { - PyObject_HEAD - ComponentInstance ob_itself; -} ComponentInstanceObject; - -PyObject *CmpInstObj_New(ComponentInstance itself) -{ - ComponentInstanceObject *it; - if (itself == NULL) { - PyErr_SetString(Cm_Error,"NULL ComponentInstance"); - return NULL; - } - it = PyObject_NEW(ComponentInstanceObject, &ComponentInstance_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -CmpInstObj_Convert(PyObject *v, ComponentInstance *p_itself) -{ - if (!CmpInstObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "ComponentInstance required"); - return 0; - } - *p_itself = ((ComponentInstanceObject *)v)->ob_itself; - return 1; -} - -static void CmpInstObj_dealloc(ComponentInstanceObject *self) -{ - /* Cleanup of self->ob_itself goes here */ - PyMem_DEL(self); -} - -static PyObject *CmpInstObj_CloseComponent(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = CloseComponent(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CmpInstObj_GetComponentInstanceError(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetComponentInstanceError(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CmpInstObj_SetComponentInstanceError(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr theError; - if (!PyArg_ParseTuple(_args, "h", - &theError)) - return NULL; - SetComponentInstanceError(_self->ob_itself, - theError); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CmpInstObj_GetComponentInstanceStorage(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetComponentInstanceStorage(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *CmpInstObj_SetComponentInstanceStorage(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle theStorage; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theStorage)) - return NULL; - SetComponentInstanceStorage(_self->ob_itself, - theStorage); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *CmpInstObj_GetComponentInstanceA5(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetComponentInstanceA5(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *CmpInstObj_SetComponentInstanceA5(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long theA5; - if (!PyArg_ParseTuple(_args, "l", - &theA5)) - return NULL; - SetComponentInstanceA5(_self->ob_itself, - theA5); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *CmpInstObj_ComponentFunctionImplemented(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - short ftnNumber; - if (!PyArg_ParseTuple(_args, "h", - &ftnNumber)) - return NULL; - _rv = ComponentFunctionImplemented(_self->ob_itself, - ftnNumber); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CmpInstObj_GetComponentVersion(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetComponentVersion(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CmpInstObj_ComponentSetTarget(ComponentInstanceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - ComponentInstance target; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &target)) - return NULL; - _rv = ComponentSetTarget(_self->ob_itself, - target); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyMethodDef CmpInstObj_methods[] = { - {"CloseComponent", (PyCFunction)CmpInstObj_CloseComponent, 1, - "() -> None"}, - {"GetComponentInstanceError", (PyCFunction)CmpInstObj_GetComponentInstanceError, 1, - "() -> None"}, - {"SetComponentInstanceError", (PyCFunction)CmpInstObj_SetComponentInstanceError, 1, - "(OSErr theError) -> None"}, - {"GetComponentInstanceStorage", (PyCFunction)CmpInstObj_GetComponentInstanceStorage, 1, - "() -> (Handle _rv)"}, - {"SetComponentInstanceStorage", (PyCFunction)CmpInstObj_SetComponentInstanceStorage, 1, - "(Handle theStorage) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"GetComponentInstanceA5", (PyCFunction)CmpInstObj_GetComponentInstanceA5, 1, - "() -> (long _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SetComponentInstanceA5", (PyCFunction)CmpInstObj_SetComponentInstanceA5, 1, - "(long theA5) -> None"}, -#endif - {"ComponentFunctionImplemented", (PyCFunction)CmpInstObj_ComponentFunctionImplemented, 1, - "(short ftnNumber) -> (long _rv)"}, - {"GetComponentVersion", (PyCFunction)CmpInstObj_GetComponentVersion, 1, - "() -> (long _rv)"}, - {"ComponentSetTarget", (PyCFunction)CmpInstObj_ComponentSetTarget, 1, - "(ComponentInstance target) -> (long _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain CmpInstObj_chain = { CmpInstObj_methods, NULL }; - -static PyObject *CmpInstObj_getattr(ComponentInstanceObject *self, char *name) -{ - return Py_FindMethodInChain(&CmpInstObj_chain, (PyObject *)self, name); -} - -#define CmpInstObj_setattr NULL - -#define CmpInstObj_compare NULL - -#define CmpInstObj_repr NULL - -#define CmpInstObj_hash NULL - -PyTypeObject ComponentInstance_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "ComponentInstance", /*tp_name*/ - sizeof(ComponentInstanceObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CmpInstObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CmpInstObj_getattr, /*tp_getattr*/ - (setattrfunc) CmpInstObj_setattr, /*tp_setattr*/ - (cmpfunc) CmpInstObj_compare, /*tp_compare*/ - (reprfunc) CmpInstObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CmpInstObj_hash, /*tp_hash*/ -}; - -/* --------------- End object type ComponentInstance ---------------- */ - - -/* --------------------- Object type Component ---------------------- */ - -PyTypeObject Component_Type; - -#define CmpObj_Check(x) ((x)->ob_type == &Component_Type) - -typedef struct ComponentObject { - PyObject_HEAD - Component ob_itself; -} ComponentObject; - -PyObject *CmpObj_New(Component itself) -{ - ComponentObject *it; - if (itself == NULL) { - /* XXXX Or should we return None? */ - PyErr_SetString(Cm_Error,"No such component"); - return NULL; - } - it = PyObject_NEW(ComponentObject, &Component_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -CmpObj_Convert(PyObject *v, Component *p_itself) -{ - if ( v == Py_None ) { - *p_itself = 0; - return 1; - } - if (!CmpObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Component required"); - return 0; - } - *p_itself = ((ComponentObject *)v)->ob_itself; - return 1; -} - -static void CmpObj_dealloc(ComponentObject *self) -{ - /* Cleanup of self->ob_itself goes here */ - PyMem_DEL(self); -} - -static PyObject *CmpObj_UnregisterComponent(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = UnregisterComponent(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CmpObj_GetComponentInfo(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ComponentDescription cd; - Handle componentName; - Handle componentInfo; - Handle componentIcon; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &componentName, - ResObj_Convert, &componentInfo, - ResObj_Convert, &componentIcon)) - return NULL; - _err = GetComponentInfo(_self->ob_itself, - &cd, - componentName, - componentInfo, - componentIcon); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CmpDesc_New, &cd); - return _res; -} - -static PyObject *CmpObj_OpenComponent(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentInstance _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = OpenComponent(_self->ob_itself); - _res = Py_BuildValue("O&", - CmpInstObj_New, _rv); - return _res; -} - -static PyObject *CmpObj_GetComponentRefcon(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetComponentRefcon(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CmpObj_SetComponentRefcon(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long theRefcon; - if (!PyArg_ParseTuple(_args, "l", - &theRefcon)) - return NULL; - SetComponentRefcon(_self->ob_itself, - theRefcon); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CmpObj_OpenComponentResFile(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = OpenComponentResFile(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *CmpObj_GetComponentResource(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType resType; - short resID; - Handle theResource; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetOSType, &resType, - &resID)) - return NULL; - _err = GetComponentResource(_self->ob_itself, - resType, - resID, - &theResource); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theResource); - return _res; -} - -static PyObject *CmpObj_GetComponentIndString(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Str255 theString; - short strListID; - short index; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetStr255, theString, - &strListID, - &index)) - return NULL; - _err = GetComponentIndString(_self->ob_itself, - theString, - strListID, - index); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CmpObj_ResolveComponentAlias(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Component _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = ResolveComponentAlias(_self->ob_itself); - _res = Py_BuildValue("O&", - CmpObj_New, _rv); - return _res; -} - -static PyObject *CmpObj_CountComponentInstances(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CountComponentInstances(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CmpObj_SetDefaultComponent(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short flags; - if (!PyArg_ParseTuple(_args, "h", - &flags)) - return NULL; - _err = SetDefaultComponent(_self->ob_itself, - flags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CmpObj_CaptureComponent(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Component _rv; - Component capturingComponent; - if (!PyArg_ParseTuple(_args, "O&", - CmpObj_Convert, &capturingComponent)) - return NULL; - _rv = CaptureComponent(_self->ob_itself, - capturingComponent); - _res = Py_BuildValue("O&", - CmpObj_New, _rv); - return _res; -} - -static PyObject *CmpObj_UncaptureComponent(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = UncaptureComponent(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CmpObj_GetComponentIconSuite(ComponentObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle iconSuite; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetComponentIconSuite(_self->ob_itself, - &iconSuite); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, iconSuite); - return _res; -} - -static PyMethodDef CmpObj_methods[] = { - {"UnregisterComponent", (PyCFunction)CmpObj_UnregisterComponent, 1, - "() -> None"}, - {"GetComponentInfo", (PyCFunction)CmpObj_GetComponentInfo, 1, - "(Handle componentName, Handle componentInfo, Handle componentIcon) -> (ComponentDescription cd)"}, - {"OpenComponent", (PyCFunction)CmpObj_OpenComponent, 1, - "() -> (ComponentInstance _rv)"}, - {"GetComponentRefcon", (PyCFunction)CmpObj_GetComponentRefcon, 1, - "() -> (long _rv)"}, - {"SetComponentRefcon", (PyCFunction)CmpObj_SetComponentRefcon, 1, - "(long theRefcon) -> None"}, - {"OpenComponentResFile", (PyCFunction)CmpObj_OpenComponentResFile, 1, - "() -> (short _rv)"}, - {"GetComponentResource", (PyCFunction)CmpObj_GetComponentResource, 1, - "(OSType resType, short resID) -> (Handle theResource)"}, - {"GetComponentIndString", (PyCFunction)CmpObj_GetComponentIndString, 1, - "(Str255 theString, short strListID, short index) -> None"}, - {"ResolveComponentAlias", (PyCFunction)CmpObj_ResolveComponentAlias, 1, - "() -> (Component _rv)"}, - {"CountComponentInstances", (PyCFunction)CmpObj_CountComponentInstances, 1, - "() -> (long _rv)"}, - {"SetDefaultComponent", (PyCFunction)CmpObj_SetDefaultComponent, 1, - "(short flags) -> None"}, - {"CaptureComponent", (PyCFunction)CmpObj_CaptureComponent, 1, - "(Component capturingComponent) -> (Component _rv)"}, - {"UncaptureComponent", (PyCFunction)CmpObj_UncaptureComponent, 1, - "() -> None"}, - {"GetComponentIconSuite", (PyCFunction)CmpObj_GetComponentIconSuite, 1, - "() -> (Handle iconSuite)"}, - {NULL, NULL, 0} -}; - -PyMethodChain CmpObj_chain = { CmpObj_methods, NULL }; - -static PyObject *CmpObj_getattr(ComponentObject *self, char *name) -{ - return Py_FindMethodInChain(&CmpObj_chain, (PyObject *)self, name); -} - -#define CmpObj_setattr NULL - -#define CmpObj_compare NULL - -#define CmpObj_repr NULL - -#define CmpObj_hash NULL - -PyTypeObject Component_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Component", /*tp_name*/ - sizeof(ComponentObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CmpObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CmpObj_getattr, /*tp_getattr*/ - (setattrfunc) CmpObj_setattr, /*tp_setattr*/ - (cmpfunc) CmpObj_compare, /*tp_compare*/ - (reprfunc) CmpObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CmpObj_hash, /*tp_hash*/ -}; - -/* ------------------- End object type Component -------------------- */ - - -static PyObject *Cm_RegisterComponentResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Component _rv; - ComponentResourceHandle cr; - short global; - if (!PyArg_ParseTuple(_args, "O&h", - ResObj_Convert, &cr, - &global)) - return NULL; - _rv = RegisterComponentResource(cr, - global); - _res = Py_BuildValue("O&", - CmpObj_New, _rv); - return _res; -} - -static PyObject *Cm_FindNextComponent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Component _rv; - Component aComponent; - ComponentDescription looking; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpObj_Convert, &aComponent, - CmpDesc_Convert, &looking)) - return NULL; - _rv = FindNextComponent(aComponent, - &looking); - _res = Py_BuildValue("O&", - CmpObj_New, _rv); - return _res; -} - -static PyObject *Cm_CountComponents(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - ComponentDescription looking; - if (!PyArg_ParseTuple(_args, "O&", - CmpDesc_Convert, &looking)) - return NULL; - _rv = CountComponents(&looking); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Cm_GetComponentListModSeed(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetComponentListModSeed(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Cm_CloseComponentResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short refnum; - if (!PyArg_ParseTuple(_args, "h", - &refnum)) - return NULL; - _err = CloseComponentResFile(refnum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Cm_OpenDefaultComponent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentInstance _rv; - OSType componentType; - OSType componentSubType; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &componentType, - PyMac_GetOSType, &componentSubType)) - return NULL; - _rv = OpenDefaultComponent(componentType, - componentSubType); - _res = Py_BuildValue("O&", - CmpInstObj_New, _rv); - return _res; -} - -static PyObject *Cm_RegisterComponentResourceFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - short resRefNum; - short global; - if (!PyArg_ParseTuple(_args, "hh", - &resRefNum, - &global)) - return NULL; - _rv = RegisterComponentResourceFile(resRefNum, - global); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyMethodDef Cm_methods[] = { - {"RegisterComponentResource", (PyCFunction)Cm_RegisterComponentResource, 1, - "(ComponentResourceHandle cr, short global) -> (Component _rv)"}, - {"FindNextComponent", (PyCFunction)Cm_FindNextComponent, 1, - "(Component aComponent, ComponentDescription looking) -> (Component _rv)"}, - {"CountComponents", (PyCFunction)Cm_CountComponents, 1, - "(ComponentDescription looking) -> (long _rv)"}, - {"GetComponentListModSeed", (PyCFunction)Cm_GetComponentListModSeed, 1, - "() -> (long _rv)"}, - {"CloseComponentResFile", (PyCFunction)Cm_CloseComponentResFile, 1, - "(short refnum) -> None"}, - {"OpenDefaultComponent", (PyCFunction)Cm_OpenDefaultComponent, 1, - "(OSType componentType, OSType componentSubType) -> (ComponentInstance _rv)"}, - {"RegisterComponentResourceFile", (PyCFunction)Cm_RegisterComponentResourceFile, 1, - "(short resRefNum, short global) -> (long _rv)"}, - {NULL, NULL, 0} -}; - - - - -void initCm(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(Component, CmpObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Component, CmpObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(ComponentInstance, CmpInstObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(ComponentInstance, CmpInstObj_Convert); - - - m = Py_InitModule("Cm", Cm_methods); - d = PyModule_GetDict(m); - Cm_Error = PyMac_GetOSErrException(); - if (Cm_Error == NULL || - PyDict_SetItemString(d, "Error", Cm_Error) != 0) - return; - ComponentInstance_Type.ob_type = &PyType_Type; - Py_INCREF(&ComponentInstance_Type); - if (PyDict_SetItemString(d, "ComponentInstanceType", (PyObject *)&ComponentInstance_Type) != 0) - Py_FatalError("can't initialize ComponentInstanceType"); - Component_Type.ob_type = &PyType_Type; - Py_INCREF(&Component_Type); - if (PyDict_SetItemString(d, "ComponentType", (PyObject *)&Component_Type) != 0) - Py_FatalError("can't initialize ComponentType"); -} - -/* ========================= End module Cm ========================== */ - diff --git a/Mac/Modules/ctl/Ctlmodule.c b/Mac/Modules/ctl/Ctlmodule.c deleted file mode 100644 index 536da3c..0000000 --- a/Mac/Modules/ctl/Ctlmodule.c +++ /dev/null @@ -1,2686 +0,0 @@ - -/* =========================== Module Ctl =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Controls.h> -#include <ControlDefinitions.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_CtlObj_New(ControlHandle); -extern int _CtlObj_Convert(PyObject *, ControlHandle *); - -#define CtlObj_New _CtlObj_New -#define CtlObj_Convert _CtlObj_Convert -#endif - -staticforward PyObject *CtlObj_WhichControl(ControlHandle); - -#define as_Control(h) ((ControlHandle)h) -#define as_Resource(ctl) ((Handle)ctl) -#if TARGET_API_MAC_CARBON -#define GetControlRect(ctl, rectp) GetControlBounds(ctl, rectp) -#else -#define GetControlRect(ctl, rectp) (*(rectp) = ((*(ctl))->contrlRect)) -#endif - -/* -** Parse/generate ControlFontStyleRec records -*/ -#if 0 /* Not needed */ -static PyObject * -ControlFontStyle_New(ControlFontStyleRec *itself) -{ - - return Py_BuildValue("hhhhhhO&O&", itself->flags, itself->font, - itself->size, itself->style, itself->mode, itself->just, - QdRGB_New, &itself->foreColor, QdRGB_New, &itself->backColor); -} -#endif - -static int -ControlFontStyle_Convert(PyObject *v, ControlFontStyleRec *itself) -{ - return PyArg_ParseTuple(v, "hhhhhhO&O&", &itself->flags, - &itself->font, &itself->size, &itself->style, &itself->mode, - &itself->just, QdRGB_Convert, &itself->foreColor, - QdRGB_Convert, &itself->backColor); -} - -/* -** Parse/generate ControlID records -*/ -static PyObject * -PyControlID_New(ControlID *itself) -{ - - return Py_BuildValue("O&l", PyMac_BuildOSType, itself->signature, itself->id); -} - -static int -PyControlID_Convert(PyObject *v, ControlID *itself) -{ - return PyArg_ParseTuple(v, "O&l", PyMac_GetOSType, &itself->signature, &itself->id); -} - - -/* TrackControl and HandleControlClick callback support */ -static PyObject *tracker; -static ControlActionUPP mytracker_upp; -static ControlUserPaneDrawUPP mydrawproc_upp; -static ControlUserPaneIdleUPP myidleproc_upp; -static ControlUserPaneHitTestUPP myhittestproc_upp; -static ControlUserPaneTrackingUPP mytrackingproc_upp; - -staticforward int settrackfunc(PyObject *); /* forward */ -staticforward void clrtrackfunc(void); /* forward */ -staticforward int setcallback(PyObject *, OSType, PyObject *, UniversalProcPtr *); - -static PyObject *Ctl_Error; - -/* ---------------------- Object type Control ----------------------- */ - -PyTypeObject Control_Type; - -#define CtlObj_Check(x) ((x)->ob_type == &Control_Type) - -typedef struct ControlObject { - PyObject_HEAD - ControlHandle ob_itself; - PyObject *ob_callbackdict; -} ControlObject; - -PyObject *CtlObj_New(ControlHandle itself) -{ - ControlObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(ControlObject, &Control_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - SetControlReference(itself, (long)it); - it->ob_callbackdict = NULL; - return (PyObject *)it; -} -CtlObj_Convert(PyObject *v, ControlHandle *p_itself) -{ - if (!CtlObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Control required"); - return 0; - } - *p_itself = ((ControlObject *)v)->ob_itself; - return 1; -} - -static void CtlObj_dealloc(ControlObject *self) -{ - Py_XDECREF(self->ob_callbackdict); - if (self->ob_itself)SetControlReference(self->ob_itself, (long)0); /* Make it forget about us */ - PyMem_DEL(self); -} - -static PyObject *CtlObj_HiliteControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlPartCode hiliteState; - if (!PyArg_ParseTuple(_args, "h", - &hiliteState)) - return NULL; - HiliteControl(_self->ob_itself, - hiliteState); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_ShowControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ShowControl(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_HideControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - HideControl(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_IsControlActive(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsControlActive(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *CtlObj_IsControlVisible(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsControlVisible(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *CtlObj_ActivateControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = ActivateControl(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_DeactivateControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = DeactivateControl(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_SetControlVisibility(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Boolean inIsVisible; - Boolean inDoDraw; - if (!PyArg_ParseTuple(_args, "bb", - &inIsVisible, - &inDoDraw)) - return NULL; - _err = SetControlVisibility(_self->ob_itself, - inIsVisible, - inDoDraw); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_Draw1Control(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - Draw1Control(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetBestControlRect(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect outRect; - SInt16 outBaseLineOffset; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetBestControlRect(_self->ob_itself, - &outRect, - &outBaseLineOffset); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&h", - PyMac_BuildRect, &outRect, - outBaseLineOffset); - return _res; -} - -static PyObject *CtlObj_SetControlFontStyle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ControlFontStyleRec inStyle; - if (!PyArg_ParseTuple(_args, "O&", - ControlFontStyle_Convert, &inStyle)) - return NULL; - _err = SetControlFontStyle(_self->ob_itself, - &inStyle); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_DrawControlInCurrentPort(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DrawControlInCurrentPort(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_SetUpControlBackground(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inDepth; - Boolean inIsColorDevice; - if (!PyArg_ParseTuple(_args, "hb", - &inDepth, - &inIsColorDevice)) - return NULL; - _err = SetUpControlBackground(_self->ob_itself, - inDepth, - inIsColorDevice); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_SetUpControlTextColor(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inDepth; - Boolean inIsColorDevice; - if (!PyArg_ParseTuple(_args, "hb", - &inDepth, - &inIsColorDevice)) - return NULL; - _err = SetUpControlTextColor(_self->ob_itself, - inDepth, - inIsColorDevice); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_DragControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point startPoint; - Rect limitRect; - Rect slopRect; - DragConstraint axis; - if (!PyArg_ParseTuple(_args, "O&O&O&H", - PyMac_GetPoint, &startPoint, - PyMac_GetRect, &limitRect, - PyMac_GetRect, &slopRect, - &axis)) - return NULL; - DragControl(_self->ob_itself, - startPoint, - &limitRect, - &slopRect, - axis); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_TestControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlPartCode _rv; - Point testPoint; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &testPoint)) - return NULL; - _rv = TestControl(_self->ob_itself, - testPoint); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_HandleControlContextualMenuClick(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Point inWhere; - Boolean menuDisplayed; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &inWhere)) - return NULL; - _err = HandleControlContextualMenuClick(_self->ob_itself, - inWhere, - &menuDisplayed); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - menuDisplayed); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_GetControlClickActivation(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Point inWhere; - EventModifiers inModifiers; - ClickActivationResult outResult; - if (!PyArg_ParseTuple(_args, "O&H", - PyMac_GetPoint, &inWhere, - &inModifiers)) - return NULL; - _err = GetControlClickActivation(_self->ob_itself, - inWhere, - inModifiers, - &outResult); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outResult); - return _res; -} -#endif - -static PyObject *CtlObj_HandleControlKey(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - SInt16 inKeyCode; - SInt16 inCharCode; - EventModifiers inModifiers; - if (!PyArg_ParseTuple(_args, "hhH", - &inKeyCode, - &inCharCode, - &inModifiers)) - return NULL; - _rv = HandleControlKey(_self->ob_itself, - inKeyCode, - inCharCode, - inModifiers); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_HandleControlSetCursor(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Point localPoint; - EventModifiers modifiers; - Boolean cursorWasSet; - if (!PyArg_ParseTuple(_args, "O&H", - PyMac_GetPoint, &localPoint, - &modifiers)) - return NULL; - _err = HandleControlSetCursor(_self->ob_itself, - localPoint, - modifiers, - &cursorWasSet); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - cursorWasSet); - return _res; -} -#endif - -static PyObject *CtlObj_MoveControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 h; - SInt16 v; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - MoveControl(_self->ob_itself, - h, - v); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_SizeControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 w; - SInt16 h; - if (!PyArg_ParseTuple(_args, "hh", - &w, - &h)) - return NULL; - SizeControl(_self->ob_itself, - w, - h); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_SetControlTitle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 title; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, title)) - return NULL; - SetControlTitle(_self->ob_itself, - title); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControlTitle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 title; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetControlTitle(_self->ob_itself, - title); - _res = Py_BuildValue("O&", - PyMac_BuildStr255, title); - return _res; -} - -static PyObject *CtlObj_GetControlValue(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlValue(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *CtlObj_SetControlValue(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 newValue; - if (!PyArg_ParseTuple(_args, "h", - &newValue)) - return NULL; - SetControlValue(_self->ob_itself, - newValue); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControlMinimum(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlMinimum(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *CtlObj_SetControlMinimum(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 newMinimum; - if (!PyArg_ParseTuple(_args, "h", - &newMinimum)) - return NULL; - SetControlMinimum(_self->ob_itself, - newMinimum); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControlMaximum(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlMaximum(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *CtlObj_SetControlMaximum(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 newMaximum; - if (!PyArg_ParseTuple(_args, "h", - &newMaximum)) - return NULL; - SetControlMaximum(_self->ob_itself, - newMaximum); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControlViewSize(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlViewSize(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CtlObj_SetControlViewSize(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 newViewSize; - if (!PyArg_ParseTuple(_args, "l", - &newViewSize)) - return NULL; - SetControlViewSize(_self->ob_itself, - newViewSize); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControl32BitValue(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControl32BitValue(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CtlObj_SetControl32BitValue(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 newValue; - if (!PyArg_ParseTuple(_args, "l", - &newValue)) - return NULL; - SetControl32BitValue(_self->ob_itself, - newValue); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControl32BitMaximum(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControl32BitMaximum(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CtlObj_SetControl32BitMaximum(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 newMaximum; - if (!PyArg_ParseTuple(_args, "l", - &newMaximum)) - return NULL; - SetControl32BitMaximum(_self->ob_itself, - newMaximum); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControl32BitMinimum(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControl32BitMinimum(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CtlObj_SetControl32BitMinimum(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 newMinimum; - if (!PyArg_ParseTuple(_args, "l", - &newMinimum)) - return NULL; - SetControl32BitMinimum(_self->ob_itself, - newMinimum); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_IsValidControlHandle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsValidControlHandle(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_SetControlID(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - ControlID inID; - if (!PyArg_ParseTuple(_args, "O&", - PyControlID_Convert, &inID)) - return NULL; - _err = SetControlID(_self->ob_itself, - &inID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_GetControlID(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - ControlID outID; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetControlID(_self->ob_itself, - &outID); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyControlID_New, &outID); - return _res; -} -#endif - -static PyObject *CtlObj_RemoveControlProperty(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - OSType propertyCreator; - OSType propertyTag; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag)) - return NULL; - _err = RemoveControlProperty(_self->ob_itself, - propertyCreator, - propertyTag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_GetControlPropertyAttributes(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - OSType propertyCreator; - OSType propertyTag; - UInt32 attributes; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag)) - return NULL; - _err = GetControlPropertyAttributes(_self->ob_itself, - propertyCreator, - propertyTag, - &attributes); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - attributes); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_ChangeControlPropertyAttributes(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - OSType propertyCreator; - OSType propertyTag; - UInt32 attributesToSet; - UInt32 attributesToClear; - if (!PyArg_ParseTuple(_args, "O&O&ll", - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag, - &attributesToSet, - &attributesToClear)) - return NULL; - _err = ChangeControlPropertyAttributes(_self->ob_itself, - propertyCreator, - propertyTag, - attributesToSet, - attributesToClear); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *CtlObj_GetControlRegion(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - ControlPartCode inPart; - RgnHandle outRegion; - if (!PyArg_ParseTuple(_args, "hO&", - &inPart, - ResObj_Convert, &outRegion)) - return NULL; - _err = GetControlRegion(_self->ob_itself, - inPart, - outRegion); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControlVariant(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlVariant _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlVariant(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *CtlObj_SetControlReference(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 data; - if (!PyArg_ParseTuple(_args, "l", - &data)) - return NULL; - SetControlReference(_self->ob_itself, - data); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControlReference(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlReference(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *CtlObj_GetAuxiliaryControlRecord(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - AuxCtlHandle acHndl; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetAuxiliaryControlRecord(_self->ob_itself, - &acHndl); - _res = Py_BuildValue("bO&", - _rv, - ResObj_New, acHndl); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *CtlObj_SetControlColor(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CCTabHandle newColorTable; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &newColorTable)) - return NULL; - SetControlColor(_self->ob_itself, - newColorTable); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *CtlObj_EmbedControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ControlHandle inContainer; - if (!PyArg_ParseTuple(_args, "O&", - CtlObj_Convert, &inContainer)) - return NULL; - _err = EmbedControl(_self->ob_itself, - inContainer); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_AutoEmbedControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &inWindow)) - return NULL; - _err = AutoEmbedControl(_self->ob_itself, - inWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetSuperControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ControlHandle outParent; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetSuperControl(_self->ob_itself, - &outParent); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CtlObj_WhichControl, outParent); - return _res; -} - -static PyObject *CtlObj_CountSubControls(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - UInt16 outNumChildren; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = CountSubControls(_self->ob_itself, - &outNumChildren); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("H", - outNumChildren); - return _res; -} - -static PyObject *CtlObj_GetIndexedSubControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - UInt16 inIndex; - ControlHandle outSubControl; - if (!PyArg_ParseTuple(_args, "H", - &inIndex)) - return NULL; - _err = GetIndexedSubControl(_self->ob_itself, - inIndex, - &outSubControl); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CtlObj_WhichControl, outSubControl); - return _res; -} - -static PyObject *CtlObj_SetControlSupervisor(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ControlHandle inBoss; - if (!PyArg_ParseTuple(_args, "O&", - CtlObj_Convert, &inBoss)) - return NULL; - _err = SetControlSupervisor(_self->ob_itself, - inBoss); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetControlFeatures(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - UInt32 outFeatures; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetControlFeatures(_self->ob_itself, - &outFeatures); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outFeatures); - return _res; -} - -static PyObject *CtlObj_GetControlDataSize(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ControlPartCode inPart; - ResType inTagName; - Size outMaxSize; - if (!PyArg_ParseTuple(_args, "hO&", - &inPart, - PyMac_GetOSType, &inTagName)) - return NULL; - _err = GetControlDataSize(_self->ob_itself, - inPart, - inTagName, - &outMaxSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outMaxSize); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_HandleControlDragTracking(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - DragTrackingMessage inMessage; - DragReference inDrag; - Boolean outLikesDrag; - if (!PyArg_ParseTuple(_args, "hO&", - &inMessage, - DragObj_Convert, &inDrag)) - return NULL; - _err = HandleControlDragTracking(_self->ob_itself, - inMessage, - inDrag, - &outLikesDrag); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - outLikesDrag); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_HandleControlDragReceive(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - DragReference inDrag; - if (!PyArg_ParseTuple(_args, "O&", - DragObj_Convert, &inDrag)) - return NULL; - _err = HandleControlDragReceive(_self->ob_itself, - inDrag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_SetControlDragTrackingEnabled(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Boolean tracks; - if (!PyArg_ParseTuple(_args, "b", - &tracks)) - return NULL; - _err = SetControlDragTrackingEnabled(_self->ob_itself, - tracks); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *CtlObj_IsControlDragTrackingEnabled(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Boolean tracks; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = IsControlDragTrackingEnabled(_self->ob_itself, - &tracks); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - tracks); - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_GetControlBounds(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect bounds; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetControlBounds(_self->ob_itself, - &bounds); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &bounds); - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_IsControlHilited(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsControlHilited(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_GetControlHilite(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlHilite(_self->ob_itself); - _res = Py_BuildValue("H", - _rv); - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_GetControlOwner(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlOwner(_self->ob_itself); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_GetControlDataHandle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlDataHandle(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_GetControlPopupMenuHandle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlPopupMenuHandle(_self->ob_itself); - _res = Py_BuildValue("O&", - MenuObj_New, _rv); - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_GetControlPopupMenuID(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetControlPopupMenuID(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_SetControlDataHandle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle dataHandle; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &dataHandle)) - return NULL; - SetControlDataHandle(_self->ob_itself, - dataHandle); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_SetControlBounds(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect bounds; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &bounds)) - return NULL; - SetControlBounds(_self->ob_itself, - &bounds); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_SetControlPopupMenuHandle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuHandle popupMenu; - if (!PyArg_ParseTuple(_args, "O&", - MenuObj_Convert, &popupMenu)) - return NULL; - SetControlPopupMenuHandle(_self->ob_itself, - popupMenu); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - -static PyObject *CtlObj_SetControlPopupMenuID(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short menuID; - if (!PyArg_ParseTuple(_args, "h", - &menuID)) - return NULL; - SetControlPopupMenuID(_self->ob_itself, - menuID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *CtlObj_GetBevelButtonMenuValue(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 outValue; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetBevelButtonMenuValue(_self->ob_itself, - &outValue); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - outValue); - return _res; -} - -static PyObject *CtlObj_SetBevelButtonMenuValue(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inValue; - if (!PyArg_ParseTuple(_args, "h", - &inValue)) - return NULL; - _err = SetBevelButtonMenuValue(_self->ob_itself, - inValue); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetBevelButtonMenuHandle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - MenuHandle outHandle; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetBevelButtonMenuHandle(_self->ob_itself, - &outHandle); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - MenuObj_New, outHandle); - return _res; -} - -static PyObject *CtlObj_SetBevelButtonTransform(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconTransformType transform; - if (!PyArg_ParseTuple(_args, "h", - &transform)) - return NULL; - _err = SetBevelButtonTransform(_self->ob_itself, - transform); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_SetDisclosureTriangleLastValue(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inValue; - if (!PyArg_ParseTuple(_args, "h", - &inValue)) - return NULL; - _err = SetDisclosureTriangleLastValue(_self->ob_itself, - inValue); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_GetTabContentRect(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect outContentRect; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetTabContentRect(_self->ob_itself, - &outContentRect); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &outContentRect); - return _res; -} - -static PyObject *CtlObj_SetTabEnabled(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inTabToHilite; - Boolean inEnabled; - if (!PyArg_ParseTuple(_args, "hb", - &inTabToHilite, - &inEnabled)) - return NULL; - _err = SetTabEnabled(_self->ob_itself, - inTabToHilite, - inEnabled); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_SetImageWellTransform(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconTransformType inTransform; - if (!PyArg_ParseTuple(_args, "h", - &inTransform)) - return NULL; - _err = SetImageWellTransform(_self->ob_itself, - inTransform); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *CtlObj_as_Resource(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = as_Resource(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *CtlObj_GetControlRect(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect rect; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetControlRect(_self->ob_itself, - &rect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &rect); - return _res; -} - -static PyObject *CtlObj_DisposeControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - if (!PyArg_ParseTuple(_args, "")) - return NULL; - if ( _self->ob_itself ) { - SetControlReference(_self->ob_itself, (long)0); /* Make it forget about us */ - DisposeControl(_self->ob_itself); - _self->ob_itself = NULL; - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; - -} - -static PyObject *CtlObj_TrackControl(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - ControlPartCode _rv; - Point startPoint; - ControlActionUPP upp = 0; - PyObject *callback = 0; - - if (!PyArg_ParseTuple(_args, "O&|O", - PyMac_GetPoint, &startPoint, &callback)) - return NULL; - if (callback && callback != Py_None) { - if (PyInt_Check(callback) && PyInt_AS_LONG(callback) == -1) - upp = (ControlActionUPP)-1; - else { - settrackfunc(callback); - upp = mytracker_upp; - } - } - _rv = TrackControl(_self->ob_itself, - startPoint, - upp); - clrtrackfunc(); - _res = Py_BuildValue("h", - _rv); - return _res; - -} - -static PyObject *CtlObj_HandleControlClick(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - ControlPartCode _rv; - Point startPoint; - SInt16 modifiers; - ControlActionUPP upp = 0; - PyObject *callback = 0; - - if (!PyArg_ParseTuple(_args, "O&h|O", - PyMac_GetPoint, &startPoint, - &modifiers, - &callback)) - return NULL; - if (callback && callback != Py_None) { - if (PyInt_Check(callback) && PyInt_AS_LONG(callback) == -1) - upp = (ControlActionUPP)-1; - else { - settrackfunc(callback); - upp = mytracker_upp; - } - } - _rv = HandleControlClick(_self->ob_itself, - startPoint, - modifiers, - upp); - clrtrackfunc(); - _res = Py_BuildValue("h", - _rv); - return _res; - -} - -static PyObject *CtlObj_SetControlData(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - OSErr _err; - ControlPartCode inPart; - ResType inTagName; - Size bufferSize; - Ptr buffer; - - if (!PyArg_ParseTuple(_args, "hO&s#", - &inPart, - PyMac_GetOSType, &inTagName, - &buffer, &bufferSize)) - return NULL; - - _err = SetControlData(_self->ob_itself, - inPart, - inTagName, - bufferSize, - buffer); - - if (_err != noErr) - return PyMac_Error(_err); - _res = Py_None; - return _res; - -} - -static PyObject *CtlObj_GetControlData(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - OSErr _err; - ControlPartCode inPart; - ResType inTagName; - Size bufferSize; - Ptr buffer; - Size outSize; - - if (!PyArg_ParseTuple(_args, "hO&", - &inPart, - PyMac_GetOSType, &inTagName)) - return NULL; - - /* allocate a buffer for the data */ - _err = GetControlDataSize(_self->ob_itself, - inPart, - inTagName, - &bufferSize); - if (_err != noErr) - return PyMac_Error(_err); - buffer = PyMem_NEW(char, bufferSize); - if (buffer == NULL) - return PyErr_NoMemory(); - - _err = GetControlData(_self->ob_itself, - inPart, - inTagName, - bufferSize, - buffer, - &outSize); - - if (_err != noErr) { - PyMem_DEL(buffer); - return PyMac_Error(_err); - } - _res = Py_BuildValue("s#", buffer, outSize); - PyMem_DEL(buffer); - return _res; - -} - -static PyObject *CtlObj_SetControlData_Handle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - OSErr _err; - ControlPartCode inPart; - ResType inTagName; - Handle buffer; - - if (!PyArg_ParseTuple(_args, "hO&O&", - &inPart, - PyMac_GetOSType, &inTagName, - OptResObj_Convert, &buffer)) - return NULL; - - _err = SetControlData(_self->ob_itself, - inPart, - inTagName, - sizeof(buffer), - (Ptr)&buffer); - - if (_err != noErr) - return PyMac_Error(_err); - _res = Py_None; - return _res; - -} - -static PyObject *CtlObj_GetControlData_Handle(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - OSErr _err; - ControlPartCode inPart; - ResType inTagName; - Size bufferSize; - Handle hdl; - - if (!PyArg_ParseTuple(_args, "hO&", - &inPart, - PyMac_GetOSType, &inTagName)) - return NULL; - - /* Check it is handle-sized */ - _err = GetControlDataSize(_self->ob_itself, - inPart, - inTagName, - &bufferSize); - if (_err != noErr) - return PyMac_Error(_err); - if (bufferSize != sizeof(Handle)) { - PyErr_SetString(Ctl_Error, "GetControlDataSize() != sizeof(Handle)"); - return NULL; - } - - _err = GetControlData(_self->ob_itself, - inPart, - inTagName, - sizeof(Handle), - (Ptr)&hdl, - &bufferSize); - - if (_err != noErr) { - return PyMac_Error(_err); - } - return Py_BuildValue("O&", OptResObj_New, hdl); - -} - -static PyObject *CtlObj_SetControlData_Callback(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - OSErr _err; - ControlPartCode inPart; - ResType inTagName; - PyObject *callback; - UniversalProcPtr c_callback; - - if (!PyArg_ParseTuple(_args, "hO&O", - &inPart, - PyMac_GetOSType, &inTagName, - &callback)) - return NULL; - - if ( setcallback((PyObject *)_self, inTagName, callback, &c_callback) < 0 ) - return NULL; - _err = SetControlData(_self->ob_itself, - inPart, - inTagName, - sizeof(c_callback), - (Ptr)&c_callback); - - if (_err != noErr) - return PyMac_Error(_err); - _res = Py_None; - return _res; - -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *CtlObj_GetPopupData(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - PopupPrivateDataHandle hdl; - - if ( (*_self->ob_itself)->contrlData == NULL ) { - PyErr_SetString(Ctl_Error, "No contrlData handle in control"); - return 0; - } - hdl = (PopupPrivateDataHandle)(*_self->ob_itself)->contrlData; - HLock((Handle)hdl); - _res = Py_BuildValue("O&i", MenuObj_New, (*hdl)->mHandle, (int)(*hdl)->mID); - HUnlock((Handle)hdl); - return _res; - -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *CtlObj_SetPopupData(ControlObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - PopupPrivateDataHandle hdl; - MenuHandle mHandle; - short mID; - - if (!PyArg_ParseTuple(_args, "O&h", MenuObj_Convert, &mHandle, &mID) ) - return 0; - if ( (*_self->ob_itself)->contrlData == NULL ) { - PyErr_SetString(Ctl_Error, "No contrlData handle in control"); - return 0; - } - hdl = (PopupPrivateDataHandle)(*_self->ob_itself)->contrlData; - (*hdl)->mHandle = mHandle; - (*hdl)->mID = mID; - Py_INCREF(Py_None); - return Py_None; - -} -#endif - -static PyMethodDef CtlObj_methods[] = { - {"HiliteControl", (PyCFunction)CtlObj_HiliteControl, 1, - "(ControlPartCode hiliteState) -> None"}, - {"ShowControl", (PyCFunction)CtlObj_ShowControl, 1, - "() -> None"}, - {"HideControl", (PyCFunction)CtlObj_HideControl, 1, - "() -> None"}, - {"IsControlActive", (PyCFunction)CtlObj_IsControlActive, 1, - "() -> (Boolean _rv)"}, - {"IsControlVisible", (PyCFunction)CtlObj_IsControlVisible, 1, - "() -> (Boolean _rv)"}, - {"ActivateControl", (PyCFunction)CtlObj_ActivateControl, 1, - "() -> None"}, - {"DeactivateControl", (PyCFunction)CtlObj_DeactivateControl, 1, - "() -> None"}, - {"SetControlVisibility", (PyCFunction)CtlObj_SetControlVisibility, 1, - "(Boolean inIsVisible, Boolean inDoDraw) -> None"}, - {"Draw1Control", (PyCFunction)CtlObj_Draw1Control, 1, - "() -> None"}, - {"GetBestControlRect", (PyCFunction)CtlObj_GetBestControlRect, 1, - "() -> (Rect outRect, SInt16 outBaseLineOffset)"}, - {"SetControlFontStyle", (PyCFunction)CtlObj_SetControlFontStyle, 1, - "(ControlFontStyleRec inStyle) -> None"}, - {"DrawControlInCurrentPort", (PyCFunction)CtlObj_DrawControlInCurrentPort, 1, - "() -> None"}, - {"SetUpControlBackground", (PyCFunction)CtlObj_SetUpControlBackground, 1, - "(SInt16 inDepth, Boolean inIsColorDevice) -> None"}, - {"SetUpControlTextColor", (PyCFunction)CtlObj_SetUpControlTextColor, 1, - "(SInt16 inDepth, Boolean inIsColorDevice) -> None"}, - {"DragControl", (PyCFunction)CtlObj_DragControl, 1, - "(Point startPoint, Rect limitRect, Rect slopRect, DragConstraint axis) -> None"}, - {"TestControl", (PyCFunction)CtlObj_TestControl, 1, - "(Point testPoint) -> (ControlPartCode _rv)"}, - -#if TARGET_API_MAC_CARBON - {"HandleControlContextualMenuClick", (PyCFunction)CtlObj_HandleControlContextualMenuClick, 1, - "(Point inWhere) -> (Boolean menuDisplayed)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetControlClickActivation", (PyCFunction)CtlObj_GetControlClickActivation, 1, - "(Point inWhere, EventModifiers inModifiers) -> (ClickActivationResult outResult)"}, -#endif - {"HandleControlKey", (PyCFunction)CtlObj_HandleControlKey, 1, - "(SInt16 inKeyCode, SInt16 inCharCode, EventModifiers inModifiers) -> (SInt16 _rv)"}, - -#if TARGET_API_MAC_CARBON - {"HandleControlSetCursor", (PyCFunction)CtlObj_HandleControlSetCursor, 1, - "(Point localPoint, EventModifiers modifiers) -> (Boolean cursorWasSet)"}, -#endif - {"MoveControl", (PyCFunction)CtlObj_MoveControl, 1, - "(SInt16 h, SInt16 v) -> None"}, - {"SizeControl", (PyCFunction)CtlObj_SizeControl, 1, - "(SInt16 w, SInt16 h) -> None"}, - {"SetControlTitle", (PyCFunction)CtlObj_SetControlTitle, 1, - "(Str255 title) -> None"}, - {"GetControlTitle", (PyCFunction)CtlObj_GetControlTitle, 1, - "() -> (Str255 title)"}, - {"GetControlValue", (PyCFunction)CtlObj_GetControlValue, 1, - "() -> (SInt16 _rv)"}, - {"SetControlValue", (PyCFunction)CtlObj_SetControlValue, 1, - "(SInt16 newValue) -> None"}, - {"GetControlMinimum", (PyCFunction)CtlObj_GetControlMinimum, 1, - "() -> (SInt16 _rv)"}, - {"SetControlMinimum", (PyCFunction)CtlObj_SetControlMinimum, 1, - "(SInt16 newMinimum) -> None"}, - {"GetControlMaximum", (PyCFunction)CtlObj_GetControlMaximum, 1, - "() -> (SInt16 _rv)"}, - {"SetControlMaximum", (PyCFunction)CtlObj_SetControlMaximum, 1, - "(SInt16 newMaximum) -> None"}, - {"GetControlViewSize", (PyCFunction)CtlObj_GetControlViewSize, 1, - "() -> (SInt32 _rv)"}, - {"SetControlViewSize", (PyCFunction)CtlObj_SetControlViewSize, 1, - "(SInt32 newViewSize) -> None"}, - {"GetControl32BitValue", (PyCFunction)CtlObj_GetControl32BitValue, 1, - "() -> (SInt32 _rv)"}, - {"SetControl32BitValue", (PyCFunction)CtlObj_SetControl32BitValue, 1, - "(SInt32 newValue) -> None"}, - {"GetControl32BitMaximum", (PyCFunction)CtlObj_GetControl32BitMaximum, 1, - "() -> (SInt32 _rv)"}, - {"SetControl32BitMaximum", (PyCFunction)CtlObj_SetControl32BitMaximum, 1, - "(SInt32 newMaximum) -> None"}, - {"GetControl32BitMinimum", (PyCFunction)CtlObj_GetControl32BitMinimum, 1, - "() -> (SInt32 _rv)"}, - {"SetControl32BitMinimum", (PyCFunction)CtlObj_SetControl32BitMinimum, 1, - "(SInt32 newMinimum) -> None"}, - {"IsValidControlHandle", (PyCFunction)CtlObj_IsValidControlHandle, 1, - "() -> (Boolean _rv)"}, - -#if TARGET_API_MAC_CARBON - {"SetControlID", (PyCFunction)CtlObj_SetControlID, 1, - "(ControlID inID) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetControlID", (PyCFunction)CtlObj_GetControlID, 1, - "() -> (ControlID outID)"}, -#endif - {"RemoveControlProperty", (PyCFunction)CtlObj_RemoveControlProperty, 1, - "(OSType propertyCreator, OSType propertyTag) -> None"}, - -#if TARGET_API_MAC_CARBON - {"GetControlPropertyAttributes", (PyCFunction)CtlObj_GetControlPropertyAttributes, 1, - "(OSType propertyCreator, OSType propertyTag) -> (UInt32 attributes)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"ChangeControlPropertyAttributes", (PyCFunction)CtlObj_ChangeControlPropertyAttributes, 1, - "(OSType propertyCreator, OSType propertyTag, UInt32 attributesToSet, UInt32 attributesToClear) -> None"}, -#endif - {"GetControlRegion", (PyCFunction)CtlObj_GetControlRegion, 1, - "(ControlPartCode inPart, RgnHandle outRegion) -> None"}, - {"GetControlVariant", (PyCFunction)CtlObj_GetControlVariant, 1, - "() -> (ControlVariant _rv)"}, - {"SetControlReference", (PyCFunction)CtlObj_SetControlReference, 1, - "(SInt32 data) -> None"}, - {"GetControlReference", (PyCFunction)CtlObj_GetControlReference, 1, - "() -> (SInt32 _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"GetAuxiliaryControlRecord", (PyCFunction)CtlObj_GetAuxiliaryControlRecord, 1, - "() -> (Boolean _rv, AuxCtlHandle acHndl)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SetControlColor", (PyCFunction)CtlObj_SetControlColor, 1, - "(CCTabHandle newColorTable) -> None"}, -#endif - {"EmbedControl", (PyCFunction)CtlObj_EmbedControl, 1, - "(ControlHandle inContainer) -> None"}, - {"AutoEmbedControl", (PyCFunction)CtlObj_AutoEmbedControl, 1, - "(WindowPtr inWindow) -> None"}, - {"GetSuperControl", (PyCFunction)CtlObj_GetSuperControl, 1, - "() -> (ControlHandle outParent)"}, - {"CountSubControls", (PyCFunction)CtlObj_CountSubControls, 1, - "() -> (UInt16 outNumChildren)"}, - {"GetIndexedSubControl", (PyCFunction)CtlObj_GetIndexedSubControl, 1, - "(UInt16 inIndex) -> (ControlHandle outSubControl)"}, - {"SetControlSupervisor", (PyCFunction)CtlObj_SetControlSupervisor, 1, - "(ControlHandle inBoss) -> None"}, - {"GetControlFeatures", (PyCFunction)CtlObj_GetControlFeatures, 1, - "() -> (UInt32 outFeatures)"}, - {"GetControlDataSize", (PyCFunction)CtlObj_GetControlDataSize, 1, - "(ControlPartCode inPart, ResType inTagName) -> (Size outMaxSize)"}, - -#if TARGET_API_MAC_CARBON - {"HandleControlDragTracking", (PyCFunction)CtlObj_HandleControlDragTracking, 1, - "(DragTrackingMessage inMessage, DragReference inDrag) -> (Boolean outLikesDrag)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"HandleControlDragReceive", (PyCFunction)CtlObj_HandleControlDragReceive, 1, - "(DragReference inDrag) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"SetControlDragTrackingEnabled", (PyCFunction)CtlObj_SetControlDragTrackingEnabled, 1, - "(Boolean tracks) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"IsControlDragTrackingEnabled", (PyCFunction)CtlObj_IsControlDragTrackingEnabled, 1, - "() -> (Boolean tracks)"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"GetControlBounds", (PyCFunction)CtlObj_GetControlBounds, 1, - "() -> (Rect bounds)"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"IsControlHilited", (PyCFunction)CtlObj_IsControlHilited, 1, - "() -> (Boolean _rv)"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"GetControlHilite", (PyCFunction)CtlObj_GetControlHilite, 1, - "() -> (UInt16 _rv)"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"GetControlOwner", (PyCFunction)CtlObj_GetControlOwner, 1, - "() -> (WindowPtr _rv)"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"GetControlDataHandle", (PyCFunction)CtlObj_GetControlDataHandle, 1, - "() -> (Handle _rv)"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"GetControlPopupMenuHandle", (PyCFunction)CtlObj_GetControlPopupMenuHandle, 1, - "() -> (MenuHandle _rv)"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"GetControlPopupMenuID", (PyCFunction)CtlObj_GetControlPopupMenuID, 1, - "() -> (short _rv)"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"SetControlDataHandle", (PyCFunction)CtlObj_SetControlDataHandle, 1, - "(Handle dataHandle) -> None"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"SetControlBounds", (PyCFunction)CtlObj_SetControlBounds, 1, - "(Rect bounds) -> None"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"SetControlPopupMenuHandle", (PyCFunction)CtlObj_SetControlPopupMenuHandle, 1, - "(MenuHandle popupMenu) -> None"}, -#endif - -#if ACCESSOR_CALLS_ARE_FUNCTIONS - {"SetControlPopupMenuID", (PyCFunction)CtlObj_SetControlPopupMenuID, 1, - "(short menuID) -> None"}, -#endif - {"GetBevelButtonMenuValue", (PyCFunction)CtlObj_GetBevelButtonMenuValue, 1, - "() -> (SInt16 outValue)"}, - {"SetBevelButtonMenuValue", (PyCFunction)CtlObj_SetBevelButtonMenuValue, 1, - "(SInt16 inValue) -> None"}, - {"GetBevelButtonMenuHandle", (PyCFunction)CtlObj_GetBevelButtonMenuHandle, 1, - "() -> (MenuHandle outHandle)"}, - {"SetBevelButtonTransform", (PyCFunction)CtlObj_SetBevelButtonTransform, 1, - "(IconTransformType transform) -> None"}, - {"SetDisclosureTriangleLastValue", (PyCFunction)CtlObj_SetDisclosureTriangleLastValue, 1, - "(SInt16 inValue) -> None"}, - {"GetTabContentRect", (PyCFunction)CtlObj_GetTabContentRect, 1, - "() -> (Rect outContentRect)"}, - {"SetTabEnabled", (PyCFunction)CtlObj_SetTabEnabled, 1, - "(SInt16 inTabToHilite, Boolean inEnabled) -> None"}, - {"SetImageWellTransform", (PyCFunction)CtlObj_SetImageWellTransform, 1, - "(IconTransformType inTransform) -> None"}, - {"as_Resource", (PyCFunction)CtlObj_as_Resource, 1, - "() -> (Handle _rv)"}, - {"GetControlRect", (PyCFunction)CtlObj_GetControlRect, 1, - "() -> (Rect rect)"}, - {"DisposeControl", (PyCFunction)CtlObj_DisposeControl, 1, - "() -> None"}, - {"TrackControl", (PyCFunction)CtlObj_TrackControl, 1, - "(Point startPoint [,trackercallback]) -> (ControlPartCode _rv)"}, - {"HandleControlClick", (PyCFunction)CtlObj_HandleControlClick, 1, - "(Point startPoint, Integer modifiers, [,trackercallback]) -> (ControlPartCode _rv)"}, - {"SetControlData", (PyCFunction)CtlObj_SetControlData, 1, - "(stuff) -> None"}, - {"GetControlData", (PyCFunction)CtlObj_GetControlData, 1, - "(part, type) -> String"}, - {"SetControlData_Handle", (PyCFunction)CtlObj_SetControlData_Handle, 1, - "(ResObj) -> None"}, - {"GetControlData_Handle", (PyCFunction)CtlObj_GetControlData_Handle, 1, - "(part, type) -> ResObj"}, - {"SetControlData_Callback", (PyCFunction)CtlObj_SetControlData_Callback, 1, - "(callbackfunc) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"GetPopupData", (PyCFunction)CtlObj_GetPopupData, 1, - NULL}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SetPopupData", (PyCFunction)CtlObj_SetPopupData, 1, - NULL}, -#endif - {NULL, NULL, 0} -}; - -PyMethodChain CtlObj_chain = { CtlObj_methods, NULL }; - -static PyObject *CtlObj_getattr(ControlObject *self, char *name) -{ - return Py_FindMethodInChain(&CtlObj_chain, (PyObject *)self, name); -} - -#define CtlObj_setattr NULL - -static int CtlObj_compare(ControlObject *self, ControlObject *other) -{ - unsigned long v, w; - - if (!CtlObj_Check((PyObject *)other)) - { - v=(unsigned long)self; - w=(unsigned long)other; - } - else - { - v=(unsigned long)self->ob_itself; - w=(unsigned long)other->ob_itself; - } - if( v < w ) return -1; - if( v > w ) return 1; - return 0; -} - -#define CtlObj_repr NULL - -static long CtlObj_hash(ControlObject *self) -{ - return (long)self->ob_itself; -} - -PyTypeObject Control_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Control", /*tp_name*/ - sizeof(ControlObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) CtlObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) CtlObj_getattr, /*tp_getattr*/ - (setattrfunc) CtlObj_setattr, /*tp_setattr*/ - (cmpfunc) CtlObj_compare, /*tp_compare*/ - (reprfunc) CtlObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) CtlObj_hash, /*tp_hash*/ -}; - -/* -------------------- End object type Control --------------------- */ - - -static PyObject *Ctl_NewControl(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlHandle _rv; - WindowPtr owningWindow; - Rect boundsRect; - Str255 controlTitle; - Boolean initiallyVisible; - SInt16 initialValue; - SInt16 minimumValue; - SInt16 maximumValue; - SInt16 procID; - SInt32 controlReference; - if (!PyArg_ParseTuple(_args, "O&O&O&bhhhhl", - WinObj_Convert, &owningWindow, - PyMac_GetRect, &boundsRect, - PyMac_GetStr255, controlTitle, - &initiallyVisible, - &initialValue, - &minimumValue, - &maximumValue, - &procID, - &controlReference)) - return NULL; - _rv = NewControl(owningWindow, - &boundsRect, - controlTitle, - initiallyVisible, - initialValue, - minimumValue, - maximumValue, - procID, - controlReference); - _res = Py_BuildValue("O&", - CtlObj_New, _rv); - return _res; -} - -static PyObject *Ctl_GetNewControl(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlHandle _rv; - SInt16 resourceID; - WindowPtr owningWindow; - if (!PyArg_ParseTuple(_args, "hO&", - &resourceID, - WinObj_Convert, &owningWindow)) - return NULL; - _rv = GetNewControl(resourceID, - owningWindow); - _res = Py_BuildValue("O&", - CtlObj_New, _rv); - return _res; -} - -static PyObject *Ctl_DrawControls(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr theWindow; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &theWindow)) - return NULL; - DrawControls(theWindow); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Ctl_UpdateControls(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr theWindow; - RgnHandle updateRegion; - if (!PyArg_ParseTuple(_args, "O&O&", - WinObj_Convert, &theWindow, - ResObj_Convert, &updateRegion)) - return NULL; - UpdateControls(theWindow, - updateRegion); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Ctl_FindControl(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlPartCode _rv; - Point testPoint; - WindowPtr theWindow; - ControlHandle theControl; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &testPoint, - WinObj_Convert, &theWindow)) - return NULL; - _rv = FindControl(testPoint, - theWindow, - &theControl); - _res = Py_BuildValue("hO&", - _rv, - CtlObj_WhichControl, theControl); - return _res; -} - -static PyObject *Ctl_FindControlUnderMouse(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlHandle _rv; - Point inWhere; - WindowPtr inWindow; - SInt16 outPart; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &inWhere, - WinObj_Convert, &inWindow)) - return NULL; - _rv = FindControlUnderMouse(inWhere, - inWindow, - &outPart); - _res = Py_BuildValue("O&h", - CtlObj_New, _rv, - outPart); - return _res; -} - -static PyObject *Ctl_IdleControls(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr inWindow; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &inWindow)) - return NULL; - IdleControls(inWindow); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Ctl_GetControlByID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowPtr inWindow; - ControlID inID; - ControlHandle outControl; - if (!PyArg_ParseTuple(_args, "O&O&", - WinObj_Convert, &inWindow, - PyControlID_Convert, &inID)) - return NULL; - _err = GetControlByID(inWindow, - &inID, - &outControl); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CtlObj_WhichControl, outControl); - return _res; -} -#endif - -static PyObject *Ctl_DumpControlHierarchy(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - FSSpec inDumpFile; - if (!PyArg_ParseTuple(_args, "O&O&", - WinObj_Convert, &inWindow, - PyMac_GetFSSpec, &inDumpFile)) - return NULL; - _err = DumpControlHierarchy(inWindow, - &inDumpFile); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Ctl_CreateRootControl(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - ControlHandle outControl; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &inWindow)) - return NULL; - _err = CreateRootControl(inWindow, - &outControl); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CtlObj_WhichControl, outControl); - return _res; -} - -static PyObject *Ctl_GetRootControl(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - ControlHandle outControl; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &inWindow)) - return NULL; - _err = GetRootControl(inWindow, - &outControl); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CtlObj_WhichControl, outControl); - return _res; -} - -static PyObject *Ctl_GetKeyboardFocus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - ControlHandle outControl; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &inWindow)) - return NULL; - _err = GetKeyboardFocus(inWindow, - &outControl); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CtlObj_WhichControl, outControl); - return _res; -} - -static PyObject *Ctl_SetKeyboardFocus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - ControlHandle inControl; - ControlFocusPart inPart; - if (!PyArg_ParseTuple(_args, "O&O&h", - WinObj_Convert, &inWindow, - CtlObj_Convert, &inControl, - &inPart)) - return NULL; - _err = SetKeyboardFocus(inWindow, - inControl, - inPart); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Ctl_AdvanceKeyboardFocus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &inWindow)) - return NULL; - _err = AdvanceKeyboardFocus(inWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Ctl_ReverseKeyboardFocus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &inWindow)) - return NULL; - _err = ReverseKeyboardFocus(inWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Ctl_ClearKeyboardFocus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr inWindow; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &inWindow)) - return NULL; - _err = ClearKeyboardFocus(inWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Ctl_SetAutomaticControlDragTrackingEnabledForWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowPtr theWindow; - Boolean tracks; - if (!PyArg_ParseTuple(_args, "O&b", - WinObj_Convert, &theWindow, - &tracks)) - return NULL; - _err = SetAutomaticControlDragTrackingEnabledForWindow(theWindow, - tracks); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Ctl_IsAutomaticControlDragTrackingEnabledForWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowPtr theWindow; - Boolean tracks; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &theWindow)) - return NULL; - _err = IsAutomaticControlDragTrackingEnabledForWindow(theWindow, - &tracks); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - tracks); - return _res; -} -#endif - -static PyObject *Ctl_as_Control(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlHandle _rv; - Handle h; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &h)) - return NULL; - _rv = as_Control(h); - _res = Py_BuildValue("O&", - CtlObj_New, _rv); - return _res; -} - -static PyMethodDef Ctl_methods[] = { - {"NewControl", (PyCFunction)Ctl_NewControl, 1, - "(WindowPtr owningWindow, Rect boundsRect, Str255 controlTitle, Boolean initiallyVisible, SInt16 initialValue, SInt16 minimumValue, SInt16 maximumValue, SInt16 procID, SInt32 controlReference) -> (ControlHandle _rv)"}, - {"GetNewControl", (PyCFunction)Ctl_GetNewControl, 1, - "(SInt16 resourceID, WindowPtr owningWindow) -> (ControlHandle _rv)"}, - {"DrawControls", (PyCFunction)Ctl_DrawControls, 1, - "(WindowPtr theWindow) -> None"}, - {"UpdateControls", (PyCFunction)Ctl_UpdateControls, 1, - "(WindowPtr theWindow, RgnHandle updateRegion) -> None"}, - {"FindControl", (PyCFunction)Ctl_FindControl, 1, - "(Point testPoint, WindowPtr theWindow) -> (ControlPartCode _rv, ControlHandle theControl)"}, - {"FindControlUnderMouse", (PyCFunction)Ctl_FindControlUnderMouse, 1, - "(Point inWhere, WindowPtr inWindow) -> (ControlHandle _rv, SInt16 outPart)"}, - {"IdleControls", (PyCFunction)Ctl_IdleControls, 1, - "(WindowPtr inWindow) -> None"}, - -#if TARGET_API_MAC_CARBON - {"GetControlByID", (PyCFunction)Ctl_GetControlByID, 1, - "(WindowPtr inWindow, ControlID inID) -> (ControlHandle outControl)"}, -#endif - {"DumpControlHierarchy", (PyCFunction)Ctl_DumpControlHierarchy, 1, - "(WindowPtr inWindow, FSSpec inDumpFile) -> None"}, - {"CreateRootControl", (PyCFunction)Ctl_CreateRootControl, 1, - "(WindowPtr inWindow) -> (ControlHandle outControl)"}, - {"GetRootControl", (PyCFunction)Ctl_GetRootControl, 1, - "(WindowPtr inWindow) -> (ControlHandle outControl)"}, - {"GetKeyboardFocus", (PyCFunction)Ctl_GetKeyboardFocus, 1, - "(WindowPtr inWindow) -> (ControlHandle outControl)"}, - {"SetKeyboardFocus", (PyCFunction)Ctl_SetKeyboardFocus, 1, - "(WindowPtr inWindow, ControlHandle inControl, ControlFocusPart inPart) -> None"}, - {"AdvanceKeyboardFocus", (PyCFunction)Ctl_AdvanceKeyboardFocus, 1, - "(WindowPtr inWindow) -> None"}, - {"ReverseKeyboardFocus", (PyCFunction)Ctl_ReverseKeyboardFocus, 1, - "(WindowPtr inWindow) -> None"}, - {"ClearKeyboardFocus", (PyCFunction)Ctl_ClearKeyboardFocus, 1, - "(WindowPtr inWindow) -> None"}, - -#if TARGET_API_MAC_CARBON - {"SetAutomaticControlDragTrackingEnabledForWindow", (PyCFunction)Ctl_SetAutomaticControlDragTrackingEnabledForWindow, 1, - "(WindowPtr theWindow, Boolean tracks) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"IsAutomaticControlDragTrackingEnabledForWindow", (PyCFunction)Ctl_IsAutomaticControlDragTrackingEnabledForWindow, 1, - "(WindowPtr theWindow) -> (Boolean tracks)"}, -#endif - {"as_Control", (PyCFunction)Ctl_as_Control, 1, - "(Handle h) -> (ControlHandle _rv)"}, - {NULL, NULL, 0} -}; - - - -static PyObject * -CtlObj_NewUnmanaged(ControlHandle itself) -{ - ControlObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(ControlObject, &Control_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_callbackdict = NULL; - return (PyObject *)it; -} - -static PyObject * -CtlObj_WhichControl(ControlHandle c) -{ - PyObject *it; - - if (c == NULL) - it = Py_None; - else { - it = (PyObject *) GetControlReference(c); - /* - ** If the refcon is zero or doesn't point back to the Python object - ** the control is not ours. Return a temporary object. - */ - if (it == NULL || ((ControlObject *)it)->ob_itself != c) - return CtlObj_NewUnmanaged(c); - } - Py_INCREF(it); - return it; -} - -static int -settrackfunc(PyObject *obj) -{ - if (tracker) { - PyErr_SetString(Ctl_Error, "Tracker function in use"); - return 0; - } - tracker = obj; - Py_INCREF(tracker); -} - -static void -clrtrackfunc(void) -{ - Py_XDECREF(tracker); - tracker = 0; -} - -static pascal void -mytracker(ControlHandle ctl, short part) -{ - PyObject *args, *rv=0; - - args = Py_BuildValue("(O&i)", CtlObj_WhichControl, ctl, (int)part); - if (args && tracker) { - rv = PyEval_CallObject(tracker, args); - Py_DECREF(args); - } - if (rv) - Py_DECREF(rv); - else - PySys_WriteStderr("TrackControl or HandleControlClick: exception in tracker function\n"); -} - -static int -setcallback(PyObject *myself, OSType which, PyObject *callback, UniversalProcPtr *uppp) -{ - ControlObject *self = (ControlObject *)myself; - char keybuf[9]; - - if ( which == kControlUserPaneDrawProcTag ) - *uppp = (UniversalProcPtr)mydrawproc_upp; - else if ( which == kControlUserPaneIdleProcTag ) - *uppp = (UniversalProcPtr)myidleproc_upp; - else if ( which == kControlUserPaneHitTestProcTag ) - *uppp = (UniversalProcPtr)myhittestproc_upp; - else if ( which == kControlUserPaneTrackingProcTag ) - *uppp = (UniversalProcPtr)mytrackingproc_upp; - else - return -1; - /* Only now do we test for clearing of the callback: */ - if ( callback == Py_None ) - *uppp = NULL; - /* Create the dict if it doesn't exist yet (so we don't get such a dict for every control) */ - if ( self->ob_callbackdict == NULL ) - if ( (self->ob_callbackdict = PyDict_New()) == NULL ) - return -1; - /* And store the Python callback */ - sprintf(keybuf, "%x", which); - if (PyDict_SetItemString(self->ob_callbackdict, keybuf, callback) < 0) - return -1; - return 0; -} - -static PyObject * -callcallback(ControlObject *self, OSType which, PyObject *arglist) -{ - char keybuf[9]; - PyObject *func, *rv; - - sprintf(keybuf, "%x", which); - if ( self->ob_callbackdict == NULL || - (func = PyDict_GetItemString(self->ob_callbackdict, keybuf)) == NULL ) { - PySys_WriteStderr("Control callback %x without callback object\n", which); - return NULL; - } - rv = PyEval_CallObject(func, arglist); - if ( rv == NULL ) - PySys_WriteStderr("Exception in control callback %x handler\n", which); - return rv; -} - -static pascal void -mydrawproc(ControlHandle control, SInt16 part) -{ - ControlObject *ctl_obj; - PyObject *arglist, *rv; - - ctl_obj = (ControlObject *)CtlObj_WhichControl(control); - arglist = Py_BuildValue("Oh", ctl_obj, part); - rv = callcallback(ctl_obj, kControlUserPaneDrawProcTag, arglist); - Py_XDECREF(arglist); - Py_XDECREF(rv); -} - -static pascal void -myidleproc(ControlHandle control) -{ - ControlObject *ctl_obj; - PyObject *arglist, *rv; - - ctl_obj = (ControlObject *)CtlObj_WhichControl(control); - arglist = Py_BuildValue("O", ctl_obj); - rv = callcallback(ctl_obj, kControlUserPaneIdleProcTag, arglist); - Py_XDECREF(arglist); - Py_XDECREF(rv); -} - -static pascal ControlPartCode -myhittestproc(ControlHandle control, Point where) -{ - ControlObject *ctl_obj; - PyObject *arglist, *rv; - short c_rv = -1; - - ctl_obj = (ControlObject *)CtlObj_WhichControl(control); - arglist = Py_BuildValue("OO&", ctl_obj, PyMac_BuildPoint, where); - rv = callcallback(ctl_obj, kControlUserPaneHitTestProcTag, arglist); - Py_XDECREF(arglist); - /* Ignore errors, nothing we can do about them */ - if ( rv ) - PyArg_Parse(rv, "h", &c_rv); - Py_XDECREF(rv); - return (ControlPartCode)c_rv; -} - -static pascal ControlPartCode -mytrackingproc(ControlHandle control, Point startPt, ControlActionUPP actionProc) -{ - ControlObject *ctl_obj; - PyObject *arglist, *rv; - short c_rv = -1; - - ctl_obj = (ControlObject *)CtlObj_WhichControl(control); - /* We cannot pass the actionProc without lots of work */ - arglist = Py_BuildValue("OO&", ctl_obj, PyMac_BuildPoint, startPt); - rv = callcallback(ctl_obj, kControlUserPaneTrackingProcTag, arglist); - Py_XDECREF(arglist); - if ( rv ) - PyArg_Parse(rv, "h", &c_rv); - Py_XDECREF(rv); - return (ControlPartCode)c_rv; -} - - -void initCtl(void) -{ - PyObject *m; - PyObject *d; - - - - mytracker_upp = NewControlActionUPP(mytracker); - mydrawproc_upp = NewControlUserPaneDrawUPP(mydrawproc); - myidleproc_upp = NewControlUserPaneIdleUPP(myidleproc); - myhittestproc_upp = NewControlUserPaneHitTestUPP(myhittestproc); - mytrackingproc_upp = NewControlUserPaneTrackingUPP(mytrackingproc); - PyMac_INIT_TOOLBOX_OBJECT_NEW(ControlHandle, CtlObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(ControlHandle, CtlObj_Convert); - - - m = Py_InitModule("Ctl", Ctl_methods); - d = PyModule_GetDict(m); - Ctl_Error = PyMac_GetOSErrException(); - if (Ctl_Error == NULL || - PyDict_SetItemString(d, "Error", Ctl_Error) != 0) - return; - Control_Type.ob_type = &PyType_Type; - Py_INCREF(&Control_Type); - if (PyDict_SetItemString(d, "ControlType", (PyObject *)&Control_Type) != 0) - Py_FatalError("can't initialize ControlType"); -} - -/* ========================= End module Ctl ========================= */ - diff --git a/Mac/Modules/dlg/Dlgmodule.c b/Mac/Modules/dlg/Dlgmodule.c deleted file mode 100644 index 3c3c855..0000000 --- a/Mac/Modules/dlg/Dlgmodule.c +++ /dev/null @@ -1,1426 +0,0 @@ - -/* =========================== Module Dlg =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Dialogs.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_DlgObj_New(DialogRef); -extern PyObject *_DlgObj_WhichDialog(DialogRef); -extern int _DlgObj_Convert(PyObject *, DialogRef *); - -#define DlgObj_New _DlgObj_New -#define DlgObj_WhichDialog _DlgObj_WhichDialog -#define DlgObj_Convert _DlgObj_Convert -#endif - -#if !ACCESSOR_CALLS_ARE_FUNCTIONS -#define GetDialogTextEditHandle(dlg) (((DialogPeek)(dlg))->textH) -#define SetPortDialogPort(dlg) SetPort(dlg) -#define GetDialogPort(dlg) ((CGrafPtr)(dlg)) -#define GetDialogFromWindow(win) ((DialogRef)(win)) -#endif - -/* XXX Shouldn't this be a stack? */ -static PyObject *Dlg_FilterProc_callback = NULL; - -static pascal Boolean Dlg_UnivFilterProc(DialogPtr dialog, - EventRecord *event, - short *itemHit) -{ - Boolean rv; - PyObject *args, *res; - PyObject *callback = Dlg_FilterProc_callback; - if (callback == NULL) - return 0; /* Default behavior */ - Dlg_FilterProc_callback = NULL; /* We'll restore it when call successful */ - args = Py_BuildValue("O&O&", DlgObj_WhichDialog, dialog, PyMac_BuildEventRecord, event); - if (args == NULL) - res = NULL; - else { - res = PyEval_CallObject(callback, args); - Py_DECREF(args); - } - if (res == NULL) { - PySys_WriteStderr("Exception in Dialog Filter\n"); - PyErr_Print(); - *itemHit = -1; /* Fake return item */ - return 1; /* We handled it */ - } - else { - Dlg_FilterProc_callback = callback; - if (PyInt_Check(res)) { - *itemHit = PyInt_AsLong(res); - rv = 1; - } - else - rv = PyObject_IsTrue(res); - } - Py_DECREF(res); - return rv; -} - -static ModalFilterUPP -Dlg_PassFilterProc(PyObject *callback) -{ - PyObject *tmp = Dlg_FilterProc_callback; - static ModalFilterUPP UnivFilterUpp = NULL; - - Dlg_FilterProc_callback = NULL; - if (callback == Py_None) { - Py_XDECREF(tmp); - return NULL; - } - Py_INCREF(callback); - Dlg_FilterProc_callback = callback; - Py_XDECREF(tmp); - if ( UnivFilterUpp == NULL ) - UnivFilterUpp = NewModalFilterUPP(&Dlg_UnivFilterProc); - return UnivFilterUpp; -} - -static PyObject *Dlg_UserItemProc_callback = NULL; - -static pascal void Dlg_UnivUserItemProc(DialogPtr dialog, - short item) -{ - PyObject *args, *res; - - if (Dlg_UserItemProc_callback == NULL) - return; /* Default behavior */ - Dlg_FilterProc_callback = NULL; /* We'll restore it when call successful */ - args = Py_BuildValue("O&h", DlgObj_WhichDialog, dialog, item); - if (args == NULL) - res = NULL; - else { - res = PyEval_CallObject(Dlg_UserItemProc_callback, args); - Py_DECREF(args); - } - if (res == NULL) { - PySys_WriteStderr("Exception in Dialog UserItem proc\n"); - PyErr_Print(); - } - Py_XDECREF(res); - return; -} - -#if 0 -/* -** Treating DialogObjects as WindowObjects is (I think) illegal under Carbon. -** However, as they are still identical under MacOS9 Carbon this is a problem, even -** if we neatly call GetDialogWindow() at the right places: there's one refcon field -** and it points to the DialogObject, so WinObj_WhichWindow will smartly return the -** dialog object, and therefore we still don't have a WindowObject. -** I'll leave the chaining code in place for now, with this comment to warn the -** unsuspecting victims (i.e. me, probably, in a few weeks:-) -*/ -extern PyMethodChain WinObj_chain; -#endif - -static PyObject *Dlg_Error; - -/* ----------------------- Object type Dialog ----------------------- */ - -PyTypeObject Dialog_Type; - -#define DlgObj_Check(x) ((x)->ob_type == &Dialog_Type) - -typedef struct DialogObject { - PyObject_HEAD - DialogPtr ob_itself; -} DialogObject; - -PyObject *DlgObj_New(DialogPtr itself) -{ - DialogObject *it; - if (itself == NULL) return Py_None; - it = PyObject_NEW(DialogObject, &Dialog_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - SetWRefCon(GetDialogWindow(itself), (long)it); - return (PyObject *)it; -} -DlgObj_Convert(PyObject *v, DialogPtr *p_itself) -{ - if (v == Py_None) { *p_itself = NULL; return 1; } - if (PyInt_Check(v)) { *p_itself = (DialogPtr)PyInt_AsLong(v); - return 1; } - if (!DlgObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Dialog required"); - return 0; - } - *p_itself = ((DialogObject *)v)->ob_itself; - return 1; -} - -static void DlgObj_dealloc(DialogObject *self) -{ - DisposeDialog(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *DlgObj_DrawDialog(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DrawDialog(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_UpdateDialog(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle updateRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &updateRgn)) - return NULL; - UpdateDialog(_self->ob_itself, - updateRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_HideDialogItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex itemNo; - if (!PyArg_ParseTuple(_args, "h", - &itemNo)) - return NULL; - HideDialogItem(_self->ob_itself, - itemNo); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_ShowDialogItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex itemNo; - if (!PyArg_ParseTuple(_args, "h", - &itemNo)) - return NULL; - ShowDialogItem(_self->ob_itself, - itemNo); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_FindDialogItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndexZeroBased _rv; - Point thePt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &thePt)) - return NULL; - _rv = FindDialogItem(_self->ob_itself, - thePt); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *DlgObj_DialogCut(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DialogCut(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_DialogPaste(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DialogPaste(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_DialogCopy(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DialogCopy(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_DialogDelete(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DialogDelete(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_GetDialogItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex itemNo; - DialogItemType itemType; - Handle item; - Rect box; - if (!PyArg_ParseTuple(_args, "h", - &itemNo)) - return NULL; - GetDialogItem(_self->ob_itself, - itemNo, - &itemType, - &item, - &box); - _res = Py_BuildValue("hO&O&", - itemType, - OptResObj_New, item, - PyMac_BuildRect, &box); - return _res; -} - -static PyObject *DlgObj_SetDialogItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex itemNo; - DialogItemType itemType; - Handle item; - Rect box; - if (!PyArg_ParseTuple(_args, "hhO&O&", - &itemNo, - &itemType, - ResObj_Convert, &item, - PyMac_GetRect, &box)) - return NULL; - SetDialogItem(_self->ob_itself, - itemNo, - itemType, - item, - &box); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_SelectDialogItemText(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex itemNo; - SInt16 strtSel; - SInt16 endSel; - if (!PyArg_ParseTuple(_args, "hhh", - &itemNo, - &strtSel, - &endSel)) - return NULL; - SelectDialogItemText(_self->ob_itself, - itemNo, - strtSel, - endSel); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_AppendDITL(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle theHandle; - DITLMethod method; - if (!PyArg_ParseTuple(_args, "O&h", - ResObj_Convert, &theHandle, - &method)) - return NULL; - AppendDITL(_self->ob_itself, - theHandle, - method); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_CountDITL(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CountDITL(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *DlgObj_ShortenDITL(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex numberItems; - if (!PyArg_ParseTuple(_args, "h", - &numberItems)) - return NULL; - ShortenDITL(_self->ob_itself, - numberItems); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *DlgObj_InsertDialogItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - DialogItemIndex afterItem; - DialogItemType itemType; - Handle itemHandle; - Rect box; - if (!PyArg_ParseTuple(_args, "hhO&O&", - &afterItem, - &itemType, - ResObj_Convert, &itemHandle, - PyMac_GetRect, &box)) - return NULL; - _err = InsertDialogItem(_self->ob_itself, - afterItem, - itemType, - itemHandle, - &box); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *DlgObj_RemoveDialogItems(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - DialogItemIndex itemNo; - DialogItemIndex amountToRemove; - Boolean disposeItemData; - if (!PyArg_ParseTuple(_args, "hhb", - &itemNo, - &amountToRemove, - &disposeItemData)) - return NULL; - _err = RemoveDialogItems(_self->ob_itself, - itemNo, - amountToRemove, - disposeItemData); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *DlgObj_StdFilterProc(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventRecord event; - DialogItemIndex itemHit; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = StdFilterProc(_self->ob_itself, - &event, - &itemHit); - _res = Py_BuildValue("bO&h", - _rv, - PyMac_BuildEventRecord, &event, - itemHit); - return _res; -} - -static PyObject *DlgObj_SetDialogDefaultItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DialogItemIndex newItem; - if (!PyArg_ParseTuple(_args, "h", - &newItem)) - return NULL; - _err = SetDialogDefaultItem(_self->ob_itself, - newItem); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_SetDialogCancelItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DialogItemIndex newItem; - if (!PyArg_ParseTuple(_args, "h", - &newItem)) - return NULL; - _err = SetDialogCancelItem(_self->ob_itself, - newItem); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_SetDialogTracksCursor(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Boolean tracks; - if (!PyArg_ParseTuple(_args, "b", - &tracks)) - return NULL; - _err = SetDialogTracksCursor(_self->ob_itself, - tracks); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_AutoSizeDialog(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AutoSizeDialog(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_GetDialogItemAsControl(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItemNo; - ControlHandle outControl; - if (!PyArg_ParseTuple(_args, "h", - &inItemNo)) - return NULL; - _err = GetDialogItemAsControl(_self->ob_itself, - inItemNo, - &outControl); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CtlObj_New, outControl); - return _res; -} - -static PyObject *DlgObj_MoveDialogItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItemNo; - SInt16 inHoriz; - SInt16 inVert; - if (!PyArg_ParseTuple(_args, "hhh", - &inItemNo, - &inHoriz, - &inVert)) - return NULL; - _err = MoveDialogItem(_self->ob_itself, - inItemNo, - inHoriz, - inVert); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_SizeDialogItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItemNo; - SInt16 inWidth; - SInt16 inHeight; - if (!PyArg_ParseTuple(_args, "hhh", - &inItemNo, - &inWidth, - &inHeight)) - return NULL; - _err = SizeDialogItem(_self->ob_itself, - inItemNo, - inWidth, - inHeight); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_AppendDialogItemList(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 ditlID; - DITLMethod method; - if (!PyArg_ParseTuple(_args, "hh", - &ditlID, - &method)) - return NULL; - _err = AppendDialogItemList(_self->ob_itself, - ditlID, - method); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_SetDialogTimeout(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - SInt16 inButtonToPress; - UInt32 inSecondsToWait; - if (!PyArg_ParseTuple(_args, "hl", - &inButtonToPress, - &inSecondsToWait)) - return NULL; - _err = SetDialogTimeout(_self->ob_itself, - inButtonToPress, - inSecondsToWait); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_GetDialogTimeout(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - SInt16 outButtonToPress; - UInt32 outSecondsToWait; - UInt32 outSecondsRemaining; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetDialogTimeout(_self->ob_itself, - &outButtonToPress, - &outSecondsToWait, - &outSecondsRemaining); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("hll", - outButtonToPress, - outSecondsToWait, - outSecondsRemaining); - return _res; -} - -static PyObject *DlgObj_SetModalDialogEventMask(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - EventMask inMask; - if (!PyArg_ParseTuple(_args, "H", - &inMask)) - return NULL; - _err = SetModalDialogEventMask(_self->ob_itself, - inMask); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_GetModalDialogEventMask(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - EventMask outMask; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetModalDialogEventMask(_self->ob_itself, - &outMask); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("H", - outMask); - return _res; -} - -static PyObject *DlgObj_GetDialogWindow(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDialogWindow(_self->ob_itself); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} - -static PyObject *DlgObj_GetDialogTextEditHandle(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TEHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDialogTextEditHandle(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *DlgObj_GetDialogDefaultItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDialogDefaultItem(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *DlgObj_GetDialogCancelItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDialogCancelItem(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *DlgObj_GetDialogKeyboardFocusItem(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDialogKeyboardFocusItem(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *DlgObj_SetPortDialogPort(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - SetPortDialogPort(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DlgObj_GetDialogPort(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDialogPort(_self->ob_itself); - _res = Py_BuildValue("O&", - GrafObj_New, _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *DlgObj_SetGrafPortOfDialog(DialogObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - SetGrafPortOfDialog(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyMethodDef DlgObj_methods[] = { - {"DrawDialog", (PyCFunction)DlgObj_DrawDialog, 1, - "() -> None"}, - {"UpdateDialog", (PyCFunction)DlgObj_UpdateDialog, 1, - "(RgnHandle updateRgn) -> None"}, - {"HideDialogItem", (PyCFunction)DlgObj_HideDialogItem, 1, - "(DialogItemIndex itemNo) -> None"}, - {"ShowDialogItem", (PyCFunction)DlgObj_ShowDialogItem, 1, - "(DialogItemIndex itemNo) -> None"}, - {"FindDialogItem", (PyCFunction)DlgObj_FindDialogItem, 1, - "(Point thePt) -> (DialogItemIndexZeroBased _rv)"}, - {"DialogCut", (PyCFunction)DlgObj_DialogCut, 1, - "() -> None"}, - {"DialogPaste", (PyCFunction)DlgObj_DialogPaste, 1, - "() -> None"}, - {"DialogCopy", (PyCFunction)DlgObj_DialogCopy, 1, - "() -> None"}, - {"DialogDelete", (PyCFunction)DlgObj_DialogDelete, 1, - "() -> None"}, - {"GetDialogItem", (PyCFunction)DlgObj_GetDialogItem, 1, - "(DialogItemIndex itemNo) -> (DialogItemType itemType, Handle item, Rect box)"}, - {"SetDialogItem", (PyCFunction)DlgObj_SetDialogItem, 1, - "(DialogItemIndex itemNo, DialogItemType itemType, Handle item, Rect box) -> None"}, - {"SelectDialogItemText", (PyCFunction)DlgObj_SelectDialogItemText, 1, - "(DialogItemIndex itemNo, SInt16 strtSel, SInt16 endSel) -> None"}, - {"AppendDITL", (PyCFunction)DlgObj_AppendDITL, 1, - "(Handle theHandle, DITLMethod method) -> None"}, - {"CountDITL", (PyCFunction)DlgObj_CountDITL, 1, - "() -> (DialogItemIndex _rv)"}, - {"ShortenDITL", (PyCFunction)DlgObj_ShortenDITL, 1, - "(DialogItemIndex numberItems) -> None"}, - -#if TARGET_API_MAC_CARBON - {"InsertDialogItem", (PyCFunction)DlgObj_InsertDialogItem, 1, - "(DialogItemIndex afterItem, DialogItemType itemType, Handle itemHandle, Rect box) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"RemoveDialogItems", (PyCFunction)DlgObj_RemoveDialogItems, 1, - "(DialogItemIndex itemNo, DialogItemIndex amountToRemove, Boolean disposeItemData) -> None"}, -#endif - {"StdFilterProc", (PyCFunction)DlgObj_StdFilterProc, 1, - "() -> (Boolean _rv, EventRecord event, DialogItemIndex itemHit)"}, - {"SetDialogDefaultItem", (PyCFunction)DlgObj_SetDialogDefaultItem, 1, - "(DialogItemIndex newItem) -> None"}, - {"SetDialogCancelItem", (PyCFunction)DlgObj_SetDialogCancelItem, 1, - "(DialogItemIndex newItem) -> None"}, - {"SetDialogTracksCursor", (PyCFunction)DlgObj_SetDialogTracksCursor, 1, - "(Boolean tracks) -> None"}, - {"AutoSizeDialog", (PyCFunction)DlgObj_AutoSizeDialog, 1, - "() -> None"}, - {"GetDialogItemAsControl", (PyCFunction)DlgObj_GetDialogItemAsControl, 1, - "(SInt16 inItemNo) -> (ControlHandle outControl)"}, - {"MoveDialogItem", (PyCFunction)DlgObj_MoveDialogItem, 1, - "(SInt16 inItemNo, SInt16 inHoriz, SInt16 inVert) -> None"}, - {"SizeDialogItem", (PyCFunction)DlgObj_SizeDialogItem, 1, - "(SInt16 inItemNo, SInt16 inWidth, SInt16 inHeight) -> None"}, - {"AppendDialogItemList", (PyCFunction)DlgObj_AppendDialogItemList, 1, - "(SInt16 ditlID, DITLMethod method) -> None"}, - {"SetDialogTimeout", (PyCFunction)DlgObj_SetDialogTimeout, 1, - "(SInt16 inButtonToPress, UInt32 inSecondsToWait) -> None"}, - {"GetDialogTimeout", (PyCFunction)DlgObj_GetDialogTimeout, 1, - "() -> (SInt16 outButtonToPress, UInt32 outSecondsToWait, UInt32 outSecondsRemaining)"}, - {"SetModalDialogEventMask", (PyCFunction)DlgObj_SetModalDialogEventMask, 1, - "(EventMask inMask) -> None"}, - {"GetModalDialogEventMask", (PyCFunction)DlgObj_GetModalDialogEventMask, 1, - "() -> (EventMask outMask)"}, - {"GetDialogWindow", (PyCFunction)DlgObj_GetDialogWindow, 1, - "() -> (WindowPtr _rv)"}, - {"GetDialogTextEditHandle", (PyCFunction)DlgObj_GetDialogTextEditHandle, 1, - "() -> (TEHandle _rv)"}, - {"GetDialogDefaultItem", (PyCFunction)DlgObj_GetDialogDefaultItem, 1, - "() -> (SInt16 _rv)"}, - {"GetDialogCancelItem", (PyCFunction)DlgObj_GetDialogCancelItem, 1, - "() -> (SInt16 _rv)"}, - {"GetDialogKeyboardFocusItem", (PyCFunction)DlgObj_GetDialogKeyboardFocusItem, 1, - "() -> (SInt16 _rv)"}, - {"SetPortDialogPort", (PyCFunction)DlgObj_SetPortDialogPort, 1, - "() -> None"}, - {"GetDialogPort", (PyCFunction)DlgObj_GetDialogPort, 1, - "() -> (CGrafPtr _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"SetGrafPortOfDialog", (PyCFunction)DlgObj_SetGrafPortOfDialog, 1, - "() -> None"}, -#endif - {NULL, NULL, 0} -}; - -PyMethodChain DlgObj_chain = { DlgObj_methods, NULL }; - -static PyObject *DlgObj_getattr(DialogObject *self, char *name) -{ - return Py_FindMethodInChain(&DlgObj_chain, (PyObject *)self, name); -} - -#define DlgObj_setattr NULL - -static int DlgObj_compare(DialogObject *self, DialogObject *other) -{ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -#define DlgObj_repr NULL - -static int DlgObj_hash(DialogObject *self) -{ - return (int)self->ob_itself; -} - -PyTypeObject Dialog_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Dialog", /*tp_name*/ - sizeof(DialogObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) DlgObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) DlgObj_getattr, /*tp_getattr*/ - (setattrfunc) DlgObj_setattr, /*tp_setattr*/ - (cmpfunc) DlgObj_compare, /*tp_compare*/ - (reprfunc) DlgObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) DlgObj_hash, /*tp_hash*/ -}; - -/* --------------------- End object type Dialog --------------------- */ - - -static PyObject *Dlg_NewDialog(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogPtr _rv; - Rect boundsRect; - Str255 title; - Boolean visible; - SInt16 procID; - WindowPtr behind; - Boolean goAwayFlag; - SInt32 refCon; - Handle items; - if (!PyArg_ParseTuple(_args, "O&O&bhO&blO&", - PyMac_GetRect, &boundsRect, - PyMac_GetStr255, title, - &visible, - &procID, - WinObj_Convert, &behind, - &goAwayFlag, - &refCon, - ResObj_Convert, &items)) - return NULL; - _rv = NewDialog((void *)0, - &boundsRect, - title, - visible, - procID, - behind, - goAwayFlag, - refCon, - items); - _res = Py_BuildValue("O&", - DlgObj_New, _rv); - return _res; -} - -static PyObject *Dlg_GetNewDialog(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogPtr _rv; - SInt16 dialogID; - WindowPtr behind; - if (!PyArg_ParseTuple(_args, "hO&", - &dialogID, - WinObj_Convert, &behind)) - return NULL; - _rv = GetNewDialog(dialogID, - (void *)0, - behind); - _res = Py_BuildValue("O&", - DlgObj_New, _rv); - return _res; -} - -static PyObject *Dlg_NewColorDialog(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogPtr _rv; - Rect boundsRect; - Str255 title; - Boolean visible; - SInt16 procID; - WindowPtr behind; - Boolean goAwayFlag; - SInt32 refCon; - Handle items; - if (!PyArg_ParseTuple(_args, "O&O&bhO&blO&", - PyMac_GetRect, &boundsRect, - PyMac_GetStr255, title, - &visible, - &procID, - WinObj_Convert, &behind, - &goAwayFlag, - &refCon, - ResObj_Convert, &items)) - return NULL; - _rv = NewColorDialog((void *)0, - &boundsRect, - title, - visible, - procID, - behind, - goAwayFlag, - refCon, - items); - _res = Py_BuildValue("O&", - DlgObj_New, _rv); - return _res; -} - -static PyObject *Dlg_ModalDialog(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyObject* modalFilter; - DialogItemIndex itemHit; - if (!PyArg_ParseTuple(_args, "O", - &modalFilter)) - return NULL; - ModalDialog(Dlg_PassFilterProc(modalFilter), - &itemHit); - _res = Py_BuildValue("h", - itemHit); - return _res; -} - -static PyObject *Dlg_IsDialogEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventRecord theEvent; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &theEvent)) - return NULL; - _rv = IsDialogEvent(&theEvent); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Dlg_DialogSelect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventRecord theEvent; - DialogPtr theDialog; - DialogItemIndex itemHit; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &theEvent)) - return NULL; - _rv = DialogSelect(&theEvent, - &theDialog, - &itemHit); - _res = Py_BuildValue("bO&h", - _rv, - DlgObj_WhichDialog, theDialog, - itemHit); - return _res; -} - -static PyObject *Dlg_Alert(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex _rv; - SInt16 alertID; - PyObject* modalFilter; - if (!PyArg_ParseTuple(_args, "hO", - &alertID, - &modalFilter)) - return NULL; - _rv = Alert(alertID, - Dlg_PassFilterProc(modalFilter)); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Dlg_StopAlert(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex _rv; - SInt16 alertID; - PyObject* modalFilter; - if (!PyArg_ParseTuple(_args, "hO", - &alertID, - &modalFilter)) - return NULL; - _rv = StopAlert(alertID, - Dlg_PassFilterProc(modalFilter)); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Dlg_NoteAlert(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex _rv; - SInt16 alertID; - PyObject* modalFilter; - if (!PyArg_ParseTuple(_args, "hO", - &alertID, - &modalFilter)) - return NULL; - _rv = NoteAlert(alertID, - Dlg_PassFilterProc(modalFilter)); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Dlg_CautionAlert(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogItemIndex _rv; - SInt16 alertID; - PyObject* modalFilter; - if (!PyArg_ParseTuple(_args, "hO", - &alertID, - &modalFilter)) - return NULL; - _rv = CautionAlert(alertID, - Dlg_PassFilterProc(modalFilter)); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Dlg_ParamText(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 param0; - Str255 param1; - Str255 param2; - Str255 param3; - if (!PyArg_ParseTuple(_args, "O&O&O&O&", - PyMac_GetStr255, param0, - PyMac_GetStr255, param1, - PyMac_GetStr255, param2, - PyMac_GetStr255, param3)) - return NULL; - ParamText(param0, - param1, - param2, - param3); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Dlg_GetDialogItemText(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle item; - Str255 text; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &item)) - return NULL; - GetDialogItemText(item, - text); - _res = Py_BuildValue("O&", - PyMac_BuildStr255, text); - return _res; -} - -static PyObject *Dlg_SetDialogItemText(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle item; - Str255 text; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &item, - PyMac_GetStr255, text)) - return NULL; - SetDialogItemText(item, - text); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Dlg_GetAlertStage(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetAlertStage(); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Dlg_SetDialogFont(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 fontNum; - if (!PyArg_ParseTuple(_args, "h", - &fontNum)) - return NULL; - SetDialogFont(fontNum); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Dlg_ResetAlertStage(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ResetAlertStage(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Dlg_GetParamText(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 param0; - Str255 param1; - Str255 param2; - Str255 param3; - if (!PyArg_ParseTuple(_args, "O&O&O&O&", - PyMac_GetStr255, param0, - PyMac_GetStr255, param1, - PyMac_GetStr255, param2, - PyMac_GetStr255, param3)) - return NULL; - GetParamText(param0, - param1, - param2, - param3); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Dlg_NewFeaturesDialog(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogPtr _rv; - Rect inBoundsRect; - Str255 inTitle; - Boolean inIsVisible; - SInt16 inProcID; - WindowPtr inBehind; - Boolean inGoAwayFlag; - SInt32 inRefCon; - Handle inItemListHandle; - UInt32 inFlags; - if (!PyArg_ParseTuple(_args, "O&O&bhO&blO&l", - PyMac_GetRect, &inBoundsRect, - PyMac_GetStr255, inTitle, - &inIsVisible, - &inProcID, - WinObj_Convert, &inBehind, - &inGoAwayFlag, - &inRefCon, - ResObj_Convert, &inItemListHandle, - &inFlags)) - return NULL; - _rv = NewFeaturesDialog((void *)0, - &inBoundsRect, - inTitle, - inIsVisible, - inProcID, - inBehind, - inGoAwayFlag, - inRefCon, - inItemListHandle, - inFlags); - _res = Py_BuildValue("O&", - DlgObj_New, _rv); - return _res; -} - -static PyObject *Dlg_GetDialogFromWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DialogPtr _rv; - WindowPtr window; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &window)) - return NULL; - _rv = GetDialogFromWindow(window); - _res = Py_BuildValue("O&", - DlgObj_New, _rv); - return _res; -} - -static PyObject *Dlg_SetUserItemHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - PyObject *new = NULL; - - - if (!PyArg_ParseTuple(_args, "|O", &new)) - return NULL; - - if (Dlg_UserItemProc_callback && new && new != Py_None) { - PyErr_SetString(Dlg_Error, "Another UserItemProc is already installed"); - return NULL; - } - - if (new == NULL || new == Py_None) { - new = NULL; - _res = Py_None; - Py_INCREF(Py_None); - } else { - Py_INCREF(new); - _res = Py_BuildValue("O&", ResObj_New, (Handle)NewUserItemUPP(Dlg_UnivUserItemProc)); - } - - Dlg_UserItemProc_callback = new; - return _res; - -} - -static PyMethodDef Dlg_methods[] = { - {"NewDialog", (PyCFunction)Dlg_NewDialog, 1, - "(Rect boundsRect, Str255 title, Boolean visible, SInt16 procID, WindowPtr behind, Boolean goAwayFlag, SInt32 refCon, Handle items) -> (DialogPtr _rv)"}, - {"GetNewDialog", (PyCFunction)Dlg_GetNewDialog, 1, - "(SInt16 dialogID, WindowPtr behind) -> (DialogPtr _rv)"}, - {"NewColorDialog", (PyCFunction)Dlg_NewColorDialog, 1, - "(Rect boundsRect, Str255 title, Boolean visible, SInt16 procID, WindowPtr behind, Boolean goAwayFlag, SInt32 refCon, Handle items) -> (DialogPtr _rv)"}, - {"ModalDialog", (PyCFunction)Dlg_ModalDialog, 1, - "(PyObject* modalFilter) -> (DialogItemIndex itemHit)"}, - {"IsDialogEvent", (PyCFunction)Dlg_IsDialogEvent, 1, - "(EventRecord theEvent) -> (Boolean _rv)"}, - {"DialogSelect", (PyCFunction)Dlg_DialogSelect, 1, - "(EventRecord theEvent) -> (Boolean _rv, DialogPtr theDialog, DialogItemIndex itemHit)"}, - {"Alert", (PyCFunction)Dlg_Alert, 1, - "(SInt16 alertID, PyObject* modalFilter) -> (DialogItemIndex _rv)"}, - {"StopAlert", (PyCFunction)Dlg_StopAlert, 1, - "(SInt16 alertID, PyObject* modalFilter) -> (DialogItemIndex _rv)"}, - {"NoteAlert", (PyCFunction)Dlg_NoteAlert, 1, - "(SInt16 alertID, PyObject* modalFilter) -> (DialogItemIndex _rv)"}, - {"CautionAlert", (PyCFunction)Dlg_CautionAlert, 1, - "(SInt16 alertID, PyObject* modalFilter) -> (DialogItemIndex _rv)"}, - {"ParamText", (PyCFunction)Dlg_ParamText, 1, - "(Str255 param0, Str255 param1, Str255 param2, Str255 param3) -> None"}, - {"GetDialogItemText", (PyCFunction)Dlg_GetDialogItemText, 1, - "(Handle item) -> (Str255 text)"}, - {"SetDialogItemText", (PyCFunction)Dlg_SetDialogItemText, 1, - "(Handle item, Str255 text) -> None"}, - {"GetAlertStage", (PyCFunction)Dlg_GetAlertStage, 1, - "() -> (SInt16 _rv)"}, - {"SetDialogFont", (PyCFunction)Dlg_SetDialogFont, 1, - "(SInt16 fontNum) -> None"}, - {"ResetAlertStage", (PyCFunction)Dlg_ResetAlertStage, 1, - "() -> None"}, - -#if TARGET_API_MAC_CARBON - {"GetParamText", (PyCFunction)Dlg_GetParamText, 1, - "(Str255 param0, Str255 param1, Str255 param2, Str255 param3) -> None"}, -#endif - {"NewFeaturesDialog", (PyCFunction)Dlg_NewFeaturesDialog, 1, - "(Rect inBoundsRect, Str255 inTitle, Boolean inIsVisible, SInt16 inProcID, WindowPtr inBehind, Boolean inGoAwayFlag, SInt32 inRefCon, Handle inItemListHandle, UInt32 inFlags) -> (DialogPtr _rv)"}, - {"GetDialogFromWindow", (PyCFunction)Dlg_GetDialogFromWindow, 1, - "(WindowPtr window) -> (DialogPtr _rv)"}, - {"SetUserItemHandler", (PyCFunction)Dlg_SetUserItemHandler, 1, - NULL}, - {NULL, NULL, 0} -}; - - - -/* Return the WindowPtr corresponding to a DialogObject */ -#if 0 -WindowPtr -DlgObj_ConvertToWindow(PyObject *self) -{ - if ( DlgObj_Check(self) ) - return GetDialogWindow(((DialogObject *)self)->ob_itself); - return NULL; -} -#endif -/* Return the object corresponding to the dialog, or None */ - -PyObject * -DlgObj_WhichDialog(DialogPtr d) -{ - PyObject *it; - - if (d == NULL) { - it = Py_None; - Py_INCREF(it); - } else { - WindowPtr w = GetDialogWindow(d); - - it = (PyObject *) GetWRefCon(w); - if (it == NULL || ((DialogObject *)it)->ob_itself != d || !DlgObj_Check(it)) { -#if 0 - /* Should do this, but we don't have an ob_freeit for dialogs yet. */ - it = WinObj_New(w); - ((WindowObject *)it)->ob_freeit = NULL; -#else - it = Py_None; - Py_INCREF(it); -#endif - } else { - Py_INCREF(it); - } - } - return it; -} - - -void initDlg(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(DialogPtr, DlgObj_New); - PyMac_INIT_TOOLBOX_OBJECT_NEW(DialogPtr, DlgObj_WhichDialog); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(DialogPtr, DlgObj_Convert); - - - m = Py_InitModule("Dlg", Dlg_methods); - d = PyModule_GetDict(m); - Dlg_Error = PyMac_GetOSErrException(); - if (Dlg_Error == NULL || - PyDict_SetItemString(d, "Error", Dlg_Error) != 0) - return; - Dialog_Type.ob_type = &PyType_Type; - Py_INCREF(&Dialog_Type); - if (PyDict_SetItemString(d, "DialogType", (PyObject *)&Dialog_Type) != 0) - Py_FatalError("can't initialize DialogType"); -} - -/* ========================= End module Dlg ========================= */ - diff --git a/Mac/Modules/drag/Dragmodule.c b/Mac/Modules/drag/Dragmodule.c deleted file mode 100644 index 2fd7cfe..0000000 --- a/Mac/Modules/drag/Dragmodule.c +++ /dev/null @@ -1,1004 +0,0 @@ - -/* ========================== Module Drag =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Drag.h> -#else -#include <Carbon/Carbon.h> -#endif - -/* Callback glue routines */ -DragTrackingHandlerUPP dragglue_TrackingHandlerUPP; -DragReceiveHandlerUPP dragglue_ReceiveHandlerUPP; -DragSendDataUPP dragglue_SendDataUPP; -#if 0 -DragInputUPP dragglue_InputUPP; -DragDrawingUPP dragglue_DrawingUPP; -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_DragObj_New(DragRef); -extern int _DragObj_Convert(PyObject *, DragRef *); - -#define DragObj_New _DragObj_New -#define DragObj_Convert _DragObj_Convert -#endif - -static PyObject *Drag_Error; - -/* ---------------------- Object type DragObj ----------------------- */ - -PyTypeObject DragObj_Type; - -#define DragObj_Check(x) ((x)->ob_type == &DragObj_Type) - -typedef struct DragObjObject { - PyObject_HEAD - DragRef ob_itself; - PyObject *sendproc; -} DragObjObject; - -PyObject *DragObj_New(DragRef itself) -{ - DragObjObject *it; - if (itself == NULL) { - PyErr_SetString(Drag_Error,"Cannot create null Drag"); - return NULL; - } - it = PyObject_NEW(DragObjObject, &DragObj_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->sendproc = NULL; - return (PyObject *)it; -} -DragObj_Convert(PyObject *v, DragRef *p_itself) -{ - if (!DragObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "DragObj required"); - return 0; - } - *p_itself = ((DragObjObject *)v)->ob_itself; - return 1; -} - -static void DragObj_dealloc(DragObjObject *self) -{ - Py_XDECREF(self->sendproc); - PyMem_DEL(self); -} - -static PyObject *DragObj_DisposeDrag(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = DisposeDrag(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_AddDragItemFlavor(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - FlavorType theType; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - FlavorFlags theFlags; - if (!PyArg_ParseTuple(_args, "lO&z#l", - &theItemRef, - PyMac_GetOSType, &theType, - &dataPtr__in__, &dataPtr__in_len__, - &theFlags)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AddDragItemFlavor(_self->ob_itself, - theItemRef, - theType, - dataPtr__in__, dataPtr__len__, - theFlags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - dataPtr__error__: ; - return _res; -} - -static PyObject *DragObj_SetDragItemFlavorData(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - FlavorType theType; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - UInt32 dataOffset; - if (!PyArg_ParseTuple(_args, "lO&z#l", - &theItemRef, - PyMac_GetOSType, &theType, - &dataPtr__in__, &dataPtr__in_len__, - &dataOffset)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = SetDragItemFlavorData(_self->ob_itself, - theItemRef, - theType, - dataPtr__in__, dataPtr__len__, - dataOffset); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - dataPtr__error__: ; - return _res; -} - -static PyObject *DragObj_SetDragImage(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - PixMapHandle imagePixMap; - RgnHandle imageRgn; - Point imageOffsetPt; - DragImageFlags theImageFlags; - if (!PyArg_ParseTuple(_args, "O&O&O&l", - ResObj_Convert, &imagePixMap, - ResObj_Convert, &imageRgn, - PyMac_GetPoint, &imageOffsetPt, - &theImageFlags)) - return NULL; - _err = SetDragImage(_self->ob_itself, - imagePixMap, - imageRgn, - imageOffsetPt, - theImageFlags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_ChangeDragBehaviors(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DragBehaviors inBehaviorsToSet; - DragBehaviors inBehaviorsToClear; - if (!PyArg_ParseTuple(_args, "ll", - &inBehaviorsToSet, - &inBehaviorsToClear)) - return NULL; - _err = ChangeDragBehaviors(_self->ob_itself, - inBehaviorsToSet, - inBehaviorsToClear); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_TrackDrag(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - EventRecord theEvent; - RgnHandle theRegion; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetEventRecord, &theEvent, - ResObj_Convert, &theRegion)) - return NULL; - _err = TrackDrag(_self->ob_itself, - &theEvent, - theRegion); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_CountDragItems(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - UInt16 numItems; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = CountDragItems(_self->ob_itself, - &numItems); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("H", - numItems); - return _res; -} - -static PyObject *DragObj_GetDragItemReferenceNumber(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - UInt16 index; - ItemReference theItemRef; - if (!PyArg_ParseTuple(_args, "H", - &index)) - return NULL; - _err = GetDragItemReferenceNumber(_self->ob_itself, - index, - &theItemRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - theItemRef); - return _res; -} - -static PyObject *DragObj_CountDragItemFlavors(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - UInt16 numFlavors; - if (!PyArg_ParseTuple(_args, "l", - &theItemRef)) - return NULL; - _err = CountDragItemFlavors(_self->ob_itself, - theItemRef, - &numFlavors); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("H", - numFlavors); - return _res; -} - -static PyObject *DragObj_GetFlavorType(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - UInt16 index; - FlavorType theType; - if (!PyArg_ParseTuple(_args, "lH", - &theItemRef, - &index)) - return NULL; - _err = GetFlavorType(_self->ob_itself, - theItemRef, - index, - &theType); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildOSType, theType); - return _res; -} - -static PyObject *DragObj_GetFlavorFlags(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - FlavorType theType; - FlavorFlags theFlags; - if (!PyArg_ParseTuple(_args, "lO&", - &theItemRef, - PyMac_GetOSType, &theType)) - return NULL; - _err = GetFlavorFlags(_self->ob_itself, - theItemRef, - theType, - &theFlags); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - theFlags); - return _res; -} - -static PyObject *DragObj_GetFlavorDataSize(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - FlavorType theType; - Size dataSize; - if (!PyArg_ParseTuple(_args, "lO&", - &theItemRef, - PyMac_GetOSType, &theType)) - return NULL; - _err = GetFlavorDataSize(_self->ob_itself, - theItemRef, - theType, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - dataSize); - return _res; -} - -static PyObject *DragObj_GetFlavorData(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - FlavorType theType; - char *dataPtr__out__; - long dataPtr__len__; - int dataPtr__in_len__; - UInt32 dataOffset; - if (!PyArg_ParseTuple(_args, "lO&il", - &theItemRef, - PyMac_GetOSType, &theType, - &dataPtr__in_len__, - &dataOffset)) - return NULL; - if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto dataPtr__error__; - } - dataPtr__len__ = dataPtr__in_len__; - _err = GetFlavorData(_self->ob_itself, - theItemRef, - theType, - dataPtr__out__, &dataPtr__len__, - dataOffset); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("s#", - dataPtr__out__, (int)dataPtr__len__); - free(dataPtr__out__); - dataPtr__error__: ; - return _res; -} - -static PyObject *DragObj_GetDragItemBounds(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - Rect itemBounds; - if (!PyArg_ParseTuple(_args, "l", - &theItemRef)) - return NULL; - _err = GetDragItemBounds(_self->ob_itself, - theItemRef, - &itemBounds); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &itemBounds); - return _res; -} - -static PyObject *DragObj_SetDragItemBounds(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - ItemReference theItemRef; - Rect itemBounds; - if (!PyArg_ParseTuple(_args, "lO&", - &theItemRef, - PyMac_GetRect, &itemBounds)) - return NULL; - _err = SetDragItemBounds(_self->ob_itself, - theItemRef, - &itemBounds); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_GetDropLocation(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEDesc dropLocation; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetDropLocation(_self->ob_itself, - &dropLocation); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &dropLocation); - return _res; -} - -static PyObject *DragObj_SetDropLocation(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - AEDesc dropLocation; - if (!PyArg_ParseTuple(_args, "O&", - AEDesc_Convert, &dropLocation)) - return NULL; - _err = SetDropLocation(_self->ob_itself, - &dropLocation); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_GetDragAttributes(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DragAttributes flags; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetDragAttributes(_self->ob_itself, - &flags); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - flags); - return _res; -} - -static PyObject *DragObj_GetDragMouse(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Point mouse; - Point globalPinnedMouse; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetDragMouse(_self->ob_itself, - &mouse, - &globalPinnedMouse); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&", - PyMac_BuildPoint, mouse, - PyMac_BuildPoint, globalPinnedMouse); - return _res; -} - -static PyObject *DragObj_SetDragMouse(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Point globalPinnedMouse; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &globalPinnedMouse)) - return NULL; - _err = SetDragMouse(_self->ob_itself, - globalPinnedMouse); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_GetDragOrigin(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Point globalInitialMouse; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetDragOrigin(_self->ob_itself, - &globalInitialMouse); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, globalInitialMouse); - return _res; -} - -static PyObject *DragObj_GetDragModifiers(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 modifiers; - SInt16 mouseDownModifiers; - SInt16 mouseUpModifiers; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetDragModifiers(_self->ob_itself, - &modifiers, - &mouseDownModifiers, - &mouseUpModifiers); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("hhh", - modifiers, - mouseDownModifiers, - mouseUpModifiers); - return _res; -} - -static PyObject *DragObj_ShowDragHilite(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle hiliteFrame; - Boolean inside; - if (!PyArg_ParseTuple(_args, "O&b", - ResObj_Convert, &hiliteFrame, - &inside)) - return NULL; - _err = ShowDragHilite(_self->ob_itself, - hiliteFrame, - inside); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_HideDragHilite(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = HideDragHilite(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_DragPreScroll(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 dH; - SInt16 dV; - if (!PyArg_ParseTuple(_args, "hh", - &dH, - &dV)) - return NULL; - _err = DragPreScroll(_self->ob_itself, - dH, - dV); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_DragPostScroll(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = DragPostScroll(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *DragObj_UpdateDragHilite(DragObjObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle updateRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &updateRgn)) - return NULL; - _err = UpdateDragHilite(_self->ob_itself, - updateRgn); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef DragObj_methods[] = { - {"DisposeDrag", (PyCFunction)DragObj_DisposeDrag, 1, - "() -> None"}, - {"AddDragItemFlavor", (PyCFunction)DragObj_AddDragItemFlavor, 1, - "(ItemReference theItemRef, FlavorType theType, Buffer dataPtr, FlavorFlags theFlags) -> None"}, - {"SetDragItemFlavorData", (PyCFunction)DragObj_SetDragItemFlavorData, 1, - "(ItemReference theItemRef, FlavorType theType, Buffer dataPtr, UInt32 dataOffset) -> None"}, - {"SetDragImage", (PyCFunction)DragObj_SetDragImage, 1, - "(PixMapHandle imagePixMap, RgnHandle imageRgn, Point imageOffsetPt, DragImageFlags theImageFlags) -> None"}, - {"ChangeDragBehaviors", (PyCFunction)DragObj_ChangeDragBehaviors, 1, - "(DragBehaviors inBehaviorsToSet, DragBehaviors inBehaviorsToClear) -> None"}, - {"TrackDrag", (PyCFunction)DragObj_TrackDrag, 1, - "(EventRecord theEvent, RgnHandle theRegion) -> None"}, - {"CountDragItems", (PyCFunction)DragObj_CountDragItems, 1, - "() -> (UInt16 numItems)"}, - {"GetDragItemReferenceNumber", (PyCFunction)DragObj_GetDragItemReferenceNumber, 1, - "(UInt16 index) -> (ItemReference theItemRef)"}, - {"CountDragItemFlavors", (PyCFunction)DragObj_CountDragItemFlavors, 1, - "(ItemReference theItemRef) -> (UInt16 numFlavors)"}, - {"GetFlavorType", (PyCFunction)DragObj_GetFlavorType, 1, - "(ItemReference theItemRef, UInt16 index) -> (FlavorType theType)"}, - {"GetFlavorFlags", (PyCFunction)DragObj_GetFlavorFlags, 1, - "(ItemReference theItemRef, FlavorType theType) -> (FlavorFlags theFlags)"}, - {"GetFlavorDataSize", (PyCFunction)DragObj_GetFlavorDataSize, 1, - "(ItemReference theItemRef, FlavorType theType) -> (Size dataSize)"}, - {"GetFlavorData", (PyCFunction)DragObj_GetFlavorData, 1, - "(ItemReference theItemRef, FlavorType theType, Buffer dataPtr, UInt32 dataOffset) -> (Buffer dataPtr)"}, - {"GetDragItemBounds", (PyCFunction)DragObj_GetDragItemBounds, 1, - "(ItemReference theItemRef) -> (Rect itemBounds)"}, - {"SetDragItemBounds", (PyCFunction)DragObj_SetDragItemBounds, 1, - "(ItemReference theItemRef, Rect itemBounds) -> None"}, - {"GetDropLocation", (PyCFunction)DragObj_GetDropLocation, 1, - "() -> (AEDesc dropLocation)"}, - {"SetDropLocation", (PyCFunction)DragObj_SetDropLocation, 1, - "(AEDesc dropLocation) -> None"}, - {"GetDragAttributes", (PyCFunction)DragObj_GetDragAttributes, 1, - "() -> (DragAttributes flags)"}, - {"GetDragMouse", (PyCFunction)DragObj_GetDragMouse, 1, - "() -> (Point mouse, Point globalPinnedMouse)"}, - {"SetDragMouse", (PyCFunction)DragObj_SetDragMouse, 1, - "(Point globalPinnedMouse) -> None"}, - {"GetDragOrigin", (PyCFunction)DragObj_GetDragOrigin, 1, - "() -> (Point globalInitialMouse)"}, - {"GetDragModifiers", (PyCFunction)DragObj_GetDragModifiers, 1, - "() -> (SInt16 modifiers, SInt16 mouseDownModifiers, SInt16 mouseUpModifiers)"}, - {"ShowDragHilite", (PyCFunction)DragObj_ShowDragHilite, 1, - "(RgnHandle hiliteFrame, Boolean inside) -> None"}, - {"HideDragHilite", (PyCFunction)DragObj_HideDragHilite, 1, - "() -> None"}, - {"DragPreScroll", (PyCFunction)DragObj_DragPreScroll, 1, - "(SInt16 dH, SInt16 dV) -> None"}, - {"DragPostScroll", (PyCFunction)DragObj_DragPostScroll, 1, - "() -> None"}, - {"UpdateDragHilite", (PyCFunction)DragObj_UpdateDragHilite, 1, - "(RgnHandle updateRgn) -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain DragObj_chain = { DragObj_methods, NULL }; - -static PyObject *DragObj_getattr(DragObjObject *self, char *name) -{ - return Py_FindMethodInChain(&DragObj_chain, (PyObject *)self, name); -} - -#define DragObj_setattr NULL - -#define DragObj_compare NULL - -#define DragObj_repr NULL - -#define DragObj_hash NULL - -PyTypeObject DragObj_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "DragObj", /*tp_name*/ - sizeof(DragObjObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) DragObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) DragObj_getattr, /*tp_getattr*/ - (setattrfunc) DragObj_setattr, /*tp_setattr*/ - (cmpfunc) DragObj_compare, /*tp_compare*/ - (reprfunc) DragObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) DragObj_hash, /*tp_hash*/ -}; - -/* -------------------- End object type DragObj --------------------- */ - - -static PyObject *Drag_NewDrag(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - DragRef theDrag; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = NewDrag(&theDrag); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - DragObj_New, theDrag); - return _res; -} - -static PyObject *Drag_GetDragHiliteColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr window; - RGBColor color; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &window)) - return NULL; - _err = GetDragHiliteColor(window, - &color); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - QdRGB_New, &color); - return _res; -} - -static PyObject *Drag_WaitMouseMoved(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point initialMouse; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &initialMouse)) - return NULL; - _rv = WaitMouseMoved(initialMouse); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Drag_ZoomRects(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect fromRect; - Rect toRect; - SInt16 zoomSteps; - ZoomAcceleration acceleration; - if (!PyArg_ParseTuple(_args, "O&O&hh", - PyMac_GetRect, &fromRect, - PyMac_GetRect, &toRect, - &zoomSteps, - &acceleration)) - return NULL; - _err = ZoomRects(&fromRect, - &toRect, - zoomSteps, - acceleration); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Drag_ZoomRegion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle region; - Point zoomDistance; - SInt16 zoomSteps; - ZoomAcceleration acceleration; - if (!PyArg_ParseTuple(_args, "O&O&hh", - ResObj_Convert, ®ion, - PyMac_GetPoint, &zoomDistance, - &zoomSteps, - &acceleration)) - return NULL; - _err = ZoomRegion(region, - zoomDistance, - zoomSteps, - acceleration); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Drag_InstallTrackingHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - PyObject *callback; - WindowPtr theWindow = NULL; - OSErr _err; - - if ( !PyArg_ParseTuple(_args, "O|O&", &callback, WinObj_Convert, &theWindow) ) - return NULL; - Py_INCREF(callback); /* Cannot decref later, too bad */ - _err = InstallTrackingHandler(dragglue_TrackingHandlerUPP, theWindow, (void *)callback); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - return Py_None; - -} - -static PyObject *Drag_InstallReceiveHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - PyObject *callback; - WindowPtr theWindow = NULL; - OSErr _err; - - if ( !PyArg_ParseTuple(_args, "O|O&", &callback, WinObj_Convert, &theWindow) ) - return NULL; - Py_INCREF(callback); /* Cannot decref later, too bad */ - _err = InstallReceiveHandler(dragglue_ReceiveHandlerUPP, theWindow, (void *)callback); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - return Py_None; - -} - -static PyObject *Drag_RemoveTrackingHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - WindowPtr theWindow = NULL; - OSErr _err; - - if ( !PyArg_ParseTuple(_args, "|O&", WinObj_Convert, &theWindow) ) - return NULL; - _err = RemoveTrackingHandler(dragglue_TrackingHandlerUPP, theWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - return Py_None; - -} - -static PyObject *Drag_RemoveReceiveHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - WindowPtr theWindow = NULL; - OSErr _err; - - if ( !PyArg_ParseTuple(_args, "|O&", WinObj_Convert, &theWindow) ) - return NULL; - _err = RemoveReceiveHandler(dragglue_ReceiveHandlerUPP, theWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - return Py_None; - -} - -static PyMethodDef Drag_methods[] = { - {"NewDrag", (PyCFunction)Drag_NewDrag, 1, - "() -> (DragRef theDrag)"}, - {"GetDragHiliteColor", (PyCFunction)Drag_GetDragHiliteColor, 1, - "(WindowPtr window) -> (RGBColor color)"}, - {"WaitMouseMoved", (PyCFunction)Drag_WaitMouseMoved, 1, - "(Point initialMouse) -> (Boolean _rv)"}, - {"ZoomRects", (PyCFunction)Drag_ZoomRects, 1, - "(Rect fromRect, Rect toRect, SInt16 zoomSteps, ZoomAcceleration acceleration) -> None"}, - {"ZoomRegion", (PyCFunction)Drag_ZoomRegion, 1, - "(RgnHandle region, Point zoomDistance, SInt16 zoomSteps, ZoomAcceleration acceleration) -> None"}, - {"InstallTrackingHandler", (PyCFunction)Drag_InstallTrackingHandler, 1, - NULL}, - {"InstallReceiveHandler", (PyCFunction)Drag_InstallReceiveHandler, 1, - NULL}, - {"RemoveTrackingHandler", (PyCFunction)Drag_RemoveTrackingHandler, 1, - NULL}, - {"RemoveReceiveHandler", (PyCFunction)Drag_RemoveReceiveHandler, 1, - NULL}, - {NULL, NULL, 0} -}; - - - -static pascal OSErr -dragglue_TrackingHandler(DragTrackingMessage theMessage, WindowPtr theWindow, - void *handlerRefCon, DragReference theDrag) -{ - PyObject *args, *rv; - int i; - - args = Py_BuildValue("hO&O&", theMessage, DragObj_New, theDrag, WinObj_WhichWindow, theWindow); - if ( args == NULL ) - return -1; - rv = PyEval_CallObject((PyObject *)handlerRefCon, args); - Py_DECREF(args); - if ( rv == NULL ) { - fprintf(stderr, "Drag: Exception in TrackingHandler\n"); - return -1; - } - i = -1; - if ( rv == Py_None ) - i = 0; - else - PyArg_Parse(rv, "l", &i); - Py_DECREF(rv); - return i; -} - -static pascal OSErr -dragglue_ReceiveHandler(WindowPtr theWindow, void *handlerRefCon, - DragReference theDrag) -{ - PyObject *args, *rv; - int i; - - args = Py_BuildValue("O&O&", DragObj_New, theDrag, WinObj_WhichWindow, theWindow); - if ( args == NULL ) - return -1; - rv = PyEval_CallObject((PyObject *)handlerRefCon, args); - Py_DECREF(args); - if ( rv == NULL ) { - fprintf(stderr, "Drag: Exception in ReceiveHandler\n"); - return -1; - } - i = -1; - if ( rv == Py_None ) - i = 0; - else - PyArg_Parse(rv, "l", &i); - Py_DECREF(rv); - return i; -} - -static pascal OSErr -dragglue_SendData(FlavorType theType, void *dragSendRefCon, - ItemReference theItem, DragReference theDrag) -{ - DragObjObject *self = (DragObjObject *)dragSendRefCon; - PyObject *args, *rv; - int i; - - if ( self->sendproc == NULL ) - return -1; - args = Py_BuildValue("O&l", PyMac_BuildOSType, theType, theItem); - if ( args == NULL ) - return -1; - rv = PyEval_CallObject(self->sendproc, args); - Py_DECREF(args); - if ( rv == NULL ) { - fprintf(stderr, "Drag: Exception in SendDataHandler\n"); - return -1; - } - i = -1; - if ( rv == Py_None ) - i = 0; - else - PyArg_Parse(rv, "l", &i); - Py_DECREF(rv); - return i; -} - -#if 0 -static pascal OSErr -dragglue_Input(Point *mouse, short *modifiers, - void *dragSendRefCon, DragReference theDrag) -{ - return 0; -} - -static pascal OSErr -dragglue_Drawing(xxxx - void *dragSendRefCon, DragReference theDrag) -{ - return 0; -} -#endif - - - -void initDrag(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(DragRef, DragObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(DragRef, DragObj_Convert); - - - m = Py_InitModule("Drag", Drag_methods); - d = PyModule_GetDict(m); - Drag_Error = PyMac_GetOSErrException(); - if (Drag_Error == NULL || - PyDict_SetItemString(d, "Error", Drag_Error) != 0) - return; - DragObj_Type.ob_type = &PyType_Type; - Py_INCREF(&DragObj_Type); - if (PyDict_SetItemString(d, "DragObjType", (PyObject *)&DragObj_Type) != 0) - Py_FatalError("can't initialize DragObjType"); - - dragglue_TrackingHandlerUPP = NewDragTrackingHandlerUPP(dragglue_TrackingHandler); - dragglue_ReceiveHandlerUPP = NewDragReceiveHandlerUPP(dragglue_ReceiveHandler); - dragglue_SendDataUPP = NewDragSendDataUPP(dragglue_SendData); -#if 0 - dragglue_InputUPP = NewDragInputUPP(dragglue_Input); - dragglue_DrawingUPP = NewDragDrawingUPP(dragglue_Drawing); -#endif - - -} - -/* ======================== End module Drag ========================= */ - diff --git a/Mac/Modules/evt/Evtmodule.c b/Mac/Modules/evt/Evtmodule.c deleted file mode 100644 index bff6e1e..0000000 --- a/Mac/Modules/evt/Evtmodule.c +++ /dev/null @@ -1,451 +0,0 @@ - -/* =========================== Module Evt =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Events.h> -#else -#include <Carbon/Carbon.h> -#endif - - -static PyObject *Evt_Error; - -static PyObject *Evt_GetMouse(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point mouseLoc; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetMouse(&mouseLoc); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, mouseLoc); - return _res; -} - -static PyObject *Evt_Button(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = Button(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Evt_StillDown(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = StillDown(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Evt_WaitMouseUp(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = WaitMouseUp(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Evt_TickCount(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TickCount(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Evt_GetCaretTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetCaretTime(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Evt_GetKeys(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - KeyMap theKeys__out__; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetKeys(theKeys__out__); - _res = Py_BuildValue("s#", - (char *)&theKeys__out__, (int)sizeof(KeyMap)); - theKeys__error__: ; - return _res; -} - -static PyObject *Evt_GetDblTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDblTime(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Evt_SetEventMask(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - EventMask value; - if (!PyArg_ParseTuple(_args, "H", - &value)) - return NULL; - SetEventMask(value); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Evt_GetNextEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventMask eventMask; - EventRecord theEvent; - if (!PyArg_ParseTuple(_args, "H", - &eventMask)) - return NULL; - _rv = GetNextEvent(eventMask, - &theEvent); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildEventRecord, &theEvent); - return _res; -} - -static PyObject *Evt_EventAvail(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventMask eventMask; - EventRecord theEvent; - if (!PyArg_ParseTuple(_args, "H", - &eventMask)) - return NULL; - _rv = EventAvail(eventMask, - &theEvent); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildEventRecord, &theEvent); - return _res; -} - -static PyObject *Evt_PostEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - EventKind eventNum; - UInt32 eventMsg; - if (!PyArg_ParseTuple(_args, "Hl", - &eventNum, - &eventMsg)) - return NULL; - _err = PostEvent(eventNum, - eventMsg); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Evt_OSEventAvail(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventMask mask; - EventRecord theEvent; - if (!PyArg_ParseTuple(_args, "H", - &mask)) - return NULL; - _rv = OSEventAvail(mask, - &theEvent); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildEventRecord, &theEvent); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Evt_GetOSEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventMask mask; - EventRecord theEvent; - if (!PyArg_ParseTuple(_args, "H", - &mask)) - return NULL; - _rv = GetOSEvent(mask, - &theEvent); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildEventRecord, &theEvent); - return _res; -} -#endif - -static PyObject *Evt_FlushEvents(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - EventMask whichMask; - EventMask stopMask; - if (!PyArg_ParseTuple(_args, "HH", - &whichMask, - &stopMask)) - return NULL; - FlushEvents(whichMask, - stopMask); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Evt_SystemClick(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - EventRecord theEvent; - WindowPtr theWindow; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetEventRecord, &theEvent, - WinObj_Convert, &theWindow)) - return NULL; - SystemClick(&theEvent, - theWindow); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Evt_SystemTask(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - SystemTask(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Evt_SystemEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventRecord theEvent; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &theEvent)) - return NULL; - _rv = SystemEvent(&theEvent); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Evt_GetGlobalMouse(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point globalMouse; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetGlobalMouse(&globalMouse); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, globalMouse); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Evt_GetCurrentKeyModifiers(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetCurrentKeyModifiers(); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Evt_CheckEventQueueForUserCancel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CheckEventQueueForUserCancel(); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -static PyObject *Evt_WaitNextEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - Boolean _rv; - EventMask eventMask; - EventRecord theEvent; - UInt32 sleep; - Handle mouseregion = (Handle)0; - - if (!PyArg_ParseTuple(_args, "Hl|O&", - &eventMask, - &sleep, - OptResObj_Convert, &mouseregion)) - return NULL; - _rv = WaitNextEvent(eventMask, - &theEvent, - sleep, - (RgnHandle)mouseregion); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildEventRecord, &theEvent); - return _res; - -} - -static PyMethodDef Evt_methods[] = { - {"GetMouse", (PyCFunction)Evt_GetMouse, 1, - "() -> (Point mouseLoc)"}, - {"Button", (PyCFunction)Evt_Button, 1, - "() -> (Boolean _rv)"}, - {"StillDown", (PyCFunction)Evt_StillDown, 1, - "() -> (Boolean _rv)"}, - {"WaitMouseUp", (PyCFunction)Evt_WaitMouseUp, 1, - "() -> (Boolean _rv)"}, - {"TickCount", (PyCFunction)Evt_TickCount, 1, - "() -> (UInt32 _rv)"}, - {"GetCaretTime", (PyCFunction)Evt_GetCaretTime, 1, - "() -> (UInt32 _rv)"}, - {"GetKeys", (PyCFunction)Evt_GetKeys, 1, - "() -> (KeyMap theKeys)"}, - {"GetDblTime", (PyCFunction)Evt_GetDblTime, 1, - "() -> (UInt32 _rv)"}, - {"SetEventMask", (PyCFunction)Evt_SetEventMask, 1, - "(EventMask value) -> None"}, - {"GetNextEvent", (PyCFunction)Evt_GetNextEvent, 1, - "(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)"}, - {"EventAvail", (PyCFunction)Evt_EventAvail, 1, - "(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)"}, - {"PostEvent", (PyCFunction)Evt_PostEvent, 1, - "(EventKind eventNum, UInt32 eventMsg) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"OSEventAvail", (PyCFunction)Evt_OSEventAvail, 1, - "(EventMask mask) -> (Boolean _rv, EventRecord theEvent)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"GetOSEvent", (PyCFunction)Evt_GetOSEvent, 1, - "(EventMask mask) -> (Boolean _rv, EventRecord theEvent)"}, -#endif - {"FlushEvents", (PyCFunction)Evt_FlushEvents, 1, - "(EventMask whichMask, EventMask stopMask) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"SystemClick", (PyCFunction)Evt_SystemClick, 1, - "(EventRecord theEvent, WindowPtr theWindow) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SystemTask", (PyCFunction)Evt_SystemTask, 1, - "() -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SystemEvent", (PyCFunction)Evt_SystemEvent, 1, - "(EventRecord theEvent) -> (Boolean _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetGlobalMouse", (PyCFunction)Evt_GetGlobalMouse, 1, - "() -> (Point globalMouse)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetCurrentKeyModifiers", (PyCFunction)Evt_GetCurrentKeyModifiers, 1, - "() -> (UInt32 _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"CheckEventQueueForUserCancel", (PyCFunction)Evt_CheckEventQueueForUserCancel, 1, - "() -> (Boolean _rv)"}, -#endif - {"WaitNextEvent", (PyCFunction)Evt_WaitNextEvent, 1, - "(EventMask eventMask, UInt32 sleep [,RegionHandle]) -> (Boolean _rv, EventRecord theEvent)"}, - {NULL, NULL, 0} -}; - - - - -void initEvt(void) -{ - PyObject *m; - PyObject *d; - - - - - m = Py_InitModule("Evt", Evt_methods); - d = PyModule_GetDict(m); - Evt_Error = PyMac_GetOSErrException(); - if (Evt_Error == NULL || - PyDict_SetItemString(d, "Error", Evt_Error) != 0) - return; -} - -/* ========================= End module Evt ========================= */ - diff --git a/Mac/Modules/fm/Fmmodule.c b/Mac/Modules/fm/Fmmodule.c deleted file mode 100644 index 0469b6c..0000000 --- a/Mac/Modules/fm/Fmmodule.c +++ /dev/null @@ -1,351 +0,0 @@ - -/* =========================== Module Fm ============================ */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Fonts.h> -#else -#include <Carbon/Carbon.h> -#endif - - -/* -** Parse/generate ComponentDescriptor records -*/ -static PyObject * -FMRec_New(FMetricRec *itself) -{ - - return Py_BuildValue("O&O&O&O&O&", - PyMac_BuildFixed, itself->ascent, - PyMac_BuildFixed, itself->descent, - PyMac_BuildFixed, itself->leading, - PyMac_BuildFixed, itself->widMax, - ResObj_New, itself->wTabHandle); -} - -#if 0 -/* Not needed... */ -static int -FMRec_Convert(PyObject *v, FMetricRec *p_itself) -{ - return PyArg_ParseTuple(v, "O&O&O&O&O&", - PyMac_GetFixed, &itself->ascent, - PyMac_GetFixed, &itself->descent, - PyMac_GetFixed, &itself->leading, - PyMac_GetFixed, &itself->widMax, - ResObj_Convert, &itself->wTabHandle); -} -#endif - - -static PyObject *Fm_Error; - -#if !TARGET_API_MAC_CARBON - -static PyObject *Fm_InitFonts(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - InitFonts(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Fm_GetFontName(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short familyID; - Str255 name; - if (!PyArg_ParseTuple(_args, "h", - &familyID)) - return NULL; - GetFontName(familyID, - name); - _res = Py_BuildValue("O&", - PyMac_BuildStr255, name); - return _res; -} - -static PyObject *Fm_GetFNum(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 name; - short familyID; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, name)) - return NULL; - GetFNum(name, - &familyID); - _res = Py_BuildValue("h", - familyID); - return _res; -} - -static PyObject *Fm_RealFont(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - short fontNum; - short size; - if (!PyArg_ParseTuple(_args, "hh", - &fontNum, - &size)) - return NULL; - _rv = RealFont(fontNum, - size); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Fm_SetFontLock(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean lockFlag; - if (!PyArg_ParseTuple(_args, "b", - &lockFlag)) - return NULL; - SetFontLock(lockFlag); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Fm_SetFScaleDisable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean fscaleDisable; - if (!PyArg_ParseTuple(_args, "b", - &fscaleDisable)) - return NULL; - SetFScaleDisable(fscaleDisable); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Fm_FontMetrics(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - FMetricRec theMetrics; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - FontMetrics(&theMetrics); - _res = Py_BuildValue("O&", - FMRec_New, &theMetrics); - return _res; -} - -static PyObject *Fm_SetFractEnable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean fractEnable; - if (!PyArg_ParseTuple(_args, "b", - &fractEnable)) - return NULL; - SetFractEnable(fractEnable); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Fm_GetDefFontSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDefFontSize(); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Fm_IsOutline(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point numer; - Point denom; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &numer, - PyMac_GetPoint, &denom)) - return NULL; - _rv = IsOutline(numer, - denom); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Fm_SetOutlinePreferred(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean outlinePreferred; - if (!PyArg_ParseTuple(_args, "b", - &outlinePreferred)) - return NULL; - SetOutlinePreferred(outlinePreferred); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Fm_GetOutlinePreferred(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetOutlinePreferred(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Fm_SetPreserveGlyph(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean preserveGlyph; - if (!PyArg_ParseTuple(_args, "b", - &preserveGlyph)) - return NULL; - SetPreserveGlyph(preserveGlyph); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Fm_GetPreserveGlyph(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetPreserveGlyph(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Fm_FlushFonts(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = FlushFonts(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Fm_GetSysFont(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetSysFont(); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Fm_GetAppFont(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetAppFont(); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyMethodDef Fm_methods[] = { - -#if !TARGET_API_MAC_CARBON - {"InitFonts", (PyCFunction)Fm_InitFonts, 1, - "() -> None"}, -#endif - {"GetFontName", (PyCFunction)Fm_GetFontName, 1, - "(short familyID) -> (Str255 name)"}, - {"GetFNum", (PyCFunction)Fm_GetFNum, 1, - "(Str255 name) -> (short familyID)"}, - {"RealFont", (PyCFunction)Fm_RealFont, 1, - "(short fontNum, short size) -> (Boolean _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"SetFontLock", (PyCFunction)Fm_SetFontLock, 1, - "(Boolean lockFlag) -> None"}, -#endif - {"SetFScaleDisable", (PyCFunction)Fm_SetFScaleDisable, 1, - "(Boolean fscaleDisable) -> None"}, - {"FontMetrics", (PyCFunction)Fm_FontMetrics, 1, - "() -> (FMetricRec theMetrics)"}, - {"SetFractEnable", (PyCFunction)Fm_SetFractEnable, 1, - "(Boolean fractEnable) -> None"}, - {"GetDefFontSize", (PyCFunction)Fm_GetDefFontSize, 1, - "() -> (short _rv)"}, - {"IsOutline", (PyCFunction)Fm_IsOutline, 1, - "(Point numer, Point denom) -> (Boolean _rv)"}, - {"SetOutlinePreferred", (PyCFunction)Fm_SetOutlinePreferred, 1, - "(Boolean outlinePreferred) -> None"}, - {"GetOutlinePreferred", (PyCFunction)Fm_GetOutlinePreferred, 1, - "() -> (Boolean _rv)"}, - {"SetPreserveGlyph", (PyCFunction)Fm_SetPreserveGlyph, 1, - "(Boolean preserveGlyph) -> None"}, - {"GetPreserveGlyph", (PyCFunction)Fm_GetPreserveGlyph, 1, - "() -> (Boolean _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"FlushFonts", (PyCFunction)Fm_FlushFonts, 1, - "() -> None"}, -#endif - {"GetSysFont", (PyCFunction)Fm_GetSysFont, 1, - "() -> (short _rv)"}, - {"GetAppFont", (PyCFunction)Fm_GetAppFont, 1, - "() -> (short _rv)"}, - {NULL, NULL, 0} -}; - - - - -void initFm(void) -{ - PyObject *m; - PyObject *d; - - - - - m = Py_InitModule("Fm", Fm_methods); - d = PyModule_GetDict(m); - Fm_Error = PyMac_GetOSErrException(); - if (Fm_Error == NULL || - PyDict_SetItemString(d, "Error", Fm_Error) != 0) - return; -} - -/* ========================= End module Fm ========================== */ - diff --git a/Mac/Modules/help/Helpmodule.c b/Mac/Modules/help/Helpmodule.c deleted file mode 100644 index 3c26cda..0000000 --- a/Mac/Modules/help/Helpmodule.c +++ /dev/null @@ -1,292 +0,0 @@ - -/* ========================== Module Help =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#include <Balloons.h> - -static PyObject *Help_Error; - -static PyObject *Help_HMGetHelpMenuHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - MenuHandle mh; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = HMGetHelpMenuHandle(&mh); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - MenuObj_New, mh); - return _res; -} - -static PyObject *Help_HMRemoveBalloon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = HMRemoveBalloon(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Help_HMIsBalloon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = HMIsBalloon(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Help_HMGetBalloons(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = HMGetBalloons(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Help_HMSetBalloons(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Boolean flag; - if (!PyArg_ParseTuple(_args, "b", - &flag)) - return NULL; - _err = HMSetBalloons(flag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Help_HMSetFont(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 font; - if (!PyArg_ParseTuple(_args, "h", - &font)) - return NULL; - _err = HMSetFont(font); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Help_HMSetFontSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - UInt16 fontSize; - if (!PyArg_ParseTuple(_args, "H", - &fontSize)) - return NULL; - _err = HMSetFontSize(fontSize); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Help_HMGetFont(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 font; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = HMGetFont(&font); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - font); - return _res; -} - -static PyObject *Help_HMGetFontSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - UInt16 fontSize; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = HMGetFontSize(&fontSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("H", - fontSize); - return _res; -} - -static PyObject *Help_HMSetDialogResID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 resID; - if (!PyArg_ParseTuple(_args, "h", - &resID)) - return NULL; - _err = HMSetDialogResID(resID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Help_HMSetMenuResID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 menuID; - SInt16 resID; - if (!PyArg_ParseTuple(_args, "hh", - &menuID, - &resID)) - return NULL; - _err = HMSetMenuResID(menuID, - resID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Help_HMScanTemplateItems(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 whichID; - SInt16 whichResFile; - ResType whichType; - if (!PyArg_ParseTuple(_args, "hhO&", - &whichID, - &whichResFile, - PyMac_GetOSType, &whichType)) - return NULL; - _err = HMScanTemplateItems(whichID, - whichResFile, - whichType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Help_HMGetDialogResID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 resID; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = HMGetDialogResID(&resID); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - resID); - return _res; -} - -static PyObject *Help_HMGetMenuResID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 menuID; - SInt16 resID; - if (!PyArg_ParseTuple(_args, "h", - &menuID)) - return NULL; - _err = HMGetMenuResID(menuID, - &resID); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - resID); - return _res; -} - -static PyObject *Help_HMGetBalloonWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - WindowPtr window; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = HMGetBalloonWindow(&window); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - WinObj_WhichWindow, window); - return _res; -} - -static PyMethodDef Help_methods[] = { - {"HMGetHelpMenuHandle", (PyCFunction)Help_HMGetHelpMenuHandle, 1, - "() -> (MenuHandle mh)"}, - {"HMRemoveBalloon", (PyCFunction)Help_HMRemoveBalloon, 1, - "() -> None"}, - {"HMIsBalloon", (PyCFunction)Help_HMIsBalloon, 1, - "() -> (Boolean _rv)"}, - {"HMGetBalloons", (PyCFunction)Help_HMGetBalloons, 1, - "() -> (Boolean _rv)"}, - {"HMSetBalloons", (PyCFunction)Help_HMSetBalloons, 1, - "(Boolean flag) -> None"}, - {"HMSetFont", (PyCFunction)Help_HMSetFont, 1, - "(SInt16 font) -> None"}, - {"HMSetFontSize", (PyCFunction)Help_HMSetFontSize, 1, - "(UInt16 fontSize) -> None"}, - {"HMGetFont", (PyCFunction)Help_HMGetFont, 1, - "() -> (SInt16 font)"}, - {"HMGetFontSize", (PyCFunction)Help_HMGetFontSize, 1, - "() -> (UInt16 fontSize)"}, - {"HMSetDialogResID", (PyCFunction)Help_HMSetDialogResID, 1, - "(SInt16 resID) -> None"}, - {"HMSetMenuResID", (PyCFunction)Help_HMSetMenuResID, 1, - "(SInt16 menuID, SInt16 resID) -> None"}, - {"HMScanTemplateItems", (PyCFunction)Help_HMScanTemplateItems, 1, - "(SInt16 whichID, SInt16 whichResFile, ResType whichType) -> None"}, - {"HMGetDialogResID", (PyCFunction)Help_HMGetDialogResID, 1, - "() -> (SInt16 resID)"}, - {"HMGetMenuResID", (PyCFunction)Help_HMGetMenuResID, 1, - "(SInt16 menuID) -> (SInt16 resID)"}, - {"HMGetBalloonWindow", (PyCFunction)Help_HMGetBalloonWindow, 1, - "() -> (WindowPtr window)"}, - {NULL, NULL, 0} -}; - - - - -void initHelp(void) -{ - PyObject *m; - PyObject *d; - - - - - m = Py_InitModule("Help", Help_methods); - d = PyModule_GetDict(m); - Help_Error = PyMac_GetOSErrException(); - if (Help_Error == NULL || - PyDict_SetItemString(d, "Error", Help_Error) != 0) - return; -} - -/* ======================== End module Help ========================= */ - diff --git a/Mac/Modules/icn/Icnmodule.c b/Mac/Modules/icn/Icnmodule.c deleted file mode 100644 index 5d68ed9..0000000 --- a/Mac/Modules/icn/Icnmodule.c +++ /dev/null @@ -1,1409 +0,0 @@ - -/* =========================== Module Icn =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Icons.h> -#else -#include <Carbon/Carbon.h> -#endif - - -static PyObject *Icn_Error; - -static PyObject *Icn_GetCIcon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CIconHandle _rv; - SInt16 iconID; - if (!PyArg_ParseTuple(_args, "h", - &iconID)) - return NULL; - _rv = GetCIcon(iconID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Icn_PlotCIcon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect theRect; - CIconHandle theIcon; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &theRect, - ResObj_Convert, &theIcon)) - return NULL; - PlotCIcon(&theRect, - theIcon); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_DisposeCIcon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CIconHandle theIcon; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theIcon)) - return NULL; - DisposeCIcon(theIcon); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetIcon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - SInt16 iconID; - if (!PyArg_ParseTuple(_args, "h", - &iconID)) - return NULL; - _rv = GetIcon(iconID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Icn_PlotIcon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect theRect; - Handle theIcon; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &theRect, - ResObj_Convert, &theIcon)) - return NULL; - PlotIcon(&theRect, - theIcon); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_PlotIconID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect theRect; - IconAlignmentType align; - IconTransformType transform; - SInt16 theResID; - if (!PyArg_ParseTuple(_args, "O&hhh", - PyMac_GetRect, &theRect, - &align, - &transform, - &theResID)) - return NULL; - _err = PlotIconID(&theRect, - align, - transform, - theResID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_NewIconSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconSuiteRef theIconSuite; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = NewIconSuite(&theIconSuite); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theIconSuite); - return _res; -} - -static PyObject *Icn_AddIconToSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle theIconData; - IconSuiteRef theSuite; - ResType theType; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &theIconData, - ResObj_Convert, &theSuite, - PyMac_GetOSType, &theType)) - return NULL; - _err = AddIconToSuite(theIconData, - theSuite, - theType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetIconFromSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle theIconData; - IconSuiteRef theSuite; - ResType theType; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &theSuite, - PyMac_GetOSType, &theType)) - return NULL; - _err = GetIconFromSuite(&theIconData, - theSuite, - theType); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theIconData); - return _res; -} - -static PyObject *Icn_GetIconSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconSuiteRef theIconSuite; - SInt16 theResID; - IconSelectorValue selector; - if (!PyArg_ParseTuple(_args, "hl", - &theResID, - &selector)) - return NULL; - _err = GetIconSuite(&theIconSuite, - theResID, - selector); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theIconSuite); - return _res; -} - -static PyObject *Icn_DisposeIconSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconSuiteRef theIconSuite; - Boolean disposeData; - if (!PyArg_ParseTuple(_args, "O&b", - ResObj_Convert, &theIconSuite, - &disposeData)) - return NULL; - _err = DisposeIconSuite(theIconSuite, - disposeData); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_PlotIconSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect theRect; - IconAlignmentType align; - IconTransformType transform; - IconSuiteRef theIconSuite; - if (!PyArg_ParseTuple(_args, "O&hhO&", - PyMac_GetRect, &theRect, - &align, - &transform, - ResObj_Convert, &theIconSuite)) - return NULL; - _err = PlotIconSuite(&theRect, - align, - transform, - theIconSuite); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_LoadIconCache(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect theRect; - IconAlignmentType align; - IconTransformType transform; - IconCacheRef theIconCache; - if (!PyArg_ParseTuple(_args, "O&hhO&", - PyMac_GetRect, &theRect, - &align, - &transform, - ResObj_Convert, &theIconCache)) - return NULL; - _err = LoadIconCache(&theRect, - align, - transform, - theIconCache); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetLabel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 labelNumber; - RGBColor labelColor; - Str255 labelString; - if (!PyArg_ParseTuple(_args, "hO&", - &labelNumber, - PyMac_GetStr255, labelString)) - return NULL; - _err = GetLabel(labelNumber, - &labelColor, - labelString); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - QdRGB_New, &labelColor); - return _res; -} - -static PyObject *Icn_PtInIconID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point testPt; - Rect iconRect; - IconAlignmentType align; - SInt16 iconID; - if (!PyArg_ParseTuple(_args, "O&O&hh", - PyMac_GetPoint, &testPt, - PyMac_GetRect, &iconRect, - &align, - &iconID)) - return NULL; - _rv = PtInIconID(testPt, - &iconRect, - align, - iconID); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Icn_PtInIconSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point testPt; - Rect iconRect; - IconAlignmentType align; - IconSuiteRef theIconSuite; - if (!PyArg_ParseTuple(_args, "O&O&hO&", - PyMac_GetPoint, &testPt, - PyMac_GetRect, &iconRect, - &align, - ResObj_Convert, &theIconSuite)) - return NULL; - _rv = PtInIconSuite(testPt, - &iconRect, - align, - theIconSuite); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Icn_RectInIconID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Rect testRect; - Rect iconRect; - IconAlignmentType align; - SInt16 iconID; - if (!PyArg_ParseTuple(_args, "O&O&hh", - PyMac_GetRect, &testRect, - PyMac_GetRect, &iconRect, - &align, - &iconID)) - return NULL; - _rv = RectInIconID(&testRect, - &iconRect, - align, - iconID); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Icn_RectInIconSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Rect testRect; - Rect iconRect; - IconAlignmentType align; - IconSuiteRef theIconSuite; - if (!PyArg_ParseTuple(_args, "O&O&hO&", - PyMac_GetRect, &testRect, - PyMac_GetRect, &iconRect, - &align, - ResObj_Convert, &theIconSuite)) - return NULL; - _rv = RectInIconSuite(&testRect, - &iconRect, - align, - theIconSuite); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Icn_IconIDToRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle theRgn; - Rect iconRect; - IconAlignmentType align; - SInt16 iconID; - if (!PyArg_ParseTuple(_args, "O&O&hh", - ResObj_Convert, &theRgn, - PyMac_GetRect, &iconRect, - &align, - &iconID)) - return NULL; - _err = IconIDToRgn(theRgn, - &iconRect, - align, - iconID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_IconSuiteToRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle theRgn; - Rect iconRect; - IconAlignmentType align; - IconSuiteRef theIconSuite; - if (!PyArg_ParseTuple(_args, "O&O&hO&", - ResObj_Convert, &theRgn, - PyMac_GetRect, &iconRect, - &align, - ResObj_Convert, &theIconSuite)) - return NULL; - _err = IconSuiteToRgn(theRgn, - &iconRect, - align, - theIconSuite); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_SetSuiteLabel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconSuiteRef theSuite; - SInt16 theLabel; - if (!PyArg_ParseTuple(_args, "O&h", - ResObj_Convert, &theSuite, - &theLabel)) - return NULL; - _err = SetSuiteLabel(theSuite, - theLabel); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetSuiteLabel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - IconSuiteRef theSuite; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theSuite)) - return NULL; - _rv = GetSuiteLabel(theSuite); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Icn_PlotIconHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect theRect; - IconAlignmentType align; - IconTransformType transform; - Handle theIcon; - if (!PyArg_ParseTuple(_args, "O&hhO&", - PyMac_GetRect, &theRect, - &align, - &transform, - ResObj_Convert, &theIcon)) - return NULL; - _err = PlotIconHandle(&theRect, - align, - transform, - theIcon); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_PlotSICNHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect theRect; - IconAlignmentType align; - IconTransformType transform; - Handle theSICN; - if (!PyArg_ParseTuple(_args, "O&hhO&", - PyMac_GetRect, &theRect, - &align, - &transform, - ResObj_Convert, &theSICN)) - return NULL; - _err = PlotSICNHandle(&theRect, - align, - transform, - theSICN); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_PlotCIconHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect theRect; - IconAlignmentType align; - IconTransformType transform; - CIconHandle theCIcon; - if (!PyArg_ParseTuple(_args, "O&hhO&", - PyMac_GetRect, &theRect, - &align, - &transform, - ResObj_Convert, &theCIcon)) - return NULL; - _err = PlotCIconHandle(&theRect, - align, - transform, - theCIcon); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Icn_IconServicesTerminate(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - IconServicesTerminate(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Icn_IconRefToIconFamily(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef theIconRef; - IconSelectorValue whichIcons; - IconFamilyHandle iconFamily; - if (!PyArg_ParseTuple(_args, "O&l", - ResObj_Convert, &theIconRef, - &whichIcons)) - return NULL; - _err = IconRefToIconFamily(theIconRef, - whichIcons, - &iconFamily); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, iconFamily); - return _res; -} - -static PyObject *Icn_IconFamilyToIconSuite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconFamilyHandle iconFamily; - IconSelectorValue whichIcons; - IconSuiteRef iconSuite; - if (!PyArg_ParseTuple(_args, "O&l", - ResObj_Convert, &iconFamily, - &whichIcons)) - return NULL; - _err = IconFamilyToIconSuite(iconFamily, - whichIcons, - &iconSuite); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, iconSuite); - return _res; -} - -static PyObject *Icn_IconSuiteToIconFamily(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconSuiteRef iconSuite; - IconSelectorValue whichIcons; - IconFamilyHandle iconFamily; - 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; -} - -static PyObject *Icn_SetIconFamilyData(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconFamilyHandle iconFamily; - OSType iconType; - Handle h; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &iconFamily, - PyMac_GetOSType, &iconType, - ResObj_Convert, &h)) - return NULL; - _err = SetIconFamilyData(iconFamily, - iconType, - h); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetIconFamilyData(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconFamilyHandle iconFamily; - OSType iconType; - Handle h; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &iconFamily, - PyMac_GetOSType, &iconType, - ResObj_Convert, &h)) - return NULL; - _err = GetIconFamilyData(iconFamily, - iconType, - h); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetIconRefOwners(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef theIconRef; - UInt16 owners; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theIconRef)) - return NULL; - _err = GetIconRefOwners(theIconRef, - &owners); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("H", - owners); - return _res; -} - -static PyObject *Icn_AcquireIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theIconRef)) - return NULL; - _err = AcquireIconRef(theIconRef); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_ReleaseIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theIconRef)) - return NULL; - _err = ReleaseIconRef(theIconRef); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetIconRefFromFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - FSSpec theFile; - IconRef theIconRef; - SInt16 theLabel; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFSSpec, &theFile)) - return NULL; - _err = GetIconRefFromFile(&theFile, - &theIconRef, - &theLabel); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&h", - ResObj_New, theIconRef, - theLabel); - return _res; -} - -static PyObject *Icn_GetIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 vRefNum; - OSType creator; - OSType iconType; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "hO&O&", - &vRefNum, - PyMac_GetOSType, &creator, - PyMac_GetOSType, &iconType)) - return NULL; - _err = GetIconRef(vRefNum, - creator, - iconType, - &theIconRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theIconRef); - return _res; -} - -static PyObject *Icn_GetIconRefFromFolder(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 vRefNum; - SInt32 parentFolderID; - SInt32 folderID; - SInt8 attributes; - SInt8 accessPrivileges; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "hllbb", - &vRefNum, - &parentFolderID, - &folderID, - &attributes, - &accessPrivileges)) - return NULL; - _err = GetIconRefFromFolder(vRefNum, - parentFolderID, - folderID, - attributes, - accessPrivileges, - &theIconRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theIconRef); - return _res; -} - -static PyObject *Icn_RegisterIconRefFromIconFamily(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType creator; - OSType iconType; - IconFamilyHandle iconFamily; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&O&O&", - PyMac_GetOSType, &creator, - PyMac_GetOSType, &iconType, - ResObj_Convert, &iconFamily)) - return NULL; - _err = RegisterIconRefFromIconFamily(creator, - iconType, - iconFamily, - &theIconRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theIconRef); - return _res; -} - -static PyObject *Icn_RegisterIconRefFromResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType creator; - OSType iconType; - FSSpec resourceFile; - SInt16 resourceID; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&O&O&h", - PyMac_GetOSType, &creator, - PyMac_GetOSType, &iconType, - PyMac_GetFSSpec, &resourceFile, - &resourceID)) - return NULL; - _err = RegisterIconRefFromResource(creator, - iconType, - &resourceFile, - resourceID, - &theIconRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theIconRef); - return _res; -} - -static PyObject *Icn_UnregisterIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType creator; - OSType iconType; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &creator, - PyMac_GetOSType, &iconType)) - return NULL; - _err = UnregisterIconRef(creator, - iconType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_UpdateIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theIconRef)) - return NULL; - _err = UpdateIconRef(theIconRef); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_OverrideIconRefFromResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef theIconRef; - FSSpec resourceFile; - SInt16 resourceID; - if (!PyArg_ParseTuple(_args, "O&O&h", - ResObj_Convert, &theIconRef, - PyMac_GetFSSpec, &resourceFile, - &resourceID)) - return NULL; - _err = OverrideIconRefFromResource(theIconRef, - &resourceFile, - resourceID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_OverrideIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef oldIconRef; - IconRef newIconRef; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &oldIconRef, - ResObj_Convert, &newIconRef)) - return NULL; - _err = OverrideIconRef(oldIconRef, - newIconRef); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_RemoveIconRefOverride(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theIconRef)) - return NULL; - _err = RemoveIconRefOverride(theIconRef); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_CompositeIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef backgroundIconRef; - IconRef foregroundIconRef; - IconRef compositeIconRef; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &backgroundIconRef, - ResObj_Convert, &foregroundIconRef)) - return NULL; - _err = CompositeIconRef(backgroundIconRef, - foregroundIconRef, - &compositeIconRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, compositeIconRef); - return _res; -} - -static PyObject *Icn_IsIconRefComposite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconRef compositeIconRef; - IconRef backgroundIconRef; - IconRef foregroundIconRef; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &compositeIconRef)) - return NULL; - _err = IsIconRefComposite(compositeIconRef, - &backgroundIconRef, - &foregroundIconRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&", - ResObj_New, backgroundIconRef, - ResObj_New, foregroundIconRef); - return _res; -} - -static PyObject *Icn_IsValidIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theIconRef)) - return NULL; - _rv = IsValidIconRef(theIconRef); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Icn_PlotIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Rect theRect; - IconAlignmentType align; - IconTransformType transform; - IconServicesUsageFlags theIconServicesUsageFlags; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&hhlO&", - PyMac_GetRect, &theRect, - &align, - &transform, - &theIconServicesUsageFlags, - ResObj_Convert, &theIconRef)) - return NULL; - _err = PlotIconRef(&theRect, - align, - transform, - theIconServicesUsageFlags, - theIconRef); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_PtInIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point testPt; - Rect iconRect; - IconAlignmentType align; - IconServicesUsageFlags theIconServicesUsageFlags; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&O&hlO&", - PyMac_GetPoint, &testPt, - PyMac_GetRect, &iconRect, - &align, - &theIconServicesUsageFlags, - ResObj_Convert, &theIconRef)) - return NULL; - _rv = PtInIconRef(&testPt, - &iconRect, - align, - theIconServicesUsageFlags, - theIconRef); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Icn_RectInIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Rect testRect; - Rect iconRect; - IconAlignmentType align; - IconServicesUsageFlags iconServicesUsageFlags; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&O&hlO&", - PyMac_GetRect, &testRect, - PyMac_GetRect, &iconRect, - &align, - &iconServicesUsageFlags, - ResObj_Convert, &theIconRef)) - return NULL; - _rv = RectInIconRef(&testRect, - &iconRect, - align, - iconServicesUsageFlags, - theIconRef); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Icn_IconRefToRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle theRgn; - Rect iconRect; - IconAlignmentType align; - IconServicesUsageFlags iconServicesUsageFlags; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&O&hlO&", - ResObj_Convert, &theRgn, - PyMac_GetRect, &iconRect, - &align, - &iconServicesUsageFlags, - ResObj_Convert, &theIconRef)) - return NULL; - _err = IconRefToRgn(theRgn, - &iconRect, - align, - iconServicesUsageFlags, - theIconRef); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetIconSizesFromIconRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconSelectorValue iconSelectorInput; - IconSelectorValue iconSelectorOutputPtr; - IconServicesUsageFlags iconServicesUsageFlags; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "llO&", - &iconSelectorInput, - &iconServicesUsageFlags, - ResObj_Convert, &theIconRef)) - return NULL; - _err = GetIconSizesFromIconRef(iconSelectorInput, - &iconSelectorOutputPtr, - iconServicesUsageFlags, - theIconRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - iconSelectorOutputPtr); - return _res; -} - -static PyObject *Icn_FlushIconRefs(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType creator; - OSType iconType; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &creator, - PyMac_GetOSType, &iconType)) - return NULL; - _err = FlushIconRefs(creator, - iconType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_FlushIconRefsByVolume(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 vRefNum; - if (!PyArg_ParseTuple(_args, "h", - &vRefNum)) - return NULL; - _err = FlushIconRefsByVolume(vRefNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_SetCustomIconsEnabled(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 vRefNum; - Boolean enableCustomIcons; - if (!PyArg_ParseTuple(_args, "hb", - &vRefNum, - &enableCustomIcons)) - return NULL; - _err = SetCustomIconsEnabled(vRefNum, - enableCustomIcons); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Icn_GetCustomIconsEnabled(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 vRefNum; - Boolean customIconsEnabled; - if (!PyArg_ParseTuple(_args, "h", - &vRefNum)) - return NULL; - _err = GetCustomIconsEnabled(vRefNum, - &customIconsEnabled); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - customIconsEnabled); - return _res; -} - -static PyObject *Icn_IsIconRefMaskEmpty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - IconRef iconRef; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &iconRef)) - return NULL; - _rv = IsIconRefMaskEmpty(iconRef); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Icn_GetIconRefVariant(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - IconRef _rv; - IconRef inIconRef; - OSType inVariant; - IconTransformType outTransform; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &inIconRef, - PyMac_GetOSType, &inVariant)) - return NULL; - _rv = GetIconRefVariant(inIconRef, - inVariant, - &outTransform); - _res = Py_BuildValue("O&h", - ResObj_New, _rv, - outTransform); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Icn_RegisterIconRefFromIconFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType creator; - OSType iconType; - FSSpec iconFile; - IconRef theIconRef; - if (!PyArg_ParseTuple(_args, "O&O&O&", - PyMac_GetOSType, &creator, - PyMac_GetOSType, &iconType, - PyMac_GetFSSpec, &iconFile)) - return NULL; - _err = RegisterIconRefFromIconFile(creator, - iconType, - &iconFile, - &theIconRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, theIconRef); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Icn_ReadIconFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - FSSpec iconFile; - IconFamilyHandle iconFamily; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFSSpec, &iconFile)) - return NULL; - _err = ReadIconFile(&iconFile, - &iconFamily); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, iconFamily); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Icn_WriteIconFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - IconFamilyHandle iconFamily; - FSSpec iconFile; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &iconFamily, - PyMac_GetFSSpec, &iconFile)) - return NULL; - _err = WriteIconFile(iconFamily, - &iconFile); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyMethodDef Icn_methods[] = { - {"GetCIcon", (PyCFunction)Icn_GetCIcon, 1, - "(SInt16 iconID) -> (CIconHandle _rv)"}, - {"PlotCIcon", (PyCFunction)Icn_PlotCIcon, 1, - "(Rect theRect, CIconHandle theIcon) -> None"}, - {"DisposeCIcon", (PyCFunction)Icn_DisposeCIcon, 1, - "(CIconHandle theIcon) -> None"}, - {"GetIcon", (PyCFunction)Icn_GetIcon, 1, - "(SInt16 iconID) -> (Handle _rv)"}, - {"PlotIcon", (PyCFunction)Icn_PlotIcon, 1, - "(Rect theRect, Handle theIcon) -> None"}, - {"PlotIconID", (PyCFunction)Icn_PlotIconID, 1, - "(Rect theRect, IconAlignmentType align, IconTransformType transform, SInt16 theResID) -> None"}, - {"NewIconSuite", (PyCFunction)Icn_NewIconSuite, 1, - "() -> (IconSuiteRef theIconSuite)"}, - {"AddIconToSuite", (PyCFunction)Icn_AddIconToSuite, 1, - "(Handle theIconData, IconSuiteRef theSuite, ResType theType) -> None"}, - {"GetIconFromSuite", (PyCFunction)Icn_GetIconFromSuite, 1, - "(IconSuiteRef theSuite, ResType theType) -> (Handle theIconData)"}, - {"GetIconSuite", (PyCFunction)Icn_GetIconSuite, 1, - "(SInt16 theResID, IconSelectorValue selector) -> (IconSuiteRef theIconSuite)"}, - {"DisposeIconSuite", (PyCFunction)Icn_DisposeIconSuite, 1, - "(IconSuiteRef theIconSuite, Boolean disposeData) -> None"}, - {"PlotIconSuite", (PyCFunction)Icn_PlotIconSuite, 1, - "(Rect theRect, IconAlignmentType align, IconTransformType transform, IconSuiteRef theIconSuite) -> None"}, - {"LoadIconCache", (PyCFunction)Icn_LoadIconCache, 1, - "(Rect theRect, IconAlignmentType align, IconTransformType transform, IconCacheRef theIconCache) -> None"}, - {"GetLabel", (PyCFunction)Icn_GetLabel, 1, - "(SInt16 labelNumber, Str255 labelString) -> (RGBColor labelColor)"}, - {"PtInIconID", (PyCFunction)Icn_PtInIconID, 1, - "(Point testPt, Rect iconRect, IconAlignmentType align, SInt16 iconID) -> (Boolean _rv)"}, - {"PtInIconSuite", (PyCFunction)Icn_PtInIconSuite, 1, - "(Point testPt, Rect iconRect, IconAlignmentType align, IconSuiteRef theIconSuite) -> (Boolean _rv)"}, - {"RectInIconID", (PyCFunction)Icn_RectInIconID, 1, - "(Rect testRect, Rect iconRect, IconAlignmentType align, SInt16 iconID) -> (Boolean _rv)"}, - {"RectInIconSuite", (PyCFunction)Icn_RectInIconSuite, 1, - "(Rect testRect, Rect iconRect, IconAlignmentType align, IconSuiteRef theIconSuite) -> (Boolean _rv)"}, - {"IconIDToRgn", (PyCFunction)Icn_IconIDToRgn, 1, - "(RgnHandle theRgn, Rect iconRect, IconAlignmentType align, SInt16 iconID) -> None"}, - {"IconSuiteToRgn", (PyCFunction)Icn_IconSuiteToRgn, 1, - "(RgnHandle theRgn, Rect iconRect, IconAlignmentType align, IconSuiteRef theIconSuite) -> None"}, - {"SetSuiteLabel", (PyCFunction)Icn_SetSuiteLabel, 1, - "(IconSuiteRef theSuite, SInt16 theLabel) -> None"}, - {"GetSuiteLabel", (PyCFunction)Icn_GetSuiteLabel, 1, - "(IconSuiteRef theSuite) -> (SInt16 _rv)"}, - {"PlotIconHandle", (PyCFunction)Icn_PlotIconHandle, 1, - "(Rect theRect, IconAlignmentType align, IconTransformType transform, Handle theIcon) -> None"}, - {"PlotSICNHandle", (PyCFunction)Icn_PlotSICNHandle, 1, - "(Rect theRect, IconAlignmentType align, IconTransformType transform, Handle theSICN) -> None"}, - {"PlotCIconHandle", (PyCFunction)Icn_PlotCIconHandle, 1, - "(Rect theRect, IconAlignmentType align, IconTransformType transform, CIconHandle theCIcon) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"IconServicesTerminate", (PyCFunction)Icn_IconServicesTerminate, 1, - "() -> None"}, -#endif - {"IconRefToIconFamily", (PyCFunction)Icn_IconRefToIconFamily, 1, - "(IconRef theIconRef, IconSelectorValue whichIcons) -> (IconFamilyHandle iconFamily)"}, - {"IconFamilyToIconSuite", (PyCFunction)Icn_IconFamilyToIconSuite, 1, - "(IconFamilyHandle iconFamily, IconSelectorValue whichIcons) -> (IconSuiteRef iconSuite)"}, - {"IconSuiteToIconFamily", (PyCFunction)Icn_IconSuiteToIconFamily, 1, - "(IconSuiteRef iconSuite, IconSelectorValue whichIcons) -> (IconFamilyHandle iconFamily)"}, - {"SetIconFamilyData", (PyCFunction)Icn_SetIconFamilyData, 1, - "(IconFamilyHandle iconFamily, OSType iconType, Handle h) -> None"}, - {"GetIconFamilyData", (PyCFunction)Icn_GetIconFamilyData, 1, - "(IconFamilyHandle iconFamily, OSType iconType, Handle h) -> None"}, - {"GetIconRefOwners", (PyCFunction)Icn_GetIconRefOwners, 1, - "(IconRef theIconRef) -> (UInt16 owners)"}, - {"AcquireIconRef", (PyCFunction)Icn_AcquireIconRef, 1, - "(IconRef theIconRef) -> None"}, - {"ReleaseIconRef", (PyCFunction)Icn_ReleaseIconRef, 1, - "(IconRef theIconRef) -> None"}, - {"GetIconRefFromFile", (PyCFunction)Icn_GetIconRefFromFile, 1, - "(FSSpec theFile) -> (IconRef theIconRef, SInt16 theLabel)"}, - {"GetIconRef", (PyCFunction)Icn_GetIconRef, 1, - "(SInt16 vRefNum, OSType creator, OSType iconType) -> (IconRef theIconRef)"}, - {"GetIconRefFromFolder", (PyCFunction)Icn_GetIconRefFromFolder, 1, - "(SInt16 vRefNum, SInt32 parentFolderID, SInt32 folderID, SInt8 attributes, SInt8 accessPrivileges) -> (IconRef theIconRef)"}, - {"RegisterIconRefFromIconFamily", (PyCFunction)Icn_RegisterIconRefFromIconFamily, 1, - "(OSType creator, OSType iconType, IconFamilyHandle iconFamily) -> (IconRef theIconRef)"}, - {"RegisterIconRefFromResource", (PyCFunction)Icn_RegisterIconRefFromResource, 1, - "(OSType creator, OSType iconType, FSSpec resourceFile, SInt16 resourceID) -> (IconRef theIconRef)"}, - {"UnregisterIconRef", (PyCFunction)Icn_UnregisterIconRef, 1, - "(OSType creator, OSType iconType) -> None"}, - {"UpdateIconRef", (PyCFunction)Icn_UpdateIconRef, 1, - "(IconRef theIconRef) -> None"}, - {"OverrideIconRefFromResource", (PyCFunction)Icn_OverrideIconRefFromResource, 1, - "(IconRef theIconRef, FSSpec resourceFile, SInt16 resourceID) -> None"}, - {"OverrideIconRef", (PyCFunction)Icn_OverrideIconRef, 1, - "(IconRef oldIconRef, IconRef newIconRef) -> None"}, - {"RemoveIconRefOverride", (PyCFunction)Icn_RemoveIconRefOverride, 1, - "(IconRef theIconRef) -> None"}, - {"CompositeIconRef", (PyCFunction)Icn_CompositeIconRef, 1, - "(IconRef backgroundIconRef, IconRef foregroundIconRef) -> (IconRef compositeIconRef)"}, - {"IsIconRefComposite", (PyCFunction)Icn_IsIconRefComposite, 1, - "(IconRef compositeIconRef) -> (IconRef backgroundIconRef, IconRef foregroundIconRef)"}, - {"IsValidIconRef", (PyCFunction)Icn_IsValidIconRef, 1, - "(IconRef theIconRef) -> (Boolean _rv)"}, - {"PlotIconRef", (PyCFunction)Icn_PlotIconRef, 1, - "(Rect theRect, IconAlignmentType align, IconTransformType transform, IconServicesUsageFlags theIconServicesUsageFlags, IconRef theIconRef) -> None"}, - {"PtInIconRef", (PyCFunction)Icn_PtInIconRef, 1, - "(Point testPt, Rect iconRect, IconAlignmentType align, IconServicesUsageFlags theIconServicesUsageFlags, IconRef theIconRef) -> (Boolean _rv)"}, - {"RectInIconRef", (PyCFunction)Icn_RectInIconRef, 1, - "(Rect testRect, Rect iconRect, IconAlignmentType align, IconServicesUsageFlags iconServicesUsageFlags, IconRef theIconRef) -> (Boolean _rv)"}, - {"IconRefToRgn", (PyCFunction)Icn_IconRefToRgn, 1, - "(RgnHandle theRgn, Rect iconRect, IconAlignmentType align, IconServicesUsageFlags iconServicesUsageFlags, IconRef theIconRef) -> None"}, - {"GetIconSizesFromIconRef", (PyCFunction)Icn_GetIconSizesFromIconRef, 1, - "(IconSelectorValue iconSelectorInput, IconServicesUsageFlags iconServicesUsageFlags, IconRef theIconRef) -> (IconSelectorValue iconSelectorOutputPtr)"}, - {"FlushIconRefs", (PyCFunction)Icn_FlushIconRefs, 1, - "(OSType creator, OSType iconType) -> None"}, - {"FlushIconRefsByVolume", (PyCFunction)Icn_FlushIconRefsByVolume, 1, - "(SInt16 vRefNum) -> None"}, - {"SetCustomIconsEnabled", (PyCFunction)Icn_SetCustomIconsEnabled, 1, - "(SInt16 vRefNum, Boolean enableCustomIcons) -> None"}, - {"GetCustomIconsEnabled", (PyCFunction)Icn_GetCustomIconsEnabled, 1, - "(SInt16 vRefNum) -> (Boolean customIconsEnabled)"}, - {"IsIconRefMaskEmpty", (PyCFunction)Icn_IsIconRefMaskEmpty, 1, - "(IconRef iconRef) -> (Boolean _rv)"}, - -#if TARGET_API_MAC_CARBON - {"GetIconRefVariant", (PyCFunction)Icn_GetIconRefVariant, 1, - "(IconRef inIconRef, OSType inVariant) -> (IconRef _rv, IconTransformType outTransform)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"RegisterIconRefFromIconFile", (PyCFunction)Icn_RegisterIconRefFromIconFile, 1, - "(OSType creator, OSType iconType, FSSpec iconFile) -> (IconRef theIconRef)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"ReadIconFile", (PyCFunction)Icn_ReadIconFile, 1, - "(FSSpec iconFile) -> (IconFamilyHandle iconFamily)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"WriteIconFile", (PyCFunction)Icn_WriteIconFile, 1, - "(IconFamilyHandle iconFamily, FSSpec iconFile) -> None"}, -#endif - {NULL, NULL, 0} -}; - - - - -void initIcn(void) -{ - PyObject *m; - PyObject *d; - - - - - m = Py_InitModule("Icn", Icn_methods); - d = PyModule_GetDict(m); - Icn_Error = PyMac_GetOSErrException(); - if (Icn_Error == NULL || - PyDict_SetItemString(d, "Error", Icn_Error) != 0) - return; -} - -/* ========================= End module Icn ========================= */ - diff --git a/Mac/Modules/list/Listmodule.c b/Mac/Modules/list/Listmodule.c deleted file mode 100644 index 6e28613..0000000 --- a/Mac/Modules/list/Listmodule.c +++ /dev/null @@ -1,1001 +0,0 @@ - -/* ========================== Module List =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Lists.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_ListObj_New(ListHandle); -extern int _ListObj_Convert(PyObject *, ListHandle *); - -#define ListObj_New _ListObj_New -#define ListObj_Convert _ListObj_Convert -#endif - -#if !ACCESSOR_CALLS_ARE_FUNCTIONS -#define GetListPort(list) ((CGrafPtr)(*(list))->port) -#define GetListVerticalScrollBar(list) ((*(list))->vScroll) -#define GetListHorizontalScrollBar(list) ((*(list))->hScroll) -#define GetListActive(list) ((*(list))->lActive) -#define GetListClickTime(list) ((*(list))->clikTime) -#define GetListRefCon(list) ((*(list))->refCon) -#define GetListDefinition(list) ((*(list))->listDefProc) /* XXX Is this indeed the same? */ -#define GetListUserHandle(list) ((*(list))->userHandle) -#define GetListDataHandle(list) ((*(list))->cells) -#define GetListFlags(list) ((*(list))->listFlags) -#define GetListSelectionFlags(list) ((*(list))->selFlags) -#define SetListViewBounds(list, bounds) (((*(list))->rView) = *(bounds)) - -#define SetListPort(list, port) (((*(list))->port) = (GrafPtr)(port)) -#define SetListCellIndent(list, ind) (((*(list))->indent) = *(ind)) -#define SetListClickTime(list, time) (((*(list))->clikTime) = (time)) -#define SetListLastClick(list, click) (((*(list)->lastClick) = *(click)) -#define SetListRefCon(list, refcon) (((*(list))->refCon) = (refcon)) -#define SetListUserHandle(list, handle) (((*(list))->userHandle) = (handle)) -#define SetListFlags(list, flags) (((*(list))->listFlags) = (flags)) -#define SetListSelectionFlags(list, flags) (((*(list))->selFlags) = (flags)) - -#endif - -#define as_List(x) ((ListHandle)x) -#define as_Resource(lh) ((Handle)lh) - -static PyObject *List_Error; - -/* ------------------------ Object type List ------------------------ */ - -PyTypeObject List_Type; - -#define ListObj_Check(x) ((x)->ob_type == &List_Type) - -typedef struct ListObject { - PyObject_HEAD - ListHandle ob_itself; - int ob_must_be_disposed; -} ListObject; - -PyObject *ListObj_New(ListHandle itself) -{ - ListObject *it; - if (itself == NULL) { - PyErr_SetString(List_Error,"Cannot create null List"); - return NULL; - } - it = PyObject_NEW(ListObject, &List_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_must_be_disposed = 1; - return (PyObject *)it; -} -ListObj_Convert(PyObject *v, ListHandle *p_itself) -{ - if (!ListObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "List required"); - return 0; - } - *p_itself = ((ListObject *)v)->ob_itself; - return 1; -} - -static void ListObj_dealloc(ListObject *self) -{ - if (self->ob_must_be_disposed && self->ob_itself) LDispose(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *ListObj_LAddColumn(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - short count; - short colNum; - if (!PyArg_ParseTuple(_args, "hh", - &count, - &colNum)) - return NULL; - _rv = LAddColumn(count, - colNum, - _self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *ListObj_LAddRow(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - short count; - short rowNum; - if (!PyArg_ParseTuple(_args, "hh", - &count, - &rowNum)) - return NULL; - _rv = LAddRow(count, - rowNum, - _self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *ListObj_LDelColumn(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short count; - short colNum; - if (!PyArg_ParseTuple(_args, "hh", - &count, - &colNum)) - return NULL; - LDelColumn(count, - colNum, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LDelRow(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short count; - short rowNum; - if (!PyArg_ParseTuple(_args, "hh", - &count, - &rowNum)) - return NULL; - LDelRow(count, - rowNum, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LGetSelect(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Boolean next; - Point theCell; - if (!PyArg_ParseTuple(_args, "bO&", - &next, - PyMac_GetPoint, &theCell)) - return NULL; - _rv = LGetSelect(next, - &theCell, - _self->ob_itself); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildPoint, theCell); - return _res; -} - -static PyObject *ListObj_LLastClick(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = LLastClick(_self->ob_itself); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, _rv); - return _res; -} - -static PyObject *ListObj_LNextCell(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Boolean hNext; - Boolean vNext; - Point theCell; - if (!PyArg_ParseTuple(_args, "bbO&", - &hNext, - &vNext, - PyMac_GetPoint, &theCell)) - return NULL; - _rv = LNextCell(hNext, - vNext, - &theCell, - _self->ob_itself); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildPoint, theCell); - return _res; -} - -static PyObject *ListObj_LSize(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short listWidth; - short listHeight; - if (!PyArg_ParseTuple(_args, "hh", - &listWidth, - &listHeight)) - return NULL; - LSize(listWidth, - listHeight, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LSetDrawingMode(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean drawIt; - if (!PyArg_ParseTuple(_args, "b", - &drawIt)) - return NULL; - LSetDrawingMode(drawIt, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LScroll(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short dCols; - short dRows; - if (!PyArg_ParseTuple(_args, "hh", - &dCols, - &dRows)) - return NULL; - LScroll(dCols, - dRows, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LAutoScroll(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - LAutoScroll(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LUpdate(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle theRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theRgn)) - return NULL; - LUpdate(theRgn, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LActivate(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean act; - if (!PyArg_ParseTuple(_args, "b", - &act)) - return NULL; - LActivate(act, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LCellSize(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point cSize; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &cSize)) - return NULL; - LCellSize(cSize, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LClick(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point pt; - short modifiers; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetPoint, &pt, - &modifiers)) - return NULL; - _rv = LClick(pt, - modifiers, - _self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *ListObj_LAddToCell(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *dataPtr__in__; - short dataPtr__len__; - int dataPtr__in_len__; - Point theCell; - if (!PyArg_ParseTuple(_args, "s#O&", - &dataPtr__in__, &dataPtr__in_len__, - PyMac_GetPoint, &theCell)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - LAddToCell(dataPtr__in__, dataPtr__len__, - theCell, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - dataPtr__error__: ; - return _res; -} - -static PyObject *ListObj_LClrCell(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point theCell; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &theCell)) - return NULL; - LClrCell(theCell, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LGetCell(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *dataPtr__out__; - short dataPtr__len__; - int dataPtr__in_len__; - Point theCell; - if (!PyArg_ParseTuple(_args, "iO&", - &dataPtr__in_len__, - PyMac_GetPoint, &theCell)) - return NULL; - if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto dataPtr__error__; - } - dataPtr__len__ = dataPtr__in_len__; - LGetCell(dataPtr__out__, &dataPtr__len__, - theCell, - _self->ob_itself); - _res = Py_BuildValue("s#", - dataPtr__out__, (int)dataPtr__len__); - free(dataPtr__out__); - dataPtr__error__: ; - return _res; -} - -static PyObject *ListObj_LRect(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect cellRect; - Point theCell; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &theCell)) - return NULL; - LRect(&cellRect, - theCell, - _self->ob_itself); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &cellRect); - return _res; -} - -static PyObject *ListObj_LSetCell(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *dataPtr__in__; - short dataPtr__len__; - int dataPtr__in_len__; - Point theCell; - if (!PyArg_ParseTuple(_args, "s#O&", - &dataPtr__in__, &dataPtr__in_len__, - PyMac_GetPoint, &theCell)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - LSetCell(dataPtr__in__, dataPtr__len__, - theCell, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - dataPtr__error__: ; - return _res; -} - -static PyObject *ListObj_LSetSelect(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean setIt; - Point theCell; - if (!PyArg_ParseTuple(_args, "bO&", - &setIt, - PyMac_GetPoint, &theCell)) - return NULL; - LSetSelect(setIt, - theCell, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_LDraw(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point theCell; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &theCell)) - return NULL; - LDraw(theCell, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ListObj_as_Resource(ListObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = as_Resource(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyMethodDef ListObj_methods[] = { - {"LAddColumn", (PyCFunction)ListObj_LAddColumn, 1, - "(short count, short colNum) -> (short _rv)"}, - {"LAddRow", (PyCFunction)ListObj_LAddRow, 1, - "(short count, short rowNum) -> (short _rv)"}, - {"LDelColumn", (PyCFunction)ListObj_LDelColumn, 1, - "(short count, short colNum) -> None"}, - {"LDelRow", (PyCFunction)ListObj_LDelRow, 1, - "(short count, short rowNum) -> None"}, - {"LGetSelect", (PyCFunction)ListObj_LGetSelect, 1, - "(Boolean next, Point theCell) -> (Boolean _rv, Point theCell)"}, - {"LLastClick", (PyCFunction)ListObj_LLastClick, 1, - "() -> (Point _rv)"}, - {"LNextCell", (PyCFunction)ListObj_LNextCell, 1, - "(Boolean hNext, Boolean vNext, Point theCell) -> (Boolean _rv, Point theCell)"}, - {"LSize", (PyCFunction)ListObj_LSize, 1, - "(short listWidth, short listHeight) -> None"}, - {"LSetDrawingMode", (PyCFunction)ListObj_LSetDrawingMode, 1, - "(Boolean drawIt) -> None"}, - {"LScroll", (PyCFunction)ListObj_LScroll, 1, - "(short dCols, short dRows) -> None"}, - {"LAutoScroll", (PyCFunction)ListObj_LAutoScroll, 1, - "() -> None"}, - {"LUpdate", (PyCFunction)ListObj_LUpdate, 1, - "(RgnHandle theRgn) -> None"}, - {"LActivate", (PyCFunction)ListObj_LActivate, 1, - "(Boolean act) -> None"}, - {"LCellSize", (PyCFunction)ListObj_LCellSize, 1, - "(Point cSize) -> None"}, - {"LClick", (PyCFunction)ListObj_LClick, 1, - "(Point pt, short modifiers) -> (Boolean _rv)"}, - {"LAddToCell", (PyCFunction)ListObj_LAddToCell, 1, - "(Buffer dataPtr, Point theCell) -> None"}, - {"LClrCell", (PyCFunction)ListObj_LClrCell, 1, - "(Point theCell) -> None"}, - {"LGetCell", (PyCFunction)ListObj_LGetCell, 1, - "(Buffer dataPtr, Point theCell) -> (Buffer dataPtr)"}, - {"LRect", (PyCFunction)ListObj_LRect, 1, - "(Point theCell) -> (Rect cellRect)"}, - {"LSetCell", (PyCFunction)ListObj_LSetCell, 1, - "(Buffer dataPtr, Point theCell) -> None"}, - {"LSetSelect", (PyCFunction)ListObj_LSetSelect, 1, - "(Boolean setIt, Point theCell) -> None"}, - {"LDraw", (PyCFunction)ListObj_LDraw, 1, - "(Point theCell) -> None"}, - {"as_Resource", (PyCFunction)ListObj_as_Resource, 1, - "() -> (Handle _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain ListObj_chain = { ListObj_methods, NULL }; - -static PyObject *ListObj_getattr(ListObject *self, char *name) -{ - { - /* XXXX Should we HLock() here?? */ - if ( strcmp(name, "listFlags") == 0 ) - return Py_BuildValue("l", (long)(*self->ob_itself)->listFlags & 0xff); - if ( strcmp(name, "selFlags") == 0 ) - return Py_BuildValue("l", (long)(*self->ob_itself)->selFlags & 0xff); - } - return Py_FindMethodInChain(&ListObj_chain, (PyObject *)self, name); -} - -static int -ListObj_setattr(ListObject *self, char *name, PyObject *value) -{ - long intval; - - if ( value == NULL || !PyInt_Check(value) ) - return -1; - intval = PyInt_AsLong(value); - if (strcmp(name, "listFlags") == 0 ) { - /* XXXX Should we HLock the handle here?? */ - (*self->ob_itself)->listFlags = intval; - return 0; - } - if (strcmp(name, "selFlags") == 0 ) { - (*self->ob_itself)->selFlags = intval; - return 0; - } - return -1; -} - - -#define ListObj_compare NULL - -#define ListObj_repr NULL - -#define ListObj_hash NULL - -PyTypeObject List_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "List", /*tp_name*/ - sizeof(ListObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) ListObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) ListObj_getattr, /*tp_getattr*/ - (setattrfunc) ListObj_setattr, /*tp_setattr*/ - (cmpfunc) ListObj_compare, /*tp_compare*/ - (reprfunc) ListObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) ListObj_hash, /*tp_hash*/ -}; - -/* ---------------------- End object type List ---------------------- */ - - -static PyObject *List_LNew(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle _rv; - Rect rView; - Rect dataBounds; - Point cSize; - short theProc; - WindowPtr theWindow; - Boolean drawIt; - Boolean hasGrow; - Boolean scrollHoriz; - Boolean scrollVert; - if (!PyArg_ParseTuple(_args, "O&O&O&hO&bbbb", - PyMac_GetRect, &rView, - PyMac_GetRect, &dataBounds, - PyMac_GetPoint, &cSize, - &theProc, - WinObj_Convert, &theWindow, - &drawIt, - &hasGrow, - &scrollHoriz, - &scrollVert)) - return NULL; - _rv = LNew(&rView, - &dataBounds, - cSize, - theProc, - theWindow, - drawIt, - hasGrow, - scrollHoriz, - scrollVert); - _res = Py_BuildValue("O&", - ListObj_New, _rv); - return _res; -} - -static PyObject *List_GetListPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListPort(list); - _res = Py_BuildValue("O&", - GrafObj_New, _rv); - return _res; -} - -static PyObject *List_GetListVerticalScrollBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlHandle _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListVerticalScrollBar(list); - _res = Py_BuildValue("O&", - CtlObj_New, _rv); - return _res; -} - -static PyObject *List_GetListHorizontalScrollBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ControlHandle _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListHorizontalScrollBar(list); - _res = Py_BuildValue("O&", - CtlObj_New, _rv); - return _res; -} - -static PyObject *List_GetListActive(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListActive(list); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *List_GetListClickTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListClickTime(list); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *List_GetListRefCon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListRefCon(list); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *List_GetListDefinition(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListDefinition(list); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *List_GetListUserHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListUserHandle(list); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *List_GetListDataHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DataHandle _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListDataHandle(list); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *List_GetListFlags(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OptionBits _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListFlags(list); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *List_GetListSelectionFlags(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OptionBits _rv; - ListHandle list; - if (!PyArg_ParseTuple(_args, "O&", - ListObj_Convert, &list)) - return NULL; - _rv = GetListSelectionFlags(list); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *List_SetListViewBounds(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle list; - Rect view; - if (!PyArg_ParseTuple(_args, "O&O&", - ListObj_Convert, &list, - PyMac_GetRect, &view)) - return NULL; - SetListViewBounds(list, - &view); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *List_SetListPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle list; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&O&", - ListObj_Convert, &list, - GrafObj_Convert, &port)) - return NULL; - SetListPort(list, - port); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *List_SetListCellIndent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle list; - Point indent; - if (!PyArg_ParseTuple(_args, "O&O&", - ListObj_Convert, &list, - PyMac_GetPoint, &indent)) - return NULL; - SetListCellIndent(list, - &indent); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *List_SetListClickTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle list; - SInt32 time; - if (!PyArg_ParseTuple(_args, "O&l", - ListObj_Convert, &list, - &time)) - return NULL; - SetListClickTime(list, - time); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *List_SetListRefCon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle list; - SInt32 refCon; - if (!PyArg_ParseTuple(_args, "O&l", - ListObj_Convert, &list, - &refCon)) - return NULL; - SetListRefCon(list, - refCon); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *List_SetListUserHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle list; - Handle userHandle; - if (!PyArg_ParseTuple(_args, "O&O&", - ListObj_Convert, &list, - ResObj_Convert, &userHandle)) - return NULL; - SetListUserHandle(list, - userHandle); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *List_SetListFlags(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle list; - OptionBits listFlags; - if (!PyArg_ParseTuple(_args, "O&l", - ListObj_Convert, &list, - &listFlags)) - return NULL; - SetListFlags(list, - listFlags); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *List_SetListSelectionFlags(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ListHandle list; - OptionBits selectionFlags; - if (!PyArg_ParseTuple(_args, "O&l", - ListObj_Convert, &list, - &selectionFlags)) - return NULL; - SetListSelectionFlags(list, - selectionFlags); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *List_as_List(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - Handle h; - ListObject *l; - if (!PyArg_ParseTuple(_args, "O&", ResObj_Convert, &h)) - return NULL; - l = (ListObject *)ListObj_New(as_List(h)); - l->ob_must_be_disposed = 0; - return Py_BuildValue("O", l); - -} - -static PyMethodDef List_methods[] = { - {"LNew", (PyCFunction)List_LNew, 1, - "(Rect rView, Rect dataBounds, Point cSize, short theProc, WindowPtr theWindow, Boolean drawIt, Boolean hasGrow, Boolean scrollHoriz, Boolean scrollVert) -> (ListHandle _rv)"}, - {"GetListPort", (PyCFunction)List_GetListPort, 1, - "(ListHandle list) -> (CGrafPtr _rv)"}, - {"GetListVerticalScrollBar", (PyCFunction)List_GetListVerticalScrollBar, 1, - "(ListHandle list) -> (ControlHandle _rv)"}, - {"GetListHorizontalScrollBar", (PyCFunction)List_GetListHorizontalScrollBar, 1, - "(ListHandle list) -> (ControlHandle _rv)"}, - {"GetListActive", (PyCFunction)List_GetListActive, 1, - "(ListHandle list) -> (Boolean _rv)"}, - {"GetListClickTime", (PyCFunction)List_GetListClickTime, 1, - "(ListHandle list) -> (SInt32 _rv)"}, - {"GetListRefCon", (PyCFunction)List_GetListRefCon, 1, - "(ListHandle list) -> (SInt32 _rv)"}, - {"GetListDefinition", (PyCFunction)List_GetListDefinition, 1, - "(ListHandle list) -> (Handle _rv)"}, - {"GetListUserHandle", (PyCFunction)List_GetListUserHandle, 1, - "(ListHandle list) -> (Handle _rv)"}, - {"GetListDataHandle", (PyCFunction)List_GetListDataHandle, 1, - "(ListHandle list) -> (DataHandle _rv)"}, - {"GetListFlags", (PyCFunction)List_GetListFlags, 1, - "(ListHandle list) -> (OptionBits _rv)"}, - {"GetListSelectionFlags", (PyCFunction)List_GetListSelectionFlags, 1, - "(ListHandle list) -> (OptionBits _rv)"}, - {"SetListViewBounds", (PyCFunction)List_SetListViewBounds, 1, - "(ListHandle list, Rect view) -> None"}, - {"SetListPort", (PyCFunction)List_SetListPort, 1, - "(ListHandle list, CGrafPtr port) -> None"}, - {"SetListCellIndent", (PyCFunction)List_SetListCellIndent, 1, - "(ListHandle list, Point indent) -> None"}, - {"SetListClickTime", (PyCFunction)List_SetListClickTime, 1, - "(ListHandle list, SInt32 time) -> None"}, - {"SetListRefCon", (PyCFunction)List_SetListRefCon, 1, - "(ListHandle list, SInt32 refCon) -> None"}, - {"SetListUserHandle", (PyCFunction)List_SetListUserHandle, 1, - "(ListHandle list, Handle userHandle) -> None"}, - {"SetListFlags", (PyCFunction)List_SetListFlags, 1, - "(ListHandle list, OptionBits listFlags) -> None"}, - {"SetListSelectionFlags", (PyCFunction)List_SetListSelectionFlags, 1, - "(ListHandle list, OptionBits selectionFlags) -> None"}, - {"as_List", (PyCFunction)List_as_List, 1, - "(Resource)->List.\nReturns List object (which is not auto-freed!)"}, - {NULL, NULL, 0} -}; - - - - -void initList(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(ListHandle, ListObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(ListHandle, ListObj_Convert); - - - m = Py_InitModule("List", List_methods); - d = PyModule_GetDict(m); - List_Error = PyMac_GetOSErrException(); - if (List_Error == NULL || - PyDict_SetItemString(d, "Error", List_Error) != 0) - return; - List_Type.ob_type = &PyType_Type; - Py_INCREF(&List_Type); - if (PyDict_SetItemString(d, "ListType", (PyObject *)&List_Type) != 0) - Py_FatalError("can't initialize ListType"); -} - -/* ======================== End module List ========================= */ - diff --git a/Mac/Modules/menu/Menumodule.c b/Mac/Modules/menu/Menumodule.c deleted file mode 100644 index f3c2df9..0000000 --- a/Mac/Modules/menu/Menumodule.c +++ /dev/null @@ -1,2558 +0,0 @@ - -/* ========================== Module Menu =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Devices.h> /* Defines OpenDeskAcc in universal headers */ -#include <Menus.h> -#else -#include <Carbon/Carbon.h> -#endif - - -#ifdef USE_TOOLBOX_OBJECT_GLUE - -extern PyObject *_MenuObj_New(MenuHandle); -extern int _MenuObj_Convert(PyObject *, MenuHandle *); - -#define MenuObj_New _MenuObj_New -#define MenuObj_Convert _MenuObj_Convert -#endif - -#if !ACCESSOR_CALLS_ARE_FUNCTIONS -#define GetMenuID(menu) ((*(menu))->menuID) -#define GetMenuWidth(menu) ((*(menu))->menuWidth) -#define GetMenuHeight(menu) ((*(menu))->menuHeight) - -#define SetMenuID(menu, id) ((*(menu))->menuID = (id)) -#define SetMenuWidth(menu, width) ((*(menu))->menuWidth = (width)) -#define SetMenuHeight(menu, height) ((*(menu))->menuHeight = (height)) -#endif - -#define as_Menu(h) ((MenuHandle)h) -#define as_Resource(h) ((Handle)h) - -static PyObject *Menu_Error; - -/* ------------------------ Object type Menu ------------------------ */ - -PyTypeObject Menu_Type; - -#define MenuObj_Check(x) ((x)->ob_type == &Menu_Type) - -typedef struct MenuObject { - PyObject_HEAD - MenuHandle ob_itself; -} MenuObject; - -PyObject *MenuObj_New(MenuHandle itself) -{ - MenuObject *it; - it = PyObject_NEW(MenuObject, &Menu_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -MenuObj_Convert(PyObject *v, MenuHandle *p_itself) -{ - if (!MenuObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Menu required"); - return 0; - } - *p_itself = ((MenuObject *)v)->ob_itself; - return 1; -} - -static void MenuObj_dealloc(MenuObject *self) -{ - /* Cleanup of self->ob_itself goes here */ - PyMem_DEL(self); -} - -static PyObject *MenuObj_DisposeMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DisposeMenu(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_CalcMenuSize(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CalcMenuSize(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_CountMenuItems(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CountMenuItems(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *MenuObj_CountMItems(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CountMItems(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} -#endif - -static PyObject *MenuObj_GetMenuFont(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - SInt16 outFontID; - UInt16 outFontSize; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMenuFont(_self->ob_itself, - &outFontID, - &outFontSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("hH", - outFontID, - outFontSize); - return _res; -} - -static PyObject *MenuObj_SetMenuFont(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - SInt16 inFontID; - UInt16 inFontSize; - if (!PyArg_ParseTuple(_args, "hH", - &inFontID, - &inFontSize)) - return NULL; - _err = SetMenuFont(_self->ob_itself, - inFontID, - inFontSize); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuExcludesMarkColumn(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMenuExcludesMarkColumn(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *MenuObj_SetMenuExcludesMarkColumn(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Boolean excludesMark; - if (!PyArg_ParseTuple(_args, "b", - &excludesMark)) - return NULL; - _err = SetMenuExcludesMarkColumn(_self->ob_itself, - excludesMark); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_MacAppendMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 data; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, data)) - return NULL; - MacAppendMenu(_self->ob_itself, - data); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_InsertResMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ResType theType; - short afterItem; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetOSType, &theType, - &afterItem)) - return NULL; - InsertResMenu(_self->ob_itself, - theType, - afterItem); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_AppendResMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ResType theType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theType)) - return NULL; - AppendResMenu(_self->ob_itself, - theType); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_MacInsertMenuItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 itemString; - short afterItem; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetStr255, itemString, - &afterItem)) - return NULL; - MacInsertMenuItem(_self->ob_itself, - itemString, - afterItem); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_DeleteMenuItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - DeleteMenuItem(_self->ob_itself, - item); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_InsertFontResMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short afterItem; - short scriptFilter; - if (!PyArg_ParseTuple(_args, "hh", - &afterItem, - &scriptFilter)) - return NULL; - InsertFontResMenu(_self->ob_itself, - afterItem, - scriptFilter); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_InsertIntlResMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ResType theType; - short afterItem; - short scriptFilter; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetOSType, &theType, - &afterItem, - &scriptFilter)) - return NULL; - InsertIntlResMenu(_self->ob_itself, - theType, - afterItem, - scriptFilter); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_AppendMenuItemText(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Str255 inString; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, inString)) - return NULL; - _err = AppendMenuItemText(_self->ob_itself, - inString); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_InsertMenuItemText(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Str255 inString; - MenuItemIndex afterItem; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetStr255, inString, - &afterItem)) - return NULL; - _err = InsertMenuItemText(_self->ob_itself, - inString, - afterItem); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_PopUpMenuSelect(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - short top; - short left; - short popUpItem; - if (!PyArg_ParseTuple(_args, "hhh", - &top, - &left, - &popUpItem)) - return NULL; - _rv = PopUpMenuSelect(_self->ob_itself, - top, - left, - popUpItem); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MenuObj_MacInsertMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuID beforeID; - if (!PyArg_ParseTuple(_args, "h", - &beforeID)) - return NULL; - MacInsertMenu(_self->ob_itself, - beforeID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_MacCheckMenuItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - Boolean checked; - if (!PyArg_ParseTuple(_args, "hb", - &item, - &checked)) - return NULL; - MacCheckMenuItem(_self->ob_itself, - item, - checked); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *MenuObj_CheckItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - Boolean checked; - if (!PyArg_ParseTuple(_args, "hb", - &item, - &checked)) - return NULL; - CheckItem(_self->ob_itself, - item, - checked); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *MenuObj_SetMenuItemText(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - Str255 itemString; - if (!PyArg_ParseTuple(_args, "hO&", - &item, - PyMac_GetStr255, itemString)) - return NULL; - SetMenuItemText(_self->ob_itself, - item, - itemString); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemText(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - Str255 itemString; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - GetMenuItemText(_self->ob_itself, - item, - itemString); - _res = Py_BuildValue("O&", - PyMac_BuildStr255, itemString); - return _res; -} - -static PyObject *MenuObj_SetItemMark(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - CharParameter markChar; - if (!PyArg_ParseTuple(_args, "hh", - &item, - &markChar)) - return NULL; - SetItemMark(_self->ob_itself, - item, - markChar); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetItemMark(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - CharParameter markChar; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - GetItemMark(_self->ob_itself, - item, - &markChar); - _res = Py_BuildValue("h", - markChar); - return _res; -} - -static PyObject *MenuObj_SetItemCmd(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - CharParameter cmdChar; - if (!PyArg_ParseTuple(_args, "hh", - &item, - &cmdChar)) - return NULL; - SetItemCmd(_self->ob_itself, - item, - cmdChar); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetItemCmd(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - CharParameter cmdChar; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - GetItemCmd(_self->ob_itself, - item, - &cmdChar); - _res = Py_BuildValue("h", - cmdChar); - return _res; -} - -static PyObject *MenuObj_SetItemIcon(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - short iconIndex; - if (!PyArg_ParseTuple(_args, "hh", - &item, - &iconIndex)) - return NULL; - SetItemIcon(_self->ob_itself, - item, - iconIndex); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetItemIcon(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - short iconIndex; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - GetItemIcon(_self->ob_itself, - item, - &iconIndex); - _res = Py_BuildValue("h", - iconIndex); - return _res; -} - -static PyObject *MenuObj_SetItemStyle(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - StyleParameter chStyle; - if (!PyArg_ParseTuple(_args, "hh", - &item, - &chStyle)) - return NULL; - SetItemStyle(_self->ob_itself, - item, - chStyle); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetItemStyle(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - Style chStyle; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - GetItemStyle(_self->ob_itself, - item, - &chStyle); - _res = Py_BuildValue("b", - chStyle); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *MenuObj_DisableItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - DisableItem(_self->ob_itself, - item); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *MenuObj_EnableItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - EnableItem(_self->ob_itself, - item); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *MenuObj_SetMenuItemCommandID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - MenuCommand inCommandID; - if (!PyArg_ParseTuple(_args, "hl", - &inItem, - &inCommandID)) - return NULL; - _err = SetMenuItemCommandID(_self->ob_itself, - inItem, - inCommandID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemCommandID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - MenuCommand outCommandID; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemCommandID(_self->ob_itself, - inItem, - &outCommandID); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outCommandID); - return _res; -} - -static PyObject *MenuObj_SetMenuItemModifiers(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - UInt8 inModifiers; - if (!PyArg_ParseTuple(_args, "hb", - &inItem, - &inModifiers)) - return NULL; - _err = SetMenuItemModifiers(_self->ob_itself, - inItem, - inModifiers); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemModifiers(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - UInt8 outModifiers; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemModifiers(_self->ob_itself, - inItem, - &outModifiers); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - outModifiers); - return _res; -} - -static PyObject *MenuObj_SetMenuItemIconHandle(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - UInt8 inIconType; - Handle inIconHandle; - if (!PyArg_ParseTuple(_args, "hbO&", - &inItem, - &inIconType, - ResObj_Convert, &inIconHandle)) - return NULL; - _err = SetMenuItemIconHandle(_self->ob_itself, - inItem, - inIconType, - inIconHandle); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemIconHandle(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - UInt8 outIconType; - Handle outIconHandle; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemIconHandle(_self->ob_itself, - inItem, - &outIconType, - &outIconHandle); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("bO&", - outIconType, - ResObj_New, outIconHandle); - return _res; -} - -static PyObject *MenuObj_SetMenuItemTextEncoding(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - TextEncoding inScriptID; - if (!PyArg_ParseTuple(_args, "hl", - &inItem, - &inScriptID)) - return NULL; - _err = SetMenuItemTextEncoding(_self->ob_itself, - inItem, - inScriptID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemTextEncoding(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - TextEncoding outScriptID; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemTextEncoding(_self->ob_itself, - inItem, - &outScriptID); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outScriptID); - return _res; -} - -static PyObject *MenuObj_SetMenuItemHierarchicalID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - MenuID inHierID; - if (!PyArg_ParseTuple(_args, "hh", - &inItem, - &inHierID)) - return NULL; - _err = SetMenuItemHierarchicalID(_self->ob_itself, - inItem, - inHierID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemHierarchicalID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - MenuID outHierID; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemHierarchicalID(_self->ob_itself, - inItem, - &outHierID); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - outHierID); - return _res; -} - -static PyObject *MenuObj_SetMenuItemFontID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - SInt16 inFontID; - if (!PyArg_ParseTuple(_args, "hh", - &inItem, - &inFontID)) - return NULL; - _err = SetMenuItemFontID(_self->ob_itself, - inItem, - inFontID); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemFontID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - SInt16 outFontID; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemFontID(_self->ob_itself, - inItem, - &outFontID); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - outFontID); - return _res; -} - -static PyObject *MenuObj_SetMenuItemRefCon(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - UInt32 inRefCon; - if (!PyArg_ParseTuple(_args, "hl", - &inItem, - &inRefCon)) - return NULL; - _err = SetMenuItemRefCon(_self->ob_itself, - inItem, - inRefCon); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemRefCon(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - UInt32 outRefCon; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemRefCon(_self->ob_itself, - inItem, - &outRefCon); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outRefCon); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *MenuObj_SetMenuItemRefCon2(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - UInt32 inRefCon2; - if (!PyArg_ParseTuple(_args, "hl", - &inItem, - &inRefCon2)) - return NULL; - _err = SetMenuItemRefCon2(_self->ob_itself, - inItem, - inRefCon2); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *MenuObj_GetMenuItemRefCon2(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - UInt32 outRefCon2; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemRefCon2(_self->ob_itself, - inItem, - &outRefCon2); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outRefCon2); - return _res; -} -#endif - -static PyObject *MenuObj_SetMenuItemKeyGlyph(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - SInt16 inGlyph; - if (!PyArg_ParseTuple(_args, "hh", - &inItem, - &inGlyph)) - return NULL; - _err = SetMenuItemKeyGlyph(_self->ob_itself, - inItem, - inGlyph); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_GetMenuItemKeyGlyph(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SInt16 inItem; - SInt16 outGlyph; - if (!PyArg_ParseTuple(_args, "h", - &inItem)) - return NULL; - _err = GetMenuItemKeyGlyph(_self->ob_itself, - inItem, - &outGlyph); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - outGlyph); - return _res; -} - -static PyObject *MenuObj_MacEnableMenuItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuItemIndex item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - MacEnableMenuItem(_self->ob_itself, - item); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_DisableMenuItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuItemIndex item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - DisableMenuItem(_self->ob_itself, - item); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_IsMenuItemEnabled(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - MenuItemIndex item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - _rv = IsMenuItemEnabled(_self->ob_itself, - item); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *MenuObj_EnableMenuItemIcon(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuItemIndex item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - EnableMenuItemIcon(_self->ob_itself, - item); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_DisableMenuItemIcon(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuItemIndex item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - DisableMenuItemIcon(_self->ob_itself, - item); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_IsMenuItemIconEnabled(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - MenuItemIndex item; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - _rv = IsMenuItemIconEnabled(_self->ob_itself, - item); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_GetMenuItemPropertyAttributes(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuItemIndex item; - OSType propertyCreator; - OSType propertyTag; - UInt32 attributes; - if (!PyArg_ParseTuple(_args, "hO&O&", - &item, - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag)) - return NULL; - _err = GetMenuItemPropertyAttributes(_self->ob_itself, - item, - propertyCreator, - propertyTag, - &attributes); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - attributes); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_ChangeMenuItemPropertyAttributes(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuItemIndex item; - OSType propertyCreator; - OSType propertyTag; - UInt32 attributesToSet; - UInt32 attributesToClear; - if (!PyArg_ParseTuple(_args, "hO&O&ll", - &item, - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag, - &attributesToSet, - &attributesToClear)) - return NULL; - _err = ChangeMenuItemPropertyAttributes(_self->ob_itself, - item, - propertyCreator, - propertyTag, - attributesToSet, - attributesToClear); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_GetMenuAttributes(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuAttributes outAttributes; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMenuAttributes(_self->ob_itself, - &outAttributes); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outAttributes); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_ChangeMenuAttributes(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuAttributes setTheseAttributes; - MenuAttributes clearTheseAttributes; - if (!PyArg_ParseTuple(_args, "ll", - &setTheseAttributes, - &clearTheseAttributes)) - return NULL; - _err = ChangeMenuAttributes(_self->ob_itself, - setTheseAttributes, - clearTheseAttributes); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_GetMenuItemAttributes(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuItemIndex item; - MenuItemAttributes outAttributes; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - _err = GetMenuItemAttributes(_self->ob_itself, - item, - &outAttributes); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outAttributes); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_ChangeMenuItemAttributes(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuItemIndex item; - MenuItemAttributes setTheseAttributes; - MenuItemAttributes clearTheseAttributes; - if (!PyArg_ParseTuple(_args, "hll", - &item, - &setTheseAttributes, - &clearTheseAttributes)) - return NULL; - _err = ChangeMenuItemAttributes(_self->ob_itself, - item, - setTheseAttributes, - clearTheseAttributes); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_DisableAllMenuItems(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DisableAllMenuItems(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_EnableAllMenuItems(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - EnableAllMenuItems(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_MenuHasEnabledItems(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MenuHasEnabledItems(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_CountMenuItemsWithCommandID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ItemCount _rv; - MenuCommand commandID; - if (!PyArg_ParseTuple(_args, "l", - &commandID)) - return NULL; - _rv = CountMenuItemsWithCommandID(_self->ob_itself, - commandID); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_GetIndMenuItemWithCommandID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuCommand commandID; - UInt32 itemIndex; - MenuHandle outMenu; - MenuItemIndex outIndex; - if (!PyArg_ParseTuple(_args, "ll", - &commandID, - &itemIndex)) - return NULL; - _err = GetIndMenuItemWithCommandID(_self->ob_itself, - commandID, - itemIndex, - &outMenu, - &outIndex); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&h", - MenuObj_New, outMenu, - outIndex); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_EnableMenuCommand(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuCommand commandID; - if (!PyArg_ParseTuple(_args, "l", - &commandID)) - return NULL; - EnableMenuCommand(_self->ob_itself, - commandID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_DisableMenuCommand(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuCommand commandID; - if (!PyArg_ParseTuple(_args, "l", - &commandID)) - return NULL; - DisableMenuCommand(_self->ob_itself, - commandID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_IsMenuCommandEnabled(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - MenuCommand commandID; - if (!PyArg_ParseTuple(_args, "l", - &commandID)) - return NULL; - _rv = IsMenuCommandEnabled(_self->ob_itself, - commandID); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_GetMenuCommandPropertySize(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuCommand commandID; - OSType propertyCreator; - OSType propertyTag; - ByteCount size; - if (!PyArg_ParseTuple(_args, "lO&O&", - &commandID, - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag)) - return NULL; - _err = GetMenuCommandPropertySize(_self->ob_itself, - commandID, - propertyCreator, - propertyTag, - &size); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - size); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_RemoveMenuCommandProperty(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuCommand commandID; - OSType propertyCreator; - OSType propertyTag; - if (!PyArg_ParseTuple(_args, "lO&O&", - &commandID, - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag)) - return NULL; - _err = RemoveMenuCommandProperty(_self->ob_itself, - commandID, - propertyCreator, - propertyTag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_CreateStandardFontMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuItemIndex afterItem; - MenuID firstHierMenuID; - OptionBits options; - ItemCount outHierMenuCount; - if (!PyArg_ParseTuple(_args, "hhl", - &afterItem, - &firstHierMenuID, - &options)) - return NULL; - _err = CreateStandardFontMenu(_self->ob_itself, - afterItem, - firstHierMenuID, - options, - &outHierMenuCount); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outHierMenuCount); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_UpdateStandardFontMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - ItemCount outHierMenuCount; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = UpdateStandardFontMenu(_self->ob_itself, - &outHierMenuCount); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outHierMenuCount); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *MenuObj_GetFontFamilyFromMenuSelection(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuItemIndex item; - FMFontFamily outFontFamily; - FMFontStyle outStyle; - if (!PyArg_ParseTuple(_args, "h", - &item)) - return NULL; - _err = GetFontFamilyFromMenuSelection(_self->ob_itself, - item, - &outFontFamily, - &outStyle); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("hh", - outFontFamily, - outStyle); - return _res; -} -#endif - -static PyObject *MenuObj_GetMenuID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuID _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMenuID(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *MenuObj_GetMenuWidth(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMenuWidth(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *MenuObj_GetMenuHeight(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMenuHeight(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *MenuObj_SetMenuID(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuID menuID; - if (!PyArg_ParseTuple(_args, "h", - &menuID)) - return NULL; - SetMenuID(_self->ob_itself, - menuID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_SetMenuWidth(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 width; - if (!PyArg_ParseTuple(_args, "h", - &width)) - return NULL; - SetMenuWidth(_self->ob_itself, - width); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_SetMenuHeight(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt16 height; - if (!PyArg_ParseTuple(_args, "h", - &height)) - return NULL; - SetMenuHeight(_self->ob_itself, - height); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_as_Resource(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = as_Resource(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MenuObj_AppendMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 data; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, data)) - return NULL; - AppendMenu(_self->ob_itself, - data); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_InsertMenu(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short beforeID; - if (!PyArg_ParseTuple(_args, "h", - &beforeID)) - return NULL; - InsertMenu(_self->ob_itself, - beforeID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_InsertMenuItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 itemString; - short afterItem; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetStr255, itemString, - &afterItem)) - return NULL; - InsertMenuItem(_self->ob_itself, - itemString, - afterItem); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_EnableMenuItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt16 item; - if (!PyArg_ParseTuple(_args, "H", - &item)) - return NULL; - EnableMenuItem(_self->ob_itself, - item); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MenuObj_CheckMenuItem(MenuObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short item; - Boolean checked; - if (!PyArg_ParseTuple(_args, "hb", - &item, - &checked)) - return NULL; - CheckMenuItem(_self->ob_itself, - item, - checked); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef MenuObj_methods[] = { - {"DisposeMenu", (PyCFunction)MenuObj_DisposeMenu, 1, - "() -> None"}, - {"CalcMenuSize", (PyCFunction)MenuObj_CalcMenuSize, 1, - "() -> None"}, - {"CountMenuItems", (PyCFunction)MenuObj_CountMenuItems, 1, - "() -> (short _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"CountMItems", (PyCFunction)MenuObj_CountMItems, 1, - "() -> (short _rv)"}, -#endif - {"GetMenuFont", (PyCFunction)MenuObj_GetMenuFont, 1, - "() -> (SInt16 outFontID, UInt16 outFontSize)"}, - {"SetMenuFont", (PyCFunction)MenuObj_SetMenuFont, 1, - "(SInt16 inFontID, UInt16 inFontSize) -> None"}, - {"GetMenuExcludesMarkColumn", (PyCFunction)MenuObj_GetMenuExcludesMarkColumn, 1, - "() -> (Boolean _rv)"}, - {"SetMenuExcludesMarkColumn", (PyCFunction)MenuObj_SetMenuExcludesMarkColumn, 1, - "(Boolean excludesMark) -> None"}, - {"MacAppendMenu", (PyCFunction)MenuObj_MacAppendMenu, 1, - "(Str255 data) -> None"}, - {"InsertResMenu", (PyCFunction)MenuObj_InsertResMenu, 1, - "(ResType theType, short afterItem) -> None"}, - {"AppendResMenu", (PyCFunction)MenuObj_AppendResMenu, 1, - "(ResType theType) -> None"}, - {"MacInsertMenuItem", (PyCFunction)MenuObj_MacInsertMenuItem, 1, - "(Str255 itemString, short afterItem) -> None"}, - {"DeleteMenuItem", (PyCFunction)MenuObj_DeleteMenuItem, 1, - "(short item) -> None"}, - {"InsertFontResMenu", (PyCFunction)MenuObj_InsertFontResMenu, 1, - "(short afterItem, short scriptFilter) -> None"}, - {"InsertIntlResMenu", (PyCFunction)MenuObj_InsertIntlResMenu, 1, - "(ResType theType, short afterItem, short scriptFilter) -> None"}, - {"AppendMenuItemText", (PyCFunction)MenuObj_AppendMenuItemText, 1, - "(Str255 inString) -> None"}, - {"InsertMenuItemText", (PyCFunction)MenuObj_InsertMenuItemText, 1, - "(Str255 inString, MenuItemIndex afterItem) -> None"}, - {"PopUpMenuSelect", (PyCFunction)MenuObj_PopUpMenuSelect, 1, - "(short top, short left, short popUpItem) -> (long _rv)"}, - {"MacInsertMenu", (PyCFunction)MenuObj_MacInsertMenu, 1, - "(MenuID beforeID) -> None"}, - {"MacCheckMenuItem", (PyCFunction)MenuObj_MacCheckMenuItem, 1, - "(short item, Boolean checked) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"CheckItem", (PyCFunction)MenuObj_CheckItem, 1, - "(short item, Boolean checked) -> None"}, -#endif - {"SetMenuItemText", (PyCFunction)MenuObj_SetMenuItemText, 1, - "(short item, Str255 itemString) -> None"}, - {"GetMenuItemText", (PyCFunction)MenuObj_GetMenuItemText, 1, - "(short item) -> (Str255 itemString)"}, - {"SetItemMark", (PyCFunction)MenuObj_SetItemMark, 1, - "(short item, CharParameter markChar) -> None"}, - {"GetItemMark", (PyCFunction)MenuObj_GetItemMark, 1, - "(short item) -> (CharParameter markChar)"}, - {"SetItemCmd", (PyCFunction)MenuObj_SetItemCmd, 1, - "(short item, CharParameter cmdChar) -> None"}, - {"GetItemCmd", (PyCFunction)MenuObj_GetItemCmd, 1, - "(short item) -> (CharParameter cmdChar)"}, - {"SetItemIcon", (PyCFunction)MenuObj_SetItemIcon, 1, - "(short item, short iconIndex) -> None"}, - {"GetItemIcon", (PyCFunction)MenuObj_GetItemIcon, 1, - "(short item) -> (short iconIndex)"}, - {"SetItemStyle", (PyCFunction)MenuObj_SetItemStyle, 1, - "(short item, StyleParameter chStyle) -> None"}, - {"GetItemStyle", (PyCFunction)MenuObj_GetItemStyle, 1, - "(short item) -> (Style chStyle)"}, - -#if !TARGET_API_MAC_CARBON - {"DisableItem", (PyCFunction)MenuObj_DisableItem, 1, - "(short item) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"EnableItem", (PyCFunction)MenuObj_EnableItem, 1, - "(short item) -> None"}, -#endif - {"SetMenuItemCommandID", (PyCFunction)MenuObj_SetMenuItemCommandID, 1, - "(SInt16 inItem, MenuCommand inCommandID) -> None"}, - {"GetMenuItemCommandID", (PyCFunction)MenuObj_GetMenuItemCommandID, 1, - "(SInt16 inItem) -> (MenuCommand outCommandID)"}, - {"SetMenuItemModifiers", (PyCFunction)MenuObj_SetMenuItemModifiers, 1, - "(SInt16 inItem, UInt8 inModifiers) -> None"}, - {"GetMenuItemModifiers", (PyCFunction)MenuObj_GetMenuItemModifiers, 1, - "(SInt16 inItem) -> (UInt8 outModifiers)"}, - {"SetMenuItemIconHandle", (PyCFunction)MenuObj_SetMenuItemIconHandle, 1, - "(SInt16 inItem, UInt8 inIconType, Handle inIconHandle) -> None"}, - {"GetMenuItemIconHandle", (PyCFunction)MenuObj_GetMenuItemIconHandle, 1, - "(SInt16 inItem) -> (UInt8 outIconType, Handle outIconHandle)"}, - {"SetMenuItemTextEncoding", (PyCFunction)MenuObj_SetMenuItemTextEncoding, 1, - "(SInt16 inItem, TextEncoding inScriptID) -> None"}, - {"GetMenuItemTextEncoding", (PyCFunction)MenuObj_GetMenuItemTextEncoding, 1, - "(SInt16 inItem) -> (TextEncoding outScriptID)"}, - {"SetMenuItemHierarchicalID", (PyCFunction)MenuObj_SetMenuItemHierarchicalID, 1, - "(SInt16 inItem, MenuID inHierID) -> None"}, - {"GetMenuItemHierarchicalID", (PyCFunction)MenuObj_GetMenuItemHierarchicalID, 1, - "(SInt16 inItem) -> (MenuID outHierID)"}, - {"SetMenuItemFontID", (PyCFunction)MenuObj_SetMenuItemFontID, 1, - "(SInt16 inItem, SInt16 inFontID) -> None"}, - {"GetMenuItemFontID", (PyCFunction)MenuObj_GetMenuItemFontID, 1, - "(SInt16 inItem) -> (SInt16 outFontID)"}, - {"SetMenuItemRefCon", (PyCFunction)MenuObj_SetMenuItemRefCon, 1, - "(SInt16 inItem, UInt32 inRefCon) -> None"}, - {"GetMenuItemRefCon", (PyCFunction)MenuObj_GetMenuItemRefCon, 1, - "(SInt16 inItem) -> (UInt32 outRefCon)"}, - -#if !TARGET_API_MAC_CARBON - {"SetMenuItemRefCon2", (PyCFunction)MenuObj_SetMenuItemRefCon2, 1, - "(SInt16 inItem, UInt32 inRefCon2) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"GetMenuItemRefCon2", (PyCFunction)MenuObj_GetMenuItemRefCon2, 1, - "(SInt16 inItem) -> (UInt32 outRefCon2)"}, -#endif - {"SetMenuItemKeyGlyph", (PyCFunction)MenuObj_SetMenuItemKeyGlyph, 1, - "(SInt16 inItem, SInt16 inGlyph) -> None"}, - {"GetMenuItemKeyGlyph", (PyCFunction)MenuObj_GetMenuItemKeyGlyph, 1, - "(SInt16 inItem) -> (SInt16 outGlyph)"}, - {"MacEnableMenuItem", (PyCFunction)MenuObj_MacEnableMenuItem, 1, - "(MenuItemIndex item) -> None"}, - {"DisableMenuItem", (PyCFunction)MenuObj_DisableMenuItem, 1, - "(MenuItemIndex item) -> None"}, - {"IsMenuItemEnabled", (PyCFunction)MenuObj_IsMenuItemEnabled, 1, - "(MenuItemIndex item) -> (Boolean _rv)"}, - {"EnableMenuItemIcon", (PyCFunction)MenuObj_EnableMenuItemIcon, 1, - "(MenuItemIndex item) -> None"}, - {"DisableMenuItemIcon", (PyCFunction)MenuObj_DisableMenuItemIcon, 1, - "(MenuItemIndex item) -> None"}, - {"IsMenuItemIconEnabled", (PyCFunction)MenuObj_IsMenuItemIconEnabled, 1, - "(MenuItemIndex item) -> (Boolean _rv)"}, - -#if TARGET_API_MAC_CARBON - {"GetMenuItemPropertyAttributes", (PyCFunction)MenuObj_GetMenuItemPropertyAttributes, 1, - "(MenuItemIndex item, OSType propertyCreator, OSType propertyTag) -> (UInt32 attributes)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"ChangeMenuItemPropertyAttributes", (PyCFunction)MenuObj_ChangeMenuItemPropertyAttributes, 1, - "(MenuItemIndex item, OSType propertyCreator, OSType propertyTag, UInt32 attributesToSet, UInt32 attributesToClear) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetMenuAttributes", (PyCFunction)MenuObj_GetMenuAttributes, 1, - "() -> (MenuAttributes outAttributes)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"ChangeMenuAttributes", (PyCFunction)MenuObj_ChangeMenuAttributes, 1, - "(MenuAttributes setTheseAttributes, MenuAttributes clearTheseAttributes) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetMenuItemAttributes", (PyCFunction)MenuObj_GetMenuItemAttributes, 1, - "(MenuItemIndex item) -> (MenuItemAttributes outAttributes)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"ChangeMenuItemAttributes", (PyCFunction)MenuObj_ChangeMenuItemAttributes, 1, - "(MenuItemIndex item, MenuItemAttributes setTheseAttributes, MenuItemAttributes clearTheseAttributes) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"DisableAllMenuItems", (PyCFunction)MenuObj_DisableAllMenuItems, 1, - "() -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"EnableAllMenuItems", (PyCFunction)MenuObj_EnableAllMenuItems, 1, - "() -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"MenuHasEnabledItems", (PyCFunction)MenuObj_MenuHasEnabledItems, 1, - "() -> (Boolean _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"CountMenuItemsWithCommandID", (PyCFunction)MenuObj_CountMenuItemsWithCommandID, 1, - "(MenuCommand commandID) -> (ItemCount _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetIndMenuItemWithCommandID", (PyCFunction)MenuObj_GetIndMenuItemWithCommandID, 1, - "(MenuCommand commandID, UInt32 itemIndex) -> (MenuHandle outMenu, MenuItemIndex outIndex)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"EnableMenuCommand", (PyCFunction)MenuObj_EnableMenuCommand, 1, - "(MenuCommand commandID) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"DisableMenuCommand", (PyCFunction)MenuObj_DisableMenuCommand, 1, - "(MenuCommand commandID) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"IsMenuCommandEnabled", (PyCFunction)MenuObj_IsMenuCommandEnabled, 1, - "(MenuCommand commandID) -> (Boolean _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetMenuCommandPropertySize", (PyCFunction)MenuObj_GetMenuCommandPropertySize, 1, - "(MenuCommand commandID, OSType propertyCreator, OSType propertyTag) -> (ByteCount size)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"RemoveMenuCommandProperty", (PyCFunction)MenuObj_RemoveMenuCommandProperty, 1, - "(MenuCommand commandID, OSType propertyCreator, OSType propertyTag) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"CreateStandardFontMenu", (PyCFunction)MenuObj_CreateStandardFontMenu, 1, - "(MenuItemIndex afterItem, MenuID firstHierMenuID, OptionBits options) -> (ItemCount outHierMenuCount)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"UpdateStandardFontMenu", (PyCFunction)MenuObj_UpdateStandardFontMenu, 1, - "() -> (ItemCount outHierMenuCount)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetFontFamilyFromMenuSelection", (PyCFunction)MenuObj_GetFontFamilyFromMenuSelection, 1, - "(MenuItemIndex item) -> (FMFontFamily outFontFamily, FMFontStyle outStyle)"}, -#endif - {"GetMenuID", (PyCFunction)MenuObj_GetMenuID, 1, - "() -> (MenuID _rv)"}, - {"GetMenuWidth", (PyCFunction)MenuObj_GetMenuWidth, 1, - "() -> (SInt16 _rv)"}, - {"GetMenuHeight", (PyCFunction)MenuObj_GetMenuHeight, 1, - "() -> (SInt16 _rv)"}, - {"SetMenuID", (PyCFunction)MenuObj_SetMenuID, 1, - "(MenuID menuID) -> None"}, - {"SetMenuWidth", (PyCFunction)MenuObj_SetMenuWidth, 1, - "(SInt16 width) -> None"}, - {"SetMenuHeight", (PyCFunction)MenuObj_SetMenuHeight, 1, - "(SInt16 height) -> None"}, - {"as_Resource", (PyCFunction)MenuObj_as_Resource, 1, - "() -> (Handle _rv)"}, - {"AppendMenu", (PyCFunction)MenuObj_AppendMenu, 1, - "(Str255 data) -> None"}, - {"InsertMenu", (PyCFunction)MenuObj_InsertMenu, 1, - "(short beforeID) -> None"}, - {"InsertMenuItem", (PyCFunction)MenuObj_InsertMenuItem, 1, - "(Str255 itemString, short afterItem) -> None"}, - {"EnableMenuItem", (PyCFunction)MenuObj_EnableMenuItem, 1, - "(UInt16 item) -> None"}, - {"CheckMenuItem", (PyCFunction)MenuObj_CheckMenuItem, 1, - "(short item, Boolean checked) -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain MenuObj_chain = { MenuObj_methods, NULL }; - -static PyObject *MenuObj_getattr(MenuObject *self, char *name) -{ - return Py_FindMethodInChain(&MenuObj_chain, (PyObject *)self, name); -} - -#define MenuObj_setattr NULL - -#define MenuObj_compare NULL - -#define MenuObj_repr NULL - -#define MenuObj_hash NULL - -PyTypeObject Menu_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Menu", /*tp_name*/ - sizeof(MenuObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) MenuObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) MenuObj_getattr, /*tp_getattr*/ - (setattrfunc) MenuObj_setattr, /*tp_setattr*/ - (cmpfunc) MenuObj_compare, /*tp_compare*/ - (reprfunc) MenuObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) MenuObj_hash, /*tp_hash*/ -}; - -/* ---------------------- End object type Menu ---------------------- */ - - -#if !TARGET_API_MAC_CARBON - -static PyObject *Menu_InitProcMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short resID; - if (!PyArg_ParseTuple(_args, "h", - &resID)) - return NULL; - InitProcMenu(resID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Menu_InitMenus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - InitMenus(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Menu_NewMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuHandle _rv; - MenuID menuID; - Str255 menuTitle; - if (!PyArg_ParseTuple(_args, "hO&", - &menuID, - PyMac_GetStr255, menuTitle)) - return NULL; - _rv = NewMenu(menuID, - menuTitle); - _res = Py_BuildValue("O&", - MenuObj_New, _rv); - return _res; -} - -static PyObject *Menu_MacGetMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuHandle _rv; - short resourceID; - if (!PyArg_ParseTuple(_args, "h", - &resourceID)) - return NULL; - _rv = MacGetMenu(resourceID); - _res = Py_BuildValue("O&", - MenuObj_New, _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Menu_CreateNewMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuID menuID; - MenuAttributes menuAttributes; - MenuHandle outMenuRef; - if (!PyArg_ParseTuple(_args, "hl", - &menuID, - &menuAttributes)) - return NULL; - _err = CreateNewMenu(menuID, - menuAttributes, - &outMenuRef); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - MenuObj_New, outMenuRef); - return _res; -} -#endif - -static PyObject *Menu_MenuKey(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - CharParameter ch; - if (!PyArg_ParseTuple(_args, "h", - &ch)) - return NULL; - _rv = MenuKey(ch); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Menu_MenuSelect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - Point startPt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &startPt)) - return NULL; - _rv = MenuSelect(startPt); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Menu_MenuChoice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MenuChoice(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Menu_MenuEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 _rv; - EventRecord inEvent; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &inEvent)) - return NULL; - _rv = MenuEvent(&inEvent); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Menu_GetMBarHeight(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMBarHeight(); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Menu_MacDrawMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - MacDrawMenuBar(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_InvalMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - InvalMenuBar(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_HiliteMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuID menuID; - if (!PyArg_ParseTuple(_args, "h", - &menuID)) - return NULL; - HiliteMenu(menuID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_GetNewMBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuBarHandle _rv; - short menuBarID; - if (!PyArg_ParseTuple(_args, "h", - &menuBarID)) - return NULL; - _rv = GetNewMBar(menuBarID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Menu_GetMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuBarHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMenuBar(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Menu_SetMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuBarHandle mbar; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &mbar)) - return NULL; - SetMenuBar(mbar); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Menu_DuplicateMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuBarHandle mbar; - MenuBarHandle outBar; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &mbar)) - return NULL; - _err = DuplicateMenuBar(mbar, - &outBar); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, outBar); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Menu_DisposeMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuBarHandle mbar; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &mbar)) - return NULL; - _err = DisposeMenuBar(mbar); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Menu_GetMenuHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuHandle _rv; - MenuID menuID; - if (!PyArg_ParseTuple(_args, "h", - &menuID)) - return NULL; - _rv = GetMenuHandle(menuID); - _res = Py_BuildValue("O&", - MenuObj_New, _rv); - return _res; -} - -static PyObject *Menu_MacDeleteMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuID menuID; - if (!PyArg_ParseTuple(_args, "h", - &menuID)) - return NULL; - MacDeleteMenu(menuID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_ClearMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ClearMenuBar(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_SetMenuFlashCount(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short count; - if (!PyArg_ParseTuple(_args, "h", - &count)) - return NULL; - SetMenuFlashCount(count); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Menu_SetMenuFlash(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short count; - if (!PyArg_ParseTuple(_args, "h", - &count)) - return NULL; - SetMenuFlash(count); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Menu_FlashMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuID menuID; - if (!PyArg_ParseTuple(_args, "h", - &menuID)) - return NULL; - FlashMenuBar(menuID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Menu_SystemEdit(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - short editCmd; - if (!PyArg_ParseTuple(_args, "h", - &editCmd)) - return NULL; - _rv = SystemEdit(editCmd); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Menu_SystemMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long menuResult; - if (!PyArg_ParseTuple(_args, "l", - &menuResult)) - return NULL; - SystemMenu(menuResult); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Menu_IsMenuBarVisible(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsMenuBarVisible(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Menu_ShowMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ShowMenuBar(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_HideMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - HideMenuBar(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_DeleteMCEntries(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuID menuID; - short menuItem; - if (!PyArg_ParseTuple(_args, "hh", - &menuID, - &menuItem)) - return NULL; - DeleteMCEntries(menuID, - menuItem); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_InitContextualMenus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = InitContextualMenus(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_IsShowContextualMenuClick(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventRecord inEvent; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &inEvent)) - return NULL; - _rv = IsShowContextualMenuClick(&inEvent); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Menu_OpenDeskAcc(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 name; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, name)) - return NULL; - OpenDeskAcc(name); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Menu_as_Menu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuHandle _rv; - Handle h; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &h)) - return NULL; - _rv = as_Menu(h); - _res = Py_BuildValue("O&", - MenuObj_New, _rv); - return _res; -} - -static PyObject *Menu_GetMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MenuHandle _rv; - short resourceID; - if (!PyArg_ParseTuple(_args, "h", - &resourceID)) - return NULL; - _rv = GetMenu(resourceID); - _res = Py_BuildValue("O&", - MenuObj_New, _rv); - return _res; -} - -static PyObject *Menu_DeleteMenu(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short menuID; - if (!PyArg_ParseTuple(_args, "h", - &menuID)) - return NULL; - DeleteMenu(menuID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Menu_DrawMenuBar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DrawMenuBar(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef Menu_methods[] = { - -#if !TARGET_API_MAC_CARBON - {"InitProcMenu", (PyCFunction)Menu_InitProcMenu, 1, - "(short resID) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"InitMenus", (PyCFunction)Menu_InitMenus, 1, - "() -> None"}, -#endif - {"NewMenu", (PyCFunction)Menu_NewMenu, 1, - "(MenuID menuID, Str255 menuTitle) -> (MenuHandle _rv)"}, - {"MacGetMenu", (PyCFunction)Menu_MacGetMenu, 1, - "(short resourceID) -> (MenuHandle _rv)"}, - -#if TARGET_API_MAC_CARBON - {"CreateNewMenu", (PyCFunction)Menu_CreateNewMenu, 1, - "(MenuID menuID, MenuAttributes menuAttributes) -> (MenuHandle outMenuRef)"}, -#endif - {"MenuKey", (PyCFunction)Menu_MenuKey, 1, - "(CharParameter ch) -> (long _rv)"}, - {"MenuSelect", (PyCFunction)Menu_MenuSelect, 1, - "(Point startPt) -> (long _rv)"}, - {"MenuChoice", (PyCFunction)Menu_MenuChoice, 1, - "() -> (long _rv)"}, - {"MenuEvent", (PyCFunction)Menu_MenuEvent, 1, - "(EventRecord inEvent) -> (UInt32 _rv)"}, - {"GetMBarHeight", (PyCFunction)Menu_GetMBarHeight, 1, - "() -> (short _rv)"}, - {"MacDrawMenuBar", (PyCFunction)Menu_MacDrawMenuBar, 1, - "() -> None"}, - {"InvalMenuBar", (PyCFunction)Menu_InvalMenuBar, 1, - "() -> None"}, - {"HiliteMenu", (PyCFunction)Menu_HiliteMenu, 1, - "(MenuID menuID) -> None"}, - {"GetNewMBar", (PyCFunction)Menu_GetNewMBar, 1, - "(short menuBarID) -> (MenuBarHandle _rv)"}, - {"GetMenuBar", (PyCFunction)Menu_GetMenuBar, 1, - "() -> (MenuBarHandle _rv)"}, - {"SetMenuBar", (PyCFunction)Menu_SetMenuBar, 1, - "(MenuBarHandle mbar) -> None"}, - -#if TARGET_API_MAC_CARBON - {"DuplicateMenuBar", (PyCFunction)Menu_DuplicateMenuBar, 1, - "(MenuBarHandle mbar) -> (MenuBarHandle outBar)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"DisposeMenuBar", (PyCFunction)Menu_DisposeMenuBar, 1, - "(MenuBarHandle mbar) -> None"}, -#endif - {"GetMenuHandle", (PyCFunction)Menu_GetMenuHandle, 1, - "(MenuID menuID) -> (MenuHandle _rv)"}, - {"MacDeleteMenu", (PyCFunction)Menu_MacDeleteMenu, 1, - "(MenuID menuID) -> None"}, - {"ClearMenuBar", (PyCFunction)Menu_ClearMenuBar, 1, - "() -> None"}, - {"SetMenuFlashCount", (PyCFunction)Menu_SetMenuFlashCount, 1, - "(short count) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"SetMenuFlash", (PyCFunction)Menu_SetMenuFlash, 1, - "(short count) -> None"}, -#endif - {"FlashMenuBar", (PyCFunction)Menu_FlashMenuBar, 1, - "(MenuID menuID) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"SystemEdit", (PyCFunction)Menu_SystemEdit, 1, - "(short editCmd) -> (Boolean _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SystemMenu", (PyCFunction)Menu_SystemMenu, 1, - "(long menuResult) -> None"}, -#endif - {"IsMenuBarVisible", (PyCFunction)Menu_IsMenuBarVisible, 1, - "() -> (Boolean _rv)"}, - {"ShowMenuBar", (PyCFunction)Menu_ShowMenuBar, 1, - "() -> None"}, - {"HideMenuBar", (PyCFunction)Menu_HideMenuBar, 1, - "() -> None"}, - {"DeleteMCEntries", (PyCFunction)Menu_DeleteMCEntries, 1, - "(MenuID menuID, short menuItem) -> None"}, - {"InitContextualMenus", (PyCFunction)Menu_InitContextualMenus, 1, - "() -> None"}, - {"IsShowContextualMenuClick", (PyCFunction)Menu_IsShowContextualMenuClick, 1, - "(EventRecord inEvent) -> (Boolean _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"OpenDeskAcc", (PyCFunction)Menu_OpenDeskAcc, 1, - "(Str255 name) -> None"}, -#endif - {"as_Menu", (PyCFunction)Menu_as_Menu, 1, - "(Handle h) -> (MenuHandle _rv)"}, - {"GetMenu", (PyCFunction)Menu_GetMenu, 1, - "(short resourceID) -> (MenuHandle _rv)"}, - {"DeleteMenu", (PyCFunction)Menu_DeleteMenu, 1, - "(short menuID) -> None"}, - {"DrawMenuBar", (PyCFunction)Menu_DrawMenuBar, 1, - "() -> None"}, - {NULL, NULL, 0} -}; - - - - -void initMenu(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(MenuHandle, MenuObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MenuHandle, MenuObj_Convert); - - - m = Py_InitModule("Menu", Menu_methods); - d = PyModule_GetDict(m); - Menu_Error = PyMac_GetOSErrException(); - if (Menu_Error == NULL || - PyDict_SetItemString(d, "Error", Menu_Error) != 0) - return; - Menu_Type.ob_type = &PyType_Type; - Py_INCREF(&Menu_Type); - if (PyDict_SetItemString(d, "MenuType", (PyObject *)&Menu_Type) != 0) - Py_FatalError("can't initialize MenuType"); -} - -/* ======================== End module Menu ========================= */ - diff --git a/Mac/Modules/mlte/Mltemodule.c b/Mac/Modules/mlte/Mltemodule.c deleted file mode 100644 index d3ff4d0..0000000 --- a/Mac/Modules/mlte/Mltemodule.c +++ /dev/null @@ -1,1390 +0,0 @@ - -/* ========================== Module Mlte =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -/* Macro to test whether a weak-loaded CFM function exists */ -#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ - PyErr_SetString(PyExc_NotImplementedError, \ - "Not available in this shared library/OS version"); \ - return NULL; \ - }} while(0) - - -#ifdef WITHOUT_FRAMEWORKS -#include <MacTextEditor.h> -#else -#include <Carbon/Carbon.h> -#endif - -/* For now we declare them forward here. They'll go to mactoolbox later */ -staticforward PyObject *TXNObj_New(TXNObject); -staticforward int TXNObj_Convert(PyObject *, TXNObject *); -staticforward PyObject *TXNFontMenuObj_New(TXNFontMenuObject); -staticforward int TXNFontMenuObj_Convert(PyObject *, TXNFontMenuObject *); - -// ADD declarations -#ifdef NOTYET_USE_TOOLBOX_OBJECT_GLUE -//extern PyObject *_CFTypeRefObj_New(CFTypeRef); -//extern int _CFTypeRefObj_Convert(PyObject *, CFTypeRef *); - -//#define CFTypeRefObj_New _CFTypeRefObj_New -//#define CFTypeRefObj_Convert _CFTypeRefObj_Convert -#endif - -/* -** Parse an optional fsspec -*/ -static int -OptFSSpecPtr_Convert(PyObject *v, FSSpec **p_itself) -{ - static FSSpec fss; - if (v == Py_None) - { - *p_itself = NULL; - return 1; - } - *p_itself = &fss; - return PyMac_GetFSSpec(v, *p_itself); -} - -/* -** Parse an optional rect -*/ -static int -OptRectPtr_Convert(PyObject *v, Rect **p_itself) -{ - static Rect r; - - if (v == Py_None) - { - *p_itself = NULL; - return 1; - } - *p_itself = &r; - return PyMac_GetRect(v, *p_itself); -} - -/* -** Parse an optional GWorld -*/ -static int -OptGWorldObj_Convert(PyObject *v, GWorldPtr *p_itself) -{ - if (v == Py_None) - { - *p_itself = NULL; - return 1; - } - return GWorldObj_Convert(v, p_itself); -} - - -static PyObject *Mlte_Error; - -/* --------------------- Object type TXNObject ---------------------- */ - -PyTypeObject TXNObject_Type; - -#define TXNObj_Check(x) ((x)->ob_type == &TXNObject_Type) - -typedef struct TXNObjectObject { - PyObject_HEAD - TXNObject ob_itself; -} TXNObjectObject; - -PyObject *TXNObj_New(TXNObject itself) -{ - TXNObjectObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(TXNObjectObject, &TXNObject_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -TXNObj_Convert(PyObject *v, TXNObject *p_itself) -{ - if (!TXNObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "TXNObject required"); - return 0; - } - *p_itself = ((TXNObjectObject *)v)->ob_itself; - return 1; -} - -static void TXNObj_dealloc(TXNObjectObject *self) -{ - /* Cleanup of self->ob_itself goes here */ - PyMem_DEL(self); -} - -static PyObject *TXNObj_TXNDeleteObject(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(TXNDeleteObject); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNDeleteObject(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNResizeFrame(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 iWidth; - UInt32 iHeight; - TXNFrameID iTXNFrameID; - PyMac_PRECHECK(TXNResizeFrame); - if (!PyArg_ParseTuple(_args, "lll", - &iWidth, - &iHeight, - &iTXNFrameID)) - return NULL; - TXNResizeFrame(_self->ob_itself, - iWidth, - iHeight, - iTXNFrameID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNSetFrameBounds(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 iTop; - SInt32 iLeft; - SInt32 iBottom; - SInt32 iRight; - TXNFrameID iTXNFrameID; - PyMac_PRECHECK(TXNSetFrameBounds); - if (!PyArg_ParseTuple(_args, "lllll", - &iTop, - &iLeft, - &iBottom, - &iRight, - &iTXNFrameID)) - return NULL; - TXNSetFrameBounds(_self->ob_itself, - iTop, - iLeft, - iBottom, - iRight, - iTXNFrameID); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNKeyDown(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - EventRecord iEvent; - PyMac_PRECHECK(TXNKeyDown); - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &iEvent)) - return NULL; - TXNKeyDown(_self->ob_itself, - &iEvent); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNAdjustCursor(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle ioCursorRgn; - PyMac_PRECHECK(TXNAdjustCursor); - if (!PyArg_ParseTuple(_args, "O&", - OptResObj_Convert, &ioCursorRgn)) - return NULL; - TXNAdjustCursor(_self->ob_itself, - ioCursorRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNClick(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - EventRecord iEvent; - PyMac_PRECHECK(TXNClick); - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &iEvent)) - return NULL; - TXNClick(_self->ob_itself, - &iEvent); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_OSX -static PyObject *TXNObj_TXNTSMCheck(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventRecord iEvent; - PyMac_PRECHECK(TXNTSMCheck); - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &iEvent)) - return NULL; - _rv = TXNTSMCheck(_self->ob_itself, - &iEvent); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -static PyObject *TXNObj_TXNSelectAll(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(TXNSelectAll); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNSelectAll(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNFocus(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean iBecomingFocused; - PyMac_PRECHECK(TXNFocus); - if (!PyArg_ParseTuple(_args, "b", - &iBecomingFocused)) - return NULL; - TXNFocus(_self->ob_itself, - iBecomingFocused); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNUpdate(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(TXNUpdate); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNUpdate(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNDraw(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GWorldPtr iDrawPort; - PyMac_PRECHECK(TXNDraw); - if (!PyArg_ParseTuple(_args, "O&", - OptGWorldObj_Convert, &iDrawPort)) - return NULL; - TXNDraw(_self->ob_itself, - iDrawPort); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNForceUpdate(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(TXNForceUpdate); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNForceUpdate(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNGetSleepTicks(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UInt32 _rv; - PyMac_PRECHECK(TXNGetSleepTicks); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNGetSleepTicks(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TXNObj_TXNIdle(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(TXNIdle); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNIdle(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNGrowWindow(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - EventRecord iEvent; - PyMac_PRECHECK(TXNGrowWindow); - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &iEvent)) - return NULL; - TXNGrowWindow(_self->ob_itself, - &iEvent); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNZoomWindow(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short iPart; - PyMac_PRECHECK(TXNZoomWindow); - if (!PyArg_ParseTuple(_args, "h", - &iPart)) - return NULL; - TXNZoomWindow(_self->ob_itself, - iPart); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNCanUndo(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - TXNActionKey oTXNActionKey; - PyMac_PRECHECK(TXNCanUndo); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNCanUndo(_self->ob_itself, - &oTXNActionKey); - _res = Py_BuildValue("bl", - _rv, - oTXNActionKey); - return _res; -} - -static PyObject *TXNObj_TXNUndo(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(TXNUndo); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNUndo(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNCanRedo(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - TXNActionKey oTXNActionKey; - PyMac_PRECHECK(TXNCanRedo); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNCanRedo(_self->ob_itself, - &oTXNActionKey); - _res = Py_BuildValue("bl", - _rv, - oTXNActionKey); - return _res; -} - -static PyObject *TXNObj_TXNRedo(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(TXNRedo); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNRedo(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNCut(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNCut); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNCut(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNCopy(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNCopy); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNCopy(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNPaste(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNPaste); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNPaste(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNClear(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNClear); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNClear(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNGetSelection(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TXNOffset oStartOffset; - TXNOffset oEndOffset; - PyMac_PRECHECK(TXNGetSelection); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNGetSelection(_self->ob_itself, - &oStartOffset, - &oEndOffset); - _res = Py_BuildValue("ll", - oStartOffset, - oEndOffset); - return _res; -} - -static PyObject *TXNObj_TXNShowSelection(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean iShowEnd; - PyMac_PRECHECK(TXNShowSelection); - if (!PyArg_ParseTuple(_args, "b", - &iShowEnd)) - return NULL; - TXNShowSelection(_self->ob_itself, - iShowEnd); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNIsSelectionEmpty(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - PyMac_PRECHECK(TXNIsSelectionEmpty); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNIsSelectionEmpty(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *TXNObj_TXNSetSelection(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - TXNOffset iStartOffset; - TXNOffset iEndOffset; - PyMac_PRECHECK(TXNSetSelection); - if (!PyArg_ParseTuple(_args, "ll", - &iStartOffset, - &iEndOffset)) - return NULL; - _err = TXNSetSelection(_self->ob_itself, - iStartOffset, - iEndOffset); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNCountRunsInRange(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - UInt32 iStartOffset; - UInt32 iEndOffset; - ItemCount oRunCount; - PyMac_PRECHECK(TXNCountRunsInRange); - if (!PyArg_ParseTuple(_args, "ll", - &iStartOffset, - &iEndOffset)) - return NULL; - _err = TXNCountRunsInRange(_self->ob_itself, - iStartOffset, - iEndOffset, - &oRunCount); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - oRunCount); - return _res; -} - -static PyObject *TXNObj_TXNDataSize(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ByteCount _rv; - PyMac_PRECHECK(TXNDataSize); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNDataSize(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TXNObj_TXNGetData(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - TXNOffset iStartOffset; - TXNOffset iEndOffset; - Handle oDataHandle; - PyMac_PRECHECK(TXNGetData); - if (!PyArg_ParseTuple(_args, "ll", - &iStartOffset, - &iEndOffset)) - return NULL; - _err = TXNGetData(_self->ob_itself, - iStartOffset, - iEndOffset, - &oDataHandle); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, oDataHandle); - return _res; -} - -static PyObject *TXNObj_TXNGetDataEncoded(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - TXNOffset iStartOffset; - TXNOffset iEndOffset; - Handle oDataHandle; - TXNDataType iEncoding; - PyMac_PRECHECK(TXNGetDataEncoded); - if (!PyArg_ParseTuple(_args, "llO&", - &iStartOffset, - &iEndOffset, - PyMac_GetOSType, &iEncoding)) - return NULL; - _err = TXNGetDataEncoded(_self->ob_itself, - iStartOffset, - iEndOffset, - &oDataHandle, - iEncoding); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, oDataHandle); - return _res; -} - -static PyObject *TXNObj_TXNSetDataFromFile(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - SInt16 iFileRefNum; - OSType iFileType; - ByteCount iFileLength; - TXNOffset iStartOffset; - TXNOffset iEndOffset; - PyMac_PRECHECK(TXNSetDataFromFile); - if (!PyArg_ParseTuple(_args, "hO&lll", - &iFileRefNum, - PyMac_GetOSType, &iFileType, - &iFileLength, - &iStartOffset, - &iEndOffset)) - return NULL; - _err = TXNSetDataFromFile(_self->ob_itself, - iFileRefNum, - iFileType, - iFileLength, - iStartOffset, - iEndOffset); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNSetData(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - TXNDataType iDataType; - void * *iDataPtr__in__; - ByteCount iDataPtr__len__; - int iDataPtr__in_len__; - TXNOffset iStartOffset; - TXNOffset iEndOffset; - PyMac_PRECHECK(TXNSetData); - if (!PyArg_ParseTuple(_args, "O&s#ll", - PyMac_GetOSType, &iDataType, - &iDataPtr__in__, &iDataPtr__in_len__, - &iStartOffset, - &iEndOffset)) - return NULL; - iDataPtr__len__ = iDataPtr__in_len__; - _err = TXNSetData(_self->ob_itself, - iDataType, - iDataPtr__in__, iDataPtr__len__, - iStartOffset, - iEndOffset); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - iDataPtr__error__: ; - return _res; -} - -static PyObject *TXNObj_TXNGetChangeCount(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ItemCount _rv; - PyMac_PRECHECK(TXNGetChangeCount); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNGetChangeCount(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TXNObj_TXNSave(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - OSType iType; - OSType iResType; - TXNPermanentTextEncodingType iPermanentEncoding; - FSSpec iFileSpecification; - SInt16 iDataReference; - SInt16 iResourceReference; - PyMac_PRECHECK(TXNSave); - if (!PyArg_ParseTuple(_args, "O&O&lO&hh", - PyMac_GetOSType, &iType, - PyMac_GetOSType, &iResType, - &iPermanentEncoding, - PyMac_GetFSSpec, &iFileSpecification, - &iDataReference, - &iResourceReference)) - return NULL; - _err = TXNSave(_self->ob_itself, - iType, - iResType, - iPermanentEncoding, - &iFileSpecification, - iDataReference, - iResourceReference); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNRevert(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNRevert); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNRevert(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNPageSetup(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNPageSetup); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNPageSetup(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNPrint(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNPrint); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNPrint(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNGetViewRect(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect oViewRect; - PyMac_PRECHECK(TXNGetViewRect); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNGetViewRect(_self->ob_itself, - &oViewRect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &oViewRect); - return _res; -} - -static PyObject *TXNObj_TXNAttachObjectToWindow(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - GWorldPtr iWindow; - Boolean iIsActualWindow; - PyMac_PRECHECK(TXNAttachObjectToWindow); - if (!PyArg_ParseTuple(_args, "O&b", - GWorldObj_Convert, &iWindow, - &iIsActualWindow)) - return NULL; - _err = TXNAttachObjectToWindow(_self->ob_itself, - iWindow, - iIsActualWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNIsObjectAttachedToWindow(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - PyMac_PRECHECK(TXNIsObjectAttachedToWindow); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNIsObjectAttachedToWindow(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *TXNObj_TXNDragTracker(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TXNFrameID iTXNFrameID; - DragTrackingMessage iMessage; - WindowPtr iWindow; - DragReference iDragReference; - Boolean iDifferentObjectSameWindow; - PyMac_PRECHECK(TXNDragTracker); - if (!PyArg_ParseTuple(_args, "lhO&O&b", - &iTXNFrameID, - &iMessage, - WinObj_Convert, &iWindow, - DragObj_Convert, &iDragReference, - &iDifferentObjectSameWindow)) - return NULL; - _err = TXNDragTracker(_self->ob_itself, - iTXNFrameID, - iMessage, - iWindow, - iDragReference, - iDifferentObjectSameWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNDragReceiver(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TXNFrameID iTXNFrameID; - WindowPtr iWindow; - DragReference iDragReference; - Boolean iDifferentObjectSameWindow; - PyMac_PRECHECK(TXNDragReceiver); - if (!PyArg_ParseTuple(_args, "lO&O&b", - &iTXNFrameID, - WinObj_Convert, &iWindow, - DragObj_Convert, &iDragReference, - &iDifferentObjectSameWindow)) - return NULL; - _err = TXNDragReceiver(_self->ob_itself, - iTXNFrameID, - iWindow, - iDragReference, - iDifferentObjectSameWindow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNActivate(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - TXNFrameID iTXNFrameID; - TXNScrollBarState iActiveState; - PyMac_PRECHECK(TXNActivate); - if (!PyArg_ParseTuple(_args, "ll", - &iTXNFrameID, - &iActiveState)) - return NULL; - _err = TXNActivate(_self->ob_itself, - iTXNFrameID, - iActiveState); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNDoFontMenuSelection(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - TXNFontMenuObject iTXNFontMenuObject; - SInt16 iMenuID; - SInt16 iMenuItem; - PyMac_PRECHECK(TXNDoFontMenuSelection); - if (!PyArg_ParseTuple(_args, "O&hh", - TXNFontMenuObj_Convert, &iTXNFontMenuObject, - &iMenuID, - &iMenuItem)) - return NULL; - _err = TXNDoFontMenuSelection(_self->ob_itself, - iTXNFontMenuObject, - iMenuID, - iMenuItem); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TXNObj_TXNPrepareFontMenu(TXNObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - TXNFontMenuObject iTXNFontMenuObject; - PyMac_PRECHECK(TXNPrepareFontMenu); - if (!PyArg_ParseTuple(_args, "O&", - TXNFontMenuObj_Convert, &iTXNFontMenuObject)) - return NULL; - _err = TXNPrepareFontMenu(_self->ob_itself, - iTXNFontMenuObject); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef TXNObj_methods[] = { - {"TXNDeleteObject", (PyCFunction)TXNObj_TXNDeleteObject, 1, - "() -> None"}, - {"TXNResizeFrame", (PyCFunction)TXNObj_TXNResizeFrame, 1, - "(UInt32 iWidth, UInt32 iHeight, TXNFrameID iTXNFrameID) -> None"}, - {"TXNSetFrameBounds", (PyCFunction)TXNObj_TXNSetFrameBounds, 1, - "(SInt32 iTop, SInt32 iLeft, SInt32 iBottom, SInt32 iRight, TXNFrameID iTXNFrameID) -> None"}, - {"TXNKeyDown", (PyCFunction)TXNObj_TXNKeyDown, 1, - "(EventRecord iEvent) -> None"}, - {"TXNAdjustCursor", (PyCFunction)TXNObj_TXNAdjustCursor, 1, - "(RgnHandle ioCursorRgn) -> None"}, - {"TXNClick", (PyCFunction)TXNObj_TXNClick, 1, - "(EventRecord iEvent) -> None"}, -#if !TARGET_API_MAC_OSX - {"TXNTSMCheck", (PyCFunction)TXNObj_TXNTSMCheck, 1, - "(EventRecord iEvent) -> (Boolean _rv)"}, -#endif - {"TXNSelectAll", (PyCFunction)TXNObj_TXNSelectAll, 1, - "() -> None"}, - {"TXNFocus", (PyCFunction)TXNObj_TXNFocus, 1, - "(Boolean iBecomingFocused) -> None"}, - {"TXNUpdate", (PyCFunction)TXNObj_TXNUpdate, 1, - "() -> None"}, - {"TXNDraw", (PyCFunction)TXNObj_TXNDraw, 1, - "(GWorldPtr iDrawPort) -> None"}, - {"TXNForceUpdate", (PyCFunction)TXNObj_TXNForceUpdate, 1, - "() -> None"}, - {"TXNGetSleepTicks", (PyCFunction)TXNObj_TXNGetSleepTicks, 1, - "() -> (UInt32 _rv)"}, - {"TXNIdle", (PyCFunction)TXNObj_TXNIdle, 1, - "() -> None"}, - {"TXNGrowWindow", (PyCFunction)TXNObj_TXNGrowWindow, 1, - "(EventRecord iEvent) -> None"}, - {"TXNZoomWindow", (PyCFunction)TXNObj_TXNZoomWindow, 1, - "(short iPart) -> None"}, - {"TXNCanUndo", (PyCFunction)TXNObj_TXNCanUndo, 1, - "() -> (Boolean _rv, TXNActionKey oTXNActionKey)"}, - {"TXNUndo", (PyCFunction)TXNObj_TXNUndo, 1, - "() -> None"}, - {"TXNCanRedo", (PyCFunction)TXNObj_TXNCanRedo, 1, - "() -> (Boolean _rv, TXNActionKey oTXNActionKey)"}, - {"TXNRedo", (PyCFunction)TXNObj_TXNRedo, 1, - "() -> None"}, - {"TXNCut", (PyCFunction)TXNObj_TXNCut, 1, - "() -> None"}, - {"TXNCopy", (PyCFunction)TXNObj_TXNCopy, 1, - "() -> None"}, - {"TXNPaste", (PyCFunction)TXNObj_TXNPaste, 1, - "() -> None"}, - {"TXNClear", (PyCFunction)TXNObj_TXNClear, 1, - "() -> None"}, - {"TXNGetSelection", (PyCFunction)TXNObj_TXNGetSelection, 1, - "() -> (TXNOffset oStartOffset, TXNOffset oEndOffset)"}, - {"TXNShowSelection", (PyCFunction)TXNObj_TXNShowSelection, 1, - "(Boolean iShowEnd) -> None"}, - {"TXNIsSelectionEmpty", (PyCFunction)TXNObj_TXNIsSelectionEmpty, 1, - "() -> (Boolean _rv)"}, - {"TXNSetSelection", (PyCFunction)TXNObj_TXNSetSelection, 1, - "(TXNOffset iStartOffset, TXNOffset iEndOffset) -> None"}, - {"TXNCountRunsInRange", (PyCFunction)TXNObj_TXNCountRunsInRange, 1, - "(UInt32 iStartOffset, UInt32 iEndOffset) -> (ItemCount oRunCount)"}, - {"TXNDataSize", (PyCFunction)TXNObj_TXNDataSize, 1, - "() -> (ByteCount _rv)"}, - {"TXNGetData", (PyCFunction)TXNObj_TXNGetData, 1, - "(TXNOffset iStartOffset, TXNOffset iEndOffset) -> (Handle oDataHandle)"}, - {"TXNGetDataEncoded", (PyCFunction)TXNObj_TXNGetDataEncoded, 1, - "(TXNOffset iStartOffset, TXNOffset iEndOffset, TXNDataType iEncoding) -> (Handle oDataHandle)"}, - {"TXNSetDataFromFile", (PyCFunction)TXNObj_TXNSetDataFromFile, 1, - "(SInt16 iFileRefNum, OSType iFileType, ByteCount iFileLength, TXNOffset iStartOffset, TXNOffset iEndOffset) -> None"}, - {"TXNSetData", (PyCFunction)TXNObj_TXNSetData, 1, - "(TXNDataType iDataType, Buffer iDataPtr, TXNOffset iStartOffset, TXNOffset iEndOffset) -> None"}, - {"TXNGetChangeCount", (PyCFunction)TXNObj_TXNGetChangeCount, 1, - "() -> (ItemCount _rv)"}, - {"TXNSave", (PyCFunction)TXNObj_TXNSave, 1, - "(OSType iType, OSType iResType, TXNPermanentTextEncodingType iPermanentEncoding, FSSpec iFileSpecification, SInt16 iDataReference, SInt16 iResourceReference) -> None"}, - {"TXNRevert", (PyCFunction)TXNObj_TXNRevert, 1, - "() -> None"}, - {"TXNPageSetup", (PyCFunction)TXNObj_TXNPageSetup, 1, - "() -> None"}, - {"TXNPrint", (PyCFunction)TXNObj_TXNPrint, 1, - "() -> None"}, - {"TXNGetViewRect", (PyCFunction)TXNObj_TXNGetViewRect, 1, - "() -> (Rect oViewRect)"}, - {"TXNAttachObjectToWindow", (PyCFunction)TXNObj_TXNAttachObjectToWindow, 1, - "(GWorldPtr iWindow, Boolean iIsActualWindow) -> None"}, - {"TXNIsObjectAttachedToWindow", (PyCFunction)TXNObj_TXNIsObjectAttachedToWindow, 1, - "() -> (Boolean _rv)"}, - {"TXNDragTracker", (PyCFunction)TXNObj_TXNDragTracker, 1, - "(TXNFrameID iTXNFrameID, DragTrackingMessage iMessage, WindowPtr iWindow, DragReference iDragReference, Boolean iDifferentObjectSameWindow) -> None"}, - {"TXNDragReceiver", (PyCFunction)TXNObj_TXNDragReceiver, 1, - "(TXNFrameID iTXNFrameID, WindowPtr iWindow, DragReference iDragReference, Boolean iDifferentObjectSameWindow) -> None"}, - {"TXNActivate", (PyCFunction)TXNObj_TXNActivate, 1, - "(TXNFrameID iTXNFrameID, TXNScrollBarState iActiveState) -> None"}, - {"TXNDoFontMenuSelection", (PyCFunction)TXNObj_TXNDoFontMenuSelection, 1, - "(TXNFontMenuObject iTXNFontMenuObject, SInt16 iMenuID, SInt16 iMenuItem) -> None"}, - {"TXNPrepareFontMenu", (PyCFunction)TXNObj_TXNPrepareFontMenu, 1, - "(TXNFontMenuObject iTXNFontMenuObject) -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain TXNObj_chain = { TXNObj_methods, NULL }; - -static PyObject *TXNObj_getattr(TXNObjectObject *self, char *name) -{ - return Py_FindMethodInChain(&TXNObj_chain, (PyObject *)self, name); -} - -#define TXNObj_setattr NULL - -#define TXNObj_compare NULL - -#define TXNObj_repr NULL - -#define TXNObj_hash NULL - -PyTypeObject TXNObject_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "TXNObject", /*tp_name*/ - sizeof(TXNObjectObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) TXNObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) TXNObj_getattr, /*tp_getattr*/ - (setattrfunc) TXNObj_setattr, /*tp_setattr*/ - (cmpfunc) TXNObj_compare, /*tp_compare*/ - (reprfunc) TXNObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) TXNObj_hash, /*tp_hash*/ -}; - -/* ------------------- End object type TXNObject -------------------- */ - - -/* ----------------- Object type TXNFontMenuObject ------------------ */ - -PyTypeObject TXNFontMenuObject_Type; - -#define TXNFontMenuObj_Check(x) ((x)->ob_type == &TXNFontMenuObject_Type) - -typedef struct TXNFontMenuObjectObject { - PyObject_HEAD - TXNFontMenuObject ob_itself; -} TXNFontMenuObjectObject; - -PyObject *TXNFontMenuObj_New(TXNFontMenuObject itself) -{ - TXNFontMenuObjectObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(TXNFontMenuObjectObject, &TXNFontMenuObject_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -TXNFontMenuObj_Convert(PyObject *v, TXNFontMenuObject *p_itself) -{ - if (!TXNFontMenuObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "TXNFontMenuObject required"); - return 0; - } - *p_itself = ((TXNFontMenuObjectObject *)v)->ob_itself; - return 1; -} - -static void TXNFontMenuObj_dealloc(TXNFontMenuObjectObject *self) -{ - /* Cleanup of self->ob_itself goes here */ - PyMem_DEL(self); -} - -static PyObject *TXNFontMenuObj_TXNGetFontMenuHandle(TXNFontMenuObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuHandle oFontMenuHandle; - PyMac_PRECHECK(TXNGetFontMenuHandle); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNGetFontMenuHandle(_self->ob_itself, - &oFontMenuHandle); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - MenuObj_New, oFontMenuHandle); - return _res; -} - -static PyObject *TXNFontMenuObj_TXNDisposeFontMenuObject(TXNFontMenuObjectObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNDisposeFontMenuObject); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNDisposeFontMenuObject(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef TXNFontMenuObj_methods[] = { - {"TXNGetFontMenuHandle", (PyCFunction)TXNFontMenuObj_TXNGetFontMenuHandle, 1, - "() -> (MenuHandle oFontMenuHandle)"}, - {"TXNDisposeFontMenuObject", (PyCFunction)TXNFontMenuObj_TXNDisposeFontMenuObject, 1, - "() -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain TXNFontMenuObj_chain = { TXNFontMenuObj_methods, NULL }; - -static PyObject *TXNFontMenuObj_getattr(TXNFontMenuObjectObject *self, char *name) -{ - return Py_FindMethodInChain(&TXNFontMenuObj_chain, (PyObject *)self, name); -} - -#define TXNFontMenuObj_setattr NULL - -#define TXNFontMenuObj_compare NULL - -#define TXNFontMenuObj_repr NULL - -#define TXNFontMenuObj_hash NULL - -PyTypeObject TXNFontMenuObject_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "TXNFontMenuObject", /*tp_name*/ - sizeof(TXNFontMenuObjectObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) TXNFontMenuObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) TXNFontMenuObj_getattr, /*tp_getattr*/ - (setattrfunc) TXNFontMenuObj_setattr, /*tp_setattr*/ - (cmpfunc) TXNFontMenuObj_compare, /*tp_compare*/ - (reprfunc) TXNFontMenuObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) TXNFontMenuObj_hash, /*tp_hash*/ -}; - -/* --------------- End object type TXNFontMenuObject ---------------- */ - - -static PyObject *Mlte_TXNNewObject(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - FSSpec * iFileSpec; - WindowPtr iWindow; - Rect * iFrame; - TXNFrameOptions iFrameOptions; - TXNFrameType iFrameType; - TXNFileType iFileType; - TXNPermanentTextEncodingType iPermanentEncoding; - TXNObject oTXNObject; - TXNFrameID oTXNFrameID; - PyMac_PRECHECK(TXNNewObject); - if (!PyArg_ParseTuple(_args, "O&O&O&llO&l", - OptFSSpecPtr_Convert, &iFileSpec, - WinObj_Convert, &iWindow, - OptRectPtr_Convert, &iFrame, - &iFrameOptions, - &iFrameType, - PyMac_GetOSType, &iFileType, - &iPermanentEncoding)) - return NULL; - _err = TXNNewObject(iFileSpec, - iWindow, - iFrame, - iFrameOptions, - iFrameType, - iFileType, - iPermanentEncoding, - &oTXNObject, - &oTXNFrameID, - (TXNObjectRefcon)0); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&l", - TXNObj_New, oTXNObject, - oTXNFrameID); - return _res; -} - -static PyObject *Mlte_TXNTerminateTextension(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PyMac_PRECHECK(TXNTerminateTextension); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TXNTerminateTextension(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Mlte_TXNIsScrapPastable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - PyMac_PRECHECK(TXNIsScrapPastable); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNIsScrapPastable(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Mlte_TXNConvertToPublicScrap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNConvertToPublicScrap); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNConvertToPublicScrap(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Mlte_TXNConvertFromPublicScrap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PyMac_PRECHECK(TXNConvertFromPublicScrap); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TXNConvertFromPublicScrap(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Mlte_TXNNewFontMenuObject(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuHandle iFontMenuHandle; - SInt16 iMenuID; - SInt16 iStartHierMenuID; - TXNFontMenuObject oTXNFontMenuObject; - PyMac_PRECHECK(TXNNewFontMenuObject); - if (!PyArg_ParseTuple(_args, "O&hh", - MenuObj_Convert, &iFontMenuHandle, - &iMenuID, - &iStartHierMenuID)) - return NULL; - _err = TXNNewFontMenuObject(iFontMenuHandle, - iMenuID, - iStartHierMenuID, - &oTXNFontMenuObject); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - TXNFontMenuObj_New, oTXNFontMenuObject); - return _res; -} - -static PyObject *Mlte_TXNVersionInformation(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TXNVersionValue _rv; - TXNFeatureBits oFeatureFlags; - PyMac_PRECHECK(TXNVersionInformation); - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TXNVersionInformation(&oFeatureFlags); - _res = Py_BuildValue("ll", - _rv, - oFeatureFlags); - return _res; -} - -static PyObject *Mlte_TXNInitTextension(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - OSStatus _err; - TXNMacOSPreferredFontDescription * iDefaultFonts = NULL; - ItemCount iCountDefaultFonts = 0; - TXNInitOptions iUsageFlags; - PyMac_PRECHECK(TXNInitTextension); - if (!PyArg_ParseTuple(_args, "l", &iUsageFlags)) - return NULL; - _err = TXNInitTextension(iDefaultFonts, - iCountDefaultFonts, - iUsageFlags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; - -} - -static PyMethodDef Mlte_methods[] = { - {"TXNNewObject", (PyCFunction)Mlte_TXNNewObject, 1, - "(FSSpec * iFileSpec, WindowPtr iWindow, Rect * iFrame, TXNFrameOptions iFrameOptions, TXNFrameType iFrameType, TXNFileType iFileType, TXNPermanentTextEncodingType iPermanentEncoding) -> (TXNObject oTXNObject, TXNFrameID oTXNFrameID)"}, - {"TXNTerminateTextension", (PyCFunction)Mlte_TXNTerminateTextension, 1, - "() -> None"}, - {"TXNIsScrapPastable", (PyCFunction)Mlte_TXNIsScrapPastable, 1, - "() -> (Boolean _rv)"}, - {"TXNConvertToPublicScrap", (PyCFunction)Mlte_TXNConvertToPublicScrap, 1, - "() -> None"}, - {"TXNConvertFromPublicScrap", (PyCFunction)Mlte_TXNConvertFromPublicScrap, 1, - "() -> None"}, - {"TXNNewFontMenuObject", (PyCFunction)Mlte_TXNNewFontMenuObject, 1, - "(MenuHandle iFontMenuHandle, SInt16 iMenuID, SInt16 iStartHierMenuID) -> (TXNFontMenuObject oTXNFontMenuObject)"}, - {"TXNVersionInformation", (PyCFunction)Mlte_TXNVersionInformation, 1, - "() -> (TXNVersionValue _rv, TXNFeatureBits oFeatureFlags)"}, - {"TXNInitTextension", (PyCFunction)Mlte_TXNInitTextension, 1, - "(TXNInitOptions) -> None"}, - {NULL, NULL, 0} -}; - - - - -void initMlte(void) -{ - PyObject *m; - PyObject *d; - - - - // PyMac_INIT_TOOLBOX_OBJECT_NEW(xxxx); - - - m = Py_InitModule("Mlte", Mlte_methods); - d = PyModule_GetDict(m); - Mlte_Error = PyMac_GetOSErrException(); - if (Mlte_Error == NULL || - PyDict_SetItemString(d, "Error", Mlte_Error) != 0) - return; - TXNObject_Type.ob_type = &PyType_Type; - Py_INCREF(&TXNObject_Type); - if (PyDict_SetItemString(d, "TXNObjectType", (PyObject *)&TXNObject_Type) != 0) - Py_FatalError("can't initialize TXNObjectType"); - TXNFontMenuObject_Type.ob_type = &PyType_Type; - Py_INCREF(&TXNFontMenuObject_Type); - if (PyDict_SetItemString(d, "TXNFontMenuObjectType", (PyObject *)&TXNFontMenuObject_Type) != 0) - Py_FatalError("can't initialize TXNFontMenuObjectType"); -} - -/* ======================== End module Mlte ========================= */ - diff --git a/Mac/Modules/qd/Qdmodule.c b/Mac/Modules/qd/Qdmodule.c deleted file mode 100644 index c65448e..0000000 --- a/Mac/Modules/qd/Qdmodule.c +++ /dev/null @@ -1,5687 +0,0 @@ - -/* =========================== Module Qd ============================ */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <QuickDraw.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_GrafObj_New(GrafPtr); -extern int _GrafObj_Convert(PyObject *, GrafPtr *); -extern PyObject *_BMObj_New(BitMapPtr); -extern int _BMObj_Convert(PyObject *, BitMapPtr *); -extern PyObject *_QdRGB_New(RGBColorPtr); -extern int _QdRGB_Convert(PyObject *, RGBColorPtr); - -#define GrafObj_New _GrafObj_New -#define GrafObj_Convert _GrafObj_Convert -#define BMObj_New _BMObj_New -#define BMObj_Convert _BMObj_Convert -#define QdRGB_New _QdRGB_New -#define QdRGB_Convert _QdRGB_Convert -#endif - -#if !ACCESSOR_CALLS_ARE_FUNCTIONS -#define GetPortBitMapForCopyBits(port) ((const struct BitMap *)&((GrafPort *)(port))->portBits) -#define GetPortPixMap(port) (((CGrafPtr)(port))->portPixMap) -#define GetPortBounds(port, bounds) (*(bounds) = (port)->portRect, (bounds)) -#define GetPortForeColor(port, color) (*(color) = (port)->rgbFgColor, (color)) -#define GetPortBackColor(port, color) (*(color) = (port)->rgbBkColor, (color)) -#define GetPortOpColor(port, color) (*(color) = (*(GVarHandle)((port)->grafVars))->rgbOpColor, (color)) -#define GetPortHiliteColor(port, color) (*(color) = (*(GVarHandle)((port)->grafVars))->rgbHiliteColor, (color)) -#define GetPortTextFont(port) ((port)->txFont) -#define GetPortTextFace(port) ((port)->txFace) -#define GetPortTextMode(port) ((port)->txMode) -#define GetPortTextSize(port) ((port)->txSize) -#define GetPortChExtra(port) ((port)->chExtra) -#define GetPortFracHPenLocation(port) ((port)->pnLocHFrac) -#define GetPortSpExtra(port) ((port)->spExtra) -#define GetPortPenVisibility(port) ((port)->pnVis) -#define GetPortVisibleRegion(port, rgn) ((rgn) = (port)->visRgn, (rgn)) -#define GetPortClipRegion(port, rgn) ((rgn) = (port)->clipRgn, (rgn)) -#define GetPortBackPixPat(port, pat) ((pat) = (port)->bkPixPat, (pat)) -#define GetPortPenPixPat(port, pat) ((pat) = (port)->pnPixPat, (pat)) -#define GetPortFillPixPat(port, pat) ((pat) = (port)->fillPixPat, (pat)) -#define GetPortPenSize(port, pensize) (*(pensize) = (port)->pnSize, (pensize)) -#define GetPortPenMode(port) ((port)->pnMode) -#define GetPortPenLocation(port, location) ((*location) = (port)->pnLoc, (location)) -#define IsPortRegionBeingDefined(port) (!!((port)->rgnSave)) -#define IsPortPictureBeingDefined(port) (!!((port)->picSave)) -/* #define IsPortOffscreen(port) */ -/* #define IsPortColor(port) */ - -#define SetPortBounds(port, bounds) ((port)->portRect = *(bounds)) -#define SetPortOpColor(port, color) ((*(GVarHandle)((port)->grafVars))->rgbOpColor = *(color)) -#define SetPortVisibleRegion(port, rgn) ((port)->visRgn = (rgn)) -#define SetPortClipRegion(port, rgn) ((port)->clipRgn = (rgn)) -#define SetPortBackPixPat(port, pat) ((port)->bkPixPat = (pat)) -#define SetPortPenPixPat(port, pat) ((port)->pnPixPat = (pat)) -#define SetPortFillPixPat(port, pat) ((port)->fillPixPat = (pat)) -#define SetPortPenSize(port, pensize) ((port)->pnSize = (pensize)) -#define SetPortPenMode(port, mode) ((port)->pnMode = (mode)) -#define SetPortFracHPenLocation(port, frac) ((port)->pnLocHFrac = (frac)) - -/* On pixmaps */ -#define GetPixBounds(pixmap, rect) (*(rect) = (*(pixmap))->bounds, (rect)) -#define GetPixDepth(pixmap) ((*(pixmap))->pixelSize) - -/* On regions */ -#define GetRegionBounds(rgn, rect) (*(rect) = (*(rgn))->rgnBBox, (rect)) - -/* On QD Globals */ -#define GetQDGlobalsRandomSeed() (qd.randSeed) -#define GetQDGlobalsScreenBits(bits) (*(bits) = qd.screenBits, (bits)) -#define GetQDGlobalsArrow(crsr) (*(crsr) = qd.arrow, (crsr)) -#define GetQDGlobalsDarkGray(pat) (*(pat) = qd.dkGray, (pat)) -#define GetQDGlobalsLightGray(pat) (*(pat) = qd.ltGray, (pat)) -#define GetQDGlobalsGray(pat) (*(pat) = qd.gray, (pat)) -#define GetQDGlobalsBlack(pat) (*(pat) = qd.black, (pat)) -#define GetQDGlobalsWhite(pat) (*(pat) = qd.white, (pat)) -#define GetQDGlobalsThePort() ((CGrafPtr)qd.thePort) - -#define SetQDGlobalsRandomSeed(seed) (qd.randSeed = (seed)) -#define SetQDGlobalsArrow(crsr) (qd.arrow = *(crsr)) - -#endif /* ACCESSOR_CALLS_ARE_FUNCTIONS */ - -#if !TARGET_API_MAC_CARBON -#define QDFlushPortBuffer(port, rgn) /* pass */ -#define QDIsPortBufferDirty(port) 0 -#define QDIsPortBuffered(port) 0 -#endif /* !TARGET_API_MAC_CARBON */ - -staticforward PyObject *BMObj_NewCopied(BitMapPtr); - -/* -** Parse/generate RGB records -*/ -PyObject *QdRGB_New(RGBColorPtr itself) -{ - - return Py_BuildValue("lll", (long)itself->red, (long)itself->green, (long)itself->blue); -} - -QdRGB_Convert(PyObject *v, RGBColorPtr p_itself) -{ - long red, green, blue; - - if( !PyArg_ParseTuple(v, "lll", &red, &green, &blue) ) - return 0; - p_itself->red = (unsigned short)red; - p_itself->green = (unsigned short)green; - p_itself->blue = (unsigned short)blue; - return 1; -} - -/* -** Generate FontInfo records -*/ -static -PyObject *QdFI_New(FontInfo *itself) -{ - - return Py_BuildValue("hhhh", itself->ascent, itself->descent, - itself->widMax, itself->leading); -} - -static PyObject *Qd_Error; - -/* ---------------------- Object type GrafPort ---------------------- */ - -PyTypeObject GrafPort_Type; - -#define GrafObj_Check(x) ((x)->ob_type == &GrafPort_Type) - -typedef struct GrafPortObject { - PyObject_HEAD - GrafPtr ob_itself; -} GrafPortObject; - -PyObject *GrafObj_New(GrafPtr itself) -{ - GrafPortObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(GrafPortObject, &GrafPort_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -GrafObj_Convert(PyObject *v, GrafPtr *p_itself) -{ -#if 1 - { - WindowRef win; - if (WinObj_Convert(v, &win) && v) { - *p_itself = (GrafPtr)GetWindowPort(win); - return 1; - } - PyErr_Clear(); - } -#else - if (DlgObj_Check(v)) { - DialogRef dlg = (DialogRef)((GrafPortObject *)v)->ob_itself; - *p_itself = (GrafPtr)GetWindowPort(GetDialogWindow(dlg)); - return 1; - } - if (WinObj_Check(v)) { - WindowRef win = (WindowRef)((GrafPortObject *)v)->ob_itself; - *p_itself = (GrafPtr)GetWindowPort(win); - return 1; - } -#endif - if (!GrafObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "GrafPort required"); - return 0; - } - *p_itself = ((GrafPortObject *)v)->ob_itself; - return 1; -} - -static void GrafObj_dealloc(GrafPortObject *self) -{ - /* Cleanup of self->ob_itself goes here */ - PyMem_DEL(self); -} - -static PyMethodDef GrafObj_methods[] = { - {NULL, NULL, 0} -}; - -PyMethodChain GrafObj_chain = { GrafObj_methods, NULL }; - -static PyObject *GrafObj_getattr(GrafPortObject *self, char *name) -{ -#if !ACCESSOR_CALLS_ARE_FUNCTIONS - - { CGrafPtr itself_color = (CGrafPtr)self->ob_itself; - - if ( strcmp(name, "data") == 0 ) - return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(GrafPort)); - - if ( (itself_color->portVersion&0xc000) == 0xc000 ) { - /* Color-only attributes */ - - if ( strcmp(name, "portBits") == 0 ) - /* XXXX Do we need HLock() stuff here?? */ - return BMObj_New((BitMapPtr)*itself_color->portPixMap); - if ( strcmp(name, "grafVars") == 0 ) - return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->visRgn); - if ( strcmp(name, "chExtra") == 0 ) - return Py_BuildValue("h", itself_color->chExtra); - if ( strcmp(name, "pnLocHFrac") == 0 ) - return Py_BuildValue("h", itself_color->pnLocHFrac); - if ( strcmp(name, "bkPixPat") == 0 ) - return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->bkPixPat); - if ( strcmp(name, "rgbFgColor") == 0 ) - return Py_BuildValue("O&", QdRGB_New, &itself_color->rgbFgColor); - if ( strcmp(name, "rgbBkColor") == 0 ) - return Py_BuildValue("O&", QdRGB_New, &itself_color->rgbBkColor); - if ( strcmp(name, "pnPixPat") == 0 ) - return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->pnPixPat); - if ( strcmp(name, "fillPixPat") == 0 ) - return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->fillPixPat); - } else { - /* Mono-only attributes */ - if ( strcmp(name, "portBits") == 0 ) - return BMObj_New(&self->ob_itself->portBits); - if ( strcmp(name, "bkPat") == 0 ) - return Py_BuildValue("s#", (char *)&self->ob_itself->bkPat, sizeof(Pattern)); - if ( strcmp(name, "fillPat") == 0 ) - return Py_BuildValue("s#", (char *)&self->ob_itself->fillPat, sizeof(Pattern)); - if ( strcmp(name, "pnPat") == 0 ) - return Py_BuildValue("s#", (char *)&self->ob_itself->pnPat, sizeof(Pattern)); - } - /* - ** Accessible for both color/mono windows. - ** portVersion is really color-only, but we put it here - ** for convenience - */ - if ( strcmp(name, "portVersion") == 0 ) - return Py_BuildValue("h", itself_color->portVersion); - if ( strcmp(name, "device") == 0 ) - return PyInt_FromLong((long)self->ob_itself->device); - if ( strcmp(name, "portRect") == 0 ) - return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->portRect); - if ( strcmp(name, "visRgn") == 0 ) - return Py_BuildValue("O&", ResObj_New, (Handle)self->ob_itself->visRgn); - if ( strcmp(name, "clipRgn") == 0 ) - return Py_BuildValue("O&", ResObj_New, (Handle)self->ob_itself->clipRgn); - if ( strcmp(name, "pnLoc") == 0 ) - return Py_BuildValue("O&", PyMac_BuildPoint, self->ob_itself->pnLoc); - if ( strcmp(name, "pnSize") == 0 ) - return Py_BuildValue("O&", PyMac_BuildPoint, self->ob_itself->pnSize); - if ( strcmp(name, "pnMode") == 0 ) - return Py_BuildValue("h", self->ob_itself->pnMode); - if ( strcmp(name, "pnVis") == 0 ) - return Py_BuildValue("h", self->ob_itself->pnVis); - if ( strcmp(name, "txFont") == 0 ) - return Py_BuildValue("h", self->ob_itself->txFont); - if ( strcmp(name, "txFace") == 0 ) - return Py_BuildValue("h", (short)self->ob_itself->txFace); - if ( strcmp(name, "txMode") == 0 ) - return Py_BuildValue("h", self->ob_itself->txMode); - if ( strcmp(name, "txSize") == 0 ) - return Py_BuildValue("h", self->ob_itself->txSize); - if ( strcmp(name, "spExtra") == 0 ) - return Py_BuildValue("O&", PyMac_BuildFixed, self->ob_itself->spExtra); - /* XXXX Add more, as needed */ - /* This one is so we can compare grafports: */ - if ( strcmp(name, "_id") == 0 ) - return Py_BuildValue("l", (long)self->ob_itself); - } -#else - - { CGrafPtr itself_color = (CGrafPtr)self->ob_itself; - if ( strcmp(name, "portBits") == 0 ) - return BMObj_New((BitMapPtr)GetPortBitMapForCopyBits(itself_color)); - if ( strcmp(name, "chExtra") == 0 ) - return Py_BuildValue("h", GetPortChExtra(itself_color)); - if ( strcmp(name, "pnLocHFrac") == 0 ) - return Py_BuildValue("h", GetPortFracHPenLocation(itself_color)); - if ( strcmp(name, "bkPixPat") == 0 ) { - PixPatHandle h=0; - return Py_BuildValue("O&", ResObj_New, (Handle)GetPortBackPixPat(itself_color, h)); - } - if ( strcmp(name, "rgbFgColor") == 0 ) { - RGBColor c; - return Py_BuildValue("O&", QdRGB_New, GetPortForeColor(itself_color, &c)); - } - if ( strcmp(name, "rgbBkColor") == 0 ) { - RGBColor c; - return Py_BuildValue("O&", QdRGB_New, GetPortBackColor(itself_color, &c)); - } - if ( strcmp(name, "pnPixPat") == 0 ) { - PixPatHandle h=NewPixPat(); /* XXXX wrong dispose routine */ - - return Py_BuildValue("O&", ResObj_New, (Handle)GetPortPenPixPat(itself_color, h)); - } - if ( strcmp(name, "fillPixPat") == 0 ) { - PixPatHandle h=NewPixPat(); /* XXXX wrong dispose routine */ - return Py_BuildValue("O&", ResObj_New, (Handle)GetPortFillPixPat(itself_color, h)); - } - if ( strcmp(name, "portRect") == 0 ) { - Rect r; - return Py_BuildValue("O&", PyMac_BuildRect, GetPortBounds(itself_color, &r)); - } - if ( strcmp(name, "visRgn") == 0 ) { - RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */ - return Py_BuildValue("O&", ResObj_New, (Handle)GetPortVisibleRegion(itself_color, h)); - } - if ( strcmp(name, "clipRgn") == 0 ) { - RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */ - return Py_BuildValue("O&", ResObj_New, (Handle)GetPortClipRegion(itself_color, h)); - } - if ( strcmp(name, "pnLoc") == 0 ) { - Point p; - return Py_BuildValue("O&", PyMac_BuildPoint, *GetPortPenLocation(itself_color, &p)); - } - if ( strcmp(name, "pnSize") == 0 ) { - Point p; - return Py_BuildValue("O&", PyMac_BuildPoint, *GetPortPenSize(itself_color, &p)); - } - if ( strcmp(name, "pnMode") == 0 ) - return Py_BuildValue("h", GetPortPenMode(itself_color)); - if ( strcmp(name, "pnVis") == 0 ) - return Py_BuildValue("h", GetPortPenVisibility(itself_color)); - if ( strcmp(name, "txFont") == 0 ) - return Py_BuildValue("h", GetPortTextFont(itself_color)); - if ( strcmp(name, "txFace") == 0 ) - return Py_BuildValue("h", (short)GetPortTextFace(itself_color)); - if ( strcmp(name, "txMode") == 0 ) - return Py_BuildValue("h", GetPortTextMode(itself_color)); - if ( strcmp(name, "txSize") == 0 ) - return Py_BuildValue("h", GetPortTextSize(itself_color)); - if ( strcmp(name, "spExtra") == 0 ) - return Py_BuildValue("O&", PyMac_BuildFixed, GetPortSpExtra(itself_color)); - /* XXXX Add more, as needed */ - /* This one is so we can compare grafports: */ - if ( strcmp(name, "_id") == 0 ) - return Py_BuildValue("l", (long)self->ob_itself); - } -#endif - return Py_FindMethodInChain(&GrafObj_chain, (PyObject *)self, name); -} - -#define GrafObj_setattr NULL - -#define GrafObj_compare NULL - -#define GrafObj_repr NULL - -#define GrafObj_hash NULL - -PyTypeObject GrafPort_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "GrafPort", /*tp_name*/ - sizeof(GrafPortObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) GrafObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) GrafObj_getattr, /*tp_getattr*/ - (setattrfunc) GrafObj_setattr, /*tp_setattr*/ - (cmpfunc) GrafObj_compare, /*tp_compare*/ - (reprfunc) GrafObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) GrafObj_hash, /*tp_hash*/ -}; - -/* -------------------- End object type GrafPort -------------------- */ - - -/* ----------------------- Object type BitMap ----------------------- */ - -PyTypeObject BitMap_Type; - -#define BMObj_Check(x) ((x)->ob_type == &BitMap_Type) - -typedef struct BitMapObject { - PyObject_HEAD - BitMapPtr ob_itself; - PyObject *referred_object; - BitMap *referred_bitmap; -} BitMapObject; - -PyObject *BMObj_New(BitMapPtr itself) -{ - BitMapObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(BitMapObject, &BitMap_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->referred_object = NULL; - it->referred_bitmap = NULL; - return (PyObject *)it; -} -BMObj_Convert(PyObject *v, BitMapPtr *p_itself) -{ - if (!BMObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "BitMap required"); - return 0; - } - *p_itself = ((BitMapObject *)v)->ob_itself; - return 1; -} - -static void BMObj_dealloc(BitMapObject *self) -{ - Py_XDECREF(self->referred_object); - if (self->referred_bitmap) free(self->referred_bitmap); - PyMem_DEL(self); -} - -static PyObject *BMObj_getdata(BitMapObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - int from, length; - char *cp; - - if ( !PyArg_ParseTuple(_args, "ii", &from, &length) ) - return NULL; - cp = _self->ob_itself->baseAddr+from; - return PyString_FromStringAndSize(cp, length); - -} - -static PyObject *BMObj_putdata(BitMapObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - int from, length; - char *cp, *icp; - - if ( !PyArg_ParseTuple(_args, "is#", &from, &icp, &length) ) - return NULL; - cp = _self->ob_itself->baseAddr+from; - memcpy(cp, icp, length); - Py_INCREF(Py_None); - return Py_None; - -} - -static PyMethodDef BMObj_methods[] = { - {"getdata", (PyCFunction)BMObj_getdata, 1, - "(int start, int size) -> string. Return bytes from the bitmap"}, - {"putdata", (PyCFunction)BMObj_putdata, 1, - "(int start, string data). Store bytes into the bitmap"}, - {NULL, NULL, 0} -}; - -PyMethodChain BMObj_chain = { BMObj_methods, NULL }; - -static PyObject *BMObj_getattr(BitMapObject *self, char *name) -{ - if ( strcmp(name, "baseAddr") == 0 ) - return PyInt_FromLong((long)self->ob_itself->baseAddr); - if ( strcmp(name, "rowBytes") == 0 ) - return PyInt_FromLong((long)self->ob_itself->rowBytes); - if ( strcmp(name, "bounds") == 0 ) - return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->bounds); - /* XXXX Add more, as needed */ - if ( strcmp(name, "bitmap_data") == 0 ) - return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(BitMap)); - if ( strcmp(name, "pixmap_data") == 0 ) - return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(PixMap)); - - return Py_FindMethodInChain(&BMObj_chain, (PyObject *)self, name); -} - -#define BMObj_setattr NULL - -#define BMObj_compare NULL - -#define BMObj_repr NULL - -#define BMObj_hash NULL - -PyTypeObject BitMap_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "BitMap", /*tp_name*/ - sizeof(BitMapObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) BMObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) BMObj_getattr, /*tp_getattr*/ - (setattrfunc) BMObj_setattr, /*tp_setattr*/ - (cmpfunc) BMObj_compare, /*tp_compare*/ - (reprfunc) BMObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) BMObj_hash, /*tp_hash*/ -}; - -/* --------------------- End object type BitMap --------------------- */ - - -/* ------------------ Object type QDGlobalsAccess ------------------- */ - -staticforward PyTypeObject QDGlobalsAccess_Type; - -#define QDGA_Check(x) ((x)->ob_type == &QDGlobalsAccess_Type) - -typedef struct QDGlobalsAccessObject { - PyObject_HEAD -} QDGlobalsAccessObject; - -static PyObject *QDGA_New(void) -{ - QDGlobalsAccessObject *it; - it = PyObject_NEW(QDGlobalsAccessObject, &QDGlobalsAccess_Type); - if (it == NULL) return NULL; - return (PyObject *)it; -} - -static void QDGA_dealloc(QDGlobalsAccessObject *self) -{ - PyMem_DEL(self); -} - -static PyMethodDef QDGA_methods[] = { - {NULL, NULL, 0} -}; - -static PyMethodChain QDGA_chain = { QDGA_methods, NULL }; - -static PyObject *QDGA_getattr(QDGlobalsAccessObject *self, char *name) -{ -#if !ACCESSOR_CALLS_ARE_FUNCTIONS - - if ( strcmp(name, "arrow") == 0 ) - return PyString_FromStringAndSize((char *)&qd.arrow, sizeof(qd.arrow)); - if ( strcmp(name, "black") == 0 ) - return PyString_FromStringAndSize((char *)&qd.black, sizeof(qd.black)); - if ( strcmp(name, "white") == 0 ) - return PyString_FromStringAndSize((char *)&qd.white, sizeof(qd.white)); - if ( strcmp(name, "gray") == 0 ) - return PyString_FromStringAndSize((char *)&qd.gray, sizeof(qd.gray)); - if ( strcmp(name, "ltGray") == 0 ) - return PyString_FromStringAndSize((char *)&qd.ltGray, sizeof(qd.ltGray)); - if ( strcmp(name, "dkGray") == 0 ) - return PyString_FromStringAndSize((char *)&qd.dkGray, sizeof(qd.dkGray)); - if ( strcmp(name, "screenBits") == 0 ) - return BMObj_New(&qd.screenBits); - if ( strcmp(name, "thePort") == 0 ) - return GrafObj_New(qd.thePort); - if ( strcmp(name, "randSeed") == 0 ) - return Py_BuildValue("l", &qd.randSeed); - -#else - - if ( strcmp(name, "arrow") == 0 ) { - Cursor rv; - GetQDGlobalsArrow(&rv); - return PyString_FromStringAndSize((char *)&rv, sizeof(rv)); - } - if ( strcmp(name, "black") == 0 ) { - Pattern rv; - GetQDGlobalsBlack(&rv); - return PyString_FromStringAndSize((char *)&rv, sizeof(rv)); - } - if ( strcmp(name, "white") == 0 ) { - Pattern rv; - GetQDGlobalsWhite(&rv); - return PyString_FromStringAndSize((char *)&rv, sizeof(rv)); - } - if ( strcmp(name, "gray") == 0 ) { - Pattern rv; - GetQDGlobalsGray(&rv); - return PyString_FromStringAndSize((char *)&rv, sizeof(rv)); - } - if ( strcmp(name, "ltGray") == 0 ) { - Pattern rv; - GetQDGlobalsLightGray(&rv); - return PyString_FromStringAndSize((char *)&rv, sizeof(rv)); - } - if ( strcmp(name, "dkGray") == 0 ) { - Pattern rv; - GetQDGlobalsDarkGray(&rv); - return PyString_FromStringAndSize((char *)&rv, sizeof(rv)); - } - if ( strcmp(name, "screenBits") == 0 ) { - BitMap rv; - GetQDGlobalsScreenBits(&rv); - return BMObj_NewCopied(&rv); - } - if ( strcmp(name, "thePort") == 0 ) - return GrafObj_New(GetQDGlobalsThePort()); - if ( strcmp(name, "randSeed") == 0 ) - return Py_BuildValue("l", GetQDGlobalsRandomSeed()); - -#endif - return Py_FindMethodInChain(&QDGA_chain, (PyObject *)self, name); -} - -#define QDGA_setattr NULL - -#define QDGA_compare NULL - -#define QDGA_repr NULL - -#define QDGA_hash NULL - -staticforward PyTypeObject QDGlobalsAccess_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "QDGlobalsAccess", /*tp_name*/ - sizeof(QDGlobalsAccessObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) QDGA_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) QDGA_getattr, /*tp_getattr*/ - (setattrfunc) QDGA_setattr, /*tp_setattr*/ - (cmpfunc) QDGA_compare, /*tp_compare*/ - (reprfunc) QDGA_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) QDGA_hash, /*tp_hash*/ -}; - -/* ---------------- End object type QDGlobalsAccess ----------------- */ - - -static PyObject *Qd_MacSetPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - MacSetPort(port); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GrafPtr port; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetPort(&port); - _res = Py_BuildValue("O&", - GrafObj_New, port); - return _res; -} - -static PyObject *Qd_GrafDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short device; - if (!PyArg_ParseTuple(_args, "h", - &device)) - return NULL; - GrafDevice(device); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortBits(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - BitMapPtr bm; - if (!PyArg_ParseTuple(_args, "O&", - BMObj_Convert, &bm)) - return NULL; - SetPortBits(bm); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PortSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short width; - short height; - if (!PyArg_ParseTuple(_args, "hh", - &width, - &height)) - return NULL; - PortSize(width, - height); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MovePortTo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short leftGlobal; - short topGlobal; - if (!PyArg_ParseTuple(_args, "hh", - &leftGlobal, - &topGlobal)) - return NULL; - MovePortTo(leftGlobal, - topGlobal); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetOrigin(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short h; - short v; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - SetOrigin(h, - v); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetClip(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - SetClip(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetClip(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - GetClip(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ClipRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - ClipRect(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_BackPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "s#", - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - BackPat(pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_InitCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - InitCursor(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacSetCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Cursor *crsr__in__; - int crsr__in_len__; - if (!PyArg_ParseTuple(_args, "s#", - (char **)&crsr__in__, &crsr__in_len__)) - return NULL; - if (crsr__in_len__ != sizeof(Cursor)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)"); - goto crsr__error__; - } - MacSetCursor(crsr__in__); - Py_INCREF(Py_None); - _res = Py_None; - crsr__error__: ; - return _res; -} - -static PyObject *Qd_HideCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - HideCursor(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacShowCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - MacShowCursor(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ObscureCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ObscureCursor(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_HidePen(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - HidePen(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ShowPen(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ShowPen(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetPen(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point pt; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetPen(&pt); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, pt); - return _res; -} - -static PyObject *Qd_GetPenState(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PenState pnState__out__; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetPenState(&pnState__out__); - _res = Py_BuildValue("s#", - (char *)&pnState__out__, (int)sizeof(PenState)); - pnState__error__: ; - return _res; -} - -static PyObject *Qd_SetPenState(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PenState *pnState__in__; - int pnState__in_len__; - if (!PyArg_ParseTuple(_args, "s#", - (char **)&pnState__in__, &pnState__in_len__)) - return NULL; - if (pnState__in_len__ != sizeof(PenState)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(PenState)"); - goto pnState__error__; - } - SetPenState(pnState__in__); - Py_INCREF(Py_None); - _res = Py_None; - pnState__error__: ; - return _res; -} - -static PyObject *Qd_PenSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short width; - short height; - if (!PyArg_ParseTuple(_args, "hh", - &width, - &height)) - return NULL; - PenSize(width, - height); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PenMode(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short mode; - if (!PyArg_ParseTuple(_args, "h", - &mode)) - return NULL; - PenMode(mode); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PenPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "s#", - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - PenPat(pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_PenNormal(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - PenNormal(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MoveTo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short h; - short v; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - MoveTo(h, - v); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_Move(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "hh", - &dh, - &dv)) - return NULL; - Move(dh, - dv); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacLineTo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short h; - short v; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - MacLineTo(h, - v); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_Line(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "hh", - &dh, - &dv)) - return NULL; - Line(dh, - dv); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ForeColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long color; - if (!PyArg_ParseTuple(_args, "l", - &color)) - return NULL; - ForeColor(color); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_BackColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long color; - if (!PyArg_ParseTuple(_args, "l", - &color)) - return NULL; - BackColor(color); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ColorBit(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short whichBit; - if (!PyArg_ParseTuple(_args, "h", - &whichBit)) - return NULL; - ColorBit(whichBit); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacSetRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short left; - short top; - short right; - short bottom; - if (!PyArg_ParseTuple(_args, "hhhh", - &left, - &top, - &right, - &bottom)) - return NULL; - MacSetRect(&r, - left, - top, - right, - bottom); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &r); - return _res; -} - -static PyObject *Qd_MacOffsetRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &dh, - &dv)) - return NULL; - MacOffsetRect(&r, - dh, - dv); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &r); - return _res; -} - -static PyObject *Qd_MacInsetRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &dh, - &dv)) - return NULL; - MacInsetRect(&r, - dh, - dv); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &r); - return _res; -} - -static PyObject *Qd_SectRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Rect src1; - Rect src2; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &src1, - PyMac_GetRect, &src2)) - return NULL; - _rv = SectRect(&src1, - &src2, - &dstRect); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildRect, &dstRect); - return _res; -} - -static PyObject *Qd_MacUnionRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect src1; - Rect src2; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &src1, - PyMac_GetRect, &src2)) - return NULL; - MacUnionRect(&src1, - &src2, - &dstRect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &dstRect); - return _res; -} - -static PyObject *Qd_MacEqualRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Rect rect1; - Rect rect2; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &rect1, - PyMac_GetRect, &rect2)) - return NULL; - _rv = MacEqualRect(&rect1, - &rect2); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_EmptyRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - _rv = EmptyRect(&r); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_MacFrameRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - MacFrameRect(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PaintRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - PaintRect(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_EraseRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - EraseRect(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacInvertRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - MacInvertRect(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacFillRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "O&s#", - PyMac_GetRect, &r, - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - MacFillRect(&r, - pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_FrameOval(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - FrameOval(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PaintOval(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - PaintOval(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_EraseOval(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - EraseOval(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_InvertOval(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - InvertOval(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillOval(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "O&s#", - PyMac_GetRect, &r, - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - FillOval(&r, - pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_FrameRoundRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short ovalWidth; - short ovalHeight; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &ovalWidth, - &ovalHeight)) - return NULL; - FrameRoundRect(&r, - ovalWidth, - ovalHeight); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PaintRoundRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short ovalWidth; - short ovalHeight; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &ovalWidth, - &ovalHeight)) - return NULL; - PaintRoundRect(&r, - ovalWidth, - ovalHeight); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_EraseRoundRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short ovalWidth; - short ovalHeight; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &ovalWidth, - &ovalHeight)) - return NULL; - EraseRoundRect(&r, - ovalWidth, - ovalHeight); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_InvertRoundRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short ovalWidth; - short ovalHeight; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &ovalWidth, - &ovalHeight)) - return NULL; - InvertRoundRect(&r, - ovalWidth, - ovalHeight); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillRoundRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short ovalWidth; - short ovalHeight; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "O&hhs#", - PyMac_GetRect, &r, - &ovalWidth, - &ovalHeight, - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - FillRoundRect(&r, - ovalWidth, - ovalHeight, - pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_FrameArc(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short startAngle; - short arcAngle; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &startAngle, - &arcAngle)) - return NULL; - FrameArc(&r, - startAngle, - arcAngle); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PaintArc(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short startAngle; - short arcAngle; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &startAngle, - &arcAngle)) - return NULL; - PaintArc(&r, - startAngle, - arcAngle); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_EraseArc(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short startAngle; - short arcAngle; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &startAngle, - &arcAngle)) - return NULL; - EraseArc(&r, - startAngle, - arcAngle); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_InvertArc(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short startAngle; - short arcAngle; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &startAngle, - &arcAngle)) - return NULL; - InvertArc(&r, - startAngle, - arcAngle); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillArc(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short startAngle; - short arcAngle; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "O&hhs#", - PyMac_GetRect, &r, - &startAngle, - &arcAngle, - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - FillArc(&r, - startAngle, - arcAngle, - pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_NewRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = NewRgn(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_OpenRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - OpenRgn(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_CloseRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &dstRgn)) - return NULL; - CloseRgn(dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_BitMapToRegion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle region; - BitMapPtr bMap; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, ®ion, - BMObj_Convert, &bMap)) - return NULL; - _err = BitMapToRegion(region, - bMap); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_DisposeRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - DisposeRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacCopyRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle srcRgn; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &srcRgn, - ResObj_Convert, &dstRgn)) - return NULL; - MacCopyRgn(srcRgn, - dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetEmptyRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - SetEmptyRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacSetRectRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - short left; - short top; - short right; - short bottom; - if (!PyArg_ParseTuple(_args, "O&hhhh", - ResObj_Convert, &rgn, - &left, - &top, - &right, - &bottom)) - return NULL; - MacSetRectRgn(rgn, - left, - top, - right, - bottom); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_RectRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - Rect r; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &rgn, - PyMac_GetRect, &r)) - return NULL; - RectRgn(rgn, - &r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacOffsetRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "O&hh", - ResObj_Convert, &rgn, - &dh, - &dv)) - return NULL; - MacOffsetRgn(rgn, - dh, - dv); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_InsetRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "O&hh", - ResObj_Convert, &rgn, - &dh, - &dv)) - return NULL; - InsetRgn(rgn, - dh, - dv); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SectRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle srcRgnA; - RgnHandle srcRgnB; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &srcRgnA, - ResObj_Convert, &srcRgnB, - ResObj_Convert, &dstRgn)) - return NULL; - SectRgn(srcRgnA, - srcRgnB, - dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacUnionRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle srcRgnA; - RgnHandle srcRgnB; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &srcRgnA, - ResObj_Convert, &srcRgnB, - ResObj_Convert, &dstRgn)) - return NULL; - MacUnionRgn(srcRgnA, - srcRgnB, - dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_DiffRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle srcRgnA; - RgnHandle srcRgnB; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &srcRgnA, - ResObj_Convert, &srcRgnB, - ResObj_Convert, &dstRgn)) - return NULL; - DiffRgn(srcRgnA, - srcRgnB, - dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacXorRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle srcRgnA; - RgnHandle srcRgnB; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &srcRgnA, - ResObj_Convert, &srcRgnB, - ResObj_Convert, &dstRgn)) - return NULL; - MacXorRgn(srcRgnA, - srcRgnB, - dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_RectInRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Rect r; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &r, - ResObj_Convert, &rgn)) - return NULL; - _rv = RectInRgn(&r, - rgn); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_MacEqualRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - RgnHandle rgnA; - RgnHandle rgnB; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &rgnA, - ResObj_Convert, &rgnB)) - return NULL; - _rv = MacEqualRgn(rgnA, - rgnB); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_EmptyRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - _rv = EmptyRgn(rgn); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_MacFrameRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - MacFrameRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacPaintRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - MacPaintRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_EraseRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - EraseRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacInvertRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - MacInvertRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacFillRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "O&s#", - ResObj_Convert, &rgn, - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - MacFillRgn(rgn, - pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_ScrollRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short dh; - short dv; - RgnHandle updateRgn; - if (!PyArg_ParseTuple(_args, "O&hhO&", - PyMac_GetRect, &r, - &dh, - &dv, - ResObj_Convert, &updateRgn)) - return NULL; - ScrollRect(&r, - dh, - dv, - updateRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_CopyBits(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - BitMapPtr srcBits; - BitMapPtr dstBits; - Rect srcRect; - Rect dstRect; - short mode; - RgnHandle maskRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&O&hO&", - BMObj_Convert, &srcBits, - BMObj_Convert, &dstBits, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &dstRect, - &mode, - OptResObj_Convert, &maskRgn)) - return NULL; - CopyBits(srcBits, - dstBits, - &srcRect, - &dstRect, - mode, - maskRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_CopyMask(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - BitMapPtr srcBits; - BitMapPtr maskBits; - BitMapPtr dstBits; - Rect srcRect; - Rect maskRect; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&O&O&O&O&", - BMObj_Convert, &srcBits, - BMObj_Convert, &maskBits, - BMObj_Convert, &dstBits, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &maskRect, - PyMac_GetRect, &dstRect)) - return NULL; - CopyMask(srcBits, - maskBits, - dstBits, - &srcRect, - &maskRect, - &dstRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_OpenPicture(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle _rv; - Rect picFrame; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &picFrame)) - return NULL; - _rv = OpenPicture(&picFrame); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_PicComment(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short kind; - short dataSize; - Handle dataHandle; - if (!PyArg_ParseTuple(_args, "hhO&", - &kind, - &dataSize, - ResObj_Convert, &dataHandle)) - return NULL; - PicComment(kind, - dataSize, - dataHandle); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ClosePicture(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ClosePicture(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_DrawPicture(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle myPicture; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &myPicture, - PyMac_GetRect, &dstRect)) - return NULL; - DrawPicture(myPicture, - &dstRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_KillPicture(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle myPicture; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &myPicture)) - return NULL; - KillPicture(myPicture); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_OpenPoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = OpenPoly(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_ClosePoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ClosePoly(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_KillPoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &poly)) - return NULL; - KillPoly(poly); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_OffsetPoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "O&hh", - ResObj_Convert, &poly, - &dh, - &dv)) - return NULL; - OffsetPoly(poly, - dh, - dv); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FramePoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &poly)) - return NULL; - FramePoly(poly); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PaintPoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &poly)) - return NULL; - PaintPoly(poly); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ErasePoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &poly)) - return NULL; - ErasePoly(poly); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_InvertPoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &poly)) - return NULL; - InvertPoly(poly); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillPoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "O&s#", - ResObj_Convert, &poly, - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - FillPoly(poly, - pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_SetPt(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point pt; - short h; - short v; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - SetPt(&pt, - h, - v); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, pt); - return _res; -} - -static PyObject *Qd_LocalToGlobal(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point pt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &pt)) - return NULL; - LocalToGlobal(&pt); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, pt); - return _res; -} - -static PyObject *Qd_GlobalToLocal(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point pt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &pt)) - return NULL; - GlobalToLocal(&pt); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, pt); - return _res; -} - -static PyObject *Qd_Random(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = Random(); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_MacGetPixel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - short h; - short v; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - _rv = MacGetPixel(h, - v); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_ScalePt(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point pt; - Rect srcRect; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&O&", - PyMac_GetPoint, &pt, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &dstRect)) - return NULL; - ScalePt(&pt, - &srcRect, - &dstRect); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, pt); - return _res; -} - -static PyObject *Qd_MapPt(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point pt; - Rect srcRect; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&O&", - PyMac_GetPoint, &pt, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &dstRect)) - return NULL; - MapPt(&pt, - &srcRect, - &dstRect); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, pt); - return _res; -} - -static PyObject *Qd_MapRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - Rect srcRect; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&O&", - PyMac_GetRect, &r, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &dstRect)) - return NULL; - MapRect(&r, - &srcRect, - &dstRect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &r); - return _res; -} - -static PyObject *Qd_MapRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - Rect srcRect; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &rgn, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &dstRect)) - return NULL; - MapRgn(rgn, - &srcRect, - &dstRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MapPoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - Rect srcRect; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &poly, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &dstRect)) - return NULL; - MapPoly(poly, - &srcRect, - &dstRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_StdBits(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - BitMapPtr srcBits; - Rect srcRect; - Rect dstRect; - short mode; - RgnHandle maskRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&hO&", - BMObj_Convert, &srcBits, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &dstRect, - &mode, - OptResObj_Convert, &maskRgn)) - return NULL; - StdBits(srcBits, - &srcRect, - &dstRect, - mode, - maskRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_AddPt(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point src; - Point dst; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &src, - PyMac_GetPoint, &dst)) - return NULL; - AddPt(src, - &dst); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, dst); - return _res; -} - -static PyObject *Qd_EqualPt(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point pt1; - Point pt2; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &pt1, - PyMac_GetPoint, &pt2)) - return NULL; - _rv = EqualPt(pt1, - pt2); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_MacPtInRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point pt; - Rect r; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &pt, - PyMac_GetRect, &r)) - return NULL; - _rv = MacPtInRect(pt, - &r); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_Pt2Rect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point pt1; - Point pt2; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &pt1, - PyMac_GetPoint, &pt2)) - return NULL; - Pt2Rect(pt1, - pt2, - &dstRect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &dstRect); - return _res; -} - -static PyObject *Qd_PtToAngle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - Point pt; - short angle; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &r, - PyMac_GetPoint, &pt)) - return NULL; - PtToAngle(&r, - pt, - &angle); - _res = Py_BuildValue("h", - angle); - return _res; -} - -static PyObject *Qd_SubPt(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point src; - Point dst; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &src, - PyMac_GetPoint, &dst)) - return NULL; - SubPt(src, - &dst); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, dst); - return _res; -} - -static PyObject *Qd_PtInRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point pt; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &pt, - ResObj_Convert, &rgn)) - return NULL; - _rv = PtInRgn(pt, - rgn); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_NewPixMap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = NewPixMap(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_DisposePixMap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle pm; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pm)) - return NULL; - DisposePixMap(pm); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_CopyPixMap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle srcPM; - PixMapHandle dstPM; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &srcPM, - ResObj_Convert, &dstPM)) - return NULL; - CopyPixMap(srcPM, - dstPM); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_NewPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = NewPixPat(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_DisposePixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pp)) - return NULL; - DisposePixPat(pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_CopyPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle srcPP; - PixPatHandle dstPP; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &srcPP, - ResObj_Convert, &dstPP)) - return NULL; - CopyPixPat(srcPP, - dstPP); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PenPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pp)) - return NULL; - PenPixPat(pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_BackPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pp)) - return NULL; - BackPixPat(pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle _rv; - short patID; - if (!PyArg_ParseTuple(_args, "h", - &patID)) - return NULL; - _rv = GetPixPat(patID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_MakeRGBPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle pp; - RGBColor myColor; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &pp, - QdRGB_Convert, &myColor)) - return NULL; - MakeRGBPat(pp, - &myColor); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillCRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &r, - ResObj_Convert, &pp)) - return NULL; - FillCRect(&r, - pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillCOval(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &r, - ResObj_Convert, &pp)) - return NULL; - FillCOval(&r, - pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillCRoundRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short ovalWidth; - short ovalHeight; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&hhO&", - PyMac_GetRect, &r, - &ovalWidth, - &ovalHeight, - ResObj_Convert, &pp)) - return NULL; - FillCRoundRect(&r, - ovalWidth, - ovalHeight, - pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillCArc(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short startAngle; - short arcAngle; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&hhO&", - PyMac_GetRect, &r, - &startAngle, - &arcAngle, - ResObj_Convert, &pp)) - return NULL; - FillCArc(&r, - startAngle, - arcAngle, - pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillCRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &rgn, - ResObj_Convert, &pp)) - return NULL; - FillCRgn(rgn, - pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillCPoly(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PolyHandle poly; - PixPatHandle pp; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &poly, - ResObj_Convert, &pp)) - return NULL; - FillCPoly(poly, - pp); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_RGBForeColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RGBColor color; - if (!PyArg_ParseTuple(_args, "O&", - QdRGB_Convert, &color)) - return NULL; - RGBForeColor(&color); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_RGBBackColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RGBColor color; - if (!PyArg_ParseTuple(_args, "O&", - QdRGB_Convert, &color)) - return NULL; - RGBBackColor(&color); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetCPixel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short h; - short v; - RGBColor cPix; - if (!PyArg_ParseTuple(_args, "hhO&", - &h, - &v, - QdRGB_Convert, &cPix)) - return NULL; - SetCPixel(h, - v, - &cPix); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortPix(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle pm; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pm)) - return NULL; - SetPortPix(pm); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetCPixel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short h; - short v; - RGBColor cPix; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - GetCPixel(h, - v, - &cPix); - _res = Py_BuildValue("O&", - QdRGB_New, &cPix); - return _res; -} - -static PyObject *Qd_GetForeColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RGBColor color; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetForeColor(&color); - _res = Py_BuildValue("O&", - QdRGB_New, &color); - return _res; -} - -static PyObject *Qd_GetBackColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RGBColor color; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetBackColor(&color); - _res = Py_BuildValue("O&", - QdRGB_New, &color); - return _res; -} - -static PyObject *Qd_OpColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RGBColor color; - if (!PyArg_ParseTuple(_args, "O&", - QdRGB_Convert, &color)) - return NULL; - OpColor(&color); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_HiliteColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RGBColor color; - if (!PyArg_ParseTuple(_args, "O&", - QdRGB_Convert, &color)) - return NULL; - HiliteColor(&color); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_DisposeCTable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CTabHandle cTable; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &cTable)) - return NULL; - DisposeCTable(cTable); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetCTable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CTabHandle _rv; - short ctID; - if (!PyArg_ParseTuple(_args, "h", - &ctID)) - return NULL; - _rv = GetCTable(ctID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetCCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CCrsrHandle _rv; - short crsrID; - if (!PyArg_ParseTuple(_args, "h", - &crsrID)) - return NULL; - _rv = GetCCursor(crsrID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_SetCCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CCrsrHandle cCrsr; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &cCrsr)) - return NULL; - SetCCursor(cCrsr); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_AllocCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - AllocCursor(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_DisposeCCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CCrsrHandle cCrsr; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &cCrsr)) - return NULL; - DisposeCCursor(cCrsr); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetMaxDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle _rv; - Rect globalRect; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &globalRect)) - return NULL; - _rv = GetMaxDevice(&globalRect); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetCTSeed(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetCTSeed(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qd_GetDeviceList(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetDeviceList(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetMainDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMainDevice(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetNextDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle _rv; - GDHandle curDevice; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &curDevice)) - return NULL; - _rv = GetNextDevice(curDevice); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_TestDeviceAttribute(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - GDHandle gdh; - short attribute; - if (!PyArg_ParseTuple(_args, "O&h", - ResObj_Convert, &gdh, - &attribute)) - return NULL; - _rv = TestDeviceAttribute(gdh, - attribute); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_SetDeviceAttribute(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle gdh; - short attribute; - Boolean value; - if (!PyArg_ParseTuple(_args, "O&hb", - ResObj_Convert, &gdh, - &attribute, - &value)) - return NULL; - SetDeviceAttribute(gdh, - attribute, - value); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_InitGDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short qdRefNum; - long mode; - GDHandle gdh; - if (!PyArg_ParseTuple(_args, "hlO&", - &qdRefNum, - &mode, - ResObj_Convert, &gdh)) - return NULL; - InitGDevice(qdRefNum, - mode, - gdh); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_NewGDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle _rv; - short refNum; - long mode; - if (!PyArg_ParseTuple(_args, "hl", - &refNum, - &mode)) - return NULL; - _rv = NewGDevice(refNum, - mode); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_DisposeGDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle gdh; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &gdh)) - return NULL; - DisposeGDevice(gdh); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetGDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle gd; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &gd)) - return NULL; - SetGDevice(gd); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetGDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetGDevice(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_Color2Index(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - RGBColor myColor; - if (!PyArg_ParseTuple(_args, "O&", - QdRGB_Convert, &myColor)) - return NULL; - _rv = Color2Index(&myColor); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qd_Index2Color(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long index; - RGBColor aColor; - if (!PyArg_ParseTuple(_args, "l", - &index)) - return NULL; - Index2Color(index, - &aColor); - _res = Py_BuildValue("O&", - QdRGB_New, &aColor); - return _res; -} - -static PyObject *Qd_InvertColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RGBColor myColor; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - InvertColor(&myColor); - _res = Py_BuildValue("O&", - QdRGB_New, &myColor); - return _res; -} - -static PyObject *Qd_RealColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - RGBColor color; - if (!PyArg_ParseTuple(_args, "O&", - QdRGB_Convert, &color)) - return NULL; - _rv = RealColor(&color); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_GetSubTable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CTabHandle myColors; - short iTabRes; - CTabHandle targetTbl; - if (!PyArg_ParseTuple(_args, "O&hO&", - ResObj_Convert, &myColors, - &iTabRes, - ResObj_Convert, &targetTbl)) - return NULL; - GetSubTable(myColors, - iTabRes, - targetTbl); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MakeITable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CTabHandle cTabH; - ITabHandle iTabH; - short res; - if (!PyArg_ParseTuple(_args, "O&O&h", - ResObj_Convert, &cTabH, - ResObj_Convert, &iTabH, - &res)) - return NULL; - MakeITable(cTabH, - iTabH, - res); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetClientID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short id; - if (!PyArg_ParseTuple(_args, "h", - &id)) - return NULL; - SetClientID(id); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ProtectEntry(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short index; - Boolean protect; - if (!PyArg_ParseTuple(_args, "hb", - &index, - &protect)) - return NULL; - ProtectEntry(index, - protect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ReserveEntry(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short index; - Boolean reserve; - if (!PyArg_ParseTuple(_args, "hb", - &index, - &reserve)) - return NULL; - ReserveEntry(index, - reserve); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_QDError(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = QDError(); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_CopyDeepMask(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - BitMapPtr srcBits; - BitMapPtr maskBits; - BitMapPtr dstBits; - Rect srcRect; - Rect maskRect; - Rect dstRect; - short mode; - RgnHandle maskRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&O&O&O&hO&", - BMObj_Convert, &srcBits, - BMObj_Convert, &maskBits, - BMObj_Convert, &dstBits, - PyMac_GetRect, &srcRect, - PyMac_GetRect, &maskRect, - PyMac_GetRect, &dstRect, - &mode, - OptResObj_Convert, &maskRgn)) - return NULL; - CopyDeepMask(srcBits, - maskBits, - dstBits, - &srcRect, - &maskRect, - &dstRect, - mode, - maskRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetPattern(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PatHandle _rv; - short patternID; - if (!PyArg_ParseTuple(_args, "h", - &patternID)) - return NULL; - _rv = GetPattern(patternID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_MacGetCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CursHandle _rv; - short cursorID; - if (!PyArg_ParseTuple(_args, "h", - &cursorID)) - return NULL; - _rv = MacGetCursor(cursorID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetPicture(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle _rv; - short pictureID; - if (!PyArg_ParseTuple(_args, "h", - &pictureID)) - return NULL; - _rv = GetPicture(pictureID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_DeltaPoint(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - Point ptA; - Point ptB; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &ptA, - PyMac_GetPoint, &ptB)) - return NULL; - _rv = DeltaPoint(ptA, - ptB); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qd_ShieldCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect shieldRect; - Point offsetPt; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &shieldRect, - PyMac_GetPoint, &offsetPt)) - return NULL; - ShieldCursor(&shieldRect, - offsetPt); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_ScreenRes(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short scrnHRes; - short scrnVRes; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ScreenRes(&scrnHRes, - &scrnVRes); - _res = Py_BuildValue("hh", - scrnHRes, - scrnVRes); - return _res; -} - -static PyObject *Qd_GetIndPattern(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Pattern thePat__out__; - short patternListID; - short index; - if (!PyArg_ParseTuple(_args, "hh", - &patternListID, - &index)) - return NULL; - GetIndPattern(&thePat__out__, - patternListID, - index); - _res = Py_BuildValue("s#", - (char *)&thePat__out__, (int)sizeof(Pattern)); - thePat__error__: ; - return _res; -} - -static PyObject *Qd_SlopeFromAngle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed _rv; - short angle; - if (!PyArg_ParseTuple(_args, "h", - &angle)) - return NULL; - _rv = SlopeFromAngle(angle); - _res = Py_BuildValue("O&", - PyMac_BuildFixed, _rv); - return _res; -} - -static PyObject *Qd_AngleFromSlope(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - Fixed slope; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFixed, &slope)) - return NULL; - _rv = AngleFromSlope(slope); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_GetPortPixMap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortPixMap(port); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetPortBitMapForCopyBits(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - const BitMap * _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortBitMapForCopyBits(port); - _res = Py_BuildValue("O&", - BMObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetPortBounds(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - Rect rect; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - GetPortBounds(port, - &rect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &rect); - return _res; -} - -static PyObject *Qd_GetPortForeColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - RGBColor foreColor; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - GetPortForeColor(port, - &foreColor); - _res = Py_BuildValue("O&", - QdRGB_New, &foreColor); - return _res; -} - -static PyObject *Qd_GetPortBackColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - RGBColor backColor; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - GetPortBackColor(port, - &backColor); - _res = Py_BuildValue("O&", - QdRGB_New, &backColor); - return _res; -} - -static PyObject *Qd_GetPortOpColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - RGBColor opColor; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - GetPortOpColor(port, - &opColor); - _res = Py_BuildValue("O&", - QdRGB_New, &opColor); - return _res; -} - -static PyObject *Qd_GetPortHiliteColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - RGBColor hiliteColor; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - GetPortHiliteColor(port, - &hiliteColor); - _res = Py_BuildValue("O&", - QdRGB_New, &hiliteColor); - return _res; -} - -static PyObject *Qd_GetPortTextFont(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortTextFont(port); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_GetPortTextFace(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Style _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortTextFace(port); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_GetPortTextMode(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortTextMode(port); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_GetPortTextSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortTextSize(port); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_GetPortChExtra(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortChExtra(port); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_GetPortFracHPenLocation(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortFracHPenLocation(port); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_GetPortSpExtra(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortSpExtra(port); - _res = Py_BuildValue("O&", - PyMac_BuildFixed, _rv); - return _res; -} - -static PyObject *Qd_GetPortPenVisibility(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortPenVisibility(port); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_GetPortVisibleRegion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - CGrafPtr port; - RgnHandle visRgn; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &visRgn)) - return NULL; - _rv = GetPortVisibleRegion(port, - visRgn); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetPortClipRegion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - CGrafPtr port; - RgnHandle clipRgn; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &clipRgn)) - return NULL; - _rv = GetPortClipRegion(port, - clipRgn); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetPortBackPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle _rv; - CGrafPtr port; - PixPatHandle backPattern; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &backPattern)) - return NULL; - _rv = GetPortBackPixPat(port, - backPattern); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetPortPenPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle _rv; - CGrafPtr port; - PixPatHandle penPattern; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &penPattern)) - return NULL; - _rv = GetPortPenPixPat(port, - penPattern); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetPortFillPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle _rv; - CGrafPtr port; - PixPatHandle fillPattern; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &fillPattern)) - return NULL; - _rv = GetPortFillPixPat(port, - fillPattern); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_GetPortPenSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - Point penSize; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - PyMac_GetPoint, &penSize)) - return NULL; - GetPortPenSize(port, - &penSize); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, penSize); - return _res; -} - -static PyObject *Qd_GetPortPenMode(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - SInt32 _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetPortPenMode(port); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qd_GetPortPenLocation(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - Point penLocation; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - PyMac_GetPoint, &penLocation)) - return NULL; - GetPortPenLocation(port, - &penLocation); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, penLocation); - return _res; -} - -static PyObject *Qd_IsPortRegionBeingDefined(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = IsPortRegionBeingDefined(port); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_IsPortPictureBeingDefined(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = IsPortPictureBeingDefined(port); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Qd_IsPortOffscreen(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = IsPortOffscreen(port); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Qd_IsPortColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = IsPortColor(port); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -static PyObject *Qd_SetPortBounds(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - Rect rect; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - PyMac_GetRect, &rect)) - return NULL; - SetPortBounds(port, - &rect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortOpColor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - RGBColor opColor; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - QdRGB_Convert, &opColor)) - return NULL; - SetPortOpColor(port, - &opColor); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortVisibleRegion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - RgnHandle visRgn; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &visRgn)) - return NULL; - SetPortVisibleRegion(port, - visRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortClipRegion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - RgnHandle clipRgn; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &clipRgn)) - return NULL; - SetPortClipRegion(port, - clipRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortPenPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - PixPatHandle penPattern; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &penPattern)) - return NULL; - SetPortPenPixPat(port, - penPattern); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortBackPixPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - PixPatHandle backPattern; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - ResObj_Convert, &backPattern)) - return NULL; - SetPortBackPixPat(port, - backPattern); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortPenSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - Point penSize; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - PyMac_GetPoint, &penSize)) - return NULL; - SetPortPenSize(port, - penSize); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortPenMode(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - SInt32 penMode; - if (!PyArg_ParseTuple(_args, "O&l", - GrafObj_Convert, &port, - &penMode)) - return NULL; - SetPortPenMode(port, - penMode); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPortFracHPenLocation(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - short pnLocHFrac; - if (!PyArg_ParseTuple(_args, "O&h", - GrafObj_Convert, &port, - &pnLocHFrac)) - return NULL; - SetPortFracHPenLocation(port, - pnLocHFrac); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetPixBounds(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle pixMap; - Rect bounds; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pixMap)) - return NULL; - GetPixBounds(pixMap, - &bounds); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &bounds); - return _res; -} - -static PyObject *Qd_GetPixDepth(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - PixMapHandle pixMap; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pixMap)) - return NULL; - _rv = GetPixDepth(pixMap); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_GetQDGlobalsRandomSeed(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetQDGlobalsRandomSeed(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qd_GetQDGlobalsScreenBits(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - BitMap screenBits; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetQDGlobalsScreenBits(&screenBits); - _res = Py_BuildValue("O&", - BMObj_NewCopied, &screenBits); - return _res; -} - -static PyObject *Qd_GetQDGlobalsArrow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Cursor arrow__out__; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetQDGlobalsArrow(&arrow__out__); - _res = Py_BuildValue("s#", - (char *)&arrow__out__, (int)sizeof(Cursor)); - arrow__error__: ; - return _res; -} - -static PyObject *Qd_GetQDGlobalsDarkGray(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Pattern dkGray__out__; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetQDGlobalsDarkGray(&dkGray__out__); - _res = Py_BuildValue("s#", - (char *)&dkGray__out__, (int)sizeof(Pattern)); - dkGray__error__: ; - return _res; -} - -static PyObject *Qd_GetQDGlobalsLightGray(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Pattern ltGray__out__; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetQDGlobalsLightGray(<Gray__out__); - _res = Py_BuildValue("s#", - (char *)<Gray__out__, (int)sizeof(Pattern)); - ltGray__error__: ; - return _res; -} - -static PyObject *Qd_GetQDGlobalsGray(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Pattern gray__out__; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetQDGlobalsGray(&gray__out__); - _res = Py_BuildValue("s#", - (char *)&gray__out__, (int)sizeof(Pattern)); - gray__error__: ; - return _res; -} - -static PyObject *Qd_GetQDGlobalsBlack(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Pattern black__out__; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetQDGlobalsBlack(&black__out__); - _res = Py_BuildValue("s#", - (char *)&black__out__, (int)sizeof(Pattern)); - black__error__: ; - return _res; -} - -static PyObject *Qd_GetQDGlobalsWhite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Pattern white__out__; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetQDGlobalsWhite(&white__out__); - _res = Py_BuildValue("s#", - (char *)&white__out__, (int)sizeof(Pattern)); - white__error__: ; - return _res; -} - -static PyObject *Qd_GetQDGlobalsThePort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetQDGlobalsThePort(); - _res = Py_BuildValue("O&", - GrafObj_New, _rv); - return _res; -} - -static PyObject *Qd_SetQDGlobalsRandomSeed(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long randomSeed; - if (!PyArg_ParseTuple(_args, "l", - &randomSeed)) - return NULL; - SetQDGlobalsRandomSeed(randomSeed); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetQDGlobalsArrow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Cursor *arrow__in__; - int arrow__in_len__; - if (!PyArg_ParseTuple(_args, "s#", - (char **)&arrow__in__, &arrow__in_len__)) - return NULL; - if (arrow__in_len__ != sizeof(Cursor)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)"); - goto arrow__error__; - } - SetQDGlobalsArrow(arrow__in__); - Py_INCREF(Py_None); - _res = Py_None; - arrow__error__: ; - return _res; -} - -static PyObject *Qd_GetRegionBounds(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle region; - Rect bounds; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, ®ion)) - return NULL; - GetRegionBounds(region, - &bounds); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &bounds); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Qd_IsRegionRectangular(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - RgnHandle region; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, ®ion)) - return NULL; - _rv = IsRegionRectangular(region); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Qd_CreateNewPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CreateNewPort(); - _res = Py_BuildValue("O&", - GrafObj_New, _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Qd_DisposePort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - DisposePort(port); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Qd_SetQDError(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr err; - if (!PyArg_ParseTuple(_args, "h", - &err)) - return NULL; - SetQDError(err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Qd_QDIsPortBuffered(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = QDIsPortBuffered(port); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_QDIsPortBufferDirty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = QDIsPortBufferDirty(port); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_QDFlushPortBuffer(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - RgnHandle region; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - OptResObj_Convert, ®ion)) - return NULL; - QDFlushPortBuffer(port, - region); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_TextFont(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short font; - if (!PyArg_ParseTuple(_args, "h", - &font)) - return NULL; - TextFont(font); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_TextFace(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - StyleParameter face; - if (!PyArg_ParseTuple(_args, "h", - &face)) - return NULL; - TextFace(face); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_TextMode(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short mode; - if (!PyArg_ParseTuple(_args, "h", - &mode)) - return NULL; - TextMode(mode); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_TextSize(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short size; - if (!PyArg_ParseTuple(_args, "h", - &size)) - return NULL; - TextSize(size); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SpaceExtra(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed extra; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFixed, &extra)) - return NULL; - SpaceExtra(extra); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_DrawChar(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CharParameter ch; - if (!PyArg_ParseTuple(_args, "h", - &ch)) - return NULL; - DrawChar(ch); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_DrawString(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 s; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, s)) - return NULL; - DrawString(s); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_MacDrawText(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *textBuf__in__; - int textBuf__len__; - int textBuf__in_len__; - short firstByte; - short byteCount; - if (!PyArg_ParseTuple(_args, "s#hh", - &textBuf__in__, &textBuf__in_len__, - &firstByte, - &byteCount)) - return NULL; - MacDrawText(textBuf__in__, - firstByte, - byteCount); - Py_INCREF(Py_None); - _res = Py_None; - textBuf__error__: ; - return _res; -} - -static PyObject *Qd_CharWidth(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - CharParameter ch; - if (!PyArg_ParseTuple(_args, "h", - &ch)) - return NULL; - _rv = CharWidth(ch); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_StringWidth(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - Str255 s; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, s)) - return NULL; - _rv = StringWidth(s); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Qd_TextWidth(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - char *textBuf__in__; - int textBuf__len__; - int textBuf__in_len__; - short firstByte; - short byteCount; - if (!PyArg_ParseTuple(_args, "s#hh", - &textBuf__in__, &textBuf__in_len__, - &firstByte, - &byteCount)) - return NULL; - _rv = TextWidth(textBuf__in__, - firstByte, - byteCount); - _res = Py_BuildValue("h", - _rv); - textBuf__error__: ; - return _res; -} - -static PyObject *Qd_GetFontInfo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - FontInfo info; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetFontInfo(&info); - _res = Py_BuildValue("O&", - QdFI_New, &info); - return _res; -} - -static PyObject *Qd_CharExtra(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed extra; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFixed, &extra)) - return NULL; - CharExtra(extra); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GrafPtr thePort; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &thePort)) - return NULL; - SetPort(thePort); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_GetCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CursHandle _rv; - short cursorID; - if (!PyArg_ParseTuple(_args, "h", - &cursorID)) - return NULL; - _rv = GetCursor(cursorID); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Qd_SetCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Cursor *crsr__in__; - int crsr__in_len__; - if (!PyArg_ParseTuple(_args, "s#", - (char **)&crsr__in__, &crsr__in_len__)) - return NULL; - if (crsr__in_len__ != sizeof(Cursor)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)"); - goto crsr__error__; - } - SetCursor(crsr__in__); - Py_INCREF(Py_None); - _res = Py_None; - crsr__error__: ; - return _res; -} - -static PyObject *Qd_ShowCursor(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ShowCursor(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_LineTo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short h; - short v; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - LineTo(h, - v); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short left; - short top; - short right; - short bottom; - if (!PyArg_ParseTuple(_args, "hhhh", - &left, - &top, - &right, - &bottom)) - return NULL; - SetRect(&r, - left, - top, - right, - bottom); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &r); - return _res; -} - -static PyObject *Qd_OffsetRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &dh, - &dv)) - return NULL; - OffsetRect(&r, - dh, - dv); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &r); - return _res; -} - -static PyObject *Qd_InsetRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "O&hh", - PyMac_GetRect, &r, - &dh, - &dv)) - return NULL; - InsetRect(&r, - dh, - dv); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &r); - return _res; -} - -static PyObject *Qd_UnionRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect src1; - Rect src2; - Rect dstRect; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &src1, - PyMac_GetRect, &src2)) - return NULL; - UnionRect(&src1, - &src2, - &dstRect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &dstRect); - return _res; -} - -static PyObject *Qd_EqualRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Rect rect1; - Rect rect2; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &rect1, - PyMac_GetRect, &rect2)) - return NULL; - _rv = EqualRect(&rect1, - &rect2); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_FrameRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - FrameRect(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_InvertRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &r)) - return NULL; - InvertRect(&r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect r; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "O&s#", - PyMac_GetRect, &r, - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - FillRect(&r, - pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_CopyRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle srcRgn; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &srcRgn, - ResObj_Convert, &dstRgn)) - return NULL; - CopyRgn(srcRgn, - dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_SetRectRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - short left; - short top; - short right; - short bottom; - if (!PyArg_ParseTuple(_args, "O&hhhh", - ResObj_Convert, &rgn, - &left, - &top, - &right, - &bottom)) - return NULL; - SetRectRgn(rgn, - left, - top, - right, - bottom); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_OffsetRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "O&hh", - ResObj_Convert, &rgn, - &dh, - &dv)) - return NULL; - OffsetRgn(rgn, - dh, - dv); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_UnionRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle srcRgnA; - RgnHandle srcRgnB; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &srcRgnA, - ResObj_Convert, &srcRgnB, - ResObj_Convert, &dstRgn)) - return NULL; - UnionRgn(srcRgnA, - srcRgnB, - dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_XorRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle srcRgnA; - RgnHandle srcRgnB; - RgnHandle dstRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &srcRgnA, - ResObj_Convert, &srcRgnB, - ResObj_Convert, &dstRgn)) - return NULL; - XorRgn(srcRgnA, - srcRgnB, - dstRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_EqualRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - RgnHandle rgnA; - RgnHandle rgnB; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &rgnA, - ResObj_Convert, &rgnB)) - return NULL; - _rv = EqualRgn(rgnA, - rgnB); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_FrameRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - FrameRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_PaintRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - PaintRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_InvertRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &rgn)) - return NULL; - InvertRgn(rgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qd_FillRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle rgn; - Pattern *pat__in__; - int pat__in_len__; - if (!PyArg_ParseTuple(_args, "O&s#", - ResObj_Convert, &rgn, - (char **)&pat__in__, &pat__in_len__)) - return NULL; - if (pat__in_len__ != sizeof(Pattern)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); - goto pat__error__; - } - FillRgn(rgn, - pat__in__); - Py_INCREF(Py_None); - _res = Py_None; - pat__error__: ; - return _res; -} - -static PyObject *Qd_GetPixel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - short h; - short v; - if (!PyArg_ParseTuple(_args, "hh", - &h, - &v)) - return NULL; - _rv = GetPixel(h, - v); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_PtInRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point pt; - Rect r; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &pt, - PyMac_GetRect, &r)) - return NULL; - _rv = PtInRect(pt, - &r); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qd_DrawText(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *textBuf__in__; - int textBuf__len__; - int textBuf__in_len__; - short firstByte; - short byteCount; - if (!PyArg_ParseTuple(_args, "s#hh", - &textBuf__in__, &textBuf__in_len__, - &firstByte, - &byteCount)) - return NULL; - DrawText(textBuf__in__, - firstByte, - byteCount); - Py_INCREF(Py_None); - _res = Py_None; - textBuf__error__: ; - return _res; -} - -static PyObject *Qd_BitMap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - BitMap *ptr; - PyObject *source; - Rect bounds; - int rowbytes; - char *data; - - if ( !PyArg_ParseTuple(_args, "O!iO&", &PyString_Type, &source, &rowbytes, PyMac_GetRect, - &bounds) ) - return NULL; - data = PyString_AsString(source); - if ((ptr=(BitMap *)malloc(sizeof(BitMap))) == NULL ) - return PyErr_NoMemory(); - ptr->baseAddr = (Ptr)data; - ptr->rowBytes = rowbytes; - ptr->bounds = bounds; - if ( (_res = BMObj_New(ptr)) == NULL ) { - free(ptr); - return NULL; - } - ((BitMapObject *)_res)->referred_object = source; - Py_INCREF(source); - ((BitMapObject *)_res)->referred_bitmap = ptr; - return _res; - -} - -static PyObject *Qd_RawBitMap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - BitMap *ptr; - PyObject *source; - - if ( !PyArg_ParseTuple(_args, "O!", &PyString_Type, &source) ) - return NULL; - if ( PyString_Size(source) != sizeof(BitMap) && PyString_Size(source) != sizeof(PixMap) ) { - PyErr_BadArgument(); - return NULL; - } - ptr = (BitMapPtr)PyString_AsString(source); - if ( (_res = BMObj_New(ptr)) == NULL ) { - return NULL; - } - ((BitMapObject *)_res)->referred_object = source; - Py_INCREF(source); - return _res; - -} - -static PyMethodDef Qd_methods[] = { - {"MacSetPort", (PyCFunction)Qd_MacSetPort, 1, - "(GrafPtr port) -> None"}, - {"GetPort", (PyCFunction)Qd_GetPort, 1, - "() -> (GrafPtr port)"}, - {"GrafDevice", (PyCFunction)Qd_GrafDevice, 1, - "(short device) -> None"}, - {"SetPortBits", (PyCFunction)Qd_SetPortBits, 1, - "(BitMapPtr bm) -> None"}, - {"PortSize", (PyCFunction)Qd_PortSize, 1, - "(short width, short height) -> None"}, - {"MovePortTo", (PyCFunction)Qd_MovePortTo, 1, - "(short leftGlobal, short topGlobal) -> None"}, - {"SetOrigin", (PyCFunction)Qd_SetOrigin, 1, - "(short h, short v) -> None"}, - {"SetClip", (PyCFunction)Qd_SetClip, 1, - "(RgnHandle rgn) -> None"}, - {"GetClip", (PyCFunction)Qd_GetClip, 1, - "(RgnHandle rgn) -> None"}, - {"ClipRect", (PyCFunction)Qd_ClipRect, 1, - "(Rect r) -> None"}, - {"BackPat", (PyCFunction)Qd_BackPat, 1, - "(Pattern pat) -> None"}, - {"InitCursor", (PyCFunction)Qd_InitCursor, 1, - "() -> None"}, - {"MacSetCursor", (PyCFunction)Qd_MacSetCursor, 1, - "(Cursor crsr) -> None"}, - {"HideCursor", (PyCFunction)Qd_HideCursor, 1, - "() -> None"}, - {"MacShowCursor", (PyCFunction)Qd_MacShowCursor, 1, - "() -> None"}, - {"ObscureCursor", (PyCFunction)Qd_ObscureCursor, 1, - "() -> None"}, - {"HidePen", (PyCFunction)Qd_HidePen, 1, - "() -> None"}, - {"ShowPen", (PyCFunction)Qd_ShowPen, 1, - "() -> None"}, - {"GetPen", (PyCFunction)Qd_GetPen, 1, - "() -> (Point pt)"}, - {"GetPenState", (PyCFunction)Qd_GetPenState, 1, - "() -> (PenState pnState)"}, - {"SetPenState", (PyCFunction)Qd_SetPenState, 1, - "(PenState pnState) -> None"}, - {"PenSize", (PyCFunction)Qd_PenSize, 1, - "(short width, short height) -> None"}, - {"PenMode", (PyCFunction)Qd_PenMode, 1, - "(short mode) -> None"}, - {"PenPat", (PyCFunction)Qd_PenPat, 1, - "(Pattern pat) -> None"}, - {"PenNormal", (PyCFunction)Qd_PenNormal, 1, - "() -> None"}, - {"MoveTo", (PyCFunction)Qd_MoveTo, 1, - "(short h, short v) -> None"}, - {"Move", (PyCFunction)Qd_Move, 1, - "(short dh, short dv) -> None"}, - {"MacLineTo", (PyCFunction)Qd_MacLineTo, 1, - "(short h, short v) -> None"}, - {"Line", (PyCFunction)Qd_Line, 1, - "(short dh, short dv) -> None"}, - {"ForeColor", (PyCFunction)Qd_ForeColor, 1, - "(long color) -> None"}, - {"BackColor", (PyCFunction)Qd_BackColor, 1, - "(long color) -> None"}, - {"ColorBit", (PyCFunction)Qd_ColorBit, 1, - "(short whichBit) -> None"}, - {"MacSetRect", (PyCFunction)Qd_MacSetRect, 1, - "(short left, short top, short right, short bottom) -> (Rect r)"}, - {"MacOffsetRect", (PyCFunction)Qd_MacOffsetRect, 1, - "(Rect r, short dh, short dv) -> (Rect r)"}, - {"MacInsetRect", (PyCFunction)Qd_MacInsetRect, 1, - "(Rect r, short dh, short dv) -> (Rect r)"}, - {"SectRect", (PyCFunction)Qd_SectRect, 1, - "(Rect src1, Rect src2) -> (Boolean _rv, Rect dstRect)"}, - {"MacUnionRect", (PyCFunction)Qd_MacUnionRect, 1, - "(Rect src1, Rect src2) -> (Rect dstRect)"}, - {"MacEqualRect", (PyCFunction)Qd_MacEqualRect, 1, - "(Rect rect1, Rect rect2) -> (Boolean _rv)"}, - {"EmptyRect", (PyCFunction)Qd_EmptyRect, 1, - "(Rect r) -> (Boolean _rv)"}, - {"MacFrameRect", (PyCFunction)Qd_MacFrameRect, 1, - "(Rect r) -> None"}, - {"PaintRect", (PyCFunction)Qd_PaintRect, 1, - "(Rect r) -> None"}, - {"EraseRect", (PyCFunction)Qd_EraseRect, 1, - "(Rect r) -> None"}, - {"MacInvertRect", (PyCFunction)Qd_MacInvertRect, 1, - "(Rect r) -> None"}, - {"MacFillRect", (PyCFunction)Qd_MacFillRect, 1, - "(Rect r, Pattern pat) -> None"}, - {"FrameOval", (PyCFunction)Qd_FrameOval, 1, - "(Rect r) -> None"}, - {"PaintOval", (PyCFunction)Qd_PaintOval, 1, - "(Rect r) -> None"}, - {"EraseOval", (PyCFunction)Qd_EraseOval, 1, - "(Rect r) -> None"}, - {"InvertOval", (PyCFunction)Qd_InvertOval, 1, - "(Rect r) -> None"}, - {"FillOval", (PyCFunction)Qd_FillOval, 1, - "(Rect r, Pattern pat) -> None"}, - {"FrameRoundRect", (PyCFunction)Qd_FrameRoundRect, 1, - "(Rect r, short ovalWidth, short ovalHeight) -> None"}, - {"PaintRoundRect", (PyCFunction)Qd_PaintRoundRect, 1, - "(Rect r, short ovalWidth, short ovalHeight) -> None"}, - {"EraseRoundRect", (PyCFunction)Qd_EraseRoundRect, 1, - "(Rect r, short ovalWidth, short ovalHeight) -> None"}, - {"InvertRoundRect", (PyCFunction)Qd_InvertRoundRect, 1, - "(Rect r, short ovalWidth, short ovalHeight) -> None"}, - {"FillRoundRect", (PyCFunction)Qd_FillRoundRect, 1, - "(Rect r, short ovalWidth, short ovalHeight, Pattern pat) -> None"}, - {"FrameArc", (PyCFunction)Qd_FrameArc, 1, - "(Rect r, short startAngle, short arcAngle) -> None"}, - {"PaintArc", (PyCFunction)Qd_PaintArc, 1, - "(Rect r, short startAngle, short arcAngle) -> None"}, - {"EraseArc", (PyCFunction)Qd_EraseArc, 1, - "(Rect r, short startAngle, short arcAngle) -> None"}, - {"InvertArc", (PyCFunction)Qd_InvertArc, 1, - "(Rect r, short startAngle, short arcAngle) -> None"}, - {"FillArc", (PyCFunction)Qd_FillArc, 1, - "(Rect r, short startAngle, short arcAngle, Pattern pat) -> None"}, - {"NewRgn", (PyCFunction)Qd_NewRgn, 1, - "() -> (RgnHandle _rv)"}, - {"OpenRgn", (PyCFunction)Qd_OpenRgn, 1, - "() -> None"}, - {"CloseRgn", (PyCFunction)Qd_CloseRgn, 1, - "(RgnHandle dstRgn) -> None"}, - {"BitMapToRegion", (PyCFunction)Qd_BitMapToRegion, 1, - "(RgnHandle region, BitMapPtr bMap) -> None"}, - {"DisposeRgn", (PyCFunction)Qd_DisposeRgn, 1, - "(RgnHandle rgn) -> None"}, - {"MacCopyRgn", (PyCFunction)Qd_MacCopyRgn, 1, - "(RgnHandle srcRgn, RgnHandle dstRgn) -> None"}, - {"SetEmptyRgn", (PyCFunction)Qd_SetEmptyRgn, 1, - "(RgnHandle rgn) -> None"}, - {"MacSetRectRgn", (PyCFunction)Qd_MacSetRectRgn, 1, - "(RgnHandle rgn, short left, short top, short right, short bottom) -> None"}, - {"RectRgn", (PyCFunction)Qd_RectRgn, 1, - "(RgnHandle rgn, Rect r) -> None"}, - {"MacOffsetRgn", (PyCFunction)Qd_MacOffsetRgn, 1, - "(RgnHandle rgn, short dh, short dv) -> None"}, - {"InsetRgn", (PyCFunction)Qd_InsetRgn, 1, - "(RgnHandle rgn, short dh, short dv) -> None"}, - {"SectRgn", (PyCFunction)Qd_SectRgn, 1, - "(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None"}, - {"MacUnionRgn", (PyCFunction)Qd_MacUnionRgn, 1, - "(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None"}, - {"DiffRgn", (PyCFunction)Qd_DiffRgn, 1, - "(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None"}, - {"MacXorRgn", (PyCFunction)Qd_MacXorRgn, 1, - "(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None"}, - {"RectInRgn", (PyCFunction)Qd_RectInRgn, 1, - "(Rect r, RgnHandle rgn) -> (Boolean _rv)"}, - {"MacEqualRgn", (PyCFunction)Qd_MacEqualRgn, 1, - "(RgnHandle rgnA, RgnHandle rgnB) -> (Boolean _rv)"}, - {"EmptyRgn", (PyCFunction)Qd_EmptyRgn, 1, - "(RgnHandle rgn) -> (Boolean _rv)"}, - {"MacFrameRgn", (PyCFunction)Qd_MacFrameRgn, 1, - "(RgnHandle rgn) -> None"}, - {"MacPaintRgn", (PyCFunction)Qd_MacPaintRgn, 1, - "(RgnHandle rgn) -> None"}, - {"EraseRgn", (PyCFunction)Qd_EraseRgn, 1, - "(RgnHandle rgn) -> None"}, - {"MacInvertRgn", (PyCFunction)Qd_MacInvertRgn, 1, - "(RgnHandle rgn) -> None"}, - {"MacFillRgn", (PyCFunction)Qd_MacFillRgn, 1, - "(RgnHandle rgn, Pattern pat) -> None"}, - {"ScrollRect", (PyCFunction)Qd_ScrollRect, 1, - "(Rect r, short dh, short dv, RgnHandle updateRgn) -> None"}, - {"CopyBits", (PyCFunction)Qd_CopyBits, 1, - "(BitMapPtr srcBits, BitMapPtr dstBits, Rect srcRect, Rect dstRect, short mode, RgnHandle maskRgn) -> None"}, - {"CopyMask", (PyCFunction)Qd_CopyMask, 1, - "(BitMapPtr srcBits, BitMapPtr maskBits, BitMapPtr dstBits, Rect srcRect, Rect maskRect, Rect dstRect) -> None"}, - {"OpenPicture", (PyCFunction)Qd_OpenPicture, 1, - "(Rect picFrame) -> (PicHandle _rv)"}, - {"PicComment", (PyCFunction)Qd_PicComment, 1, - "(short kind, short dataSize, Handle dataHandle) -> None"}, - {"ClosePicture", (PyCFunction)Qd_ClosePicture, 1, - "() -> None"}, - {"DrawPicture", (PyCFunction)Qd_DrawPicture, 1, - "(PicHandle myPicture, Rect dstRect) -> None"}, - {"KillPicture", (PyCFunction)Qd_KillPicture, 1, - "(PicHandle myPicture) -> None"}, - {"OpenPoly", (PyCFunction)Qd_OpenPoly, 1, - "() -> (PolyHandle _rv)"}, - {"ClosePoly", (PyCFunction)Qd_ClosePoly, 1, - "() -> None"}, - {"KillPoly", (PyCFunction)Qd_KillPoly, 1, - "(PolyHandle poly) -> None"}, - {"OffsetPoly", (PyCFunction)Qd_OffsetPoly, 1, - "(PolyHandle poly, short dh, short dv) -> None"}, - {"FramePoly", (PyCFunction)Qd_FramePoly, 1, - "(PolyHandle poly) -> None"}, - {"PaintPoly", (PyCFunction)Qd_PaintPoly, 1, - "(PolyHandle poly) -> None"}, - {"ErasePoly", (PyCFunction)Qd_ErasePoly, 1, - "(PolyHandle poly) -> None"}, - {"InvertPoly", (PyCFunction)Qd_InvertPoly, 1, - "(PolyHandle poly) -> None"}, - {"FillPoly", (PyCFunction)Qd_FillPoly, 1, - "(PolyHandle poly, Pattern pat) -> None"}, - {"SetPt", (PyCFunction)Qd_SetPt, 1, - "(short h, short v) -> (Point pt)"}, - {"LocalToGlobal", (PyCFunction)Qd_LocalToGlobal, 1, - "(Point pt) -> (Point pt)"}, - {"GlobalToLocal", (PyCFunction)Qd_GlobalToLocal, 1, - "(Point pt) -> (Point pt)"}, - {"Random", (PyCFunction)Qd_Random, 1, - "() -> (short _rv)"}, - {"MacGetPixel", (PyCFunction)Qd_MacGetPixel, 1, - "(short h, short v) -> (Boolean _rv)"}, - {"ScalePt", (PyCFunction)Qd_ScalePt, 1, - "(Point pt, Rect srcRect, Rect dstRect) -> (Point pt)"}, - {"MapPt", (PyCFunction)Qd_MapPt, 1, - "(Point pt, Rect srcRect, Rect dstRect) -> (Point pt)"}, - {"MapRect", (PyCFunction)Qd_MapRect, 1, - "(Rect r, Rect srcRect, Rect dstRect) -> (Rect r)"}, - {"MapRgn", (PyCFunction)Qd_MapRgn, 1, - "(RgnHandle rgn, Rect srcRect, Rect dstRect) -> None"}, - {"MapPoly", (PyCFunction)Qd_MapPoly, 1, - "(PolyHandle poly, Rect srcRect, Rect dstRect) -> None"}, - {"StdBits", (PyCFunction)Qd_StdBits, 1, - "(BitMapPtr srcBits, Rect srcRect, Rect dstRect, short mode, RgnHandle maskRgn) -> None"}, - {"AddPt", (PyCFunction)Qd_AddPt, 1, - "(Point src, Point dst) -> (Point dst)"}, - {"EqualPt", (PyCFunction)Qd_EqualPt, 1, - "(Point pt1, Point pt2) -> (Boolean _rv)"}, - {"MacPtInRect", (PyCFunction)Qd_MacPtInRect, 1, - "(Point pt, Rect r) -> (Boolean _rv)"}, - {"Pt2Rect", (PyCFunction)Qd_Pt2Rect, 1, - "(Point pt1, Point pt2) -> (Rect dstRect)"}, - {"PtToAngle", (PyCFunction)Qd_PtToAngle, 1, - "(Rect r, Point pt) -> (short angle)"}, - {"SubPt", (PyCFunction)Qd_SubPt, 1, - "(Point src, Point dst) -> (Point dst)"}, - {"PtInRgn", (PyCFunction)Qd_PtInRgn, 1, - "(Point pt, RgnHandle rgn) -> (Boolean _rv)"}, - {"NewPixMap", (PyCFunction)Qd_NewPixMap, 1, - "() -> (PixMapHandle _rv)"}, - {"DisposePixMap", (PyCFunction)Qd_DisposePixMap, 1, - "(PixMapHandle pm) -> None"}, - {"CopyPixMap", (PyCFunction)Qd_CopyPixMap, 1, - "(PixMapHandle srcPM, PixMapHandle dstPM) -> None"}, - {"NewPixPat", (PyCFunction)Qd_NewPixPat, 1, - "() -> (PixPatHandle _rv)"}, - {"DisposePixPat", (PyCFunction)Qd_DisposePixPat, 1, - "(PixPatHandle pp) -> None"}, - {"CopyPixPat", (PyCFunction)Qd_CopyPixPat, 1, - "(PixPatHandle srcPP, PixPatHandle dstPP) -> None"}, - {"PenPixPat", (PyCFunction)Qd_PenPixPat, 1, - "(PixPatHandle pp) -> None"}, - {"BackPixPat", (PyCFunction)Qd_BackPixPat, 1, - "(PixPatHandle pp) -> None"}, - {"GetPixPat", (PyCFunction)Qd_GetPixPat, 1, - "(short patID) -> (PixPatHandle _rv)"}, - {"MakeRGBPat", (PyCFunction)Qd_MakeRGBPat, 1, - "(PixPatHandle pp, RGBColor myColor) -> None"}, - {"FillCRect", (PyCFunction)Qd_FillCRect, 1, - "(Rect r, PixPatHandle pp) -> None"}, - {"FillCOval", (PyCFunction)Qd_FillCOval, 1, - "(Rect r, PixPatHandle pp) -> None"}, - {"FillCRoundRect", (PyCFunction)Qd_FillCRoundRect, 1, - "(Rect r, short ovalWidth, short ovalHeight, PixPatHandle pp) -> None"}, - {"FillCArc", (PyCFunction)Qd_FillCArc, 1, - "(Rect r, short startAngle, short arcAngle, PixPatHandle pp) -> None"}, - {"FillCRgn", (PyCFunction)Qd_FillCRgn, 1, - "(RgnHandle rgn, PixPatHandle pp) -> None"}, - {"FillCPoly", (PyCFunction)Qd_FillCPoly, 1, - "(PolyHandle poly, PixPatHandle pp) -> None"}, - {"RGBForeColor", (PyCFunction)Qd_RGBForeColor, 1, - "(RGBColor color) -> None"}, - {"RGBBackColor", (PyCFunction)Qd_RGBBackColor, 1, - "(RGBColor color) -> None"}, - {"SetCPixel", (PyCFunction)Qd_SetCPixel, 1, - "(short h, short v, RGBColor cPix) -> None"}, - {"SetPortPix", (PyCFunction)Qd_SetPortPix, 1, - "(PixMapHandle pm) -> None"}, - {"GetCPixel", (PyCFunction)Qd_GetCPixel, 1, - "(short h, short v) -> (RGBColor cPix)"}, - {"GetForeColor", (PyCFunction)Qd_GetForeColor, 1, - "() -> (RGBColor color)"}, - {"GetBackColor", (PyCFunction)Qd_GetBackColor, 1, - "() -> (RGBColor color)"}, - {"OpColor", (PyCFunction)Qd_OpColor, 1, - "(RGBColor color) -> None"}, - {"HiliteColor", (PyCFunction)Qd_HiliteColor, 1, - "(RGBColor color) -> None"}, - {"DisposeCTable", (PyCFunction)Qd_DisposeCTable, 1, - "(CTabHandle cTable) -> None"}, - {"GetCTable", (PyCFunction)Qd_GetCTable, 1, - "(short ctID) -> (CTabHandle _rv)"}, - {"GetCCursor", (PyCFunction)Qd_GetCCursor, 1, - "(short crsrID) -> (CCrsrHandle _rv)"}, - {"SetCCursor", (PyCFunction)Qd_SetCCursor, 1, - "(CCrsrHandle cCrsr) -> None"}, - {"AllocCursor", (PyCFunction)Qd_AllocCursor, 1, - "() -> None"}, - {"DisposeCCursor", (PyCFunction)Qd_DisposeCCursor, 1, - "(CCrsrHandle cCrsr) -> None"}, - {"GetMaxDevice", (PyCFunction)Qd_GetMaxDevice, 1, - "(Rect globalRect) -> (GDHandle _rv)"}, - {"GetCTSeed", (PyCFunction)Qd_GetCTSeed, 1, - "() -> (long _rv)"}, - {"GetDeviceList", (PyCFunction)Qd_GetDeviceList, 1, - "() -> (GDHandle _rv)"}, - {"GetMainDevice", (PyCFunction)Qd_GetMainDevice, 1, - "() -> (GDHandle _rv)"}, - {"GetNextDevice", (PyCFunction)Qd_GetNextDevice, 1, - "(GDHandle curDevice) -> (GDHandle _rv)"}, - {"TestDeviceAttribute", (PyCFunction)Qd_TestDeviceAttribute, 1, - "(GDHandle gdh, short attribute) -> (Boolean _rv)"}, - {"SetDeviceAttribute", (PyCFunction)Qd_SetDeviceAttribute, 1, - "(GDHandle gdh, short attribute, Boolean value) -> None"}, - {"InitGDevice", (PyCFunction)Qd_InitGDevice, 1, - "(short qdRefNum, long mode, GDHandle gdh) -> None"}, - {"NewGDevice", (PyCFunction)Qd_NewGDevice, 1, - "(short refNum, long mode) -> (GDHandle _rv)"}, - {"DisposeGDevice", (PyCFunction)Qd_DisposeGDevice, 1, - "(GDHandle gdh) -> None"}, - {"SetGDevice", (PyCFunction)Qd_SetGDevice, 1, - "(GDHandle gd) -> None"}, - {"GetGDevice", (PyCFunction)Qd_GetGDevice, 1, - "() -> (GDHandle _rv)"}, - {"Color2Index", (PyCFunction)Qd_Color2Index, 1, - "(RGBColor myColor) -> (long _rv)"}, - {"Index2Color", (PyCFunction)Qd_Index2Color, 1, - "(long index) -> (RGBColor aColor)"}, - {"InvertColor", (PyCFunction)Qd_InvertColor, 1, - "() -> (RGBColor myColor)"}, - {"RealColor", (PyCFunction)Qd_RealColor, 1, - "(RGBColor color) -> (Boolean _rv)"}, - {"GetSubTable", (PyCFunction)Qd_GetSubTable, 1, - "(CTabHandle myColors, short iTabRes, CTabHandle targetTbl) -> None"}, - {"MakeITable", (PyCFunction)Qd_MakeITable, 1, - "(CTabHandle cTabH, ITabHandle iTabH, short res) -> None"}, - {"SetClientID", (PyCFunction)Qd_SetClientID, 1, - "(short id) -> None"}, - {"ProtectEntry", (PyCFunction)Qd_ProtectEntry, 1, - "(short index, Boolean protect) -> None"}, - {"ReserveEntry", (PyCFunction)Qd_ReserveEntry, 1, - "(short index, Boolean reserve) -> None"}, - {"QDError", (PyCFunction)Qd_QDError, 1, - "() -> (short _rv)"}, - {"CopyDeepMask", (PyCFunction)Qd_CopyDeepMask, 1, - "(BitMapPtr srcBits, BitMapPtr maskBits, BitMapPtr dstBits, Rect srcRect, Rect maskRect, Rect dstRect, short mode, RgnHandle maskRgn) -> None"}, - {"GetPattern", (PyCFunction)Qd_GetPattern, 1, - "(short patternID) -> (PatHandle _rv)"}, - {"MacGetCursor", (PyCFunction)Qd_MacGetCursor, 1, - "(short cursorID) -> (CursHandle _rv)"}, - {"GetPicture", (PyCFunction)Qd_GetPicture, 1, - "(short pictureID) -> (PicHandle _rv)"}, - {"DeltaPoint", (PyCFunction)Qd_DeltaPoint, 1, - "(Point ptA, Point ptB) -> (long _rv)"}, - {"ShieldCursor", (PyCFunction)Qd_ShieldCursor, 1, - "(Rect shieldRect, Point offsetPt) -> None"}, - {"ScreenRes", (PyCFunction)Qd_ScreenRes, 1, - "() -> (short scrnHRes, short scrnVRes)"}, - {"GetIndPattern", (PyCFunction)Qd_GetIndPattern, 1, - "(short patternListID, short index) -> (Pattern thePat)"}, - {"SlopeFromAngle", (PyCFunction)Qd_SlopeFromAngle, 1, - "(short angle) -> (Fixed _rv)"}, - {"AngleFromSlope", (PyCFunction)Qd_AngleFromSlope, 1, - "(Fixed slope) -> (short _rv)"}, - {"GetPortPixMap", (PyCFunction)Qd_GetPortPixMap, 1, - "(CGrafPtr port) -> (PixMapHandle _rv)"}, - {"GetPortBitMapForCopyBits", (PyCFunction)Qd_GetPortBitMapForCopyBits, 1, - "(CGrafPtr port) -> (const BitMap * _rv)"}, - {"GetPortBounds", (PyCFunction)Qd_GetPortBounds, 1, - "(CGrafPtr port) -> (Rect rect)"}, - {"GetPortForeColor", (PyCFunction)Qd_GetPortForeColor, 1, - "(CGrafPtr port) -> (RGBColor foreColor)"}, - {"GetPortBackColor", (PyCFunction)Qd_GetPortBackColor, 1, - "(CGrafPtr port) -> (RGBColor backColor)"}, - {"GetPortOpColor", (PyCFunction)Qd_GetPortOpColor, 1, - "(CGrafPtr port) -> (RGBColor opColor)"}, - {"GetPortHiliteColor", (PyCFunction)Qd_GetPortHiliteColor, 1, - "(CGrafPtr port) -> (RGBColor hiliteColor)"}, - {"GetPortTextFont", (PyCFunction)Qd_GetPortTextFont, 1, - "(CGrafPtr port) -> (short _rv)"}, - {"GetPortTextFace", (PyCFunction)Qd_GetPortTextFace, 1, - "(CGrafPtr port) -> (Style _rv)"}, - {"GetPortTextMode", (PyCFunction)Qd_GetPortTextMode, 1, - "(CGrafPtr port) -> (short _rv)"}, - {"GetPortTextSize", (PyCFunction)Qd_GetPortTextSize, 1, - "(CGrafPtr port) -> (short _rv)"}, - {"GetPortChExtra", (PyCFunction)Qd_GetPortChExtra, 1, - "(CGrafPtr port) -> (short _rv)"}, - {"GetPortFracHPenLocation", (PyCFunction)Qd_GetPortFracHPenLocation, 1, - "(CGrafPtr port) -> (short _rv)"}, - {"GetPortSpExtra", (PyCFunction)Qd_GetPortSpExtra, 1, - "(CGrafPtr port) -> (Fixed _rv)"}, - {"GetPortPenVisibility", (PyCFunction)Qd_GetPortPenVisibility, 1, - "(CGrafPtr port) -> (short _rv)"}, - {"GetPortVisibleRegion", (PyCFunction)Qd_GetPortVisibleRegion, 1, - "(CGrafPtr port, RgnHandle visRgn) -> (RgnHandle _rv)"}, - {"GetPortClipRegion", (PyCFunction)Qd_GetPortClipRegion, 1, - "(CGrafPtr port, RgnHandle clipRgn) -> (RgnHandle _rv)"}, - {"GetPortBackPixPat", (PyCFunction)Qd_GetPortBackPixPat, 1, - "(CGrafPtr port, PixPatHandle backPattern) -> (PixPatHandle _rv)"}, - {"GetPortPenPixPat", (PyCFunction)Qd_GetPortPenPixPat, 1, - "(CGrafPtr port, PixPatHandle penPattern) -> (PixPatHandle _rv)"}, - {"GetPortFillPixPat", (PyCFunction)Qd_GetPortFillPixPat, 1, - "(CGrafPtr port, PixPatHandle fillPattern) -> (PixPatHandle _rv)"}, - {"GetPortPenSize", (PyCFunction)Qd_GetPortPenSize, 1, - "(CGrafPtr port, Point penSize) -> (Point penSize)"}, - {"GetPortPenMode", (PyCFunction)Qd_GetPortPenMode, 1, - "(CGrafPtr port) -> (SInt32 _rv)"}, - {"GetPortPenLocation", (PyCFunction)Qd_GetPortPenLocation, 1, - "(CGrafPtr port, Point penLocation) -> (Point penLocation)"}, - {"IsPortRegionBeingDefined", (PyCFunction)Qd_IsPortRegionBeingDefined, 1, - "(CGrafPtr port) -> (Boolean _rv)"}, - {"IsPortPictureBeingDefined", (PyCFunction)Qd_IsPortPictureBeingDefined, 1, - "(CGrafPtr port) -> (Boolean _rv)"}, - -#if TARGET_API_MAC_CARBON - {"IsPortOffscreen", (PyCFunction)Qd_IsPortOffscreen, 1, - "(CGrafPtr port) -> (Boolean _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"IsPortColor", (PyCFunction)Qd_IsPortColor, 1, - "(CGrafPtr port) -> (Boolean _rv)"}, -#endif - {"SetPortBounds", (PyCFunction)Qd_SetPortBounds, 1, - "(CGrafPtr port, Rect rect) -> None"}, - {"SetPortOpColor", (PyCFunction)Qd_SetPortOpColor, 1, - "(CGrafPtr port, RGBColor opColor) -> None"}, - {"SetPortVisibleRegion", (PyCFunction)Qd_SetPortVisibleRegion, 1, - "(CGrafPtr port, RgnHandle visRgn) -> None"}, - {"SetPortClipRegion", (PyCFunction)Qd_SetPortClipRegion, 1, - "(CGrafPtr port, RgnHandle clipRgn) -> None"}, - {"SetPortPenPixPat", (PyCFunction)Qd_SetPortPenPixPat, 1, - "(CGrafPtr port, PixPatHandle penPattern) -> None"}, - {"SetPortBackPixPat", (PyCFunction)Qd_SetPortBackPixPat, 1, - "(CGrafPtr port, PixPatHandle backPattern) -> None"}, - {"SetPortPenSize", (PyCFunction)Qd_SetPortPenSize, 1, - "(CGrafPtr port, Point penSize) -> None"}, - {"SetPortPenMode", (PyCFunction)Qd_SetPortPenMode, 1, - "(CGrafPtr port, SInt32 penMode) -> None"}, - {"SetPortFracHPenLocation", (PyCFunction)Qd_SetPortFracHPenLocation, 1, - "(CGrafPtr port, short pnLocHFrac) -> None"}, - {"GetPixBounds", (PyCFunction)Qd_GetPixBounds, 1, - "(PixMapHandle pixMap) -> (Rect bounds)"}, - {"GetPixDepth", (PyCFunction)Qd_GetPixDepth, 1, - "(PixMapHandle pixMap) -> (short _rv)"}, - {"GetQDGlobalsRandomSeed", (PyCFunction)Qd_GetQDGlobalsRandomSeed, 1, - "() -> (long _rv)"}, - {"GetQDGlobalsScreenBits", (PyCFunction)Qd_GetQDGlobalsScreenBits, 1, - "() -> (BitMap screenBits)"}, - {"GetQDGlobalsArrow", (PyCFunction)Qd_GetQDGlobalsArrow, 1, - "() -> (Cursor arrow)"}, - {"GetQDGlobalsDarkGray", (PyCFunction)Qd_GetQDGlobalsDarkGray, 1, - "() -> (Pattern dkGray)"}, - {"GetQDGlobalsLightGray", (PyCFunction)Qd_GetQDGlobalsLightGray, 1, - "() -> (Pattern ltGray)"}, - {"GetQDGlobalsGray", (PyCFunction)Qd_GetQDGlobalsGray, 1, - "() -> (Pattern gray)"}, - {"GetQDGlobalsBlack", (PyCFunction)Qd_GetQDGlobalsBlack, 1, - "() -> (Pattern black)"}, - {"GetQDGlobalsWhite", (PyCFunction)Qd_GetQDGlobalsWhite, 1, - "() -> (Pattern white)"}, - {"GetQDGlobalsThePort", (PyCFunction)Qd_GetQDGlobalsThePort, 1, - "() -> (CGrafPtr _rv)"}, - {"SetQDGlobalsRandomSeed", (PyCFunction)Qd_SetQDGlobalsRandomSeed, 1, - "(long randomSeed) -> None"}, - {"SetQDGlobalsArrow", (PyCFunction)Qd_SetQDGlobalsArrow, 1, - "(Cursor arrow) -> None"}, - {"GetRegionBounds", (PyCFunction)Qd_GetRegionBounds, 1, - "(RgnHandle region) -> (Rect bounds)"}, - -#if TARGET_API_MAC_CARBON - {"IsRegionRectangular", (PyCFunction)Qd_IsRegionRectangular, 1, - "(RgnHandle region) -> (Boolean _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"CreateNewPort", (PyCFunction)Qd_CreateNewPort, 1, - "() -> (CGrafPtr _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"DisposePort", (PyCFunction)Qd_DisposePort, 1, - "(CGrafPtr port) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"SetQDError", (PyCFunction)Qd_SetQDError, 1, - "(OSErr err) -> None"}, -#endif - {"QDIsPortBuffered", (PyCFunction)Qd_QDIsPortBuffered, 1, - "(CGrafPtr port) -> (Boolean _rv)"}, - {"QDIsPortBufferDirty", (PyCFunction)Qd_QDIsPortBufferDirty, 1, - "(CGrafPtr port) -> (Boolean _rv)"}, - {"QDFlushPortBuffer", (PyCFunction)Qd_QDFlushPortBuffer, 1, - "(CGrafPtr port, RgnHandle region) -> None"}, - {"TextFont", (PyCFunction)Qd_TextFont, 1, - "(short font) -> None"}, - {"TextFace", (PyCFunction)Qd_TextFace, 1, - "(StyleParameter face) -> None"}, - {"TextMode", (PyCFunction)Qd_TextMode, 1, - "(short mode) -> None"}, - {"TextSize", (PyCFunction)Qd_TextSize, 1, - "(short size) -> None"}, - {"SpaceExtra", (PyCFunction)Qd_SpaceExtra, 1, - "(Fixed extra) -> None"}, - {"DrawChar", (PyCFunction)Qd_DrawChar, 1, - "(CharParameter ch) -> None"}, - {"DrawString", (PyCFunction)Qd_DrawString, 1, - "(Str255 s) -> None"}, - {"MacDrawText", (PyCFunction)Qd_MacDrawText, 1, - "(Buffer textBuf, short firstByte, short byteCount) -> None"}, - {"CharWidth", (PyCFunction)Qd_CharWidth, 1, - "(CharParameter ch) -> (short _rv)"}, - {"StringWidth", (PyCFunction)Qd_StringWidth, 1, - "(Str255 s) -> (short _rv)"}, - {"TextWidth", (PyCFunction)Qd_TextWidth, 1, - "(Buffer textBuf, short firstByte, short byteCount) -> (short _rv)"}, - {"GetFontInfo", (PyCFunction)Qd_GetFontInfo, 1, - "() -> (FontInfo info)"}, - {"CharExtra", (PyCFunction)Qd_CharExtra, 1, - "(Fixed extra) -> None"}, - {"SetPort", (PyCFunction)Qd_SetPort, 1, - "(GrafPtr thePort) -> None"}, - {"GetCursor", (PyCFunction)Qd_GetCursor, 1, - "(short cursorID) -> (CursHandle _rv)"}, - {"SetCursor", (PyCFunction)Qd_SetCursor, 1, - "(Cursor crsr) -> None"}, - {"ShowCursor", (PyCFunction)Qd_ShowCursor, 1, - "() -> None"}, - {"LineTo", (PyCFunction)Qd_LineTo, 1, - "(short h, short v) -> None"}, - {"SetRect", (PyCFunction)Qd_SetRect, 1, - "(short left, short top, short right, short bottom) -> (Rect r)"}, - {"OffsetRect", (PyCFunction)Qd_OffsetRect, 1, - "(Rect r, short dh, short dv) -> (Rect r)"}, - {"InsetRect", (PyCFunction)Qd_InsetRect, 1, - "(Rect r, short dh, short dv) -> (Rect r)"}, - {"UnionRect", (PyCFunction)Qd_UnionRect, 1, - "(Rect src1, Rect src2) -> (Rect dstRect)"}, - {"EqualRect", (PyCFunction)Qd_EqualRect, 1, - "(Rect rect1, Rect rect2) -> (Boolean _rv)"}, - {"FrameRect", (PyCFunction)Qd_FrameRect, 1, - "(Rect r) -> None"}, - {"InvertRect", (PyCFunction)Qd_InvertRect, 1, - "(Rect r) -> None"}, - {"FillRect", (PyCFunction)Qd_FillRect, 1, - "(Rect r, Pattern pat) -> None"}, - {"CopyRgn", (PyCFunction)Qd_CopyRgn, 1, - "(RgnHandle srcRgn, RgnHandle dstRgn) -> None"}, - {"SetRectRgn", (PyCFunction)Qd_SetRectRgn, 1, - "(RgnHandle rgn, short left, short top, short right, short bottom) -> None"}, - {"OffsetRgn", (PyCFunction)Qd_OffsetRgn, 1, - "(RgnHandle rgn, short dh, short dv) -> None"}, - {"UnionRgn", (PyCFunction)Qd_UnionRgn, 1, - "(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None"}, - {"XorRgn", (PyCFunction)Qd_XorRgn, 1, - "(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None"}, - {"EqualRgn", (PyCFunction)Qd_EqualRgn, 1, - "(RgnHandle rgnA, RgnHandle rgnB) -> (Boolean _rv)"}, - {"FrameRgn", (PyCFunction)Qd_FrameRgn, 1, - "(RgnHandle rgn) -> None"}, - {"PaintRgn", (PyCFunction)Qd_PaintRgn, 1, - "(RgnHandle rgn) -> None"}, - {"InvertRgn", (PyCFunction)Qd_InvertRgn, 1, - "(RgnHandle rgn) -> None"}, - {"FillRgn", (PyCFunction)Qd_FillRgn, 1, - "(RgnHandle rgn, Pattern pat) -> None"}, - {"GetPixel", (PyCFunction)Qd_GetPixel, 1, - "(short h, short v) -> (Boolean _rv)"}, - {"PtInRect", (PyCFunction)Qd_PtInRect, 1, - "(Point pt, Rect r) -> (Boolean _rv)"}, - {"DrawText", (PyCFunction)Qd_DrawText, 1, - "(Buffer textBuf, short firstByte, short byteCount) -> None"}, - {"BitMap", (PyCFunction)Qd_BitMap, 1, - "Take (string, int, Rect) argument and create BitMap"}, - {"RawBitMap", (PyCFunction)Qd_RawBitMap, 1, - "Take string BitMap and turn into BitMap object"}, - {NULL, NULL, 0} -}; - - - -/* Like BMObj_New, but the original bitmap data structure is copied (and -** released when the object is released) -*/ -PyObject *BMObj_NewCopied(BitMapPtr itself) -{ - BitMapObject *it; - BitMapPtr itself_copy; - - if ((itself_copy=(BitMapPtr)malloc(sizeof(BitMap))) == NULL) - return PyErr_NoMemory(); - *itself_copy = *itself; - it = (BitMapObject *)BMObj_New(itself_copy); - it->referred_bitmap = itself_copy; - return (PyObject *)it; -} - - - -void initQd(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(BitMapPtr, BMObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(BitMapPtr, BMObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(GrafPtr, GrafObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(GrafPtr, GrafObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(RGBColorPtr, QdRGB_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(RGBColor, QdRGB_Convert); - - - m = Py_InitModule("Qd", Qd_methods); - d = PyModule_GetDict(m); - Qd_Error = PyMac_GetOSErrException(); - if (Qd_Error == NULL || - PyDict_SetItemString(d, "Error", Qd_Error) != 0) - return; - GrafPort_Type.ob_type = &PyType_Type; - Py_INCREF(&GrafPort_Type); - if (PyDict_SetItemString(d, "GrafPortType", (PyObject *)&GrafPort_Type) != 0) - Py_FatalError("can't initialize GrafPortType"); - BitMap_Type.ob_type = &PyType_Type; - Py_INCREF(&BitMap_Type); - if (PyDict_SetItemString(d, "BitMapType", (PyObject *)&BitMap_Type) != 0) - Py_FatalError("can't initialize BitMapType"); - QDGlobalsAccess_Type.ob_type = &PyType_Type; - Py_INCREF(&QDGlobalsAccess_Type); - if (PyDict_SetItemString(d, "QDGlobalsAccessType", (PyObject *)&QDGlobalsAccess_Type) != 0) - Py_FatalError("can't initialize QDGlobalsAccessType"); - - { - PyObject *o; - - o = QDGA_New(); - if (o == NULL || PyDict_SetItemString(d, "qd", o) != 0) - return; - } - - -} - -/* ========================= End module Qd ========================== */ - diff --git a/Mac/Modules/qdoffs/Qdoffsmodule.c b/Mac/Modules/qdoffs/Qdoffsmodule.c deleted file mode 100644 index abe3630..0000000 --- a/Mac/Modules/qdoffs/Qdoffsmodule.c +++ /dev/null @@ -1,596 +0,0 @@ - -/* ========================= Module Qdoffs ========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <QDOffscreen.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_GWorldObj_New(GWorldPtr); -extern int _GWorldObj_Convert(PyObject *, GWorldPtr *); - -#define GWorldObj_New _GWorldObj_New -#define GWorldObj_Convert _GWorldObj_Convert -#endif - -#define as_GrafPtr(gworld) ((GrafPtr)(gworld)) - - -static PyObject *Qdoffs_Error; - -/* ----------------------- Object type GWorld ----------------------- */ - -PyTypeObject GWorld_Type; - -#define GWorldObj_Check(x) ((x)->ob_type == &GWorld_Type) - -typedef struct GWorldObject { - PyObject_HEAD - GWorldPtr ob_itself; -} GWorldObject; - -PyObject *GWorldObj_New(GWorldPtr itself) -{ - GWorldObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(GWorldObject, &GWorld_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -GWorldObj_Convert(PyObject *v, GWorldPtr *p_itself) -{ - if (!GWorldObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "GWorld required"); - return 0; - } - *p_itself = ((GWorldObject *)v)->ob_itself; - return 1; -} - -static void GWorldObj_dealloc(GWorldObject *self) -{ - DisposeGWorld(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *GWorldObj_GetGWorldDevice(GWorldObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetGWorldDevice(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *GWorldObj_GetGWorldPixMap(GWorldObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetGWorldPixMap(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *GWorldObj_as_GrafPtr(GWorldObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GrafPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = as_GrafPtr(_self->ob_itself); - _res = Py_BuildValue("O&", - GrafObj_New, _rv); - return _res; -} - -static PyMethodDef GWorldObj_methods[] = { - {"GetGWorldDevice", (PyCFunction)GWorldObj_GetGWorldDevice, 1, - "() -> (GDHandle _rv)"}, - {"GetGWorldPixMap", (PyCFunction)GWorldObj_GetGWorldPixMap, 1, - "() -> (PixMapHandle _rv)"}, - {"as_GrafPtr", (PyCFunction)GWorldObj_as_GrafPtr, 1, - "() -> (GrafPtr _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain GWorldObj_chain = { GWorldObj_methods, NULL }; - -static PyObject *GWorldObj_getattr(GWorldObject *self, char *name) -{ - return Py_FindMethodInChain(&GWorldObj_chain, (PyObject *)self, name); -} - -#define GWorldObj_setattr NULL - -#define GWorldObj_compare NULL - -#define GWorldObj_repr NULL - -#define GWorldObj_hash NULL - -PyTypeObject GWorld_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "GWorld", /*tp_name*/ - sizeof(GWorldObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) GWorldObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) GWorldObj_getattr, /*tp_getattr*/ - (setattrfunc) GWorldObj_setattr, /*tp_setattr*/ - (cmpfunc) GWorldObj_compare, /*tp_compare*/ - (reprfunc) GWorldObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) GWorldObj_hash, /*tp_hash*/ -}; - -/* --------------------- End object type GWorld --------------------- */ - - -static PyObject *Qdoffs_NewGWorld(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - QDErr _err; - GWorldPtr offscreenGWorld; - short PixelDepth; - Rect boundsRect; - CTabHandle cTable; - GDHandle aGDevice; - GWorldFlags flags; - if (!PyArg_ParseTuple(_args, "hO&O&O&l", - &PixelDepth, - PyMac_GetRect, &boundsRect, - OptResObj_Convert, &cTable, - OptResObj_Convert, &aGDevice, - &flags)) - return NULL; - _err = NewGWorld(&offscreenGWorld, - PixelDepth, - &boundsRect, - cTable, - aGDevice, - flags); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - GWorldObj_New, offscreenGWorld); - return _res; -} - -static PyObject *Qdoffs_LockPixels(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - PixMapHandle pm; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pm)) - return NULL; - _rv = LockPixels(pm); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qdoffs_UnlockPixels(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle pm; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pm)) - return NULL; - UnlockPixels(pm); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_UpdateGWorld(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GWorldFlags _rv; - GWorldPtr offscreenGWorld; - short pixelDepth; - Rect boundsRect; - CTabHandle cTable; - GDHandle aGDevice; - GWorldFlags flags; - if (!PyArg_ParseTuple(_args, "hO&O&O&l", - &pixelDepth, - PyMac_GetRect, &boundsRect, - OptResObj_Convert, &cTable, - OptResObj_Convert, &aGDevice, - &flags)) - return NULL; - _rv = UpdateGWorld(&offscreenGWorld, - pixelDepth, - &boundsRect, - cTable, - aGDevice, - flags); - _res = Py_BuildValue("lO&", - _rv, - GWorldObj_New, offscreenGWorld); - return _res; -} - -static PyObject *Qdoffs_GetGWorld(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - GDHandle gdh; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetGWorld(&port, - &gdh); - _res = Py_BuildValue("O&O&", - GrafObj_New, port, - ResObj_New, gdh); - return _res; -} - -static PyObject *Qdoffs_SetGWorld(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - GDHandle gdh; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - OptResObj_Convert, &gdh)) - return NULL; - SetGWorld(port, - gdh); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_CTabChanged(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CTabHandle ctab; - if (!PyArg_ParseTuple(_args, "O&", - OptResObj_Convert, &ctab)) - return NULL; - CTabChanged(ctab); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_PixPatChanged(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle ppat; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &ppat)) - return NULL; - PixPatChanged(ppat); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_PortChanged(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - PortChanged(port); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_GDeviceChanged(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GDHandle gdh; - if (!PyArg_ParseTuple(_args, "O&", - OptResObj_Convert, &gdh)) - return NULL; - GDeviceChanged(gdh); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_AllowPurgePixels(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle pm; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pm)) - return NULL; - AllowPurgePixels(pm); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_NoPurgePixels(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle pm; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pm)) - return NULL; - NoPurgePixels(pm); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_GetPixelsState(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GWorldFlags _rv; - PixMapHandle pm; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pm)) - return NULL; - _rv = GetPixelsState(pm); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qdoffs_SetPixelsState(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle pm; - GWorldFlags state; - if (!PyArg_ParseTuple(_args, "O&l", - ResObj_Convert, &pm, - &state)) - return NULL; - SetPixelsState(pm, - state); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_GetPixRowBytes(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - PixMapHandle pm; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pm)) - return NULL; - _rv = GetPixRowBytes(pm); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qdoffs_NewScreenBuffer(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - QDErr _err; - Rect globalRect; - Boolean purgeable; - GDHandle gdh; - PixMapHandle offscreenPixMap; - if (!PyArg_ParseTuple(_args, "O&b", - PyMac_GetRect, &globalRect, - &purgeable)) - return NULL; - _err = NewScreenBuffer(&globalRect, - purgeable, - &gdh, - &offscreenPixMap); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&", - ResObj_New, gdh, - ResObj_New, offscreenPixMap); - return _res; -} - -static PyObject *Qdoffs_DisposeScreenBuffer(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle offscreenPixMap; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &offscreenPixMap)) - return NULL; - DisposeScreenBuffer(offscreenPixMap); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qdoffs_QDDone(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - GrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = QDDone(port); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qdoffs_OffscreenVersion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = OffscreenVersion(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qdoffs_NewTempScreenBuffer(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - QDErr _err; - Rect globalRect; - Boolean purgeable; - GDHandle gdh; - PixMapHandle offscreenPixMap; - if (!PyArg_ParseTuple(_args, "O&b", - PyMac_GetRect, &globalRect, - &purgeable)) - return NULL; - _err = NewTempScreenBuffer(&globalRect, - purgeable, - &gdh, - &offscreenPixMap); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&", - ResObj_New, gdh, - ResObj_New, offscreenPixMap); - return _res; -} - -static PyObject *Qdoffs_PixMap32Bit(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - PixMapHandle pmHandle; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pmHandle)) - return NULL; - _rv = PixMap32Bit(pmHandle); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *Qdoffs_GetPixMapBytes(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - PixMapHandle pm; - int from, length; - char *cp; - - if ( !PyArg_ParseTuple(_args, "O&ii", ResObj_Convert, &pm, &from, &length) ) - return NULL; - cp = GetPixBaseAddr(pm)+from; - return PyString_FromStringAndSize(cp, length); - -} - -static PyObject *Qdoffs_PutPixMapBytes(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - PixMapHandle pm; - int from, length; - char *cp, *icp; - - if ( !PyArg_ParseTuple(_args, "O&is#", ResObj_Convert, &pm, &from, &icp, &length) ) - return NULL; - cp = GetPixBaseAddr(pm)+from; - memcpy(cp, icp, length); - Py_INCREF(Py_None); - return Py_None; - -} - -static PyMethodDef Qdoffs_methods[] = { - {"NewGWorld", (PyCFunction)Qdoffs_NewGWorld, 1, - "(short PixelDepth, Rect boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags) -> (GWorldPtr offscreenGWorld)"}, - {"LockPixels", (PyCFunction)Qdoffs_LockPixels, 1, - "(PixMapHandle pm) -> (Boolean _rv)"}, - {"UnlockPixels", (PyCFunction)Qdoffs_UnlockPixels, 1, - "(PixMapHandle pm) -> None"}, - {"UpdateGWorld", (PyCFunction)Qdoffs_UpdateGWorld, 1, - "(short pixelDepth, Rect boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags) -> (GWorldFlags _rv, GWorldPtr offscreenGWorld)"}, - {"GetGWorld", (PyCFunction)Qdoffs_GetGWorld, 1, - "() -> (CGrafPtr port, GDHandle gdh)"}, - {"SetGWorld", (PyCFunction)Qdoffs_SetGWorld, 1, - "(CGrafPtr port, GDHandle gdh) -> None"}, - {"CTabChanged", (PyCFunction)Qdoffs_CTabChanged, 1, - "(CTabHandle ctab) -> None"}, - {"PixPatChanged", (PyCFunction)Qdoffs_PixPatChanged, 1, - "(PixPatHandle ppat) -> None"}, - {"PortChanged", (PyCFunction)Qdoffs_PortChanged, 1, - "(GrafPtr port) -> None"}, - {"GDeviceChanged", (PyCFunction)Qdoffs_GDeviceChanged, 1, - "(GDHandle gdh) -> None"}, - {"AllowPurgePixels", (PyCFunction)Qdoffs_AllowPurgePixels, 1, - "(PixMapHandle pm) -> None"}, - {"NoPurgePixels", (PyCFunction)Qdoffs_NoPurgePixels, 1, - "(PixMapHandle pm) -> None"}, - {"GetPixelsState", (PyCFunction)Qdoffs_GetPixelsState, 1, - "(PixMapHandle pm) -> (GWorldFlags _rv)"}, - {"SetPixelsState", (PyCFunction)Qdoffs_SetPixelsState, 1, - "(PixMapHandle pm, GWorldFlags state) -> None"}, - {"GetPixRowBytes", (PyCFunction)Qdoffs_GetPixRowBytes, 1, - "(PixMapHandle pm) -> (long _rv)"}, - {"NewScreenBuffer", (PyCFunction)Qdoffs_NewScreenBuffer, 1, - "(Rect globalRect, Boolean purgeable) -> (GDHandle gdh, PixMapHandle offscreenPixMap)"}, - {"DisposeScreenBuffer", (PyCFunction)Qdoffs_DisposeScreenBuffer, 1, - "(PixMapHandle offscreenPixMap) -> None"}, - {"QDDone", (PyCFunction)Qdoffs_QDDone, 1, - "(GrafPtr port) -> (Boolean _rv)"}, - {"OffscreenVersion", (PyCFunction)Qdoffs_OffscreenVersion, 1, - "() -> (long _rv)"}, - {"NewTempScreenBuffer", (PyCFunction)Qdoffs_NewTempScreenBuffer, 1, - "(Rect globalRect, Boolean purgeable) -> (GDHandle gdh, PixMapHandle offscreenPixMap)"}, - {"PixMap32Bit", (PyCFunction)Qdoffs_PixMap32Bit, 1, - "(PixMapHandle pmHandle) -> (Boolean _rv)"}, - {"GetPixMapBytes", (PyCFunction)Qdoffs_GetPixMapBytes, 1, - "(pixmap, int start, int size) -> string. Return bytes from the pixmap"}, - {"PutPixMapBytes", (PyCFunction)Qdoffs_PutPixMapBytes, 1, - "(pixmap, int start, string data). Store bytes into the pixmap"}, - {NULL, NULL, 0} -}; - - - - -void initQdoffs(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(GWorldPtr, GWorldObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(GWorldPtr, GWorldObj_Convert); - - - m = Py_InitModule("Qdoffs", Qdoffs_methods); - d = PyModule_GetDict(m); - Qdoffs_Error = PyMac_GetOSErrException(); - if (Qdoffs_Error == NULL || - PyDict_SetItemString(d, "Error", Qdoffs_Error) != 0) - return; - GWorld_Type.ob_type = &PyType_Type; - Py_INCREF(&GWorld_Type); - if (PyDict_SetItemString(d, "GWorldType", (PyObject *)&GWorld_Type) != 0) - Py_FatalError("can't initialize GWorldType"); -} - -/* ======================= End module Qdoffs ======================== */ - diff --git a/Mac/Modules/qt/Qtmodule.c b/Mac/Modules/qt/Qtmodule.c deleted file mode 100644 index 12c67ca..0000000 --- a/Mac/Modules/qt/Qtmodule.c +++ /dev/null @@ -1,8418 +0,0 @@ - -/* =========================== Module Qt ============================ */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Movies.h> -#else -/* #include <Carbon/Carbon.h> */ -#include <QuickTime/QuickTime.h> -#endif - - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_TrackObj_New(Track); -extern int _TrackObj_Convert(PyObject *, Track *); -extern PyObject *_MovieObj_New(Movie); -extern int _MovieObj_Convert(PyObject *, Movie *); -extern PyObject *_MovieCtlObj_New(MovieController); -extern int _MovieCtlObj_Convert(PyObject *, MovieController *); -extern PyObject *_TimeBaseObj_New(TimeBase); -extern int _TimeBaseObj_Convert(PyObject *, TimeBase *); -extern PyObject *_UserDataObj_New(UserData); -extern int _UserDataObj_Convert(PyObject *, UserData *); -extern PyObject *_MediaObj_New(Media); -extern int _MediaObj_Convert(PyObject *, Media *); - -#define TrackObj_New _TrackObj_New -#define TrackObj_Convert _TrackObj_Convert -#define MovieObj_New _MovieObj_New -#define MovieObj_Convert _MovieObj_Convert -#define MovieCtlObj_New _MovieCtlObj_New -#define MovieCtlObj_Convert _MovieCtlObj_Convert -#define TimeBaseObj_New _TimeBaseObj_New -#define TimeBaseObj_Convert _TimeBaseObj_Convert -#define UserDataObj_New _UserDataObj_New -#define UserDataObj_Convert _UserDataObj_Convert -#define MediaObj_New _MediaObj_New -#define MediaObj_Convert _MediaObj_Convert -#endif - -/* Macro to allow us to GetNextInterestingTime without duration */ -#define GetMediaNextInterestingTimeOnly(media, flags, time, rate, rv) GetMediaNextInterestingTime(media, flags, time, rate, rv, NULL) - -/* -** Parse/generate time records -*/ -static PyObject * -QtTimeRecord_New(TimeRecord *itself) -{ - if (itself->base) - return Py_BuildValue("O&lO&", PyMac_Buildwide, &itself->value, itself->scale, - TimeBaseObj_New, itself->base); - else - return Py_BuildValue("O&lO", PyMac_Buildwide, &itself->value, itself->scale, - Py_None); -} - -static int -QtTimeRecord_Convert(PyObject *v, TimeRecord *p_itself) -{ - PyObject *base = NULL; - if( !PyArg_ParseTuple(v, "O&l|O", PyMac_Getwide, &p_itself->value, &p_itself->scale, - &base) ) - return 0; - if ( base == NULL || base == Py_None ) - p_itself->base = NULL; - else - if ( !TimeBaseObj_Convert(base, &p_itself->base) ) - return 0; - return 1; -} - - - - -static PyObject *Qt_Error; - -/* ------------------ Object type MovieController ------------------- */ - -PyTypeObject MovieController_Type; - -#define MovieCtlObj_Check(x) ((x)->ob_type == &MovieController_Type) - -typedef struct MovieControllerObject { - PyObject_HEAD - MovieController ob_itself; -} MovieControllerObject; - -PyObject *MovieCtlObj_New(MovieController itself) -{ - MovieControllerObject *it; - if (itself == NULL) { - PyErr_SetString(Qt_Error,"Cannot create null MovieController"); - return NULL; - } - it = PyObject_NEW(MovieControllerObject, &MovieController_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -MovieCtlObj_Convert(PyObject *v, MovieController *p_itself) -{ - if (!MovieCtlObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "MovieController required"); - return 0; - } - *p_itself = ((MovieControllerObject *)v)->ob_itself; - return 1; -} - -static void MovieCtlObj_dealloc(MovieControllerObject *self) -{ - DisposeMovieController(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *MovieCtlObj_MCSetMovie(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Movie theMovie; - WindowPtr movieWindow; - Point where; - if (!PyArg_ParseTuple(_args, "O&O&O&", - MovieObj_Convert, &theMovie, - WinObj_Convert, &movieWindow, - PyMac_GetPoint, &where)) - return NULL; - _rv = MCSetMovie(_self->ob_itself, - theMovie, - movieWindow, - where); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetIndMovie(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - short index; - if (!PyArg_ParseTuple(_args, "h", - &index)) - return NULL; - _rv = MCGetIndMovie(_self->ob_itself, - index); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCRemoveAllMovies(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCRemoveAllMovies(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCRemoveAMovie(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Movie m; - if (!PyArg_ParseTuple(_args, "O&", - MovieObj_Convert, &m)) - return NULL; - _rv = MCRemoveAMovie(_self->ob_itself, - m); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCRemoveMovie(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCRemoveMovie(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCIsPlayerEvent(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - EventRecord e; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &e)) - return NULL; - _rv = MCIsPlayerEvent(_self->ob_itself, - &e); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCDoAction(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - short action; - void * params; - if (!PyArg_ParseTuple(_args, "hs", - &action, - ¶ms)) - return NULL; - _rv = MCDoAction(_self->ob_itself, - action, - params); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCSetControllerAttached(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Boolean attach; - if (!PyArg_ParseTuple(_args, "b", - &attach)) - return NULL; - _rv = MCSetControllerAttached(_self->ob_itself, - attach); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCIsControllerAttached(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCIsControllerAttached(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCSetControllerPort(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - CGrafPtr gp; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &gp)) - return NULL; - _rv = MCSetControllerPort(_self->ob_itself, - gp); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetControllerPort(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCGetControllerPort(_self->ob_itself); - _res = Py_BuildValue("O&", - GrafObj_New, _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCSetVisible(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Boolean visible; - if (!PyArg_ParseTuple(_args, "b", - &visible)) - return NULL; - _rv = MCSetVisible(_self->ob_itself, - visible); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetVisible(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCGetVisible(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetControllerBoundsRect(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Rect bounds; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCGetControllerBoundsRect(_self->ob_itself, - &bounds); - _res = Py_BuildValue("lO&", - _rv, - PyMac_BuildRect, &bounds); - return _res; -} - -static PyObject *MovieCtlObj_MCSetControllerBoundsRect(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Rect bounds; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &bounds)) - return NULL; - _rv = MCSetControllerBoundsRect(_self->ob_itself, - &bounds); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetControllerBoundsRgn(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCGetControllerBoundsRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetWindowRgn(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - WindowPtr w; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &w)) - return NULL; - _rv = MCGetWindowRgn(_self->ob_itself, - w); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCMovieChanged(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Movie m; - if (!PyArg_ParseTuple(_args, "O&", - MovieObj_Convert, &m)) - return NULL; - _rv = MCMovieChanged(_self->ob_itself, - m); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCSetDuration(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "l", - &duration)) - return NULL; - _rv = MCSetDuration(_self->ob_itself, - duration); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetCurrentTime(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - TimeScale scale; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCGetCurrentTime(_self->ob_itself, - &scale); - _res = Py_BuildValue("ll", - _rv, - scale); - return _res; -} - -static PyObject *MovieCtlObj_MCNewAttachedController(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Movie theMovie; - WindowPtr w; - Point where; - if (!PyArg_ParseTuple(_args, "O&O&O&", - MovieObj_Convert, &theMovie, - WinObj_Convert, &w, - PyMac_GetPoint, &where)) - return NULL; - _rv = MCNewAttachedController(_self->ob_itself, - theMovie, - w, - where); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCDraw(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - WindowPtr w; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &w)) - return NULL; - _rv = MCDraw(_self->ob_itself, - w); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCActivate(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - WindowPtr w; - Boolean activate; - if (!PyArg_ParseTuple(_args, "O&b", - WinObj_Convert, &w, - &activate)) - return NULL; - _rv = MCActivate(_self->ob_itself, - w, - activate); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCIdle(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCIdle(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCKey(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - SInt8 key; - long modifiers; - if (!PyArg_ParseTuple(_args, "bl", - &key, - &modifiers)) - return NULL; - _rv = MCKey(_self->ob_itself, - key, - modifiers); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCClick(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - WindowPtr w; - Point where; - long when; - long modifiers; - if (!PyArg_ParseTuple(_args, "O&O&ll", - WinObj_Convert, &w, - PyMac_GetPoint, &where, - &when, - &modifiers)) - return NULL; - _rv = MCClick(_self->ob_itself, - w, - where, - when, - modifiers); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCEnableEditing(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Boolean enabled; - if (!PyArg_ParseTuple(_args, "b", - &enabled)) - return NULL; - _rv = MCEnableEditing(_self->ob_itself, - enabled); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCIsEditingEnabled(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCIsEditingEnabled(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCCopy(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCCopy(_self->ob_itself); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCCut(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCCut(_self->ob_itself); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCPaste(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Movie srcMovie; - if (!PyArg_ParseTuple(_args, "O&", - MovieObj_Convert, &srcMovie)) - return NULL; - _rv = MCPaste(_self->ob_itself, - srcMovie); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCClear(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCClear(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCUndo(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCUndo(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCPositionController(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Rect movieRect; - Rect controllerRect; - long someFlags; - if (!PyArg_ParseTuple(_args, "O&O&l", - PyMac_GetRect, &movieRect, - PyMac_GetRect, &controllerRect, - &someFlags)) - return NULL; - _rv = MCPositionController(_self->ob_itself, - &movieRect, - &controllerRect, - someFlags); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetControllerInfo(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - long someFlags; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCGetControllerInfo(_self->ob_itself, - &someFlags); - _res = Py_BuildValue("ll", - _rv, - someFlags); - return _res; -} - -static PyObject *MovieCtlObj_MCSetClip(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - RgnHandle theClip; - RgnHandle movieClip; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &theClip, - ResObj_Convert, &movieClip)) - return NULL; - _rv = MCSetClip(_self->ob_itself, - theClip, - movieClip); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetClip(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - RgnHandle theClip; - RgnHandle movieClip; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MCGetClip(_self->ob_itself, - &theClip, - &movieClip); - _res = Py_BuildValue("lO&O&", - _rv, - ResObj_New, theClip, - ResObj_New, movieClip); - return _res; -} - -static PyObject *MovieCtlObj_MCDrawBadge(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - RgnHandle movieRgn; - RgnHandle badgeRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &movieRgn)) - return NULL; - _rv = MCDrawBadge(_self->ob_itself, - movieRgn, - &badgeRgn); - _res = Py_BuildValue("lO&", - _rv, - ResObj_New, badgeRgn); - return _res; -} - -static PyObject *MovieCtlObj_MCSetUpEditMenu(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - long modifiers; - MenuHandle mh; - if (!PyArg_ParseTuple(_args, "lO&", - &modifiers, - MenuObj_Convert, &mh)) - return NULL; - _rv = MCSetUpEditMenu(_self->ob_itself, - modifiers, - mh); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetMenuString(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - long modifiers; - short item; - Str255 aString; - if (!PyArg_ParseTuple(_args, "lhO&", - &modifiers, - &item, - PyMac_GetStr255, aString)) - return NULL; - _rv = MCGetMenuString(_self->ob_itself, - modifiers, - item, - aString); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCPtInController(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Point thePt; - Boolean inController; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &thePt)) - return NULL; - _rv = MCPtInController(_self->ob_itself, - thePt, - &inController); - _res = Py_BuildValue("lb", - _rv, - inController); - return _res; -} - -static PyObject *MovieCtlObj_MCInvalidate(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - WindowPtr w; - RgnHandle invalidRgn; - if (!PyArg_ParseTuple(_args, "O&O&", - WinObj_Convert, &w, - ResObj_Convert, &invalidRgn)) - return NULL; - _rv = MCInvalidate(_self->ob_itself, - w, - invalidRgn); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCAdjustCursor(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - WindowPtr w; - Point where; - long modifiers; - if (!PyArg_ParseTuple(_args, "O&O&l", - WinObj_Convert, &w, - PyMac_GetPoint, &where, - &modifiers)) - return NULL; - _rv = MCAdjustCursor(_self->ob_itself, - w, - where, - modifiers); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieCtlObj_MCGetInterfaceElement(MovieControllerObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MCInterfaceElement whichElement; - void * element; - if (!PyArg_ParseTuple(_args, "ls", - &whichElement, - &element)) - return NULL; - _rv = MCGetInterfaceElement(_self->ob_itself, - whichElement, - element); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyMethodDef MovieCtlObj_methods[] = { - {"MCSetMovie", (PyCFunction)MovieCtlObj_MCSetMovie, 1, - "(Movie theMovie, WindowPtr movieWindow, Point where) -> (ComponentResult _rv)"}, - {"MCGetIndMovie", (PyCFunction)MovieCtlObj_MCGetIndMovie, 1, - "(short index) -> (Movie _rv)"}, - {"MCRemoveAllMovies", (PyCFunction)MovieCtlObj_MCRemoveAllMovies, 1, - "() -> (ComponentResult _rv)"}, - {"MCRemoveAMovie", (PyCFunction)MovieCtlObj_MCRemoveAMovie, 1, - "(Movie m) -> (ComponentResult _rv)"}, - {"MCRemoveMovie", (PyCFunction)MovieCtlObj_MCRemoveMovie, 1, - "() -> (ComponentResult _rv)"}, - {"MCIsPlayerEvent", (PyCFunction)MovieCtlObj_MCIsPlayerEvent, 1, - "(EventRecord e) -> (ComponentResult _rv)"}, - {"MCDoAction", (PyCFunction)MovieCtlObj_MCDoAction, 1, - "(short action, void * params) -> (ComponentResult _rv)"}, - {"MCSetControllerAttached", (PyCFunction)MovieCtlObj_MCSetControllerAttached, 1, - "(Boolean attach) -> (ComponentResult _rv)"}, - {"MCIsControllerAttached", (PyCFunction)MovieCtlObj_MCIsControllerAttached, 1, - "() -> (ComponentResult _rv)"}, - {"MCSetControllerPort", (PyCFunction)MovieCtlObj_MCSetControllerPort, 1, - "(CGrafPtr gp) -> (ComponentResult _rv)"}, - {"MCGetControllerPort", (PyCFunction)MovieCtlObj_MCGetControllerPort, 1, - "() -> (CGrafPtr _rv)"}, - {"MCSetVisible", (PyCFunction)MovieCtlObj_MCSetVisible, 1, - "(Boolean visible) -> (ComponentResult _rv)"}, - {"MCGetVisible", (PyCFunction)MovieCtlObj_MCGetVisible, 1, - "() -> (ComponentResult _rv)"}, - {"MCGetControllerBoundsRect", (PyCFunction)MovieCtlObj_MCGetControllerBoundsRect, 1, - "() -> (ComponentResult _rv, Rect bounds)"}, - {"MCSetControllerBoundsRect", (PyCFunction)MovieCtlObj_MCSetControllerBoundsRect, 1, - "(Rect bounds) -> (ComponentResult _rv)"}, - {"MCGetControllerBoundsRgn", (PyCFunction)MovieCtlObj_MCGetControllerBoundsRgn, 1, - "() -> (RgnHandle _rv)"}, - {"MCGetWindowRgn", (PyCFunction)MovieCtlObj_MCGetWindowRgn, 1, - "(WindowPtr w) -> (RgnHandle _rv)"}, - {"MCMovieChanged", (PyCFunction)MovieCtlObj_MCMovieChanged, 1, - "(Movie m) -> (ComponentResult _rv)"}, - {"MCSetDuration", (PyCFunction)MovieCtlObj_MCSetDuration, 1, - "(TimeValue duration) -> (ComponentResult _rv)"}, - {"MCGetCurrentTime", (PyCFunction)MovieCtlObj_MCGetCurrentTime, 1, - "() -> (TimeValue _rv, TimeScale scale)"}, - {"MCNewAttachedController", (PyCFunction)MovieCtlObj_MCNewAttachedController, 1, - "(Movie theMovie, WindowPtr w, Point where) -> (ComponentResult _rv)"}, - {"MCDraw", (PyCFunction)MovieCtlObj_MCDraw, 1, - "(WindowPtr w) -> (ComponentResult _rv)"}, - {"MCActivate", (PyCFunction)MovieCtlObj_MCActivate, 1, - "(WindowPtr w, Boolean activate) -> (ComponentResult _rv)"}, - {"MCIdle", (PyCFunction)MovieCtlObj_MCIdle, 1, - "() -> (ComponentResult _rv)"}, - {"MCKey", (PyCFunction)MovieCtlObj_MCKey, 1, - "(SInt8 key, long modifiers) -> (ComponentResult _rv)"}, - {"MCClick", (PyCFunction)MovieCtlObj_MCClick, 1, - "(WindowPtr w, Point where, long when, long modifiers) -> (ComponentResult _rv)"}, - {"MCEnableEditing", (PyCFunction)MovieCtlObj_MCEnableEditing, 1, - "(Boolean enabled) -> (ComponentResult _rv)"}, - {"MCIsEditingEnabled", (PyCFunction)MovieCtlObj_MCIsEditingEnabled, 1, - "() -> (long _rv)"}, - {"MCCopy", (PyCFunction)MovieCtlObj_MCCopy, 1, - "() -> (Movie _rv)"}, - {"MCCut", (PyCFunction)MovieCtlObj_MCCut, 1, - "() -> (Movie _rv)"}, - {"MCPaste", (PyCFunction)MovieCtlObj_MCPaste, 1, - "(Movie srcMovie) -> (ComponentResult _rv)"}, - {"MCClear", (PyCFunction)MovieCtlObj_MCClear, 1, - "() -> (ComponentResult _rv)"}, - {"MCUndo", (PyCFunction)MovieCtlObj_MCUndo, 1, - "() -> (ComponentResult _rv)"}, - {"MCPositionController", (PyCFunction)MovieCtlObj_MCPositionController, 1, - "(Rect movieRect, Rect controllerRect, long someFlags) -> (ComponentResult _rv)"}, - {"MCGetControllerInfo", (PyCFunction)MovieCtlObj_MCGetControllerInfo, 1, - "() -> (ComponentResult _rv, long someFlags)"}, - {"MCSetClip", (PyCFunction)MovieCtlObj_MCSetClip, 1, - "(RgnHandle theClip, RgnHandle movieClip) -> (ComponentResult _rv)"}, - {"MCGetClip", (PyCFunction)MovieCtlObj_MCGetClip, 1, - "() -> (ComponentResult _rv, RgnHandle theClip, RgnHandle movieClip)"}, - {"MCDrawBadge", (PyCFunction)MovieCtlObj_MCDrawBadge, 1, - "(RgnHandle movieRgn) -> (ComponentResult _rv, RgnHandle badgeRgn)"}, - {"MCSetUpEditMenu", (PyCFunction)MovieCtlObj_MCSetUpEditMenu, 1, - "(long modifiers, MenuHandle mh) -> (ComponentResult _rv)"}, - {"MCGetMenuString", (PyCFunction)MovieCtlObj_MCGetMenuString, 1, - "(long modifiers, short item, Str255 aString) -> (ComponentResult _rv)"}, - {"MCPtInController", (PyCFunction)MovieCtlObj_MCPtInController, 1, - "(Point thePt) -> (ComponentResult _rv, Boolean inController)"}, - {"MCInvalidate", (PyCFunction)MovieCtlObj_MCInvalidate, 1, - "(WindowPtr w, RgnHandle invalidRgn) -> (ComponentResult _rv)"}, - {"MCAdjustCursor", (PyCFunction)MovieCtlObj_MCAdjustCursor, 1, - "(WindowPtr w, Point where, long modifiers) -> (ComponentResult _rv)"}, - {"MCGetInterfaceElement", (PyCFunction)MovieCtlObj_MCGetInterfaceElement, 1, - "(MCInterfaceElement whichElement, void * element) -> (ComponentResult _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain MovieCtlObj_chain = { MovieCtlObj_methods, NULL }; - -static PyObject *MovieCtlObj_getattr(MovieControllerObject *self, char *name) -{ - return Py_FindMethodInChain(&MovieCtlObj_chain, (PyObject *)self, name); -} - -#define MovieCtlObj_setattr NULL - -#define MovieCtlObj_compare NULL - -#define MovieCtlObj_repr NULL - -#define MovieCtlObj_hash NULL - -PyTypeObject MovieController_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "MovieController", /*tp_name*/ - sizeof(MovieControllerObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) MovieCtlObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) MovieCtlObj_getattr, /*tp_getattr*/ - (setattrfunc) MovieCtlObj_setattr, /*tp_setattr*/ - (cmpfunc) MovieCtlObj_compare, /*tp_compare*/ - (reprfunc) MovieCtlObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) MovieCtlObj_hash, /*tp_hash*/ -}; - -/* ---------------- End object type MovieController ----------------- */ - - -/* ---------------------- Object type TimeBase ---------------------- */ - -PyTypeObject TimeBase_Type; - -#define TimeBaseObj_Check(x) ((x)->ob_type == &TimeBase_Type) - -typedef struct TimeBaseObject { - PyObject_HEAD - TimeBase ob_itself; -} TimeBaseObject; - -PyObject *TimeBaseObj_New(TimeBase itself) -{ - TimeBaseObject *it; - if (itself == NULL) { - PyErr_SetString(Qt_Error,"Cannot create null TimeBase"); - return NULL; - } - it = PyObject_NEW(TimeBaseObject, &TimeBase_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -TimeBaseObj_Convert(PyObject *v, TimeBase *p_itself) -{ - if (!TimeBaseObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "TimeBase required"); - return 0; - } - *p_itself = ((TimeBaseObject *)v)->ob_itself; - return 1; -} - -static void TimeBaseObj_dealloc(TimeBaseObject *self) -{ - /* Cleanup of self->ob_itself goes here */ - PyMem_DEL(self); -} - -static PyObject *TimeBaseObj_DisposeTimeBase(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DisposeTimeBase(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseTime(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - TimeScale s; - TimeRecord tr; - if (!PyArg_ParseTuple(_args, "l", - &s)) - return NULL; - _rv = GetTimeBaseTime(_self->ob_itself, - s, - &tr); - _res = Py_BuildValue("lO&", - _rv, - QtTimeRecord_New, &tr); - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseTime(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord tr; - if (!PyArg_ParseTuple(_args, "O&", - QtTimeRecord_Convert, &tr)) - return NULL; - SetTimeBaseTime(_self->ob_itself, - &tr); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseValue(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue t; - TimeScale s; - if (!PyArg_ParseTuple(_args, "ll", - &t, - &s)) - return NULL; - SetTimeBaseValue(_self->ob_itself, - t, - s); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseRate(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTimeBaseRate(_self->ob_itself); - _res = Py_BuildValue("O&", - PyMac_BuildFixed, _rv); - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseRate(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed r; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFixed, &r)) - return NULL; - SetTimeBaseRate(_self->ob_itself, - r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseStartTime(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - TimeScale s; - TimeRecord tr; - if (!PyArg_ParseTuple(_args, "l", - &s)) - return NULL; - _rv = GetTimeBaseStartTime(_self->ob_itself, - s, - &tr); - _res = Py_BuildValue("lO&", - _rv, - QtTimeRecord_New, &tr); - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseStartTime(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord tr; - if (!PyArg_ParseTuple(_args, "O&", - QtTimeRecord_Convert, &tr)) - return NULL; - SetTimeBaseStartTime(_self->ob_itself, - &tr); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseStopTime(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - TimeScale s; - TimeRecord tr; - if (!PyArg_ParseTuple(_args, "l", - &s)) - return NULL; - _rv = GetTimeBaseStopTime(_self->ob_itself, - s, - &tr); - _res = Py_BuildValue("lO&", - _rv, - QtTimeRecord_New, &tr); - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseStopTime(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord tr; - if (!PyArg_ParseTuple(_args, "O&", - QtTimeRecord_Convert, &tr)) - return NULL; - SetTimeBaseStopTime(_self->ob_itself, - &tr); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseFlags(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTimeBaseFlags(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseFlags(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long timeBaseFlags; - if (!PyArg_ParseTuple(_args, "l", - &timeBaseFlags)) - return NULL; - SetTimeBaseFlags(_self->ob_itself, - timeBaseFlags); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseMasterTimeBase(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeBase master; - TimeRecord slaveZero; - if (!PyArg_ParseTuple(_args, "O&O&", - TimeBaseObj_Convert, &master, - QtTimeRecord_Convert, &slaveZero)) - return NULL; - SetTimeBaseMasterTimeBase(_self->ob_itself, - master, - &slaveZero); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseMasterTimeBase(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeBase _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTimeBaseMasterTimeBase(_self->ob_itself); - _res = Py_BuildValue("O&", - TimeBaseObj_New, _rv); - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseMasterClock(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Component clockMeister; - TimeRecord slaveZero; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpObj_Convert, &clockMeister, - QtTimeRecord_Convert, &slaveZero)) - return NULL; - SetTimeBaseMasterClock(_self->ob_itself, - clockMeister, - &slaveZero); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseMasterClock(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentInstance _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTimeBaseMasterClock(_self->ob_itself); - _res = Py_BuildValue("O&", - CmpInstObj_New, _rv); - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseStatus(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - TimeRecord unpinnedTime; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTimeBaseStatus(_self->ob_itself, - &unpinnedTime); - _res = Py_BuildValue("lO&", - _rv, - QtTimeRecord_New, &unpinnedTime); - return _res; -} - -static PyObject *TimeBaseObj_SetTimeBaseZero(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord zero; - if (!PyArg_ParseTuple(_args, "O&", - QtTimeRecord_Convert, &zero)) - return NULL; - SetTimeBaseZero(_self->ob_itself, - &zero); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TimeBaseObj_GetTimeBaseEffectiveRate(TimeBaseObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTimeBaseEffectiveRate(_self->ob_itself); - _res = Py_BuildValue("O&", - PyMac_BuildFixed, _rv); - return _res; -} - -static PyMethodDef TimeBaseObj_methods[] = { - {"DisposeTimeBase", (PyCFunction)TimeBaseObj_DisposeTimeBase, 1, - "() -> None"}, - {"GetTimeBaseTime", (PyCFunction)TimeBaseObj_GetTimeBaseTime, 1, - "(TimeScale s) -> (TimeValue _rv, TimeRecord tr)"}, - {"SetTimeBaseTime", (PyCFunction)TimeBaseObj_SetTimeBaseTime, 1, - "(TimeRecord tr) -> None"}, - {"SetTimeBaseValue", (PyCFunction)TimeBaseObj_SetTimeBaseValue, 1, - "(TimeValue t, TimeScale s) -> None"}, - {"GetTimeBaseRate", (PyCFunction)TimeBaseObj_GetTimeBaseRate, 1, - "() -> (Fixed _rv)"}, - {"SetTimeBaseRate", (PyCFunction)TimeBaseObj_SetTimeBaseRate, 1, - "(Fixed r) -> None"}, - {"GetTimeBaseStartTime", (PyCFunction)TimeBaseObj_GetTimeBaseStartTime, 1, - "(TimeScale s) -> (TimeValue _rv, TimeRecord tr)"}, - {"SetTimeBaseStartTime", (PyCFunction)TimeBaseObj_SetTimeBaseStartTime, 1, - "(TimeRecord tr) -> None"}, - {"GetTimeBaseStopTime", (PyCFunction)TimeBaseObj_GetTimeBaseStopTime, 1, - "(TimeScale s) -> (TimeValue _rv, TimeRecord tr)"}, - {"SetTimeBaseStopTime", (PyCFunction)TimeBaseObj_SetTimeBaseStopTime, 1, - "(TimeRecord tr) -> None"}, - {"GetTimeBaseFlags", (PyCFunction)TimeBaseObj_GetTimeBaseFlags, 1, - "() -> (long _rv)"}, - {"SetTimeBaseFlags", (PyCFunction)TimeBaseObj_SetTimeBaseFlags, 1, - "(long timeBaseFlags) -> None"}, - {"SetTimeBaseMasterTimeBase", (PyCFunction)TimeBaseObj_SetTimeBaseMasterTimeBase, 1, - "(TimeBase master, TimeRecord slaveZero) -> None"}, - {"GetTimeBaseMasterTimeBase", (PyCFunction)TimeBaseObj_GetTimeBaseMasterTimeBase, 1, - "() -> (TimeBase _rv)"}, - {"SetTimeBaseMasterClock", (PyCFunction)TimeBaseObj_SetTimeBaseMasterClock, 1, - "(Component clockMeister, TimeRecord slaveZero) -> None"}, - {"GetTimeBaseMasterClock", (PyCFunction)TimeBaseObj_GetTimeBaseMasterClock, 1, - "() -> (ComponentInstance _rv)"}, - {"GetTimeBaseStatus", (PyCFunction)TimeBaseObj_GetTimeBaseStatus, 1, - "() -> (long _rv, TimeRecord unpinnedTime)"}, - {"SetTimeBaseZero", (PyCFunction)TimeBaseObj_SetTimeBaseZero, 1, - "(TimeRecord zero) -> None"}, - {"GetTimeBaseEffectiveRate", (PyCFunction)TimeBaseObj_GetTimeBaseEffectiveRate, 1, - "() -> (Fixed _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain TimeBaseObj_chain = { TimeBaseObj_methods, NULL }; - -static PyObject *TimeBaseObj_getattr(TimeBaseObject *self, char *name) -{ - return Py_FindMethodInChain(&TimeBaseObj_chain, (PyObject *)self, name); -} - -#define TimeBaseObj_setattr NULL - -#define TimeBaseObj_compare NULL - -#define TimeBaseObj_repr NULL - -#define TimeBaseObj_hash NULL - -PyTypeObject TimeBase_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "TimeBase", /*tp_name*/ - sizeof(TimeBaseObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) TimeBaseObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) TimeBaseObj_getattr, /*tp_getattr*/ - (setattrfunc) TimeBaseObj_setattr, /*tp_setattr*/ - (cmpfunc) TimeBaseObj_compare, /*tp_compare*/ - (reprfunc) TimeBaseObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) TimeBaseObj_hash, /*tp_hash*/ -}; - -/* -------------------- End object type TimeBase -------------------- */ - - -/* ---------------------- Object type UserData ---------------------- */ - -PyTypeObject UserData_Type; - -#define UserDataObj_Check(x) ((x)->ob_type == &UserData_Type) - -typedef struct UserDataObject { - PyObject_HEAD - UserData ob_itself; -} UserDataObject; - -PyObject *UserDataObj_New(UserData itself) -{ - UserDataObject *it; - if (itself == NULL) { - PyErr_SetString(Qt_Error,"Cannot create null UserData"); - return NULL; - } - it = PyObject_NEW(UserDataObject, &UserData_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -UserDataObj_Convert(PyObject *v, UserData *p_itself) -{ - if (!UserDataObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "UserData required"); - return 0; - } - *p_itself = ((UserDataObject *)v)->ob_itself; - return 1; -} - -static void UserDataObj_dealloc(UserDataObject *self) -{ - DisposeUserData(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *UserDataObj_GetUserData(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle data; - OSType udType; - long index; - if (!PyArg_ParseTuple(_args, "O&O&l", - ResObj_Convert, &data, - PyMac_GetOSType, &udType, - &index)) - return NULL; - _err = GetUserData(_self->ob_itself, - data, - udType, - index); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *UserDataObj_AddUserData(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle data; - OSType udType; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &data, - PyMac_GetOSType, &udType)) - return NULL; - _err = AddUserData(_self->ob_itself, - data, - udType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *UserDataObj_RemoveUserData(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType udType; - long index; - if (!PyArg_ParseTuple(_args, "O&l", - PyMac_GetOSType, &udType, - &index)) - return NULL; - _err = RemoveUserData(_self->ob_itself, - udType, - index); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *UserDataObj_CountUserDataType(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - OSType udType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &udType)) - return NULL; - _rv = CountUserDataType(_self->ob_itself, - udType); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *UserDataObj_GetNextUserDataType(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - OSType udType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &udType)) - return NULL; - _rv = GetNextUserDataType(_self->ob_itself, - udType); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *UserDataObj_AddUserDataText(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle data; - OSType udType; - long index; - short itlRegionTag; - if (!PyArg_ParseTuple(_args, "O&O&lh", - ResObj_Convert, &data, - PyMac_GetOSType, &udType, - &index, - &itlRegionTag)) - return NULL; - _err = AddUserDataText(_self->ob_itself, - data, - udType, - index, - itlRegionTag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *UserDataObj_GetUserDataText(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle data; - OSType udType; - long index; - short itlRegionTag; - if (!PyArg_ParseTuple(_args, "O&O&lh", - ResObj_Convert, &data, - PyMac_GetOSType, &udType, - &index, - &itlRegionTag)) - return NULL; - _err = GetUserDataText(_self->ob_itself, - data, - udType, - index, - itlRegionTag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *UserDataObj_RemoveUserDataText(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType udType; - long index; - short itlRegionTag; - if (!PyArg_ParseTuple(_args, "O&lh", - PyMac_GetOSType, &udType, - &index, - &itlRegionTag)) - return NULL; - _err = RemoveUserDataText(_self->ob_itself, - udType, - index, - itlRegionTag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *UserDataObj_PutUserDataIntoHandle(UserDataObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle h; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &h)) - return NULL; - _err = PutUserDataIntoHandle(_self->ob_itself, - h); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef UserDataObj_methods[] = { - {"GetUserData", (PyCFunction)UserDataObj_GetUserData, 1, - "(Handle data, OSType udType, long index) -> None"}, - {"AddUserData", (PyCFunction)UserDataObj_AddUserData, 1, - "(Handle data, OSType udType) -> None"}, - {"RemoveUserData", (PyCFunction)UserDataObj_RemoveUserData, 1, - "(OSType udType, long index) -> None"}, - {"CountUserDataType", (PyCFunction)UserDataObj_CountUserDataType, 1, - "(OSType udType) -> (short _rv)"}, - {"GetNextUserDataType", (PyCFunction)UserDataObj_GetNextUserDataType, 1, - "(OSType udType) -> (long _rv)"}, - {"AddUserDataText", (PyCFunction)UserDataObj_AddUserDataText, 1, - "(Handle data, OSType udType, long index, short itlRegionTag) -> None"}, - {"GetUserDataText", (PyCFunction)UserDataObj_GetUserDataText, 1, - "(Handle data, OSType udType, long index, short itlRegionTag) -> None"}, - {"RemoveUserDataText", (PyCFunction)UserDataObj_RemoveUserDataText, 1, - "(OSType udType, long index, short itlRegionTag) -> None"}, - {"PutUserDataIntoHandle", (PyCFunction)UserDataObj_PutUserDataIntoHandle, 1, - "(Handle h) -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain UserDataObj_chain = { UserDataObj_methods, NULL }; - -static PyObject *UserDataObj_getattr(UserDataObject *self, char *name) -{ - return Py_FindMethodInChain(&UserDataObj_chain, (PyObject *)self, name); -} - -#define UserDataObj_setattr NULL - -#define UserDataObj_compare NULL - -#define UserDataObj_repr NULL - -#define UserDataObj_hash NULL - -PyTypeObject UserData_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "UserData", /*tp_name*/ - sizeof(UserDataObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) UserDataObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) UserDataObj_getattr, /*tp_getattr*/ - (setattrfunc) UserDataObj_setattr, /*tp_setattr*/ - (cmpfunc) UserDataObj_compare, /*tp_compare*/ - (reprfunc) UserDataObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) UserDataObj_hash, /*tp_hash*/ -}; - -/* -------------------- End object type UserData -------------------- */ - - -/* ----------------------- Object type Media ------------------------ */ - -PyTypeObject Media_Type; - -#define MediaObj_Check(x) ((x)->ob_type == &Media_Type) - -typedef struct MediaObject { - PyObject_HEAD - Media ob_itself; -} MediaObject; - -PyObject *MediaObj_New(Media itself) -{ - MediaObject *it; - if (itself == NULL) { - PyErr_SetString(Qt_Error,"Cannot create null Media"); - return NULL; - } - it = PyObject_NEW(MediaObject, &Media_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -MediaObj_Convert(PyObject *v, Media *p_itself) -{ - if (!MediaObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Media required"); - return 0; - } - *p_itself = ((MediaObject *)v)->ob_itself; - return 1; -} - -static void MediaObj_dealloc(MediaObject *self) -{ - DisposeTrackMedia(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *MediaObj_LoadMediaIntoRam(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue time; - TimeValue duration; - long flags; - if (!PyArg_ParseTuple(_args, "lll", - &time, - &duration, - &flags)) - return NULL; - _err = LoadMediaIntoRam(_self->ob_itself, - time, - duration, - flags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaTrack(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaTrack(_self->ob_itself); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *MediaObj_GetMediaCreationTime(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - unsigned long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaCreationTime(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MediaObj_GetMediaModificationTime(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - unsigned long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaModificationTime(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MediaObj_GetMediaTimeScale(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeScale _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaTimeScale(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MediaObj_SetMediaTimeScale(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeScale timeScale; - if (!PyArg_ParseTuple(_args, "l", - &timeScale)) - return NULL; - SetMediaTimeScale(_self->ob_itself, - timeScale); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaDuration(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaDuration(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MediaObj_GetMediaLanguage(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaLanguage(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *MediaObj_SetMediaLanguage(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short language; - if (!PyArg_ParseTuple(_args, "h", - &language)) - return NULL; - SetMediaLanguage(_self->ob_itself, - language); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaQuality(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaQuality(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *MediaObj_SetMediaQuality(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short quality; - if (!PyArg_ParseTuple(_args, "h", - &quality)) - return NULL; - SetMediaQuality(_self->ob_itself, - quality); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaHandlerDescription(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSType mediaType; - Str255 creatorName; - OSType creatorManufacturer; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, creatorName)) - return NULL; - GetMediaHandlerDescription(_self->ob_itself, - &mediaType, - creatorName, - &creatorManufacturer); - _res = Py_BuildValue("O&O&", - PyMac_BuildOSType, mediaType, - PyMac_BuildOSType, creatorManufacturer); - return _res; -} - -static PyObject *MediaObj_GetMediaUserData(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UserData _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaUserData(_self->ob_itself); - _res = Py_BuildValue("O&", - UserDataObj_New, _rv); - return _res; -} - -static PyObject *MediaObj_GetMediaHandler(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MediaHandler _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaHandler(_self->ob_itself); - _res = Py_BuildValue("O&", - CmpInstObj_New, _rv); - return _res; -} - -static PyObject *MediaObj_SetMediaHandler(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - MediaHandlerComponent mH; - if (!PyArg_ParseTuple(_args, "O&", - CmpObj_Convert, &mH)) - return NULL; - _err = SetMediaHandler(_self->ob_itself, - mH); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_BeginMediaEdits(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = BeginMediaEdits(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_EndMediaEdits(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = EndMediaEdits(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_SetMediaDefaultDataRefIndex(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short index; - if (!PyArg_ParseTuple(_args, "h", - &index)) - return NULL; - _err = SetMediaDefaultDataRefIndex(_self->ob_itself, - index); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaDataHandlerDescription(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short index; - OSType dhType; - Str255 creatorName; - OSType creatorManufacturer; - if (!PyArg_ParseTuple(_args, "hO&", - &index, - PyMac_GetStr255, creatorName)) - return NULL; - GetMediaDataHandlerDescription(_self->ob_itself, - index, - &dhType, - creatorName, - &creatorManufacturer); - _res = Py_BuildValue("O&O&", - PyMac_BuildOSType, dhType, - PyMac_BuildOSType, creatorManufacturer); - return _res; -} - -static PyObject *MediaObj_GetMediaDataHandler(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - DataHandler _rv; - short index; - if (!PyArg_ParseTuple(_args, "h", - &index)) - return NULL; - _rv = GetMediaDataHandler(_self->ob_itself, - index); - _res = Py_BuildValue("O&", - CmpInstObj_New, _rv); - return _res; -} - -static PyObject *MediaObj_SetMediaDataHandler(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short index; - DataHandlerComponent dataHandler; - if (!PyArg_ParseTuple(_args, "hO&", - &index, - CmpObj_Convert, &dataHandler)) - return NULL; - _err = SetMediaDataHandler(_self->ob_itself, - index, - dataHandler); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaSampleDescriptionCount(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaSampleDescriptionCount(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MediaObj_GetMediaSampleDescription(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long index; - SampleDescriptionHandle descH; - if (!PyArg_ParseTuple(_args, "lO&", - &index, - ResObj_Convert, &descH)) - return NULL; - GetMediaSampleDescription(_self->ob_itself, - index, - descH); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_SetMediaSampleDescription(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long index; - SampleDescriptionHandle descH; - if (!PyArg_ParseTuple(_args, "lO&", - &index, - ResObj_Convert, &descH)) - return NULL; - _err = SetMediaSampleDescription(_self->ob_itself, - index, - descH); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaSampleCount(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaSampleCount(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MediaObj_GetMediaSyncSampleCount(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMediaSyncSampleCount(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MediaObj_SampleNumToMediaTime(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long logicalSampleNum; - TimeValue sampleTime; - TimeValue sampleDuration; - if (!PyArg_ParseTuple(_args, "l", - &logicalSampleNum)) - return NULL; - SampleNumToMediaTime(_self->ob_itself, - logicalSampleNum, - &sampleTime, - &sampleDuration); - _res = Py_BuildValue("ll", - sampleTime, - sampleDuration); - return _res; -} - -static PyObject *MediaObj_MediaTimeToSampleNum(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue time; - long sampleNum; - TimeValue sampleTime; - TimeValue sampleDuration; - if (!PyArg_ParseTuple(_args, "l", - &time)) - return NULL; - MediaTimeToSampleNum(_self->ob_itself, - time, - &sampleNum, - &sampleTime, - &sampleDuration); - _res = Py_BuildValue("lll", - sampleNum, - sampleTime, - sampleDuration); - return _res; -} - -static PyObject *MediaObj_AddMediaSample(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle dataIn; - long inOffset; - unsigned long size; - TimeValue durationPerSample; - SampleDescriptionHandle sampleDescriptionH; - long numberOfSamples; - short sampleFlags; - TimeValue sampleTime; - if (!PyArg_ParseTuple(_args, "O&lllO&lh", - ResObj_Convert, &dataIn, - &inOffset, - &size, - &durationPerSample, - ResObj_Convert, &sampleDescriptionH, - &numberOfSamples, - &sampleFlags)) - return NULL; - _err = AddMediaSample(_self->ob_itself, - dataIn, - inOffset, - size, - durationPerSample, - sampleDescriptionH, - numberOfSamples, - sampleFlags, - &sampleTime); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - sampleTime); - return _res; -} - -static PyObject *MediaObj_AddMediaSampleReference(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long dataOffset; - unsigned long size; - TimeValue durationPerSample; - SampleDescriptionHandle sampleDescriptionH; - long numberOfSamples; - short sampleFlags; - TimeValue sampleTime; - if (!PyArg_ParseTuple(_args, "lllO&lh", - &dataOffset, - &size, - &durationPerSample, - ResObj_Convert, &sampleDescriptionH, - &numberOfSamples, - &sampleFlags)) - return NULL; - _err = AddMediaSampleReference(_self->ob_itself, - dataOffset, - size, - durationPerSample, - sampleDescriptionH, - numberOfSamples, - sampleFlags, - &sampleTime); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - sampleTime); - return _res; -} - -static PyObject *MediaObj_GetMediaSample(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle dataOut; - long maxSizeToGrow; - long size; - TimeValue time; - TimeValue sampleTime; - TimeValue durationPerSample; - SampleDescriptionHandle sampleDescriptionH; - long sampleDescriptionIndex; - long maxNumberOfSamples; - long numberOfSamples; - short sampleFlags; - if (!PyArg_ParseTuple(_args, "O&llO&l", - ResObj_Convert, &dataOut, - &maxSizeToGrow, - &time, - ResObj_Convert, &sampleDescriptionH, - &maxNumberOfSamples)) - return NULL; - _err = GetMediaSample(_self->ob_itself, - dataOut, - maxSizeToGrow, - &size, - time, - &sampleTime, - &durationPerSample, - sampleDescriptionH, - &sampleDescriptionIndex, - maxNumberOfSamples, - &numberOfSamples, - &sampleFlags); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("lllllh", - size, - sampleTime, - durationPerSample, - sampleDescriptionIndex, - numberOfSamples, - sampleFlags); - return _res; -} - -static PyObject *MediaObj_GetMediaSampleReference(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long dataOffset; - long size; - TimeValue time; - TimeValue sampleTime; - TimeValue durationPerSample; - SampleDescriptionHandle sampleDescriptionH; - long sampleDescriptionIndex; - long maxNumberOfSamples; - long numberOfSamples; - short sampleFlags; - if (!PyArg_ParseTuple(_args, "lO&l", - &time, - ResObj_Convert, &sampleDescriptionH, - &maxNumberOfSamples)) - return NULL; - _err = GetMediaSampleReference(_self->ob_itself, - &dataOffset, - &size, - time, - &sampleTime, - &durationPerSample, - sampleDescriptionH, - &sampleDescriptionIndex, - maxNumberOfSamples, - &numberOfSamples, - &sampleFlags); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("llllllh", - dataOffset, - size, - sampleTime, - durationPerSample, - sampleDescriptionIndex, - numberOfSamples, - sampleFlags); - return _res; -} - -static PyObject *MediaObj_SetMediaPreferredChunkSize(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long maxChunkSize; - if (!PyArg_ParseTuple(_args, "l", - &maxChunkSize)) - return NULL; - _err = SetMediaPreferredChunkSize(_self->ob_itself, - maxChunkSize); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaPreferredChunkSize(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long maxChunkSize; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMediaPreferredChunkSize(_self->ob_itself, - &maxChunkSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - maxChunkSize); - return _res; -} - -static PyObject *MediaObj_SetMediaShadowSync(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long frameDiffSampleNum; - long syncSampleNum; - if (!PyArg_ParseTuple(_args, "ll", - &frameDiffSampleNum, - &syncSampleNum)) - return NULL; - _err = SetMediaShadowSync(_self->ob_itself, - frameDiffSampleNum, - syncSampleNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaShadowSync(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long frameDiffSampleNum; - long syncSampleNum; - if (!PyArg_ParseTuple(_args, "l", - &frameDiffSampleNum)) - return NULL; - _err = GetMediaShadowSync(_self->ob_itself, - frameDiffSampleNum, - &syncSampleNum); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - syncSampleNum); - return _res; -} - -static PyObject *MediaObj_GetMediaDataSize(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - TimeValue startTime; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - _rv = GetMediaDataSize(_self->ob_itself, - startTime, - duration); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MediaObj_GetMediaDataSize64(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue startTime; - TimeValue duration; - wide dataSize; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - _err = GetMediaDataSize64(_self->ob_itself, - startTime, - duration, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_Buildwide, dataSize); - return _res; -} - -static PyObject *MediaObj_GetMediaNextInterestingTime(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short interestingTimeFlags; - TimeValue time; - Fixed rate; - TimeValue interestingTime; - TimeValue interestingDuration; - if (!PyArg_ParseTuple(_args, "hlO&", - &interestingTimeFlags, - &time, - PyMac_GetFixed, &rate)) - return NULL; - GetMediaNextInterestingTime(_self->ob_itself, - interestingTimeFlags, - time, - rate, - &interestingTime, - &interestingDuration); - _res = Py_BuildValue("ll", - interestingTime, - interestingDuration); - return _res; -} - -static PyObject *MediaObj_GetMediaDataRef(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short index; - Handle dataRef; - OSType dataRefType; - long dataRefAttributes; - if (!PyArg_ParseTuple(_args, "h", - &index)) - return NULL; - _err = GetMediaDataRef(_self->ob_itself, - index, - &dataRef, - &dataRefType, - &dataRefAttributes); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&l", - ResObj_New, dataRef, - PyMac_BuildOSType, dataRefType, - dataRefAttributes); - return _res; -} - -static PyObject *MediaObj_SetMediaDataRef(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short index; - Handle dataRef; - OSType dataRefType; - if (!PyArg_ParseTuple(_args, "hO&O&", - &index, - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataRefType)) - return NULL; - _err = SetMediaDataRef(_self->ob_itself, - index, - dataRef, - dataRefType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_SetMediaDataRefAttributes(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short index; - long dataRefAttributes; - if (!PyArg_ParseTuple(_args, "hl", - &index, - &dataRefAttributes)) - return NULL; - _err = SetMediaDataRefAttributes(_self->ob_itself, - index, - dataRefAttributes); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_AddMediaDataRef(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short index; - Handle dataRef; - OSType dataRefType; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataRefType)) - return NULL; - _err = AddMediaDataRef(_self->ob_itself, - &index, - dataRef, - dataRefType); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - index); - return _res; -} - -static PyObject *MediaObj_GetMediaDataRefCount(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short count; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMediaDataRefCount(_self->ob_itself, - &count); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - count); - return _res; -} - -static PyObject *MediaObj_SetMediaPlayHints(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long flags; - long flagsMask; - if (!PyArg_ParseTuple(_args, "ll", - &flags, - &flagsMask)) - return NULL; - SetMediaPlayHints(_self->ob_itself, - flags, - flagsMask); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MediaObj_GetMediaPlayHints(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long flags; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetMediaPlayHints(_self->ob_itself, - &flags); - _res = Py_BuildValue("l", - flags); - return _res; -} - -static PyObject *MediaObj_GetMediaNextInterestingTimeOnly(MediaObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short interestingTimeFlags; - TimeValue time; - Fixed rate; - TimeValue interestingTime; - if (!PyArg_ParseTuple(_args, "hlO&", - &interestingTimeFlags, - &time, - PyMac_GetFixed, &rate)) - return NULL; - GetMediaNextInterestingTimeOnly(_self->ob_itself, - interestingTimeFlags, - time, - rate, - &interestingTime); - _res = Py_BuildValue("l", - interestingTime); - return _res; -} - -static PyMethodDef MediaObj_methods[] = { - {"LoadMediaIntoRam", (PyCFunction)MediaObj_LoadMediaIntoRam, 1, - "(TimeValue time, TimeValue duration, long flags) -> None"}, - {"GetMediaTrack", (PyCFunction)MediaObj_GetMediaTrack, 1, - "() -> (Track _rv)"}, - {"GetMediaCreationTime", (PyCFunction)MediaObj_GetMediaCreationTime, 1, - "() -> (unsigned long _rv)"}, - {"GetMediaModificationTime", (PyCFunction)MediaObj_GetMediaModificationTime, 1, - "() -> (unsigned long _rv)"}, - {"GetMediaTimeScale", (PyCFunction)MediaObj_GetMediaTimeScale, 1, - "() -> (TimeScale _rv)"}, - {"SetMediaTimeScale", (PyCFunction)MediaObj_SetMediaTimeScale, 1, - "(TimeScale timeScale) -> None"}, - {"GetMediaDuration", (PyCFunction)MediaObj_GetMediaDuration, 1, - "() -> (TimeValue _rv)"}, - {"GetMediaLanguage", (PyCFunction)MediaObj_GetMediaLanguage, 1, - "() -> (short _rv)"}, - {"SetMediaLanguage", (PyCFunction)MediaObj_SetMediaLanguage, 1, - "(short language) -> None"}, - {"GetMediaQuality", (PyCFunction)MediaObj_GetMediaQuality, 1, - "() -> (short _rv)"}, - {"SetMediaQuality", (PyCFunction)MediaObj_SetMediaQuality, 1, - "(short quality) -> None"}, - {"GetMediaHandlerDescription", (PyCFunction)MediaObj_GetMediaHandlerDescription, 1, - "(Str255 creatorName) -> (OSType mediaType, OSType creatorManufacturer)"}, - {"GetMediaUserData", (PyCFunction)MediaObj_GetMediaUserData, 1, - "() -> (UserData _rv)"}, - {"GetMediaHandler", (PyCFunction)MediaObj_GetMediaHandler, 1, - "() -> (MediaHandler _rv)"}, - {"SetMediaHandler", (PyCFunction)MediaObj_SetMediaHandler, 1, - "(MediaHandlerComponent mH) -> None"}, - {"BeginMediaEdits", (PyCFunction)MediaObj_BeginMediaEdits, 1, - "() -> None"}, - {"EndMediaEdits", (PyCFunction)MediaObj_EndMediaEdits, 1, - "() -> None"}, - {"SetMediaDefaultDataRefIndex", (PyCFunction)MediaObj_SetMediaDefaultDataRefIndex, 1, - "(short index) -> None"}, - {"GetMediaDataHandlerDescription", (PyCFunction)MediaObj_GetMediaDataHandlerDescription, 1, - "(short index, Str255 creatorName) -> (OSType dhType, OSType creatorManufacturer)"}, - {"GetMediaDataHandler", (PyCFunction)MediaObj_GetMediaDataHandler, 1, - "(short index) -> (DataHandler _rv)"}, - {"SetMediaDataHandler", (PyCFunction)MediaObj_SetMediaDataHandler, 1, - "(short index, DataHandlerComponent dataHandler) -> None"}, - {"GetMediaSampleDescriptionCount", (PyCFunction)MediaObj_GetMediaSampleDescriptionCount, 1, - "() -> (long _rv)"}, - {"GetMediaSampleDescription", (PyCFunction)MediaObj_GetMediaSampleDescription, 1, - "(long index, SampleDescriptionHandle descH) -> None"}, - {"SetMediaSampleDescription", (PyCFunction)MediaObj_SetMediaSampleDescription, 1, - "(long index, SampleDescriptionHandle descH) -> None"}, - {"GetMediaSampleCount", (PyCFunction)MediaObj_GetMediaSampleCount, 1, - "() -> (long _rv)"}, - {"GetMediaSyncSampleCount", (PyCFunction)MediaObj_GetMediaSyncSampleCount, 1, - "() -> (long _rv)"}, - {"SampleNumToMediaTime", (PyCFunction)MediaObj_SampleNumToMediaTime, 1, - "(long logicalSampleNum) -> (TimeValue sampleTime, TimeValue sampleDuration)"}, - {"MediaTimeToSampleNum", (PyCFunction)MediaObj_MediaTimeToSampleNum, 1, - "(TimeValue time) -> (long sampleNum, TimeValue sampleTime, TimeValue sampleDuration)"}, - {"AddMediaSample", (PyCFunction)MediaObj_AddMediaSample, 1, - "(Handle dataIn, long inOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags) -> (TimeValue sampleTime)"}, - {"AddMediaSampleReference", (PyCFunction)MediaObj_AddMediaSampleReference, 1, - "(long dataOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags) -> (TimeValue sampleTime)"}, - {"GetMediaSample", (PyCFunction)MediaObj_GetMediaSample, 1, - "(Handle dataOut, long maxSizeToGrow, TimeValue time, SampleDescriptionHandle sampleDescriptionH, long maxNumberOfSamples) -> (long size, TimeValue sampleTime, TimeValue durationPerSample, long sampleDescriptionIndex, long numberOfSamples, short sampleFlags)"}, - {"GetMediaSampleReference", (PyCFunction)MediaObj_GetMediaSampleReference, 1, - "(TimeValue time, SampleDescriptionHandle sampleDescriptionH, long maxNumberOfSamples) -> (long dataOffset, long size, TimeValue sampleTime, TimeValue durationPerSample, long sampleDescriptionIndex, long numberOfSamples, short sampleFlags)"}, - {"SetMediaPreferredChunkSize", (PyCFunction)MediaObj_SetMediaPreferredChunkSize, 1, - "(long maxChunkSize) -> None"}, - {"GetMediaPreferredChunkSize", (PyCFunction)MediaObj_GetMediaPreferredChunkSize, 1, - "() -> (long maxChunkSize)"}, - {"SetMediaShadowSync", (PyCFunction)MediaObj_SetMediaShadowSync, 1, - "(long frameDiffSampleNum, long syncSampleNum) -> None"}, - {"GetMediaShadowSync", (PyCFunction)MediaObj_GetMediaShadowSync, 1, - "(long frameDiffSampleNum) -> (long syncSampleNum)"}, - {"GetMediaDataSize", (PyCFunction)MediaObj_GetMediaDataSize, 1, - "(TimeValue startTime, TimeValue duration) -> (long _rv)"}, - {"GetMediaDataSize64", (PyCFunction)MediaObj_GetMediaDataSize64, 1, - "(TimeValue startTime, TimeValue duration) -> (wide dataSize)"}, - {"GetMediaNextInterestingTime", (PyCFunction)MediaObj_GetMediaNextInterestingTime, 1, - "(short interestingTimeFlags, TimeValue time, Fixed rate) -> (TimeValue interestingTime, TimeValue interestingDuration)"}, - {"GetMediaDataRef", (PyCFunction)MediaObj_GetMediaDataRef, 1, - "(short index) -> (Handle dataRef, OSType dataRefType, long dataRefAttributes)"}, - {"SetMediaDataRef", (PyCFunction)MediaObj_SetMediaDataRef, 1, - "(short index, Handle dataRef, OSType dataRefType) -> None"}, - {"SetMediaDataRefAttributes", (PyCFunction)MediaObj_SetMediaDataRefAttributes, 1, - "(short index, long dataRefAttributes) -> None"}, - {"AddMediaDataRef", (PyCFunction)MediaObj_AddMediaDataRef, 1, - "(Handle dataRef, OSType dataRefType) -> (short index)"}, - {"GetMediaDataRefCount", (PyCFunction)MediaObj_GetMediaDataRefCount, 1, - "() -> (short count)"}, - {"SetMediaPlayHints", (PyCFunction)MediaObj_SetMediaPlayHints, 1, - "(long flags, long flagsMask) -> None"}, - {"GetMediaPlayHints", (PyCFunction)MediaObj_GetMediaPlayHints, 1, - "() -> (long flags)"}, - {"GetMediaNextInterestingTimeOnly", (PyCFunction)MediaObj_GetMediaNextInterestingTimeOnly, 1, - "(short interestingTimeFlags, TimeValue time, Fixed rate) -> (TimeValue interestingTime)"}, - {NULL, NULL, 0} -}; - -PyMethodChain MediaObj_chain = { MediaObj_methods, NULL }; - -static PyObject *MediaObj_getattr(MediaObject *self, char *name) -{ - return Py_FindMethodInChain(&MediaObj_chain, (PyObject *)self, name); -} - -#define MediaObj_setattr NULL - -#define MediaObj_compare NULL - -#define MediaObj_repr NULL - -#define MediaObj_hash NULL - -PyTypeObject Media_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Media", /*tp_name*/ - sizeof(MediaObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) MediaObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) MediaObj_getattr, /*tp_getattr*/ - (setattrfunc) MediaObj_setattr, /*tp_setattr*/ - (cmpfunc) MediaObj_compare, /*tp_compare*/ - (reprfunc) MediaObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) MediaObj_hash, /*tp_hash*/ -}; - -/* --------------------- End object type Media ---------------------- */ - - -/* ----------------------- Object type Track ------------------------ */ - -PyTypeObject Track_Type; - -#define TrackObj_Check(x) ((x)->ob_type == &Track_Type) - -typedef struct TrackObject { - PyObject_HEAD - Track ob_itself; -} TrackObject; - -PyObject *TrackObj_New(Track itself) -{ - TrackObject *it; - if (itself == NULL) { - PyErr_SetString(Qt_Error,"Cannot create null Track"); - return NULL; - } - it = PyObject_NEW(TrackObject, &Track_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -TrackObj_Convert(PyObject *v, Track *p_itself) -{ - if (!TrackObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Track required"); - return 0; - } - *p_itself = ((TrackObject *)v)->ob_itself; - return 1; -} - -static void TrackObj_dealloc(TrackObject *self) -{ - DisposeMovieTrack(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *TrackObj_LoadTrackIntoRam(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue time; - TimeValue duration; - long flags; - if (!PyArg_ParseTuple(_args, "lll", - &time, - &duration, - &flags)) - return NULL; - _err = LoadTrackIntoRam(_self->ob_itself, - time, - duration, - flags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackPict(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle _rv; - TimeValue time; - if (!PyArg_ParseTuple(_args, "l", - &time)) - return NULL; - _rv = GetTrackPict(_self->ob_itself, - time); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackClipRgn(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackClipRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackClipRgn(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle theClip; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theClip)) - return NULL; - SetTrackClipRgn(_self->ob_itself, - theClip); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackDisplayBoundsRgn(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackDisplayBoundsRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackMovieBoundsRgn(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackMovieBoundsRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackBoundsRgn(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackBoundsRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackMatte(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackMatte(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackMatte(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle theMatte; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theMatte)) - return NULL; - SetTrackMatte(_self->ob_itself, - theMatte); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackID(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackID(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackMovie(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackMovie(_self->ob_itself); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackCreationTime(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - unsigned long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackCreationTime(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackModificationTime(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - unsigned long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackModificationTime(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackEnabled(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackEnabled(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackEnabled(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean isEnabled; - if (!PyArg_ParseTuple(_args, "b", - &isEnabled)) - return NULL; - SetTrackEnabled(_self->ob_itself, - isEnabled); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackUsage(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackUsage(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackUsage(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long usage; - if (!PyArg_ParseTuple(_args, "l", - &usage)) - return NULL; - SetTrackUsage(_self->ob_itself, - usage); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackDuration(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackDuration(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackOffset(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackOffset(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackOffset(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue movieOffsetTime; - if (!PyArg_ParseTuple(_args, "l", - &movieOffsetTime)) - return NULL; - SetTrackOffset(_self->ob_itself, - movieOffsetTime); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackLayer(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackLayer(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackLayer(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short layer; - if (!PyArg_ParseTuple(_args, "h", - &layer)) - return NULL; - SetTrackLayer(_self->ob_itself, - layer); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackAlternate(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackAlternate(_self->ob_itself); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackAlternate(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track alternateT; - if (!PyArg_ParseTuple(_args, "O&", - TrackObj_Convert, &alternateT)) - return NULL; - SetTrackAlternate(_self->ob_itself, - alternateT); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackVolume(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackVolume(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackVolume(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short volume; - if (!PyArg_ParseTuple(_args, "h", - &volume)) - return NULL; - SetTrackVolume(_self->ob_itself, - volume); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackDimensions(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed width; - Fixed height; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetTrackDimensions(_self->ob_itself, - &width, - &height); - _res = Py_BuildValue("O&O&", - PyMac_BuildFixed, width, - PyMac_BuildFixed, height); - return _res; -} - -static PyObject *TrackObj_SetTrackDimensions(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed width; - Fixed height; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetFixed, &width, - PyMac_GetFixed, &height)) - return NULL; - SetTrackDimensions(_self->ob_itself, - width, - height); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackUserData(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UserData _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackUserData(_self->ob_itself); - _res = Py_BuildValue("O&", - UserDataObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackSoundLocalizationSettings(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle settings; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetTrackSoundLocalizationSettings(_self->ob_itself, - &settings); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, settings); - return _res; -} - -static PyObject *TrackObj_SetTrackSoundLocalizationSettings(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle settings; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &settings)) - return NULL; - _err = SetTrackSoundLocalizationSettings(_self->ob_itself, - settings); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_NewTrackMedia(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Media _rv; - OSType mediaType; - TimeScale timeScale; - Handle dataRef; - OSType dataRefType; - if (!PyArg_ParseTuple(_args, "O&lO&O&", - PyMac_GetOSType, &mediaType, - &timeScale, - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataRefType)) - return NULL; - _rv = NewTrackMedia(_self->ob_itself, - mediaType, - timeScale, - dataRef, - dataRefType); - _res = Py_BuildValue("O&", - MediaObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackMedia(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Media _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackMedia(_self->ob_itself); - _res = Py_BuildValue("O&", - MediaObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_InsertMediaIntoTrack(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue trackStart; - TimeValue mediaTime; - TimeValue mediaDuration; - Fixed mediaRate; - if (!PyArg_ParseTuple(_args, "lllO&", - &trackStart, - &mediaTime, - &mediaDuration, - PyMac_GetFixed, &mediaRate)) - return NULL; - _err = InsertMediaIntoTrack(_self->ob_itself, - trackStart, - mediaTime, - mediaDuration, - mediaRate); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_InsertTrackSegment(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Track dstTrack; - TimeValue srcIn; - TimeValue srcDuration; - TimeValue dstIn; - if (!PyArg_ParseTuple(_args, "O&lll", - TrackObj_Convert, &dstTrack, - &srcIn, - &srcDuration, - &dstIn)) - return NULL; - _err = InsertTrackSegment(_self->ob_itself, - dstTrack, - srcIn, - srcDuration, - dstIn); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_InsertEmptyTrackSegment(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue dstIn; - TimeValue dstDuration; - if (!PyArg_ParseTuple(_args, "ll", - &dstIn, - &dstDuration)) - return NULL; - _err = InsertEmptyTrackSegment(_self->ob_itself, - dstIn, - dstDuration); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_DeleteTrackSegment(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue startTime; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - _err = DeleteTrackSegment(_self->ob_itself, - startTime, - duration); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_ScaleTrackSegment(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue startTime; - TimeValue oldDuration; - TimeValue newDuration; - if (!PyArg_ParseTuple(_args, "lll", - &startTime, - &oldDuration, - &newDuration)) - return NULL; - _err = ScaleTrackSegment(_self->ob_itself, - startTime, - oldDuration, - newDuration); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_IsScrapMovie(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Component _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsScrapMovie(_self->ob_itself); - _res = Py_BuildValue("O&", - CmpObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_CopyTrackSettings(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Track dstTrack; - if (!PyArg_ParseTuple(_args, "O&", - TrackObj_Convert, &dstTrack)) - return NULL; - _err = CopyTrackSettings(_self->ob_itself, - dstTrack); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_AddEmptyTrackToMovie(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Movie dstMovie; - Handle dataRef; - OSType dataRefType; - Track dstTrack; - if (!PyArg_ParseTuple(_args, "O&O&O&", - MovieObj_Convert, &dstMovie, - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataRefType)) - return NULL; - _err = AddEmptyTrackToMovie(_self->ob_itself, - dstMovie, - dataRef, - dataRefType, - &dstTrack); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - TrackObj_New, dstTrack); - return _res; -} - -static PyObject *TrackObj_AddTrackReference(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Track refTrack; - OSType refType; - long addedIndex; - if (!PyArg_ParseTuple(_args, "O&O&", - TrackObj_Convert, &refTrack, - PyMac_GetOSType, &refType)) - return NULL; - _err = AddTrackReference(_self->ob_itself, - refTrack, - refType, - &addedIndex); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - addedIndex); - return _res; -} - -static PyObject *TrackObj_DeleteTrackReference(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType refType; - long index; - if (!PyArg_ParseTuple(_args, "O&l", - PyMac_GetOSType, &refType, - &index)) - return NULL; - _err = DeleteTrackReference(_self->ob_itself, - refType, - index); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_SetTrackReference(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Track refTrack; - OSType refType; - long index; - if (!PyArg_ParseTuple(_args, "O&O&l", - TrackObj_Convert, &refTrack, - PyMac_GetOSType, &refType, - &index)) - return NULL; - _err = SetTrackReference(_self->ob_itself, - refTrack, - refType, - index); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackReference(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - OSType refType; - long index; - if (!PyArg_ParseTuple(_args, "O&l", - PyMac_GetOSType, &refType, - &index)) - return NULL; - _rv = GetTrackReference(_self->ob_itself, - refType, - index); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetNextTrackReferenceType(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSType _rv; - OSType refType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &refType)) - return NULL; - _rv = GetNextTrackReferenceType(_self->ob_itself, - refType); - _res = Py_BuildValue("O&", - PyMac_BuildOSType, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackReferenceCount(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - OSType refType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &refType)) - return NULL; - _rv = GetTrackReferenceCount(_self->ob_itself, - refType); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackEditRate(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed _rv; - TimeValue atTime; - if (!PyArg_ParseTuple(_args, "l", - &atTime)) - return NULL; - _rv = GetTrackEditRate(_self->ob_itself, - atTime); - _res = Py_BuildValue("O&", - PyMac_BuildFixed, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackDataSize(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - TimeValue startTime; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - _rv = GetTrackDataSize(_self->ob_itself, - startTime, - duration); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackDataSize64(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue startTime; - TimeValue duration; - wide dataSize; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - _err = GetTrackDataSize64(_self->ob_itself, - startTime, - duration, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_Buildwide, dataSize); - return _res; -} - -static PyObject *TrackObj_PtInTrack(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point pt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &pt)) - return NULL; - _rv = PtInTrack(_self->ob_itself, - pt); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackNextInterestingTime(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short interestingTimeFlags; - TimeValue time; - Fixed rate; - TimeValue interestingTime; - TimeValue interestingDuration; - if (!PyArg_ParseTuple(_args, "hlO&", - &interestingTimeFlags, - &time, - PyMac_GetFixed, &rate)) - return NULL; - GetTrackNextInterestingTime(_self->ob_itself, - interestingTimeFlags, - time, - rate, - &interestingTime, - &interestingDuration); - _res = Py_BuildValue("ll", - interestingTime, - interestingDuration); - return _res; -} - -static PyObject *TrackObj_GetTrackSegmentDisplayBoundsRgn(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - TimeValue time; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "ll", - &time, - &duration)) - return NULL; - _rv = GetTrackSegmentDisplayBoundsRgn(_self->ob_itself, - time, - duration); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TrackObj_GetTrackStatus(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTrackStatus(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TrackObj_SetTrackLoadSettings(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue preloadTime; - TimeValue preloadDuration; - long preloadFlags; - long defaultHints; - if (!PyArg_ParseTuple(_args, "llll", - &preloadTime, - &preloadDuration, - &preloadFlags, - &defaultHints)) - return NULL; - SetTrackLoadSettings(_self->ob_itself, - preloadTime, - preloadDuration, - preloadFlags, - defaultHints); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TrackObj_GetTrackLoadSettings(TrackObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue preloadTime; - TimeValue preloadDuration; - long preloadFlags; - long defaultHints; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetTrackLoadSettings(_self->ob_itself, - &preloadTime, - &preloadDuration, - &preloadFlags, - &defaultHints); - _res = Py_BuildValue("llll", - preloadTime, - preloadDuration, - preloadFlags, - defaultHints); - return _res; -} - -static PyMethodDef TrackObj_methods[] = { - {"LoadTrackIntoRam", (PyCFunction)TrackObj_LoadTrackIntoRam, 1, - "(TimeValue time, TimeValue duration, long flags) -> None"}, - {"GetTrackPict", (PyCFunction)TrackObj_GetTrackPict, 1, - "(TimeValue time) -> (PicHandle _rv)"}, - {"GetTrackClipRgn", (PyCFunction)TrackObj_GetTrackClipRgn, 1, - "() -> (RgnHandle _rv)"}, - {"SetTrackClipRgn", (PyCFunction)TrackObj_SetTrackClipRgn, 1, - "(RgnHandle theClip) -> None"}, - {"GetTrackDisplayBoundsRgn", (PyCFunction)TrackObj_GetTrackDisplayBoundsRgn, 1, - "() -> (RgnHandle _rv)"}, - {"GetTrackMovieBoundsRgn", (PyCFunction)TrackObj_GetTrackMovieBoundsRgn, 1, - "() -> (RgnHandle _rv)"}, - {"GetTrackBoundsRgn", (PyCFunction)TrackObj_GetTrackBoundsRgn, 1, - "() -> (RgnHandle _rv)"}, - {"GetTrackMatte", (PyCFunction)TrackObj_GetTrackMatte, 1, - "() -> (PixMapHandle _rv)"}, - {"SetTrackMatte", (PyCFunction)TrackObj_SetTrackMatte, 1, - "(PixMapHandle theMatte) -> None"}, - {"GetTrackID", (PyCFunction)TrackObj_GetTrackID, 1, - "() -> (long _rv)"}, - {"GetTrackMovie", (PyCFunction)TrackObj_GetTrackMovie, 1, - "() -> (Movie _rv)"}, - {"GetTrackCreationTime", (PyCFunction)TrackObj_GetTrackCreationTime, 1, - "() -> (unsigned long _rv)"}, - {"GetTrackModificationTime", (PyCFunction)TrackObj_GetTrackModificationTime, 1, - "() -> (unsigned long _rv)"}, - {"GetTrackEnabled", (PyCFunction)TrackObj_GetTrackEnabled, 1, - "() -> (Boolean _rv)"}, - {"SetTrackEnabled", (PyCFunction)TrackObj_SetTrackEnabled, 1, - "(Boolean isEnabled) -> None"}, - {"GetTrackUsage", (PyCFunction)TrackObj_GetTrackUsage, 1, - "() -> (long _rv)"}, - {"SetTrackUsage", (PyCFunction)TrackObj_SetTrackUsage, 1, - "(long usage) -> None"}, - {"GetTrackDuration", (PyCFunction)TrackObj_GetTrackDuration, 1, - "() -> (TimeValue _rv)"}, - {"GetTrackOffset", (PyCFunction)TrackObj_GetTrackOffset, 1, - "() -> (TimeValue _rv)"}, - {"SetTrackOffset", (PyCFunction)TrackObj_SetTrackOffset, 1, - "(TimeValue movieOffsetTime) -> None"}, - {"GetTrackLayer", (PyCFunction)TrackObj_GetTrackLayer, 1, - "() -> (short _rv)"}, - {"SetTrackLayer", (PyCFunction)TrackObj_SetTrackLayer, 1, - "(short layer) -> None"}, - {"GetTrackAlternate", (PyCFunction)TrackObj_GetTrackAlternate, 1, - "() -> (Track _rv)"}, - {"SetTrackAlternate", (PyCFunction)TrackObj_SetTrackAlternate, 1, - "(Track alternateT) -> None"}, - {"GetTrackVolume", (PyCFunction)TrackObj_GetTrackVolume, 1, - "() -> (short _rv)"}, - {"SetTrackVolume", (PyCFunction)TrackObj_SetTrackVolume, 1, - "(short volume) -> None"}, - {"GetTrackDimensions", (PyCFunction)TrackObj_GetTrackDimensions, 1, - "() -> (Fixed width, Fixed height)"}, - {"SetTrackDimensions", (PyCFunction)TrackObj_SetTrackDimensions, 1, - "(Fixed width, Fixed height) -> None"}, - {"GetTrackUserData", (PyCFunction)TrackObj_GetTrackUserData, 1, - "() -> (UserData _rv)"}, - {"GetTrackSoundLocalizationSettings", (PyCFunction)TrackObj_GetTrackSoundLocalizationSettings, 1, - "() -> (Handle settings)"}, - {"SetTrackSoundLocalizationSettings", (PyCFunction)TrackObj_SetTrackSoundLocalizationSettings, 1, - "(Handle settings) -> None"}, - {"NewTrackMedia", (PyCFunction)TrackObj_NewTrackMedia, 1, - "(OSType mediaType, TimeScale timeScale, Handle dataRef, OSType dataRefType) -> (Media _rv)"}, - {"GetTrackMedia", (PyCFunction)TrackObj_GetTrackMedia, 1, - "() -> (Media _rv)"}, - {"InsertMediaIntoTrack", (PyCFunction)TrackObj_InsertMediaIntoTrack, 1, - "(TimeValue trackStart, TimeValue mediaTime, TimeValue mediaDuration, Fixed mediaRate) -> None"}, - {"InsertTrackSegment", (PyCFunction)TrackObj_InsertTrackSegment, 1, - "(Track dstTrack, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn) -> None"}, - {"InsertEmptyTrackSegment", (PyCFunction)TrackObj_InsertEmptyTrackSegment, 1, - "(TimeValue dstIn, TimeValue dstDuration) -> None"}, - {"DeleteTrackSegment", (PyCFunction)TrackObj_DeleteTrackSegment, 1, - "(TimeValue startTime, TimeValue duration) -> None"}, - {"ScaleTrackSegment", (PyCFunction)TrackObj_ScaleTrackSegment, 1, - "(TimeValue startTime, TimeValue oldDuration, TimeValue newDuration) -> None"}, - {"IsScrapMovie", (PyCFunction)TrackObj_IsScrapMovie, 1, - "() -> (Component _rv)"}, - {"CopyTrackSettings", (PyCFunction)TrackObj_CopyTrackSettings, 1, - "(Track dstTrack) -> None"}, - {"AddEmptyTrackToMovie", (PyCFunction)TrackObj_AddEmptyTrackToMovie, 1, - "(Movie dstMovie, Handle dataRef, OSType dataRefType) -> (Track dstTrack)"}, - {"AddTrackReference", (PyCFunction)TrackObj_AddTrackReference, 1, - "(Track refTrack, OSType refType) -> (long addedIndex)"}, - {"DeleteTrackReference", (PyCFunction)TrackObj_DeleteTrackReference, 1, - "(OSType refType, long index) -> None"}, - {"SetTrackReference", (PyCFunction)TrackObj_SetTrackReference, 1, - "(Track refTrack, OSType refType, long index) -> None"}, - {"GetTrackReference", (PyCFunction)TrackObj_GetTrackReference, 1, - "(OSType refType, long index) -> (Track _rv)"}, - {"GetNextTrackReferenceType", (PyCFunction)TrackObj_GetNextTrackReferenceType, 1, - "(OSType refType) -> (OSType _rv)"}, - {"GetTrackReferenceCount", (PyCFunction)TrackObj_GetTrackReferenceCount, 1, - "(OSType refType) -> (long _rv)"}, - {"GetTrackEditRate", (PyCFunction)TrackObj_GetTrackEditRate, 1, - "(TimeValue atTime) -> (Fixed _rv)"}, - {"GetTrackDataSize", (PyCFunction)TrackObj_GetTrackDataSize, 1, - "(TimeValue startTime, TimeValue duration) -> (long _rv)"}, - {"GetTrackDataSize64", (PyCFunction)TrackObj_GetTrackDataSize64, 1, - "(TimeValue startTime, TimeValue duration) -> (wide dataSize)"}, - {"PtInTrack", (PyCFunction)TrackObj_PtInTrack, 1, - "(Point pt) -> (Boolean _rv)"}, - {"GetTrackNextInterestingTime", (PyCFunction)TrackObj_GetTrackNextInterestingTime, 1, - "(short interestingTimeFlags, TimeValue time, Fixed rate) -> (TimeValue interestingTime, TimeValue interestingDuration)"}, - {"GetTrackSegmentDisplayBoundsRgn", (PyCFunction)TrackObj_GetTrackSegmentDisplayBoundsRgn, 1, - "(TimeValue time, TimeValue duration) -> (RgnHandle _rv)"}, - {"GetTrackStatus", (PyCFunction)TrackObj_GetTrackStatus, 1, - "() -> (ComponentResult _rv)"}, - {"SetTrackLoadSettings", (PyCFunction)TrackObj_SetTrackLoadSettings, 1, - "(TimeValue preloadTime, TimeValue preloadDuration, long preloadFlags, long defaultHints) -> None"}, - {"GetTrackLoadSettings", (PyCFunction)TrackObj_GetTrackLoadSettings, 1, - "() -> (TimeValue preloadTime, TimeValue preloadDuration, long preloadFlags, long defaultHints)"}, - {NULL, NULL, 0} -}; - -PyMethodChain TrackObj_chain = { TrackObj_methods, NULL }; - -static PyObject *TrackObj_getattr(TrackObject *self, char *name) -{ - return Py_FindMethodInChain(&TrackObj_chain, (PyObject *)self, name); -} - -#define TrackObj_setattr NULL - -#define TrackObj_compare NULL - -#define TrackObj_repr NULL - -#define TrackObj_hash NULL - -PyTypeObject Track_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Track", /*tp_name*/ - sizeof(TrackObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) TrackObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) TrackObj_getattr, /*tp_getattr*/ - (setattrfunc) TrackObj_setattr, /*tp_setattr*/ - (cmpfunc) TrackObj_compare, /*tp_compare*/ - (reprfunc) TrackObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) TrackObj_hash, /*tp_hash*/ -}; - -/* --------------------- End object type Track ---------------------- */ - - -/* ----------------------- Object type Movie ------------------------ */ - -PyTypeObject Movie_Type; - -#define MovieObj_Check(x) ((x)->ob_type == &Movie_Type) - -typedef struct MovieObject { - PyObject_HEAD - Movie ob_itself; -} MovieObject; - -PyObject *MovieObj_New(Movie itself) -{ - MovieObject *it; - if (itself == NULL) { - PyErr_SetString(Qt_Error,"Cannot create null Movie"); - return NULL; - } - it = PyObject_NEW(MovieObject, &Movie_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -MovieObj_Convert(PyObject *v, Movie *p_itself) -{ - if (!MovieObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Movie required"); - return 0; - } - *p_itself = ((MovieObject *)v)->ob_itself; - return 1; -} - -static void MovieObj_dealloc(MovieObject *self) -{ - DisposeMovie(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *MovieObj_MoviesTask(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long maxMilliSecToUse; - if (!PyArg_ParseTuple(_args, "l", - &maxMilliSecToUse)) - return NULL; - MoviesTask(_self->ob_itself, - maxMilliSecToUse); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_PrerollMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue time; - Fixed Rate; - if (!PyArg_ParseTuple(_args, "lO&", - &time, - PyMac_GetFixed, &Rate)) - return NULL; - _err = PrerollMovie(_self->ob_itself, - time, - Rate); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_AbortPrePrerollMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr err; - if (!PyArg_ParseTuple(_args, "h", - &err)) - return NULL; - AbortPrePrerollMovie(_self->ob_itself, - err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_LoadMovieIntoRam(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue time; - TimeValue duration; - long flags; - if (!PyArg_ParseTuple(_args, "lll", - &time, - &duration, - &flags)) - return NULL; - _err = LoadMovieIntoRam(_self->ob_itself, - time, - duration, - flags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_SetMovieActive(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean active; - if (!PyArg_ParseTuple(_args, "b", - &active)) - return NULL; - SetMovieActive(_self->ob_itself, - active); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieActive(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieActive(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *MovieObj_StartMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - StartMovie(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_StopMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - StopMovie(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GoToBeginningOfMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GoToBeginningOfMovie(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GoToEndOfMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GoToEndOfMovie(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_IsMovieDone(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsMovieDone(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *MovieObj_GetMoviePreviewMode(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMoviePreviewMode(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *MovieObj_SetMoviePreviewMode(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean usePreview; - if (!PyArg_ParseTuple(_args, "b", - &usePreview)) - return NULL; - SetMoviePreviewMode(_self->ob_itself, - usePreview); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_ShowMoviePoster(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ShowMoviePoster(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieTimeBase(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeBase _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieTimeBase(_self->ob_itself); - _res = Py_BuildValue("O&", - TimeBaseObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_SetMovieMasterTimeBase(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeBase tb; - TimeRecord slaveZero; - if (!PyArg_ParseTuple(_args, "O&O&", - TimeBaseObj_Convert, &tb, - QtTimeRecord_Convert, &slaveZero)) - return NULL; - SetMovieMasterTimeBase(_self->ob_itself, - tb, - &slaveZero); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_SetMovieMasterClock(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Component clockMeister; - TimeRecord slaveZero; - if (!PyArg_ParseTuple(_args, "O&O&", - CmpObj_Convert, &clockMeister, - QtTimeRecord_Convert, &slaveZero)) - return NULL; - SetMovieMasterClock(_self->ob_itself, - clockMeister, - &slaveZero); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieGWorld(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - GDHandle gdh; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetMovieGWorld(_self->ob_itself, - &port, - &gdh); - _res = Py_BuildValue("O&O&", - GrafObj_New, port, - OptResObj_New, gdh); - return _res; -} - -static PyObject *MovieObj_SetMovieGWorld(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr port; - GDHandle gdh; - if (!PyArg_ParseTuple(_args, "O&O&", - GrafObj_Convert, &port, - OptResObj_Convert, &gdh)) - return NULL; - SetMovieGWorld(_self->ob_itself, - port, - gdh); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieNaturalBoundsRect(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect naturalBounds; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetMovieNaturalBoundsRect(_self->ob_itself, - &naturalBounds); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &naturalBounds); - return _res; -} - -static PyObject *MovieObj_GetNextTrackForCompositing(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - Track theTrack; - if (!PyArg_ParseTuple(_args, "O&", - TrackObj_Convert, &theTrack)) - return NULL; - _rv = GetNextTrackForCompositing(_self->ob_itself, - theTrack); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_GetPrevTrackForCompositing(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - Track theTrack; - if (!PyArg_ParseTuple(_args, "O&", - TrackObj_Convert, &theTrack)) - return NULL; - _rv = GetPrevTrackForCompositing(_self->ob_itself, - theTrack); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_GetMoviePict(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle _rv; - TimeValue time; - if (!PyArg_ParseTuple(_args, "l", - &time)) - return NULL; - _rv = GetMoviePict(_self->ob_itself, - time); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_GetMoviePosterPict(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMoviePosterPict(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_UpdateMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = UpdateMovie(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_InvalidateMovieRegion(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle invalidRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &invalidRgn)) - return NULL; - _err = InvalidateMovieRegion(_self->ob_itself, - invalidRgn); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieBox(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect boxRect; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetMovieBox(_self->ob_itself, - &boxRect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &boxRect); - return _res; -} - -static PyObject *MovieObj_SetMovieBox(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect boxRect; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &boxRect)) - return NULL; - SetMovieBox(_self->ob_itself, - &boxRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieDisplayClipRgn(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieDisplayClipRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_SetMovieDisplayClipRgn(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle theClip; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theClip)) - return NULL; - SetMovieDisplayClipRgn(_self->ob_itself, - theClip); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieClipRgn(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieClipRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_SetMovieClipRgn(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle theClip; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theClip)) - return NULL; - SetMovieClipRgn(_self->ob_itself, - theClip); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieDisplayBoundsRgn(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieDisplayBoundsRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieBoundsRgn(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieBoundsRgn(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_PutMovieIntoHandle(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle publicMovie; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &publicMovie)) - return NULL; - _err = PutMovieIntoHandle(_self->ob_itself, - publicMovie); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_PutMovieIntoDataFork(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short fRefNum; - long offset; - long maxSize; - if (!PyArg_ParseTuple(_args, "hll", - &fRefNum, - &offset, - &maxSize)) - return NULL; - _err = PutMovieIntoDataFork(_self->ob_itself, - fRefNum, - offset, - maxSize); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_PutMovieIntoDataFork64(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long fRefNum; - wide offset; - unsigned long maxSize; - if (!PyArg_ParseTuple(_args, "lO&l", - &fRefNum, - PyMac_Getwide, &offset, - &maxSize)) - return NULL; - _err = PutMovieIntoDataFork64(_self->ob_itself, - fRefNum, - &offset, - maxSize); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieCreationTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - unsigned long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieCreationTime(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieModificationTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - unsigned long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieModificationTime(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieTimeScale(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeScale _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieTimeScale(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieObj_SetMovieTimeScale(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeScale timeScale; - if (!PyArg_ParseTuple(_args, "l", - &timeScale)) - return NULL; - SetMovieTimeScale(_self->ob_itself, - timeScale); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieDuration(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieDuration(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieRate(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieRate(_self->ob_itself); - _res = Py_BuildValue("O&", - PyMac_BuildFixed, _rv); - return _res; -} - -static PyObject *MovieObj_SetMovieRate(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed rate; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFixed, &rate)) - return NULL; - SetMovieRate(_self->ob_itself, - rate); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMoviePreferredRate(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMoviePreferredRate(_self->ob_itself); - _res = Py_BuildValue("O&", - PyMac_BuildFixed, _rv); - return _res; -} - -static PyObject *MovieObj_SetMoviePreferredRate(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Fixed rate; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFixed, &rate)) - return NULL; - SetMoviePreferredRate(_self->ob_itself, - rate); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMoviePreferredVolume(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMoviePreferredVolume(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *MovieObj_SetMoviePreferredVolume(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short volume; - if (!PyArg_ParseTuple(_args, "h", - &volume)) - return NULL; - SetMoviePreferredVolume(_self->ob_itself, - volume); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieVolume(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieVolume(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *MovieObj_SetMovieVolume(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short volume; - if (!PyArg_ParseTuple(_args, "h", - &volume)) - return NULL; - SetMovieVolume(_self->ob_itself, - volume); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMoviePreviewTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue previewTime; - TimeValue previewDuration; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetMoviePreviewTime(_self->ob_itself, - &previewTime, - &previewDuration); - _res = Py_BuildValue("ll", - previewTime, - previewDuration); - return _res; -} - -static PyObject *MovieObj_SetMoviePreviewTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue previewTime; - TimeValue previewDuration; - if (!PyArg_ParseTuple(_args, "ll", - &previewTime, - &previewDuration)) - return NULL; - SetMoviePreviewTime(_self->ob_itself, - previewTime, - previewDuration); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMoviePosterTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMoviePosterTime(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieObj_SetMoviePosterTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue posterTime; - if (!PyArg_ParseTuple(_args, "l", - &posterTime)) - return NULL; - SetMoviePosterTime(_self->ob_itself, - posterTime); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieSelection(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue selectionTime; - TimeValue selectionDuration; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetMovieSelection(_self->ob_itself, - &selectionTime, - &selectionDuration); - _res = Py_BuildValue("ll", - selectionTime, - selectionDuration); - return _res; -} - -static PyObject *MovieObj_SetMovieSelection(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue selectionTime; - TimeValue selectionDuration; - if (!PyArg_ParseTuple(_args, "ll", - &selectionTime, - &selectionDuration)) - return NULL; - SetMovieSelection(_self->ob_itself, - selectionTime, - selectionDuration); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_SetMovieActiveSegment(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue startTime; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - SetMovieActiveSegment(_self->ob_itself, - startTime, - duration); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieActiveSegment(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue startTime; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetMovieActiveSegment(_self->ob_itself, - &startTime, - &duration); - _res = Py_BuildValue("ll", - startTime, - duration); - return _res; -} - -static PyObject *MovieObj_GetMovieTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - TimeRecord currentTime; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieTime(_self->ob_itself, - ¤tTime); - _res = Py_BuildValue("lO&", - _rv, - QtTimeRecord_New, ¤tTime); - return _res; -} - -static PyObject *MovieObj_SetMovieTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord newtime; - if (!PyArg_ParseTuple(_args, "O&", - QtTimeRecord_Convert, &newtime)) - return NULL; - SetMovieTime(_self->ob_itself, - &newtime); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_SetMovieTimeValue(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue newtime; - if (!PyArg_ParseTuple(_args, "l", - &newtime)) - return NULL; - SetMovieTimeValue(_self->ob_itself, - newtime); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieUserData(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - UserData _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieUserData(_self->ob_itself); - _res = Py_BuildValue("O&", - UserDataObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieTrackCount(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieTrackCount(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieTrack(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - long trackID; - if (!PyArg_ParseTuple(_args, "l", - &trackID)) - return NULL; - _rv = GetMovieTrack(_self->ob_itself, - trackID); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieIndTrack(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - long index; - if (!PyArg_ParseTuple(_args, "l", - &index)) - return NULL; - _rv = GetMovieIndTrack(_self->ob_itself, - index); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieIndTrackType(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - long index; - OSType trackType; - long flags; - if (!PyArg_ParseTuple(_args, "lO&l", - &index, - PyMac_GetOSType, &trackType, - &flags)) - return NULL; - _rv = GetMovieIndTrackType(_self->ob_itself, - index, - trackType, - flags); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_NewMovieTrack(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Track _rv; - Fixed width; - Fixed height; - short trackVolume; - if (!PyArg_ParseTuple(_args, "O&O&h", - PyMac_GetFixed, &width, - PyMac_GetFixed, &height, - &trackVolume)) - return NULL; - _rv = NewMovieTrack(_self->ob_itself, - width, - height, - trackVolume); - _res = Py_BuildValue("O&", - TrackObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_SetAutoTrackAlternatesEnabled(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean enable; - if (!PyArg_ParseTuple(_args, "b", - &enable)) - return NULL; - SetAutoTrackAlternatesEnabled(_self->ob_itself, - enable); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_SelectMovieAlternates(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - SelectMovieAlternates(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_InsertMovieSegment(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Movie dstMovie; - TimeValue srcIn; - TimeValue srcDuration; - TimeValue dstIn; - if (!PyArg_ParseTuple(_args, "O&lll", - MovieObj_Convert, &dstMovie, - &srcIn, - &srcDuration, - &dstIn)) - return NULL; - _err = InsertMovieSegment(_self->ob_itself, - dstMovie, - srcIn, - srcDuration, - dstIn); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_InsertEmptyMovieSegment(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue dstIn; - TimeValue dstDuration; - if (!PyArg_ParseTuple(_args, "ll", - &dstIn, - &dstDuration)) - return NULL; - _err = InsertEmptyMovieSegment(_self->ob_itself, - dstIn, - dstDuration); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_DeleteMovieSegment(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue startTime; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - _err = DeleteMovieSegment(_self->ob_itself, - startTime, - duration); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_ScaleMovieSegment(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue startTime; - TimeValue oldDuration; - TimeValue newDuration; - if (!PyArg_ParseTuple(_args, "lll", - &startTime, - &oldDuration, - &newDuration)) - return NULL; - _err = ScaleMovieSegment(_self->ob_itself, - startTime, - oldDuration, - newDuration); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_CutMovieSelection(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CutMovieSelection(_self->ob_itself); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_CopyMovieSelection(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CopyMovieSelection(_self->ob_itself); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_PasteMovieSelection(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie src; - if (!PyArg_ParseTuple(_args, "O&", - MovieObj_Convert, &src)) - return NULL; - PasteMovieSelection(_self->ob_itself, - src); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_AddMovieSelection(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie src; - if (!PyArg_ParseTuple(_args, "O&", - MovieObj_Convert, &src)) - return NULL; - AddMovieSelection(_self->ob_itself, - src); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_ClearMovieSelection(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ClearMovieSelection(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_PutMovieIntoTypedHandle(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Track targetTrack; - OSType handleType; - Handle publicMovie; - TimeValue start; - TimeValue dur; - long flags; - ComponentInstance userComp; - if (!PyArg_ParseTuple(_args, "O&O&O&lllO&", - TrackObj_Convert, &targetTrack, - PyMac_GetOSType, &handleType, - ResObj_Convert, &publicMovie, - &start, - &dur, - &flags, - CmpInstObj_Convert, &userComp)) - return NULL; - _err = PutMovieIntoTypedHandle(_self->ob_itself, - targetTrack, - handleType, - publicMovie, - start, - dur, - flags, - userComp); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_CopyMovieSettings(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Movie dstMovie; - if (!PyArg_ParseTuple(_args, "O&", - MovieObj_Convert, &dstMovie)) - return NULL; - _err = CopyMovieSettings(_self->ob_itself, - dstMovie); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_ConvertMovieToFile(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Track onlyTrack; - FSSpec outputFile; - OSType fileType; - OSType creator; - ScriptCode scriptTag; - short resID; - long flags; - ComponentInstance userComp; - if (!PyArg_ParseTuple(_args, "O&O&O&O&hlO&", - TrackObj_Convert, &onlyTrack, - PyMac_GetFSSpec, &outputFile, - PyMac_GetOSType, &fileType, - PyMac_GetOSType, &creator, - &scriptTag, - &flags, - CmpInstObj_Convert, &userComp)) - return NULL; - _err = ConvertMovieToFile(_self->ob_itself, - onlyTrack, - &outputFile, - fileType, - creator, - scriptTag, - &resID, - flags, - userComp); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - resID); - return _res; -} - -static PyObject *MovieObj_GetMovieDataSize(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - TimeValue startTime; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - _rv = GetMovieDataSize(_self->ob_itself, - startTime, - duration); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieDataSize64(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue startTime; - TimeValue duration; - wide dataSize; - if (!PyArg_ParseTuple(_args, "ll", - &startTime, - &duration)) - return NULL; - _err = GetMovieDataSize64(_self->ob_itself, - startTime, - duration, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_Buildwide, dataSize); - return _res; -} - -static PyObject *MovieObj_PtInMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point pt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &pt)) - return NULL; - _rv = PtInMovie(_self->ob_itself, - pt); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *MovieObj_SetMovieLanguage(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long language; - if (!PyArg_ParseTuple(_args, "l", - &language)) - return NULL; - SetMovieLanguage(_self->ob_itself, - language); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieNextInterestingTime(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short interestingTimeFlags; - short numMediaTypes; - OSType whichMediaTypes; - TimeValue time; - Fixed rate; - TimeValue interestingTime; - TimeValue interestingDuration; - if (!PyArg_ParseTuple(_args, "hhO&lO&", - &interestingTimeFlags, - &numMediaTypes, - PyMac_GetOSType, &whichMediaTypes, - &time, - PyMac_GetFixed, &rate)) - return NULL; - GetMovieNextInterestingTime(_self->ob_itself, - interestingTimeFlags, - numMediaTypes, - &whichMediaTypes, - time, - rate, - &interestingTime, - &interestingDuration); - _res = Py_BuildValue("ll", - interestingTime, - interestingDuration); - return _res; -} - -static PyObject *MovieObj_AddMovieResource(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short resRefNum; - short resId; - Str255 resName; - if (!PyArg_ParseTuple(_args, "hO&", - &resRefNum, - PyMac_GetStr255, resName)) - return NULL; - _err = AddMovieResource(_self->ob_itself, - resRefNum, - &resId, - resName); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - resId); - return _res; -} - -static PyObject *MovieObj_UpdateMovieResource(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short resRefNum; - short resId; - Str255 resName; - if (!PyArg_ParseTuple(_args, "hhO&", - &resRefNum, - &resId, - PyMac_GetStr255, resName)) - return NULL; - _err = UpdateMovieResource(_self->ob_itself, - resRefNum, - resId, - resName); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_HasMovieChanged(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = HasMovieChanged(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *MovieObj_ClearMovieChanged(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ClearMovieChanged(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_SetMovieDefaultDataRef(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle dataRef; - OSType dataRefType; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataRefType)) - return NULL; - _err = SetMovieDefaultDataRef(_self->ob_itself, - dataRef, - dataRefType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieDefaultDataRef(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle dataRef; - OSType dataRefType; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMovieDefaultDataRef(_self->ob_itself, - &dataRef, - &dataRefType); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&", - ResObj_New, dataRef, - PyMac_BuildOSType, dataRefType); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *MovieObj_SetMovieAnchorDataRef(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle dataRef; - OSType dataRefType; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataRefType)) - return NULL; - _err = SetMovieAnchorDataRef(_self->ob_itself, - dataRef, - dataRefType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *MovieObj_GetMovieAnchorDataRef(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle dataRef; - OSType dataRefType; - long outFlags; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMovieAnchorDataRef(_self->ob_itself, - &dataRef, - &dataRefType, - &outFlags); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&l", - ResObj_New, dataRef, - PyMac_BuildOSType, dataRefType, - outFlags); - return _res; -} -#endif - -static PyObject *MovieObj_SetMovieColorTable(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - CTabHandle ctab; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &ctab)) - return NULL; - _err = SetMovieColorTable(_self->ob_itself, - ctab); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieColorTable(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - CTabHandle ctab; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMovieColorTable(_self->ob_itself, - &ctab); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, ctab); - return _res; -} - -static PyObject *MovieObj_FlattenMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long movieFlattenFlags; - FSSpec theFile; - OSType creator; - ScriptCode scriptTag; - long createMovieFileFlags; - short resId; - Str255 resName; - if (!PyArg_ParseTuple(_args, "lO&O&hlO&", - &movieFlattenFlags, - PyMac_GetFSSpec, &theFile, - PyMac_GetOSType, &creator, - &scriptTag, - &createMovieFileFlags, - PyMac_GetStr255, resName)) - return NULL; - FlattenMovie(_self->ob_itself, - movieFlattenFlags, - &theFile, - creator, - scriptTag, - createMovieFileFlags, - &resId, - resName); - _res = Py_BuildValue("h", - resId); - return _res; -} - -static PyObject *MovieObj_FlattenMovieData(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - long movieFlattenFlags; - FSSpec theFile; - OSType creator; - ScriptCode scriptTag; - long createMovieFileFlags; - if (!PyArg_ParseTuple(_args, "lO&O&hl", - &movieFlattenFlags, - PyMac_GetFSSpec, &theFile, - PyMac_GetOSType, &creator, - &scriptTag, - &createMovieFileFlags)) - return NULL; - _rv = FlattenMovieData(_self->ob_itself, - movieFlattenFlags, - &theFile, - creator, - scriptTag, - createMovieFileFlags); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_MovieSearchText(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Ptr text; - long size; - long searchFlags; - Track searchTrack; - TimeValue searchTime; - long searchOffset; - if (!PyArg_ParseTuple(_args, "sll", - &text, - &size, - &searchFlags)) - return NULL; - _err = MovieSearchText(_self->ob_itself, - text, - size, - searchFlags, - &searchTrack, - &searchTime, - &searchOffset); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&ll", - TrackObj_New, searchTrack, - searchTime, - searchOffset); - return _res; -} - -static PyObject *MovieObj_GetPosterBox(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect boxRect; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetPosterBox(_self->ob_itself, - &boxRect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &boxRect); - return _res; -} - -static PyObject *MovieObj_SetPosterBox(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect boxRect; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &boxRect)) - return NULL; - SetPosterBox(_self->ob_itself, - &boxRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMovieSegmentDisplayBoundsRgn(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - TimeValue time; - TimeValue duration; - if (!PyArg_ParseTuple(_args, "ll", - &time, - &duration)) - return NULL; - _rv = GetMovieSegmentDisplayBoundsRgn(_self->ob_itself, - time, - duration); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_GetMovieStatus(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - Track firstProblemTrack; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieStatus(_self->ob_itself, - &firstProblemTrack); - _res = Py_BuildValue("lO&", - _rv, - TrackObj_New, firstProblemTrack); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *MovieObj_GetMovieLoadState(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMovieLoadState(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -static PyObject *MovieObj_NewMovieController(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - MovieController _rv; - Rect movieRect; - long someFlags; - if (!PyArg_ParseTuple(_args, "O&l", - PyMac_GetRect, &movieRect, - &someFlags)) - return NULL; - _rv = NewMovieController(_self->ob_itself, - &movieRect, - someFlags); - _res = Py_BuildValue("O&", - MovieCtlObj_New, _rv); - return _res; -} - -static PyObject *MovieObj_PutMovieOnScrap(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long movieScrapFlags; - if (!PyArg_ParseTuple(_args, "l", - &movieScrapFlags)) - return NULL; - _err = PutMovieOnScrap(_self->ob_itself, - movieScrapFlags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_SetMoviePlayHints(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long flags; - long flagsMask; - if (!PyArg_ParseTuple(_args, "ll", - &flags, - &flagsMask)) - return NULL; - SetMoviePlayHints(_self->ob_itself, - flags, - flagsMask); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *MovieObj_GetMaxLoadedTimeInMovie(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - TimeValue time; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMaxLoadedTimeInMovie(_self->ob_itself, - &time); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - time); - return _res; -} - -static PyObject *MovieObj_QTMovieNeedsTimeTable(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Boolean needsTimeTable; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = QTMovieNeedsTimeTable(_self->ob_itself, - &needsTimeTable); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - needsTimeTable); - return _res; -} - -static PyObject *MovieObj_QTGetDataRefMaxFileOffset(MovieObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType dataRefType; - Handle dataRef; - long offset; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &dataRefType, - ResObj_Convert, &dataRef)) - return NULL; - _err = QTGetDataRefMaxFileOffset(_self->ob_itself, - dataRefType, - dataRef, - &offset); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - offset); - return _res; -} - -static PyMethodDef MovieObj_methods[] = { - {"MoviesTask", (PyCFunction)MovieObj_MoviesTask, 1, - "(long maxMilliSecToUse) -> None"}, - {"PrerollMovie", (PyCFunction)MovieObj_PrerollMovie, 1, - "(TimeValue time, Fixed Rate) -> None"}, - {"AbortPrePrerollMovie", (PyCFunction)MovieObj_AbortPrePrerollMovie, 1, - "(OSErr err) -> None"}, - {"LoadMovieIntoRam", (PyCFunction)MovieObj_LoadMovieIntoRam, 1, - "(TimeValue time, TimeValue duration, long flags) -> None"}, - {"SetMovieActive", (PyCFunction)MovieObj_SetMovieActive, 1, - "(Boolean active) -> None"}, - {"GetMovieActive", (PyCFunction)MovieObj_GetMovieActive, 1, - "() -> (Boolean _rv)"}, - {"StartMovie", (PyCFunction)MovieObj_StartMovie, 1, - "() -> None"}, - {"StopMovie", (PyCFunction)MovieObj_StopMovie, 1, - "() -> None"}, - {"GoToBeginningOfMovie", (PyCFunction)MovieObj_GoToBeginningOfMovie, 1, - "() -> None"}, - {"GoToEndOfMovie", (PyCFunction)MovieObj_GoToEndOfMovie, 1, - "() -> None"}, - {"IsMovieDone", (PyCFunction)MovieObj_IsMovieDone, 1, - "() -> (Boolean _rv)"}, - {"GetMoviePreviewMode", (PyCFunction)MovieObj_GetMoviePreviewMode, 1, - "() -> (Boolean _rv)"}, - {"SetMoviePreviewMode", (PyCFunction)MovieObj_SetMoviePreviewMode, 1, - "(Boolean usePreview) -> None"}, - {"ShowMoviePoster", (PyCFunction)MovieObj_ShowMoviePoster, 1, - "() -> None"}, - {"GetMovieTimeBase", (PyCFunction)MovieObj_GetMovieTimeBase, 1, - "() -> (TimeBase _rv)"}, - {"SetMovieMasterTimeBase", (PyCFunction)MovieObj_SetMovieMasterTimeBase, 1, - "(TimeBase tb, TimeRecord slaveZero) -> None"}, - {"SetMovieMasterClock", (PyCFunction)MovieObj_SetMovieMasterClock, 1, - "(Component clockMeister, TimeRecord slaveZero) -> None"}, - {"GetMovieGWorld", (PyCFunction)MovieObj_GetMovieGWorld, 1, - "() -> (CGrafPtr port, GDHandle gdh)"}, - {"SetMovieGWorld", (PyCFunction)MovieObj_SetMovieGWorld, 1, - "(CGrafPtr port, GDHandle gdh) -> None"}, - {"GetMovieNaturalBoundsRect", (PyCFunction)MovieObj_GetMovieNaturalBoundsRect, 1, - "() -> (Rect naturalBounds)"}, - {"GetNextTrackForCompositing", (PyCFunction)MovieObj_GetNextTrackForCompositing, 1, - "(Track theTrack) -> (Track _rv)"}, - {"GetPrevTrackForCompositing", (PyCFunction)MovieObj_GetPrevTrackForCompositing, 1, - "(Track theTrack) -> (Track _rv)"}, - {"GetMoviePict", (PyCFunction)MovieObj_GetMoviePict, 1, - "(TimeValue time) -> (PicHandle _rv)"}, - {"GetMoviePosterPict", (PyCFunction)MovieObj_GetMoviePosterPict, 1, - "() -> (PicHandle _rv)"}, - {"UpdateMovie", (PyCFunction)MovieObj_UpdateMovie, 1, - "() -> None"}, - {"InvalidateMovieRegion", (PyCFunction)MovieObj_InvalidateMovieRegion, 1, - "(RgnHandle invalidRgn) -> None"}, - {"GetMovieBox", (PyCFunction)MovieObj_GetMovieBox, 1, - "() -> (Rect boxRect)"}, - {"SetMovieBox", (PyCFunction)MovieObj_SetMovieBox, 1, - "(Rect boxRect) -> None"}, - {"GetMovieDisplayClipRgn", (PyCFunction)MovieObj_GetMovieDisplayClipRgn, 1, - "() -> (RgnHandle _rv)"}, - {"SetMovieDisplayClipRgn", (PyCFunction)MovieObj_SetMovieDisplayClipRgn, 1, - "(RgnHandle theClip) -> None"}, - {"GetMovieClipRgn", (PyCFunction)MovieObj_GetMovieClipRgn, 1, - "() -> (RgnHandle _rv)"}, - {"SetMovieClipRgn", (PyCFunction)MovieObj_SetMovieClipRgn, 1, - "(RgnHandle theClip) -> None"}, - {"GetMovieDisplayBoundsRgn", (PyCFunction)MovieObj_GetMovieDisplayBoundsRgn, 1, - "() -> (RgnHandle _rv)"}, - {"GetMovieBoundsRgn", (PyCFunction)MovieObj_GetMovieBoundsRgn, 1, - "() -> (RgnHandle _rv)"}, - {"PutMovieIntoHandle", (PyCFunction)MovieObj_PutMovieIntoHandle, 1, - "(Handle publicMovie) -> None"}, - {"PutMovieIntoDataFork", (PyCFunction)MovieObj_PutMovieIntoDataFork, 1, - "(short fRefNum, long offset, long maxSize) -> None"}, - {"PutMovieIntoDataFork64", (PyCFunction)MovieObj_PutMovieIntoDataFork64, 1, - "(long fRefNum, wide offset, unsigned long maxSize) -> None"}, - {"GetMovieCreationTime", (PyCFunction)MovieObj_GetMovieCreationTime, 1, - "() -> (unsigned long _rv)"}, - {"GetMovieModificationTime", (PyCFunction)MovieObj_GetMovieModificationTime, 1, - "() -> (unsigned long _rv)"}, - {"GetMovieTimeScale", (PyCFunction)MovieObj_GetMovieTimeScale, 1, - "() -> (TimeScale _rv)"}, - {"SetMovieTimeScale", (PyCFunction)MovieObj_SetMovieTimeScale, 1, - "(TimeScale timeScale) -> None"}, - {"GetMovieDuration", (PyCFunction)MovieObj_GetMovieDuration, 1, - "() -> (TimeValue _rv)"}, - {"GetMovieRate", (PyCFunction)MovieObj_GetMovieRate, 1, - "() -> (Fixed _rv)"}, - {"SetMovieRate", (PyCFunction)MovieObj_SetMovieRate, 1, - "(Fixed rate) -> None"}, - {"GetMoviePreferredRate", (PyCFunction)MovieObj_GetMoviePreferredRate, 1, - "() -> (Fixed _rv)"}, - {"SetMoviePreferredRate", (PyCFunction)MovieObj_SetMoviePreferredRate, 1, - "(Fixed rate) -> None"}, - {"GetMoviePreferredVolume", (PyCFunction)MovieObj_GetMoviePreferredVolume, 1, - "() -> (short _rv)"}, - {"SetMoviePreferredVolume", (PyCFunction)MovieObj_SetMoviePreferredVolume, 1, - "(short volume) -> None"}, - {"GetMovieVolume", (PyCFunction)MovieObj_GetMovieVolume, 1, - "() -> (short _rv)"}, - {"SetMovieVolume", (PyCFunction)MovieObj_SetMovieVolume, 1, - "(short volume) -> None"}, - {"GetMoviePreviewTime", (PyCFunction)MovieObj_GetMoviePreviewTime, 1, - "() -> (TimeValue previewTime, TimeValue previewDuration)"}, - {"SetMoviePreviewTime", (PyCFunction)MovieObj_SetMoviePreviewTime, 1, - "(TimeValue previewTime, TimeValue previewDuration) -> None"}, - {"GetMoviePosterTime", (PyCFunction)MovieObj_GetMoviePosterTime, 1, - "() -> (TimeValue _rv)"}, - {"SetMoviePosterTime", (PyCFunction)MovieObj_SetMoviePosterTime, 1, - "(TimeValue posterTime) -> None"}, - {"GetMovieSelection", (PyCFunction)MovieObj_GetMovieSelection, 1, - "() -> (TimeValue selectionTime, TimeValue selectionDuration)"}, - {"SetMovieSelection", (PyCFunction)MovieObj_SetMovieSelection, 1, - "(TimeValue selectionTime, TimeValue selectionDuration) -> None"}, - {"SetMovieActiveSegment", (PyCFunction)MovieObj_SetMovieActiveSegment, 1, - "(TimeValue startTime, TimeValue duration) -> None"}, - {"GetMovieActiveSegment", (PyCFunction)MovieObj_GetMovieActiveSegment, 1, - "() -> (TimeValue startTime, TimeValue duration)"}, - {"GetMovieTime", (PyCFunction)MovieObj_GetMovieTime, 1, - "() -> (TimeValue _rv, TimeRecord currentTime)"}, - {"SetMovieTime", (PyCFunction)MovieObj_SetMovieTime, 1, - "(TimeRecord newtime) -> None"}, - {"SetMovieTimeValue", (PyCFunction)MovieObj_SetMovieTimeValue, 1, - "(TimeValue newtime) -> None"}, - {"GetMovieUserData", (PyCFunction)MovieObj_GetMovieUserData, 1, - "() -> (UserData _rv)"}, - {"GetMovieTrackCount", (PyCFunction)MovieObj_GetMovieTrackCount, 1, - "() -> (long _rv)"}, - {"GetMovieTrack", (PyCFunction)MovieObj_GetMovieTrack, 1, - "(long trackID) -> (Track _rv)"}, - {"GetMovieIndTrack", (PyCFunction)MovieObj_GetMovieIndTrack, 1, - "(long index) -> (Track _rv)"}, - {"GetMovieIndTrackType", (PyCFunction)MovieObj_GetMovieIndTrackType, 1, - "(long index, OSType trackType, long flags) -> (Track _rv)"}, - {"NewMovieTrack", (PyCFunction)MovieObj_NewMovieTrack, 1, - "(Fixed width, Fixed height, short trackVolume) -> (Track _rv)"}, - {"SetAutoTrackAlternatesEnabled", (PyCFunction)MovieObj_SetAutoTrackAlternatesEnabled, 1, - "(Boolean enable) -> None"}, - {"SelectMovieAlternates", (PyCFunction)MovieObj_SelectMovieAlternates, 1, - "() -> None"}, - {"InsertMovieSegment", (PyCFunction)MovieObj_InsertMovieSegment, 1, - "(Movie dstMovie, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn) -> None"}, - {"InsertEmptyMovieSegment", (PyCFunction)MovieObj_InsertEmptyMovieSegment, 1, - "(TimeValue dstIn, TimeValue dstDuration) -> None"}, - {"DeleteMovieSegment", (PyCFunction)MovieObj_DeleteMovieSegment, 1, - "(TimeValue startTime, TimeValue duration) -> None"}, - {"ScaleMovieSegment", (PyCFunction)MovieObj_ScaleMovieSegment, 1, - "(TimeValue startTime, TimeValue oldDuration, TimeValue newDuration) -> None"}, - {"CutMovieSelection", (PyCFunction)MovieObj_CutMovieSelection, 1, - "() -> (Movie _rv)"}, - {"CopyMovieSelection", (PyCFunction)MovieObj_CopyMovieSelection, 1, - "() -> (Movie _rv)"}, - {"PasteMovieSelection", (PyCFunction)MovieObj_PasteMovieSelection, 1, - "(Movie src) -> None"}, - {"AddMovieSelection", (PyCFunction)MovieObj_AddMovieSelection, 1, - "(Movie src) -> None"}, - {"ClearMovieSelection", (PyCFunction)MovieObj_ClearMovieSelection, 1, - "() -> None"}, - {"PutMovieIntoTypedHandle", (PyCFunction)MovieObj_PutMovieIntoTypedHandle, 1, - "(Track targetTrack, OSType handleType, Handle publicMovie, TimeValue start, TimeValue dur, long flags, ComponentInstance userComp) -> None"}, - {"CopyMovieSettings", (PyCFunction)MovieObj_CopyMovieSettings, 1, - "(Movie dstMovie) -> None"}, - {"ConvertMovieToFile", (PyCFunction)MovieObj_ConvertMovieToFile, 1, - "(Track onlyTrack, FSSpec outputFile, OSType fileType, OSType creator, ScriptCode scriptTag, long flags, ComponentInstance userComp) -> (short resID)"}, - {"GetMovieDataSize", (PyCFunction)MovieObj_GetMovieDataSize, 1, - "(TimeValue startTime, TimeValue duration) -> (long _rv)"}, - {"GetMovieDataSize64", (PyCFunction)MovieObj_GetMovieDataSize64, 1, - "(TimeValue startTime, TimeValue duration) -> (wide dataSize)"}, - {"PtInMovie", (PyCFunction)MovieObj_PtInMovie, 1, - "(Point pt) -> (Boolean _rv)"}, - {"SetMovieLanguage", (PyCFunction)MovieObj_SetMovieLanguage, 1, - "(long language) -> None"}, - {"GetMovieNextInterestingTime", (PyCFunction)MovieObj_GetMovieNextInterestingTime, 1, - "(short interestingTimeFlags, short numMediaTypes, OSType whichMediaTypes, TimeValue time, Fixed rate) -> (TimeValue interestingTime, TimeValue interestingDuration)"}, - {"AddMovieResource", (PyCFunction)MovieObj_AddMovieResource, 1, - "(short resRefNum, Str255 resName) -> (short resId)"}, - {"UpdateMovieResource", (PyCFunction)MovieObj_UpdateMovieResource, 1, - "(short resRefNum, short resId, Str255 resName) -> None"}, - {"HasMovieChanged", (PyCFunction)MovieObj_HasMovieChanged, 1, - "() -> (Boolean _rv)"}, - {"ClearMovieChanged", (PyCFunction)MovieObj_ClearMovieChanged, 1, - "() -> None"}, - {"SetMovieDefaultDataRef", (PyCFunction)MovieObj_SetMovieDefaultDataRef, 1, - "(Handle dataRef, OSType dataRefType) -> None"}, - {"GetMovieDefaultDataRef", (PyCFunction)MovieObj_GetMovieDefaultDataRef, 1, - "() -> (Handle dataRef, OSType dataRefType)"}, - -#if !TARGET_API_MAC_CARBON - {"SetMovieAnchorDataRef", (PyCFunction)MovieObj_SetMovieAnchorDataRef, 1, - "(Handle dataRef, OSType dataRefType) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"GetMovieAnchorDataRef", (PyCFunction)MovieObj_GetMovieAnchorDataRef, 1, - "() -> (Handle dataRef, OSType dataRefType, long outFlags)"}, -#endif - {"SetMovieColorTable", (PyCFunction)MovieObj_SetMovieColorTable, 1, - "(CTabHandle ctab) -> None"}, - {"GetMovieColorTable", (PyCFunction)MovieObj_GetMovieColorTable, 1, - "() -> (CTabHandle ctab)"}, - {"FlattenMovie", (PyCFunction)MovieObj_FlattenMovie, 1, - "(long movieFlattenFlags, FSSpec theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, Str255 resName) -> (short resId)"}, - {"FlattenMovieData", (PyCFunction)MovieObj_FlattenMovieData, 1, - "(long movieFlattenFlags, FSSpec theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags) -> (Movie _rv)"}, - {"MovieSearchText", (PyCFunction)MovieObj_MovieSearchText, 1, - "(Ptr text, long size, long searchFlags) -> (Track searchTrack, TimeValue searchTime, long searchOffset)"}, - {"GetPosterBox", (PyCFunction)MovieObj_GetPosterBox, 1, - "() -> (Rect boxRect)"}, - {"SetPosterBox", (PyCFunction)MovieObj_SetPosterBox, 1, - "(Rect boxRect) -> None"}, - {"GetMovieSegmentDisplayBoundsRgn", (PyCFunction)MovieObj_GetMovieSegmentDisplayBoundsRgn, 1, - "(TimeValue time, TimeValue duration) -> (RgnHandle _rv)"}, - {"GetMovieStatus", (PyCFunction)MovieObj_GetMovieStatus, 1, - "() -> (ComponentResult _rv, Track firstProblemTrack)"}, - -#if !TARGET_API_MAC_CARBON - {"GetMovieLoadState", (PyCFunction)MovieObj_GetMovieLoadState, 1, - "() -> (long _rv)"}, -#endif - {"NewMovieController", (PyCFunction)MovieObj_NewMovieController, 1, - "(Rect movieRect, long someFlags) -> (MovieController _rv)"}, - {"PutMovieOnScrap", (PyCFunction)MovieObj_PutMovieOnScrap, 1, - "(long movieScrapFlags) -> None"}, - {"SetMoviePlayHints", (PyCFunction)MovieObj_SetMoviePlayHints, 1, - "(long flags, long flagsMask) -> None"}, - {"GetMaxLoadedTimeInMovie", (PyCFunction)MovieObj_GetMaxLoadedTimeInMovie, 1, - "() -> (TimeValue time)"}, - {"QTMovieNeedsTimeTable", (PyCFunction)MovieObj_QTMovieNeedsTimeTable, 1, - "() -> (Boolean needsTimeTable)"}, - {"QTGetDataRefMaxFileOffset", (PyCFunction)MovieObj_QTGetDataRefMaxFileOffset, 1, - "(OSType dataRefType, Handle dataRef) -> (long offset)"}, - {NULL, NULL, 0} -}; - -PyMethodChain MovieObj_chain = { MovieObj_methods, NULL }; - -static PyObject *MovieObj_getattr(MovieObject *self, char *name) -{ - return Py_FindMethodInChain(&MovieObj_chain, (PyObject *)self, name); -} - -#define MovieObj_setattr NULL - -#define MovieObj_compare NULL - -#define MovieObj_repr NULL - -#define MovieObj_hash NULL - -PyTypeObject Movie_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Movie", /*tp_name*/ - sizeof(MovieObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) MovieObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) MovieObj_getattr, /*tp_getattr*/ - (setattrfunc) MovieObj_setattr, /*tp_setattr*/ - (cmpfunc) MovieObj_compare, /*tp_compare*/ - (reprfunc) MovieObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) MovieObj_hash, /*tp_hash*/ -}; - -/* --------------------- End object type Movie ---------------------- */ - - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_CheckQuickTimeRegistration(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - void * registrationKey; - long flags; - if (!PyArg_ParseTuple(_args, "sl", - ®istrationKey, - &flags)) - return NULL; - CheckQuickTimeRegistration(registrationKey, - flags); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Qt_EnterMovies(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = EnterMovies(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_ExitMovies(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ExitMovies(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_GetMoviesError(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMoviesError(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_ClearMoviesStickyError(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ClearMoviesStickyError(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_GetMoviesStickyError(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetMoviesStickyError(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_DisposeMatte(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixMapHandle theMatte; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theMatte)) - return NULL; - DisposeMatte(theMatte); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_NewMovie(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - long flags; - if (!PyArg_ParseTuple(_args, "l", - &flags)) - return NULL; - _rv = NewMovie(flags); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *Qt_GetDataHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Component _rv; - Handle dataRef; - OSType dataHandlerSubType; - long flags; - if (!PyArg_ParseTuple(_args, "O&O&l", - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataHandlerSubType, - &flags)) - return NULL; - _rv = GetDataHandler(dataRef, - dataHandlerSubType, - flags); - _res = Py_BuildValue("O&", - CmpObj_New, _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_OpenADataHandler(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle dataRef; - OSType dataHandlerSubType; - Handle anchorDataRef; - OSType anchorDataRefType; - TimeBase tb; - long flags; - ComponentInstance dh; - if (!PyArg_ParseTuple(_args, "O&O&O&O&O&l", - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataHandlerSubType, - ResObj_Convert, &anchorDataRef, - PyMac_GetOSType, &anchorDataRefType, - TimeBaseObj_Convert, &tb, - &flags)) - return NULL; - _err = OpenADataHandler(dataRef, - dataHandlerSubType, - anchorDataRef, - anchorDataRefType, - tb, - flags, - &dh); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CmpInstObj_New, dh); - return _res; -} -#endif - -static PyObject *Qt_PasteHandleIntoMovie(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle h; - OSType handleType; - Movie theMovie; - long flags; - ComponentInstance userComp; - if (!PyArg_ParseTuple(_args, "O&O&O&lO&", - ResObj_Convert, &h, - PyMac_GetOSType, &handleType, - MovieObj_Convert, &theMovie, - &flags, - CmpInstObj_Convert, &userComp)) - return NULL; - _err = PasteHandleIntoMovie(h, - handleType, - theMovie, - flags, - userComp); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_GetMovieImporterForDataRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType dataRefType; - Handle dataRef; - long flags; - Component importer; - if (!PyArg_ParseTuple(_args, "O&O&l", - PyMac_GetOSType, &dataRefType, - ResObj_Convert, &dataRef, - &flags)) - return NULL; - _err = GetMovieImporterForDataRef(dataRefType, - dataRef, - flags, - &importer); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - CmpObj_New, importer); - return _res; -} - -static PyObject *Qt_TrackTimeToMediaTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeValue _rv; - TimeValue value; - Track theTrack; - if (!PyArg_ParseTuple(_args, "lO&", - &value, - TrackObj_Convert, &theTrack)) - return NULL; - _rv = TrackTimeToMediaTime(value, - theTrack); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_NewUserData(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - UserData theUserData; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = NewUserData(&theUserData); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - UserDataObj_New, theUserData); - return _res; -} - -static PyObject *Qt_NewUserDataFromHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle h; - UserData theUserData; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &h)) - return NULL; - _err = NewUserDataFromHandle(h, - &theUserData); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - UserDataObj_New, theUserData); - return _res; -} - -static PyObject *Qt_CreateMovieFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - FSSpec fileSpec; - OSType creator; - ScriptCode scriptTag; - long createMovieFileFlags; - short resRefNum; - Movie newmovie; - if (!PyArg_ParseTuple(_args, "O&O&hl", - PyMac_GetFSSpec, &fileSpec, - PyMac_GetOSType, &creator, - &scriptTag, - &createMovieFileFlags)) - return NULL; - _err = CreateMovieFile(&fileSpec, - creator, - scriptTag, - createMovieFileFlags, - &resRefNum, - &newmovie); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("hO&", - resRefNum, - MovieObj_New, newmovie); - return _res; -} - -static PyObject *Qt_OpenMovieFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - FSSpec fileSpec; - short resRefNum; - SInt8 permission; - if (!PyArg_ParseTuple(_args, "O&b", - PyMac_GetFSSpec, &fileSpec, - &permission)) - return NULL; - _err = OpenMovieFile(&fileSpec, - &resRefNum, - permission); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("h", - resRefNum); - return _res; -} - -static PyObject *Qt_CloseMovieFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short resRefNum; - if (!PyArg_ParseTuple(_args, "h", - &resRefNum)) - return NULL; - _err = CloseMovieFile(resRefNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_DeleteMovieFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - FSSpec fileSpec; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFSSpec, &fileSpec)) - return NULL; - _err = DeleteMovieFile(&fileSpec); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_NewMovieFromFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Movie theMovie; - short resRefNum; - short resId; - short newMovieFlags; - Boolean dataRefWasChanged; - if (!PyArg_ParseTuple(_args, "hhh", - &resRefNum, - &resId, - &newMovieFlags)) - return NULL; - _err = NewMovieFromFile(&theMovie, - resRefNum, - &resId, - (StringPtr)0, - newMovieFlags, - &dataRefWasChanged); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&hb", - MovieObj_New, theMovie, - resId, - dataRefWasChanged); - return _res; -} - -static PyObject *Qt_NewMovieFromHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Movie theMovie; - Handle h; - short newMovieFlags; - Boolean dataRefWasChanged; - if (!PyArg_ParseTuple(_args, "O&h", - ResObj_Convert, &h, - &newMovieFlags)) - return NULL; - _err = NewMovieFromHandle(&theMovie, - h, - newMovieFlags, - &dataRefWasChanged); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&b", - MovieObj_New, theMovie, - dataRefWasChanged); - return _res; -} - -static PyObject *Qt_NewMovieFromDataFork(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Movie theMovie; - short fRefNum; - long fileOffset; - short newMovieFlags; - Boolean dataRefWasChanged; - if (!PyArg_ParseTuple(_args, "hlh", - &fRefNum, - &fileOffset, - &newMovieFlags)) - return NULL; - _err = NewMovieFromDataFork(&theMovie, - fRefNum, - fileOffset, - newMovieFlags, - &dataRefWasChanged); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&b", - MovieObj_New, theMovie, - dataRefWasChanged); - return _res; -} - -static PyObject *Qt_NewMovieFromDataFork64(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Movie theMovie; - long fRefNum; - wide fileOffset; - short newMovieFlags; - Boolean dataRefWasChanged; - if (!PyArg_ParseTuple(_args, "lO&h", - &fRefNum, - PyMac_Getwide, &fileOffset, - &newMovieFlags)) - return NULL; - _err = NewMovieFromDataFork64(&theMovie, - fRefNum, - &fileOffset, - newMovieFlags, - &dataRefWasChanged); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&b", - MovieObj_New, theMovie, - dataRefWasChanged); - return _res; -} - -static PyObject *Qt_NewMovieFromDataRef(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Movie m; - short flags; - short id; - Handle dataRef; - OSType dataRefType; - if (!PyArg_ParseTuple(_args, "hO&O&", - &flags, - ResObj_Convert, &dataRef, - PyMac_GetOSType, &dataRefType)) - return NULL; - _err = NewMovieFromDataRef(&m, - flags, - &id, - dataRef, - dataRefType); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&h", - MovieObj_New, m, - id); - return _res; -} - -static PyObject *Qt_RemoveMovieResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short resRefNum; - short resId; - if (!PyArg_ParseTuple(_args, "hh", - &resRefNum, - &resId)) - return NULL; - _err = RemoveMovieResource(resRefNum, - resId); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_CreateShortcutMovieFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - FSSpec fileSpec; - OSType creator; - ScriptCode scriptTag; - long createMovieFileFlags; - Handle targetDataRef; - OSType targetDataRefType; - if (!PyArg_ParseTuple(_args, "O&O&hlO&O&", - PyMac_GetFSSpec, &fileSpec, - PyMac_GetOSType, &creator, - &scriptTag, - &createMovieFileFlags, - ResObj_Convert, &targetDataRef, - PyMac_GetOSType, &targetDataRefType)) - return NULL; - _err = CreateShortcutMovieFile(&fileSpec, - creator, - scriptTag, - createMovieFileFlags, - targetDataRef, - targetDataRefType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_NewMovieFromScrap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Movie _rv; - long newMovieFlags; - if (!PyArg_ParseTuple(_args, "l", - &newMovieFlags)) - return NULL; - _rv = NewMovieFromScrap(newMovieFlags); - _res = Py_BuildValue("O&", - MovieObj_New, _rv); - return _res; -} - -static PyObject *Qt_QTNewAlias(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - FSSpec fss; - AliasHandle alias; - Boolean minimal; - if (!PyArg_ParseTuple(_args, "O&b", - PyMac_GetFSSpec, &fss, - &minimal)) - return NULL; - _err = QTNewAlias(&fss, - &alias, - minimal); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, alias); - return _res; -} - -static PyObject *Qt_EndFullScreen(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Ptr fullState; - long flags; - if (!PyArg_ParseTuple(_args, "sl", - &fullState, - &flags)) - return NULL; - _err = EndFullScreen(fullState, - flags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_AddSoundDescriptionExtension(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SoundDescriptionHandle desc; - Handle extension; - OSType idType; - if (!PyArg_ParseTuple(_args, "O&O&O&", - ResObj_Convert, &desc, - ResObj_Convert, &extension, - PyMac_GetOSType, &idType)) - return NULL; - _err = AddSoundDescriptionExtension(desc, - extension, - idType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_GetSoundDescriptionExtension(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SoundDescriptionHandle desc; - Handle extension; - OSType idType; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &desc, - PyMac_GetOSType, &idType)) - return NULL; - _err = GetSoundDescriptionExtension(desc, - &extension, - idType); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, extension); - return _res; -} - -static PyObject *Qt_RemoveSoundDescriptionExtension(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SoundDescriptionHandle desc; - OSType idType; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &desc, - PyMac_GetOSType, &idType)) - return NULL; - _err = RemoveSoundDescriptionExtension(desc, - idType); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_QTIsStandardParameterDialogEvent(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - EventRecord pEvent; - QTParameterDialog createdDialog; - if (!PyArg_ParseTuple(_args, "l", - &createdDialog)) - return NULL; - _err = QTIsStandardParameterDialogEvent(&pEvent, - createdDialog); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildEventRecord, &pEvent); - return _res; -} - -static PyObject *Qt_QTDismissStandardParameterDialog(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - QTParameterDialog createdDialog; - if (!PyArg_ParseTuple(_args, "l", - &createdDialog)) - return NULL; - _err = QTDismissStandardParameterDialog(createdDialog); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_QTStandardParameterDialogDoAction(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - QTParameterDialog createdDialog; - long action; - void * params; - if (!PyArg_ParseTuple(_args, "lls", - &createdDialog, - &action, - ¶ms)) - return NULL; - _err = QTStandardParameterDialogDoAction(createdDialog, - action, - params); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_QTRegisterAccessKey(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Str255 accessKeyType; - long flags; - Handle accessKey; - if (!PyArg_ParseTuple(_args, "O&lO&", - PyMac_GetStr255, accessKeyType, - &flags, - ResObj_Convert, &accessKey)) - return NULL; - _err = QTRegisterAccessKey(accessKeyType, - flags, - accessKey); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_QTUnregisterAccessKey(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Str255 accessKeyType; - long flags; - Handle accessKey; - if (!PyArg_ParseTuple(_args, "O&lO&", - PyMac_GetStr255, accessKeyType, - &flags, - ResObj_Convert, &accessKey)) - return NULL; - _err = QTUnregisterAccessKey(accessKeyType, - flags, - accessKey); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_QTTextToNativeText(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Handle theText; - long encoding; - long flags; - if (!PyArg_ParseTuple(_args, "O&ll", - ResObj_Convert, &theText, - &encoding, - &flags)) - return NULL; - _err = QTTextToNativeText(theText, - encoding, - flags); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_VideoMediaResetStatistics(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = VideoMediaResetStatistics(mh); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_VideoMediaGetStatistics(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = VideoMediaGetStatistics(mh); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_VideoMediaGetStallCount(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - unsigned long stalls; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = VideoMediaGetStallCount(mh, - &stalls); - _res = Py_BuildValue("ll", - _rv, - stalls); - return _res; -} - -static PyObject *Qt_VideoMediaSetCodecParameter(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - CodecType cType; - OSType parameterID; - long parameterChangeSeed; - void * dataPtr; - long dataSize; - if (!PyArg_ParseTuple(_args, "O&O&O&lsl", - CmpInstObj_Convert, &mh, - PyMac_GetOSType, &cType, - PyMac_GetOSType, ¶meterID, - ¶meterChangeSeed, - &dataPtr, - &dataSize)) - return NULL; - _rv = VideoMediaSetCodecParameter(mh, - cType, - parameterID, - parameterChangeSeed, - dataPtr, - dataSize); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_VideoMediaGetCodecParameter(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - CodecType cType; - OSType parameterID; - Handle outParameterData; - if (!PyArg_ParseTuple(_args, "O&O&O&O&", - CmpInstObj_Convert, &mh, - PyMac_GetOSType, &cType, - PyMac_GetOSType, ¶meterID, - ResObj_Convert, &outParameterData)) - return NULL; - _rv = VideoMediaGetCodecParameter(mh, - cType, - parameterID, - outParameterData); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_TextMediaAddTextSample(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - Ptr text; - unsigned long size; - short fontNumber; - short fontSize; - Style textFace; - RGBColor textColor; - RGBColor backColor; - short textJustification; - Rect textBox; - long displayFlags; - TimeValue scrollDelay; - short hiliteStart; - short hiliteEnd; - RGBColor rgbHiliteColor; - TimeValue duration; - TimeValue sampleTime; - if (!PyArg_ParseTuple(_args, "O&slhhbhllhhl", - CmpInstObj_Convert, &mh, - &text, - &size, - &fontNumber, - &fontSize, - &textFace, - &textJustification, - &displayFlags, - &scrollDelay, - &hiliteStart, - &hiliteEnd, - &duration)) - return NULL; - _rv = TextMediaAddTextSample(mh, - text, - size, - fontNumber, - fontSize, - textFace, - &textColor, - &backColor, - textJustification, - &textBox, - displayFlags, - scrollDelay, - hiliteStart, - hiliteEnd, - &rgbHiliteColor, - duration, - &sampleTime); - _res = Py_BuildValue("lO&O&O&O&l", - _rv, - QdRGB_New, &textColor, - QdRGB_New, &backColor, - PyMac_BuildRect, &textBox, - QdRGB_New, &rgbHiliteColor, - sampleTime); - return _res; -} - -static PyObject *Qt_TextMediaAddTESample(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - TEHandle hTE; - RGBColor backColor; - short textJustification; - Rect textBox; - long displayFlags; - TimeValue scrollDelay; - short hiliteStart; - short hiliteEnd; - RGBColor rgbHiliteColor; - TimeValue duration; - TimeValue sampleTime; - if (!PyArg_ParseTuple(_args, "O&O&hllhhl", - CmpInstObj_Convert, &mh, - ResObj_Convert, &hTE, - &textJustification, - &displayFlags, - &scrollDelay, - &hiliteStart, - &hiliteEnd, - &duration)) - return NULL; - _rv = TextMediaAddTESample(mh, - hTE, - &backColor, - textJustification, - &textBox, - displayFlags, - scrollDelay, - hiliteStart, - hiliteEnd, - &rgbHiliteColor, - duration, - &sampleTime); - _res = Py_BuildValue("lO&O&O&l", - _rv, - QdRGB_New, &backColor, - PyMac_BuildRect, &textBox, - QdRGB_New, &rgbHiliteColor, - sampleTime); - return _res; -} - -static PyObject *Qt_TextMediaAddHiliteSample(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short hiliteStart; - short hiliteEnd; - RGBColor rgbHiliteColor; - TimeValue duration; - TimeValue sampleTime; - if (!PyArg_ParseTuple(_args, "O&hhl", - CmpInstObj_Convert, &mh, - &hiliteStart, - &hiliteEnd, - &duration)) - return NULL; - _rv = TextMediaAddHiliteSample(mh, - hiliteStart, - hiliteEnd, - &rgbHiliteColor, - duration, - &sampleTime); - _res = Py_BuildValue("lO&l", - _rv, - QdRGB_New, &rgbHiliteColor, - sampleTime); - return _res; -} - -static PyObject *Qt_TextMediaDrawRaw(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - GWorldPtr gw; - GDHandle gd; - void * data; - long dataSize; - TextDescriptionHandle tdh; - if (!PyArg_ParseTuple(_args, "O&O&O&slO&", - CmpInstObj_Convert, &mh, - GWorldObj_Convert, &gw, - OptResObj_Convert, &gd, - &data, - &dataSize, - ResObj_Convert, &tdh)) - return NULL; - _rv = TextMediaDrawRaw(mh, - gw, - gd, - data, - dataSize, - tdh); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_TextMediaSetTextProperty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - TimeValue atMediaTime; - long propertyType; - void * data; - long dataSize; - if (!PyArg_ParseTuple(_args, "O&llsl", - CmpInstObj_Convert, &mh, - &atMediaTime, - &propertyType, - &data, - &dataSize)) - return NULL; - _rv = TextMediaSetTextProperty(mh, - atMediaTime, - propertyType, - data, - dataSize); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_TextMediaRawSetup(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - GWorldPtr gw; - GDHandle gd; - void * data; - long dataSize; - TextDescriptionHandle tdh; - TimeValue sampleDuration; - if (!PyArg_ParseTuple(_args, "O&O&O&slO&l", - CmpInstObj_Convert, &mh, - GWorldObj_Convert, &gw, - OptResObj_Convert, &gd, - &data, - &dataSize, - ResObj_Convert, &tdh, - &sampleDuration)) - return NULL; - _rv = TextMediaRawSetup(mh, - gw, - gd, - data, - dataSize, - tdh, - sampleDuration); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_TextMediaRawIdle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - GWorldPtr gw; - GDHandle gd; - TimeValue sampleTime; - long flagsIn; - long flagsOut; - if (!PyArg_ParseTuple(_args, "O&O&O&ll", - CmpInstObj_Convert, &mh, - GWorldObj_Convert, &gw, - OptResObj_Convert, &gd, - &sampleTime, - &flagsIn)) - return NULL; - _rv = TextMediaRawIdle(mh, - gw, - gd, - sampleTime, - flagsIn, - &flagsOut); - _res = Py_BuildValue("ll", - _rv, - flagsOut); - return _res; -} - -static PyObject *Qt_TextMediaFindNextText(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - Ptr text; - long size; - short findFlags; - TimeValue startTime; - TimeValue foundTime; - TimeValue foundDuration; - long offset; - if (!PyArg_ParseTuple(_args, "O&slhl", - CmpInstObj_Convert, &mh, - &text, - &size, - &findFlags, - &startTime)) - return NULL; - _rv = TextMediaFindNextText(mh, - text, - size, - findFlags, - startTime, - &foundTime, - &foundDuration, - &offset); - _res = Py_BuildValue("llll", - _rv, - foundTime, - foundDuration, - offset); - return _res; -} - -static PyObject *Qt_TextMediaHiliteTextSample(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - TimeValue sampleTime; - short hiliteStart; - short hiliteEnd; - RGBColor rgbHiliteColor; - if (!PyArg_ParseTuple(_args, "O&lhh", - CmpInstObj_Convert, &mh, - &sampleTime, - &hiliteStart, - &hiliteEnd)) - return NULL; - _rv = TextMediaHiliteTextSample(mh, - sampleTime, - hiliteStart, - hiliteEnd, - &rgbHiliteColor); - _res = Py_BuildValue("lO&", - _rv, - QdRGB_New, &rgbHiliteColor); - return _res; -} - -static PyObject *Qt_TextMediaSetTextSampleData(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - void * data; - OSType dataType; - if (!PyArg_ParseTuple(_args, "O&sO&", - CmpInstObj_Convert, &mh, - &data, - PyMac_GetOSType, &dataType)) - return NULL; - _rv = TextMediaSetTextSampleData(mh, - data, - dataType); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaSetProperty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short spriteIndex; - long propertyType; - void * propertyValue; - if (!PyArg_ParseTuple(_args, "O&hls", - CmpInstObj_Convert, &mh, - &spriteIndex, - &propertyType, - &propertyValue)) - return NULL; - _rv = SpriteMediaSetProperty(mh, - spriteIndex, - propertyType, - propertyValue); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaGetProperty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short spriteIndex; - long propertyType; - void * propertyValue; - if (!PyArg_ParseTuple(_args, "O&hls", - CmpInstObj_Convert, &mh, - &spriteIndex, - &propertyType, - &propertyValue)) - return NULL; - _rv = SpriteMediaGetProperty(mh, - spriteIndex, - propertyType, - propertyValue); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaHitTestSprites(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long flags; - Point loc; - short spriteHitIndex; - if (!PyArg_ParseTuple(_args, "O&lO&", - CmpInstObj_Convert, &mh, - &flags, - PyMac_GetPoint, &loc)) - return NULL; - _rv = SpriteMediaHitTestSprites(mh, - flags, - loc, - &spriteHitIndex); - _res = Py_BuildValue("lh", - _rv, - spriteHitIndex); - return _res; -} - -static PyObject *Qt_SpriteMediaCountSprites(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short numSprites; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = SpriteMediaCountSprites(mh, - &numSprites); - _res = Py_BuildValue("lh", - _rv, - numSprites); - return _res; -} - -static PyObject *Qt_SpriteMediaCountImages(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short numImages; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = SpriteMediaCountImages(mh, - &numImages); - _res = Py_BuildValue("lh", - _rv, - numImages); - return _res; -} - -static PyObject *Qt_SpriteMediaGetIndImageDescription(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short imageIndex; - ImageDescriptionHandle imageDescription; - if (!PyArg_ParseTuple(_args, "O&hO&", - CmpInstObj_Convert, &mh, - &imageIndex, - ResObj_Convert, &imageDescription)) - return NULL; - _rv = SpriteMediaGetIndImageDescription(mh, - imageIndex, - imageDescription); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaGetDisplayedSampleNumber(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long sampleNum; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = SpriteMediaGetDisplayedSampleNumber(mh, - &sampleNum); - _res = Py_BuildValue("ll", - _rv, - sampleNum); - return _res; -} - -static PyObject *Qt_SpriteMediaGetSpriteName(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID spriteID; - Str255 spriteName; - if (!PyArg_ParseTuple(_args, "O&lO&", - CmpInstObj_Convert, &mh, - &spriteID, - PyMac_GetStr255, spriteName)) - return NULL; - _rv = SpriteMediaGetSpriteName(mh, - spriteID, - spriteName); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaGetImageName(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short imageIndex; - Str255 imageName; - if (!PyArg_ParseTuple(_args, "O&hO&", - CmpInstObj_Convert, &mh, - &imageIndex, - PyMac_GetStr255, imageName)) - return NULL; - _rv = SpriteMediaGetImageName(mh, - imageIndex, - imageName); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaSetSpriteProperty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID spriteID; - long propertyType; - void * propertyValue; - if (!PyArg_ParseTuple(_args, "O&lls", - CmpInstObj_Convert, &mh, - &spriteID, - &propertyType, - &propertyValue)) - return NULL; - _rv = SpriteMediaSetSpriteProperty(mh, - spriteID, - propertyType, - propertyValue); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaGetSpriteProperty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID spriteID; - long propertyType; - void * propertyValue; - if (!PyArg_ParseTuple(_args, "O&lls", - CmpInstObj_Convert, &mh, - &spriteID, - &propertyType, - &propertyValue)) - return NULL; - _rv = SpriteMediaGetSpriteProperty(mh, - spriteID, - propertyType, - propertyValue); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaHitTestAllSprites(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long flags; - Point loc; - QTAtomID spriteHitID; - if (!PyArg_ParseTuple(_args, "O&lO&", - CmpInstObj_Convert, &mh, - &flags, - PyMac_GetPoint, &loc)) - return NULL; - _rv = SpriteMediaHitTestAllSprites(mh, - flags, - loc, - &spriteHitID); - _res = Py_BuildValue("ll", - _rv, - spriteHitID); - return _res; -} - -static PyObject *Qt_SpriteMediaHitTestOneSprite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID spriteID; - long flags; - Point loc; - Boolean wasHit; - if (!PyArg_ParseTuple(_args, "O&llO&", - CmpInstObj_Convert, &mh, - &spriteID, - &flags, - PyMac_GetPoint, &loc)) - return NULL; - _rv = SpriteMediaHitTestOneSprite(mh, - spriteID, - flags, - loc, - &wasHit); - _res = Py_BuildValue("lb", - _rv, - wasHit); - return _res; -} - -static PyObject *Qt_SpriteMediaSpriteIndexToID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short spriteIndex; - QTAtomID spriteID; - if (!PyArg_ParseTuple(_args, "O&h", - CmpInstObj_Convert, &mh, - &spriteIndex)) - return NULL; - _rv = SpriteMediaSpriteIndexToID(mh, - spriteIndex, - &spriteID); - _res = Py_BuildValue("ll", - _rv, - spriteID); - return _res; -} - -static PyObject *Qt_SpriteMediaSpriteIDToIndex(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID spriteID; - short spriteIndex; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &spriteID)) - return NULL; - _rv = SpriteMediaSpriteIDToIndex(mh, - spriteID, - &spriteIndex); - _res = Py_BuildValue("lh", - _rv, - spriteIndex); - return _res; -} - -static PyObject *Qt_SpriteMediaSetActionVariable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID variableID; - float value; - if (!PyArg_ParseTuple(_args, "O&lf", - CmpInstObj_Convert, &mh, - &variableID, - &value)) - return NULL; - _rv = SpriteMediaSetActionVariable(mh, - variableID, - &value); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaGetActionVariable(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID variableID; - float value; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &variableID)) - return NULL; - _rv = SpriteMediaGetActionVariable(mh, - variableID, - &value); - _res = Py_BuildValue("lf", - _rv, - value); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_SpriteMediaGetIndImageProperty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short imageIndex; - long imagePropertyType; - void * imagePropertyValue; - if (!PyArg_ParseTuple(_args, "O&hls", - CmpInstObj_Convert, &mh, - &imageIndex, - &imagePropertyType, - &imagePropertyValue)) - return NULL; - _rv = SpriteMediaGetIndImageProperty(mh, - imageIndex, - imagePropertyType, - imagePropertyValue); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -static PyObject *Qt_SpriteMediaDisposeSprite(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID spriteID; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &spriteID)) - return NULL; - _rv = SpriteMediaDisposeSprite(mh, - spriteID); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaSetActionVariableToString(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID variableID; - Ptr theCString; - if (!PyArg_ParseTuple(_args, "O&ls", - CmpInstObj_Convert, &mh, - &variableID, - &theCString)) - return NULL; - _rv = SpriteMediaSetActionVariableToString(mh, - variableID, - theCString); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_SpriteMediaGetActionVariableAsString(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID variableID; - Handle theCString; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &variableID)) - return NULL; - _rv = SpriteMediaGetActionVariableAsString(mh, - variableID, - &theCString); - _res = Py_BuildValue("lO&", - _rv, - ResObj_New, theCString); - return _res; -} - -static PyObject *Qt_FlashMediaSetPan(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short xPercent; - short yPercent; - if (!PyArg_ParseTuple(_args, "O&hh", - CmpInstObj_Convert, &mh, - &xPercent, - &yPercent)) - return NULL; - _rv = FlashMediaSetPan(mh, - xPercent, - yPercent); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_FlashMediaSetZoom(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - short factor; - if (!PyArg_ParseTuple(_args, "O&h", - CmpInstObj_Convert, &mh, - &factor)) - return NULL; - _rv = FlashMediaSetZoom(mh, - factor); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_FlashMediaSetZoomRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long left; - long top; - long right; - long bottom; - if (!PyArg_ParseTuple(_args, "O&llll", - CmpInstObj_Convert, &mh, - &left, - &top, - &right, - &bottom)) - return NULL; - _rv = FlashMediaSetZoomRect(mh, - left, - top, - right, - bottom); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_FlashMediaGetRefConBounds(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long refCon; - long left; - long top; - long right; - long bottom; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &refCon)) - return NULL; - _rv = FlashMediaGetRefConBounds(mh, - refCon, - &left, - &top, - &right, - &bottom); - _res = Py_BuildValue("lllll", - _rv, - left, - top, - right, - bottom); - return _res; -} - -static PyObject *Qt_FlashMediaGetRefConID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long refCon; - long refConID; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &refCon)) - return NULL; - _rv = FlashMediaGetRefConID(mh, - refCon, - &refConID); - _res = Py_BuildValue("ll", - _rv, - refConID); - return _res; -} - -static PyObject *Qt_FlashMediaIDToRefCon(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long refConID; - long refCon; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &refConID)) - return NULL; - _rv = FlashMediaIDToRefCon(mh, - refConID, - &refCon); - _res = Py_BuildValue("ll", - _rv, - refCon); - return _res; -} - -static PyObject *Qt_FlashMediaGetDisplayedFrameNumber(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long flashFrameNumber; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = FlashMediaGetDisplayedFrameNumber(mh, - &flashFrameNumber); - _res = Py_BuildValue("ll", - _rv, - flashFrameNumber); - return _res; -} - -static PyObject *Qt_FlashMediaFrameNumberToMovieTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long flashFrameNumber; - TimeValue movieTime; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &flashFrameNumber)) - return NULL; - _rv = FlashMediaFrameNumberToMovieTime(mh, - flashFrameNumber, - &movieTime); - _res = Py_BuildValue("ll", - _rv, - movieTime); - return _res; -} - -static PyObject *Qt_FlashMediaFrameLabelToMovieTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - Ptr theLabel; - TimeValue movieTime; - if (!PyArg_ParseTuple(_args, "O&s", - CmpInstObj_Convert, &mh, - &theLabel)) - return NULL; - _rv = FlashMediaFrameLabelToMovieTime(mh, - theLabel, - &movieTime); - _res = Py_BuildValue("ll", - _rv, - movieTime); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_MovieMediaGetCurrentMovieProperty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - OSType whichProperty; - void * value; - if (!PyArg_ParseTuple(_args, "O&O&s", - CmpInstObj_Convert, &mh, - PyMac_GetOSType, &whichProperty, - &value)) - return NULL; - _rv = MovieMediaGetCurrentMovieProperty(mh, - whichProperty, - value); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_MovieMediaGetCurrentTrackProperty(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - long trackID; - OSType whichProperty; - void * value; - if (!PyArg_ParseTuple(_args, "O&lO&s", - CmpInstObj_Convert, &mh, - &trackID, - PyMac_GetOSType, &whichProperty, - &value)) - return NULL; - _rv = MovieMediaGetCurrentTrackProperty(mh, - trackID, - whichProperty, - value); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_MovieMediaGetChildMovieDataReference(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID dataRefID; - short dataRefIndex; - OSType dataRefType; - Handle dataRef; - QTAtomID dataRefIDOut; - short dataRefIndexOut; - if (!PyArg_ParseTuple(_args, "O&lh", - CmpInstObj_Convert, &mh, - &dataRefID, - &dataRefIndex)) - return NULL; - _rv = MovieMediaGetChildMovieDataReference(mh, - dataRefID, - dataRefIndex, - &dataRefType, - &dataRef, - &dataRefIDOut, - &dataRefIndexOut); - _res = Py_BuildValue("lO&O&lh", - _rv, - PyMac_BuildOSType, dataRefType, - ResObj_New, dataRef, - dataRefIDOut, - dataRefIndexOut); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_MovieMediaSetChildMovieDataReference(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID dataRefID; - OSType dataRefType; - Handle dataRef; - if (!PyArg_ParseTuple(_args, "O&lO&O&", - CmpInstObj_Convert, &mh, - &dataRefID, - PyMac_GetOSType, &dataRefType, - ResObj_Convert, &dataRef)) - return NULL; - _rv = MovieMediaSetChildMovieDataReference(mh, - dataRefID, - dataRefType, - dataRef); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_MovieMediaLoadChildMovieFromDataReference(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTAtomID dataRefID; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &mh, - &dataRefID)) - return NULL; - _rv = MovieMediaLoadChildMovieFromDataReference(mh, - dataRefID); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -static PyObject *Qt_Media3DGetCurrentGroup(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - void * group; - if (!PyArg_ParseTuple(_args, "O&s", - CmpInstObj_Convert, &mh, - &group)) - return NULL; - _rv = Media3DGetCurrentGroup(mh, - group); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_Media3DTranslateNamedObjectTo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - char objectName; - Fixed x; - Fixed y; - Fixed z; - if (!PyArg_ParseTuple(_args, "O&O&O&O&", - CmpInstObj_Convert, &mh, - PyMac_GetFixed, &x, - PyMac_GetFixed, &y, - PyMac_GetFixed, &z)) - return NULL; - _rv = Media3DTranslateNamedObjectTo(mh, - &objectName, - x, - y, - z); - _res = Py_BuildValue("lc", - _rv, - objectName); - return _res; -} - -static PyObject *Qt_Media3DScaleNamedObjectTo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - char objectName; - Fixed xScale; - Fixed yScale; - Fixed zScale; - if (!PyArg_ParseTuple(_args, "O&O&O&O&", - CmpInstObj_Convert, &mh, - PyMac_GetFixed, &xScale, - PyMac_GetFixed, &yScale, - PyMac_GetFixed, &zScale)) - return NULL; - _rv = Media3DScaleNamedObjectTo(mh, - &objectName, - xScale, - yScale, - zScale); - _res = Py_BuildValue("lc", - _rv, - objectName); - return _res; -} - -static PyObject *Qt_Media3DRotateNamedObjectTo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - char objectName; - Fixed xDegrees; - Fixed yDegrees; - Fixed zDegrees; - if (!PyArg_ParseTuple(_args, "O&O&O&O&", - CmpInstObj_Convert, &mh, - PyMac_GetFixed, &xDegrees, - PyMac_GetFixed, &yDegrees, - PyMac_GetFixed, &zDegrees)) - return NULL; - _rv = Media3DRotateNamedObjectTo(mh, - &objectName, - xDegrees, - yDegrees, - zDegrees); - _res = Py_BuildValue("lc", - _rv, - objectName); - return _res; -} - -static PyObject *Qt_Media3DSetCameraData(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - void * cameraData; - if (!PyArg_ParseTuple(_args, "O&s", - CmpInstObj_Convert, &mh, - &cameraData)) - return NULL; - _rv = Media3DSetCameraData(mh, - cameraData); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_Media3DGetCameraData(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - void * cameraData; - if (!PyArg_ParseTuple(_args, "O&s", - CmpInstObj_Convert, &mh, - &cameraData)) - return NULL; - _rv = Media3DGetCameraData(mh, - cameraData); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_Media3DSetCameraAngleAspect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTFloatSingle fov; - QTFloatSingle aspectRatioXToY; - if (!PyArg_ParseTuple(_args, "O&ff", - CmpInstObj_Convert, &mh, - &fov, - &aspectRatioXToY)) - return NULL; - _rv = Media3DSetCameraAngleAspect(mh, - fov, - aspectRatioXToY); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_Media3DGetCameraAngleAspect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - QTFloatSingle fov; - QTFloatSingle aspectRatioXToY; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = Media3DGetCameraAngleAspect(mh, - &fov, - &aspectRatioXToY); - _res = Py_BuildValue("lff", - _rv, - fov, - aspectRatioXToY); - return _res; -} - -static PyObject *Qt_Media3DSetCameraRange(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - void * tQ3CameraRange; - if (!PyArg_ParseTuple(_args, "O&s", - CmpInstObj_Convert, &mh, - &tQ3CameraRange)) - return NULL; - _rv = Media3DSetCameraRange(mh, - tQ3CameraRange); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_Media3DGetCameraRange(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - void * tQ3CameraRange; - if (!PyArg_ParseTuple(_args, "O&s", - CmpInstObj_Convert, &mh, - &tQ3CameraRange)) - return NULL; - _rv = Media3DGetCameraRange(mh, - tQ3CameraRange); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Qt_Media3DGetViewObject(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - void * tq3viewObject; - if (!PyArg_ParseTuple(_args, "O&s", - CmpInstObj_Convert, &mh, - &tq3viewObject)) - return NULL; - _rv = Media3DGetViewObject(mh, - tq3viewObject); - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -static PyObject *Qt_NewTimeBase(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeBase _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = NewTimeBase(); - _res = Py_BuildValue("O&", - TimeBaseObj_New, _rv); - return _res; -} - -static PyObject *Qt_ConvertTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord inout; - TimeBase newBase; - if (!PyArg_ParseTuple(_args, "O&O&", - QtTimeRecord_Convert, &inout, - TimeBaseObj_Convert, &newBase)) - return NULL; - ConvertTime(&inout, - newBase); - _res = Py_BuildValue("O&", - QtTimeRecord_New, &inout); - return _res; -} - -static PyObject *Qt_ConvertTimeScale(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord inout; - TimeScale newScale; - if (!PyArg_ParseTuple(_args, "O&l", - QtTimeRecord_Convert, &inout, - &newScale)) - return NULL; - ConvertTimeScale(&inout, - newScale); - _res = Py_BuildValue("O&", - QtTimeRecord_New, &inout); - return _res; -} - -static PyObject *Qt_AddTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord dst; - TimeRecord src; - if (!PyArg_ParseTuple(_args, "O&O&", - QtTimeRecord_Convert, &dst, - QtTimeRecord_Convert, &src)) - return NULL; - AddTime(&dst, - &src); - _res = Py_BuildValue("O&", - QtTimeRecord_New, &dst); - return _res; -} - -static PyObject *Qt_SubtractTime(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TimeRecord dst; - TimeRecord src; - if (!PyArg_ParseTuple(_args, "O&O&", - QtTimeRecord_Convert, &dst, - QtTimeRecord_Convert, &src)) - return NULL; - SubtractTime(&dst, - &src); - _res = Py_BuildValue("O&", - QtTimeRecord_New, &dst); - return _res; -} - -static PyObject *Qt_MusicMediaGetIndexedTunePlayer(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ComponentResult _rv; - ComponentInstance ti; - long sampleDescIndex; - ComponentInstance tp; - if (!PyArg_ParseTuple(_args, "O&l", - CmpInstObj_Convert, &ti, - &sampleDescIndex)) - return NULL; - _rv = MusicMediaGetIndexedTunePlayer(ti, - sampleDescIndex, - &tp); - _res = Py_BuildValue("lO&", - _rv, - CmpInstObj_New, tp); - return _res; -} - -static PyObject *Qt_AlignWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr wp; - Boolean front; - if (!PyArg_ParseTuple(_args, "O&b", - WinObj_Convert, &wp, - &front)) - return NULL; - AlignWindow(wp, - front, - (Rect *)0, - (ICMAlignmentProcRecordPtr)0); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_DragAlignedWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr wp; - Point startPt; - Rect boundsRect; - if (!PyArg_ParseTuple(_args, "O&O&O&", - WinObj_Convert, &wp, - PyMac_GetPoint, &startPt, - PyMac_GetRect, &boundsRect)) - return NULL; - DragAlignedWindow(wp, - startPt, - &boundsRect, - (Rect *)0, - (ICMAlignmentProcRecordPtr)0); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Qt_MoviesTask(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long maxMilliSecToUse; - if (!PyArg_ParseTuple(_args, "l", - &maxMilliSecToUse)) - return NULL; - MoviesTask((Movie)0, - maxMilliSecToUse); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef Qt_methods[] = { - -#if !TARGET_API_MAC_CARBON - {"CheckQuickTimeRegistration", (PyCFunction)Qt_CheckQuickTimeRegistration, 1, - "(void * registrationKey, long flags) -> None"}, -#endif - {"EnterMovies", (PyCFunction)Qt_EnterMovies, 1, - "() -> None"}, - {"ExitMovies", (PyCFunction)Qt_ExitMovies, 1, - "() -> None"}, - {"GetMoviesError", (PyCFunction)Qt_GetMoviesError, 1, - "() -> None"}, - {"ClearMoviesStickyError", (PyCFunction)Qt_ClearMoviesStickyError, 1, - "() -> None"}, - {"GetMoviesStickyError", (PyCFunction)Qt_GetMoviesStickyError, 1, - "() -> None"}, - {"DisposeMatte", (PyCFunction)Qt_DisposeMatte, 1, - "(PixMapHandle theMatte) -> None"}, - {"NewMovie", (PyCFunction)Qt_NewMovie, 1, - "(long flags) -> (Movie _rv)"}, - {"GetDataHandler", (PyCFunction)Qt_GetDataHandler, 1, - "(Handle dataRef, OSType dataHandlerSubType, long flags) -> (Component _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"OpenADataHandler", (PyCFunction)Qt_OpenADataHandler, 1, - "(Handle dataRef, OSType dataHandlerSubType, Handle anchorDataRef, OSType anchorDataRefType, TimeBase tb, long flags) -> (ComponentInstance dh)"}, -#endif - {"PasteHandleIntoMovie", (PyCFunction)Qt_PasteHandleIntoMovie, 1, - "(Handle h, OSType handleType, Movie theMovie, long flags, ComponentInstance userComp) -> None"}, - {"GetMovieImporterForDataRef", (PyCFunction)Qt_GetMovieImporterForDataRef, 1, - "(OSType dataRefType, Handle dataRef, long flags) -> (Component importer)"}, - {"TrackTimeToMediaTime", (PyCFunction)Qt_TrackTimeToMediaTime, 1, - "(TimeValue value, Track theTrack) -> (TimeValue _rv)"}, - {"NewUserData", (PyCFunction)Qt_NewUserData, 1, - "() -> (UserData theUserData)"}, - {"NewUserDataFromHandle", (PyCFunction)Qt_NewUserDataFromHandle, 1, - "(Handle h) -> (UserData theUserData)"}, - {"CreateMovieFile", (PyCFunction)Qt_CreateMovieFile, 1, - "(FSSpec fileSpec, OSType creator, ScriptCode scriptTag, long createMovieFileFlags) -> (short resRefNum, Movie newmovie)"}, - {"OpenMovieFile", (PyCFunction)Qt_OpenMovieFile, 1, - "(FSSpec fileSpec, SInt8 permission) -> (short resRefNum)"}, - {"CloseMovieFile", (PyCFunction)Qt_CloseMovieFile, 1, - "(short resRefNum) -> None"}, - {"DeleteMovieFile", (PyCFunction)Qt_DeleteMovieFile, 1, - "(FSSpec fileSpec) -> None"}, - {"NewMovieFromFile", (PyCFunction)Qt_NewMovieFromFile, 1, - "(short resRefNum, short resId, short newMovieFlags) -> (Movie theMovie, short resId, Boolean dataRefWasChanged)"}, - {"NewMovieFromHandle", (PyCFunction)Qt_NewMovieFromHandle, 1, - "(Handle h, short newMovieFlags) -> (Movie theMovie, Boolean dataRefWasChanged)"}, - {"NewMovieFromDataFork", (PyCFunction)Qt_NewMovieFromDataFork, 1, - "(short fRefNum, long fileOffset, short newMovieFlags) -> (Movie theMovie, Boolean dataRefWasChanged)"}, - {"NewMovieFromDataFork64", (PyCFunction)Qt_NewMovieFromDataFork64, 1, - "(long fRefNum, wide fileOffset, short newMovieFlags) -> (Movie theMovie, Boolean dataRefWasChanged)"}, - {"NewMovieFromDataRef", (PyCFunction)Qt_NewMovieFromDataRef, 1, - "(short flags, Handle dataRef, OSType dataRefType) -> (Movie m, short id)"}, - {"RemoveMovieResource", (PyCFunction)Qt_RemoveMovieResource, 1, - "(short resRefNum, short resId) -> None"}, - {"CreateShortcutMovieFile", (PyCFunction)Qt_CreateShortcutMovieFile, 1, - "(FSSpec fileSpec, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, Handle targetDataRef, OSType targetDataRefType) -> None"}, - {"NewMovieFromScrap", (PyCFunction)Qt_NewMovieFromScrap, 1, - "(long newMovieFlags) -> (Movie _rv)"}, - {"QTNewAlias", (PyCFunction)Qt_QTNewAlias, 1, - "(FSSpec fss, Boolean minimal) -> (AliasHandle alias)"}, - {"EndFullScreen", (PyCFunction)Qt_EndFullScreen, 1, - "(Ptr fullState, long flags) -> None"}, - {"AddSoundDescriptionExtension", (PyCFunction)Qt_AddSoundDescriptionExtension, 1, - "(SoundDescriptionHandle desc, Handle extension, OSType idType) -> None"}, - {"GetSoundDescriptionExtension", (PyCFunction)Qt_GetSoundDescriptionExtension, 1, - "(SoundDescriptionHandle desc, OSType idType) -> (Handle extension)"}, - {"RemoveSoundDescriptionExtension", (PyCFunction)Qt_RemoveSoundDescriptionExtension, 1, - "(SoundDescriptionHandle desc, OSType idType) -> None"}, - {"QTIsStandardParameterDialogEvent", (PyCFunction)Qt_QTIsStandardParameterDialogEvent, 1, - "(QTParameterDialog createdDialog) -> (EventRecord pEvent)"}, - {"QTDismissStandardParameterDialog", (PyCFunction)Qt_QTDismissStandardParameterDialog, 1, - "(QTParameterDialog createdDialog) -> None"}, - {"QTStandardParameterDialogDoAction", (PyCFunction)Qt_QTStandardParameterDialogDoAction, 1, - "(QTParameterDialog createdDialog, long action, void * params) -> None"}, - {"QTRegisterAccessKey", (PyCFunction)Qt_QTRegisterAccessKey, 1, - "(Str255 accessKeyType, long flags, Handle accessKey) -> None"}, - {"QTUnregisterAccessKey", (PyCFunction)Qt_QTUnregisterAccessKey, 1, - "(Str255 accessKeyType, long flags, Handle accessKey) -> None"}, - {"QTTextToNativeText", (PyCFunction)Qt_QTTextToNativeText, 1, - "(Handle theText, long encoding, long flags) -> None"}, - {"VideoMediaResetStatistics", (PyCFunction)Qt_VideoMediaResetStatistics, 1, - "(MediaHandler mh) -> (ComponentResult _rv)"}, - {"VideoMediaGetStatistics", (PyCFunction)Qt_VideoMediaGetStatistics, 1, - "(MediaHandler mh) -> (ComponentResult _rv)"}, - {"VideoMediaGetStallCount", (PyCFunction)Qt_VideoMediaGetStallCount, 1, - "(MediaHandler mh) -> (ComponentResult _rv, unsigned long stalls)"}, - {"VideoMediaSetCodecParameter", (PyCFunction)Qt_VideoMediaSetCodecParameter, 1, - "(MediaHandler mh, CodecType cType, OSType parameterID, long parameterChangeSeed, void * dataPtr, long dataSize) -> (ComponentResult _rv)"}, - {"VideoMediaGetCodecParameter", (PyCFunction)Qt_VideoMediaGetCodecParameter, 1, - "(MediaHandler mh, CodecType cType, OSType parameterID, Handle outParameterData) -> (ComponentResult _rv)"}, - {"TextMediaAddTextSample", (PyCFunction)Qt_TextMediaAddTextSample, 1, - "(MediaHandler mh, Ptr text, unsigned long size, short fontNumber, short fontSize, Style textFace, short textJustification, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, TimeValue duration) -> (ComponentResult _rv, RGBColor textColor, RGBColor backColor, Rect textBox, RGBColor rgbHiliteColor, TimeValue sampleTime)"}, - {"TextMediaAddTESample", (PyCFunction)Qt_TextMediaAddTESample, 1, - "(MediaHandler mh, TEHandle hTE, short textJustification, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, TimeValue duration) -> (ComponentResult _rv, RGBColor backColor, Rect textBox, RGBColor rgbHiliteColor, TimeValue sampleTime)"}, - {"TextMediaAddHiliteSample", (PyCFunction)Qt_TextMediaAddHiliteSample, 1, - "(MediaHandler mh, short hiliteStart, short hiliteEnd, TimeValue duration) -> (ComponentResult _rv, RGBColor rgbHiliteColor, TimeValue sampleTime)"}, - {"TextMediaDrawRaw", (PyCFunction)Qt_TextMediaDrawRaw, 1, - "(MediaHandler mh, GWorldPtr gw, GDHandle gd, void * data, long dataSize, TextDescriptionHandle tdh) -> (ComponentResult _rv)"}, - {"TextMediaSetTextProperty", (PyCFunction)Qt_TextMediaSetTextProperty, 1, - "(MediaHandler mh, TimeValue atMediaTime, long propertyType, void * data, long dataSize) -> (ComponentResult _rv)"}, - {"TextMediaRawSetup", (PyCFunction)Qt_TextMediaRawSetup, 1, - "(MediaHandler mh, GWorldPtr gw, GDHandle gd, void * data, long dataSize, TextDescriptionHandle tdh, TimeValue sampleDuration) -> (ComponentResult _rv)"}, - {"TextMediaRawIdle", (PyCFunction)Qt_TextMediaRawIdle, 1, - "(MediaHandler mh, GWorldPtr gw, GDHandle gd, TimeValue sampleTime, long flagsIn) -> (ComponentResult _rv, long flagsOut)"}, - {"TextMediaFindNextText", (PyCFunction)Qt_TextMediaFindNextText, 1, - "(MediaHandler mh, Ptr text, long size, short findFlags, TimeValue startTime) -> (ComponentResult _rv, TimeValue foundTime, TimeValue foundDuration, long offset)"}, - {"TextMediaHiliteTextSample", (PyCFunction)Qt_TextMediaHiliteTextSample, 1, - "(MediaHandler mh, TimeValue sampleTime, short hiliteStart, short hiliteEnd) -> (ComponentResult _rv, RGBColor rgbHiliteColor)"}, - {"TextMediaSetTextSampleData", (PyCFunction)Qt_TextMediaSetTextSampleData, 1, - "(MediaHandler mh, void * data, OSType dataType) -> (ComponentResult _rv)"}, - {"SpriteMediaSetProperty", (PyCFunction)Qt_SpriteMediaSetProperty, 1, - "(MediaHandler mh, short spriteIndex, long propertyType, void * propertyValue) -> (ComponentResult _rv)"}, - {"SpriteMediaGetProperty", (PyCFunction)Qt_SpriteMediaGetProperty, 1, - "(MediaHandler mh, short spriteIndex, long propertyType, void * propertyValue) -> (ComponentResult _rv)"}, - {"SpriteMediaHitTestSprites", (PyCFunction)Qt_SpriteMediaHitTestSprites, 1, - "(MediaHandler mh, long flags, Point loc) -> (ComponentResult _rv, short spriteHitIndex)"}, - {"SpriteMediaCountSprites", (PyCFunction)Qt_SpriteMediaCountSprites, 1, - "(MediaHandler mh) -> (ComponentResult _rv, short numSprites)"}, - {"SpriteMediaCountImages", (PyCFunction)Qt_SpriteMediaCountImages, 1, - "(MediaHandler mh) -> (ComponentResult _rv, short numImages)"}, - {"SpriteMediaGetIndImageDescription", (PyCFunction)Qt_SpriteMediaGetIndImageDescription, 1, - "(MediaHandler mh, short imageIndex, ImageDescriptionHandle imageDescription) -> (ComponentResult _rv)"}, - {"SpriteMediaGetDisplayedSampleNumber", (PyCFunction)Qt_SpriteMediaGetDisplayedSampleNumber, 1, - "(MediaHandler mh) -> (ComponentResult _rv, long sampleNum)"}, - {"SpriteMediaGetSpriteName", (PyCFunction)Qt_SpriteMediaGetSpriteName, 1, - "(MediaHandler mh, QTAtomID spriteID, Str255 spriteName) -> (ComponentResult _rv)"}, - {"SpriteMediaGetImageName", (PyCFunction)Qt_SpriteMediaGetImageName, 1, - "(MediaHandler mh, short imageIndex, Str255 imageName) -> (ComponentResult _rv)"}, - {"SpriteMediaSetSpriteProperty", (PyCFunction)Qt_SpriteMediaSetSpriteProperty, 1, - "(MediaHandler mh, QTAtomID spriteID, long propertyType, void * propertyValue) -> (ComponentResult _rv)"}, - {"SpriteMediaGetSpriteProperty", (PyCFunction)Qt_SpriteMediaGetSpriteProperty, 1, - "(MediaHandler mh, QTAtomID spriteID, long propertyType, void * propertyValue) -> (ComponentResult _rv)"}, - {"SpriteMediaHitTestAllSprites", (PyCFunction)Qt_SpriteMediaHitTestAllSprites, 1, - "(MediaHandler mh, long flags, Point loc) -> (ComponentResult _rv, QTAtomID spriteHitID)"}, - {"SpriteMediaHitTestOneSprite", (PyCFunction)Qt_SpriteMediaHitTestOneSprite, 1, - "(MediaHandler mh, QTAtomID spriteID, long flags, Point loc) -> (ComponentResult _rv, Boolean wasHit)"}, - {"SpriteMediaSpriteIndexToID", (PyCFunction)Qt_SpriteMediaSpriteIndexToID, 1, - "(MediaHandler mh, short spriteIndex) -> (ComponentResult _rv, QTAtomID spriteID)"}, - {"SpriteMediaSpriteIDToIndex", (PyCFunction)Qt_SpriteMediaSpriteIDToIndex, 1, - "(MediaHandler mh, QTAtomID spriteID) -> (ComponentResult _rv, short spriteIndex)"}, - {"SpriteMediaSetActionVariable", (PyCFunction)Qt_SpriteMediaSetActionVariable, 1, - "(MediaHandler mh, QTAtomID variableID, float value) -> (ComponentResult _rv)"}, - {"SpriteMediaGetActionVariable", (PyCFunction)Qt_SpriteMediaGetActionVariable, 1, - "(MediaHandler mh, QTAtomID variableID) -> (ComponentResult _rv, float value)"}, - -#if !TARGET_API_MAC_CARBON - {"SpriteMediaGetIndImageProperty", (PyCFunction)Qt_SpriteMediaGetIndImageProperty, 1, - "(MediaHandler mh, short imageIndex, long imagePropertyType, void * imagePropertyValue) -> (ComponentResult _rv)"}, -#endif - {"SpriteMediaDisposeSprite", (PyCFunction)Qt_SpriteMediaDisposeSprite, 1, - "(MediaHandler mh, QTAtomID spriteID) -> (ComponentResult _rv)"}, - {"SpriteMediaSetActionVariableToString", (PyCFunction)Qt_SpriteMediaSetActionVariableToString, 1, - "(MediaHandler mh, QTAtomID variableID, Ptr theCString) -> (ComponentResult _rv)"}, - {"SpriteMediaGetActionVariableAsString", (PyCFunction)Qt_SpriteMediaGetActionVariableAsString, 1, - "(MediaHandler mh, QTAtomID variableID) -> (ComponentResult _rv, Handle theCString)"}, - {"FlashMediaSetPan", (PyCFunction)Qt_FlashMediaSetPan, 1, - "(MediaHandler mh, short xPercent, short yPercent) -> (ComponentResult _rv)"}, - {"FlashMediaSetZoom", (PyCFunction)Qt_FlashMediaSetZoom, 1, - "(MediaHandler mh, short factor) -> (ComponentResult _rv)"}, - {"FlashMediaSetZoomRect", (PyCFunction)Qt_FlashMediaSetZoomRect, 1, - "(MediaHandler mh, long left, long top, long right, long bottom) -> (ComponentResult _rv)"}, - {"FlashMediaGetRefConBounds", (PyCFunction)Qt_FlashMediaGetRefConBounds, 1, - "(MediaHandler mh, long refCon) -> (ComponentResult _rv, long left, long top, long right, long bottom)"}, - {"FlashMediaGetRefConID", (PyCFunction)Qt_FlashMediaGetRefConID, 1, - "(MediaHandler mh, long refCon) -> (ComponentResult _rv, long refConID)"}, - {"FlashMediaIDToRefCon", (PyCFunction)Qt_FlashMediaIDToRefCon, 1, - "(MediaHandler mh, long refConID) -> (ComponentResult _rv, long refCon)"}, - {"FlashMediaGetDisplayedFrameNumber", (PyCFunction)Qt_FlashMediaGetDisplayedFrameNumber, 1, - "(MediaHandler mh) -> (ComponentResult _rv, long flashFrameNumber)"}, - {"FlashMediaFrameNumberToMovieTime", (PyCFunction)Qt_FlashMediaFrameNumberToMovieTime, 1, - "(MediaHandler mh, long flashFrameNumber) -> (ComponentResult _rv, TimeValue movieTime)"}, - {"FlashMediaFrameLabelToMovieTime", (PyCFunction)Qt_FlashMediaFrameLabelToMovieTime, 1, - "(MediaHandler mh, Ptr theLabel) -> (ComponentResult _rv, TimeValue movieTime)"}, - -#if !TARGET_API_MAC_CARBON - {"MovieMediaGetCurrentMovieProperty", (PyCFunction)Qt_MovieMediaGetCurrentMovieProperty, 1, - "(MediaHandler mh, OSType whichProperty, void * value) -> (ComponentResult _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"MovieMediaGetCurrentTrackProperty", (PyCFunction)Qt_MovieMediaGetCurrentTrackProperty, 1, - "(MediaHandler mh, long trackID, OSType whichProperty, void * value) -> (ComponentResult _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"MovieMediaGetChildMovieDataReference", (PyCFunction)Qt_MovieMediaGetChildMovieDataReference, 1, - "(MediaHandler mh, QTAtomID dataRefID, short dataRefIndex) -> (ComponentResult _rv, OSType dataRefType, Handle dataRef, QTAtomID dataRefIDOut, short dataRefIndexOut)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"MovieMediaSetChildMovieDataReference", (PyCFunction)Qt_MovieMediaSetChildMovieDataReference, 1, - "(MediaHandler mh, QTAtomID dataRefID, OSType dataRefType, Handle dataRef) -> (ComponentResult _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"MovieMediaLoadChildMovieFromDataReference", (PyCFunction)Qt_MovieMediaLoadChildMovieFromDataReference, 1, - "(MediaHandler mh, QTAtomID dataRefID) -> (ComponentResult _rv)"}, -#endif - {"Media3DGetCurrentGroup", (PyCFunction)Qt_Media3DGetCurrentGroup, 1, - "(MediaHandler mh, void * group) -> (ComponentResult _rv)"}, - {"Media3DTranslateNamedObjectTo", (PyCFunction)Qt_Media3DTranslateNamedObjectTo, 1, - "(MediaHandler mh, Fixed x, Fixed y, Fixed z) -> (ComponentResult _rv, char objectName)"}, - {"Media3DScaleNamedObjectTo", (PyCFunction)Qt_Media3DScaleNamedObjectTo, 1, - "(MediaHandler mh, Fixed xScale, Fixed yScale, Fixed zScale) -> (ComponentResult _rv, char objectName)"}, - {"Media3DRotateNamedObjectTo", (PyCFunction)Qt_Media3DRotateNamedObjectTo, 1, - "(MediaHandler mh, Fixed xDegrees, Fixed yDegrees, Fixed zDegrees) -> (ComponentResult _rv, char objectName)"}, - {"Media3DSetCameraData", (PyCFunction)Qt_Media3DSetCameraData, 1, - "(MediaHandler mh, void * cameraData) -> (ComponentResult _rv)"}, - {"Media3DGetCameraData", (PyCFunction)Qt_Media3DGetCameraData, 1, - "(MediaHandler mh, void * cameraData) -> (ComponentResult _rv)"}, - {"Media3DSetCameraAngleAspect", (PyCFunction)Qt_Media3DSetCameraAngleAspect, 1, - "(MediaHandler mh, QTFloatSingle fov, QTFloatSingle aspectRatioXToY) -> (ComponentResult _rv)"}, - {"Media3DGetCameraAngleAspect", (PyCFunction)Qt_Media3DGetCameraAngleAspect, 1, - "(MediaHandler mh) -> (ComponentResult _rv, QTFloatSingle fov, QTFloatSingle aspectRatioXToY)"}, - {"Media3DSetCameraRange", (PyCFunction)Qt_Media3DSetCameraRange, 1, - "(MediaHandler mh, void * tQ3CameraRange) -> (ComponentResult _rv)"}, - {"Media3DGetCameraRange", (PyCFunction)Qt_Media3DGetCameraRange, 1, - "(MediaHandler mh, void * tQ3CameraRange) -> (ComponentResult _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"Media3DGetViewObject", (PyCFunction)Qt_Media3DGetViewObject, 1, - "(MediaHandler mh, void * tq3viewObject) -> (ComponentResult _rv)"}, -#endif - {"NewTimeBase", (PyCFunction)Qt_NewTimeBase, 1, - "() -> (TimeBase _rv)"}, - {"ConvertTime", (PyCFunction)Qt_ConvertTime, 1, - "(TimeRecord inout, TimeBase newBase) -> (TimeRecord inout)"}, - {"ConvertTimeScale", (PyCFunction)Qt_ConvertTimeScale, 1, - "(TimeRecord inout, TimeScale newScale) -> (TimeRecord inout)"}, - {"AddTime", (PyCFunction)Qt_AddTime, 1, - "(TimeRecord dst, TimeRecord src) -> (TimeRecord dst)"}, - {"SubtractTime", (PyCFunction)Qt_SubtractTime, 1, - "(TimeRecord dst, TimeRecord src) -> (TimeRecord dst)"}, - {"MusicMediaGetIndexedTunePlayer", (PyCFunction)Qt_MusicMediaGetIndexedTunePlayer, 1, - "(ComponentInstance ti, long sampleDescIndex) -> (ComponentResult _rv, ComponentInstance tp)"}, - {"AlignWindow", (PyCFunction)Qt_AlignWindow, 1, - "(WindowPtr wp, Boolean front) -> None"}, - {"DragAlignedWindow", (PyCFunction)Qt_DragAlignedWindow, 1, - "(WindowPtr wp, Point startPt, Rect boundsRect) -> None"}, - {"MoviesTask", (PyCFunction)Qt_MoviesTask, 1, - "(long maxMilliSecToUse) -> None"}, - {NULL, NULL, 0} -}; - - - - -void initQt(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(Track, TrackObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Track, TrackObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(Movie, MovieObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Movie, MovieObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(MovieController, MovieCtlObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MovieController, MovieCtlObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(TimeBase, TimeBaseObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TimeBase, TimeBaseObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(UserData, UserDataObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(UserData, UserDataObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(Media, MediaObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Media, MediaObj_Convert); - - - m = Py_InitModule("Qt", Qt_methods); - d = PyModule_GetDict(m); - Qt_Error = PyMac_GetOSErrException(); - if (Qt_Error == NULL || - PyDict_SetItemString(d, "Error", Qt_Error) != 0) - return; - MovieController_Type.ob_type = &PyType_Type; - Py_INCREF(&MovieController_Type); - if (PyDict_SetItemString(d, "MovieControllerType", (PyObject *)&MovieController_Type) != 0) - Py_FatalError("can't initialize MovieControllerType"); - TimeBase_Type.ob_type = &PyType_Type; - Py_INCREF(&TimeBase_Type); - if (PyDict_SetItemString(d, "TimeBaseType", (PyObject *)&TimeBase_Type) != 0) - Py_FatalError("can't initialize TimeBaseType"); - UserData_Type.ob_type = &PyType_Type; - Py_INCREF(&UserData_Type); - if (PyDict_SetItemString(d, "UserDataType", (PyObject *)&UserData_Type) != 0) - Py_FatalError("can't initialize UserDataType"); - Media_Type.ob_type = &PyType_Type; - Py_INCREF(&Media_Type); - if (PyDict_SetItemString(d, "MediaType", (PyObject *)&Media_Type) != 0) - Py_FatalError("can't initialize MediaType"); - Track_Type.ob_type = &PyType_Type; - Py_INCREF(&Track_Type); - if (PyDict_SetItemString(d, "TrackType", (PyObject *)&Track_Type) != 0) - Py_FatalError("can't initialize TrackType"); - Movie_Type.ob_type = &PyType_Type; - Py_INCREF(&Movie_Type); - if (PyDict_SetItemString(d, "MovieType", (PyObject *)&Movie_Type) != 0) - Py_FatalError("can't initialize MovieType"); -} - -/* ========================= End module Qt ========================== */ - diff --git a/Mac/Modules/res/Resmodule.c b/Mac/Modules/res/Resmodule.c deleted file mode 100644 index 8790080..0000000 --- a/Mac/Modules/res/Resmodule.c +++ /dev/null @@ -1,1579 +0,0 @@ - -/* =========================== Module Res =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Resources.h> -#include <string.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_ResObj_New(Handle); -extern int _ResObj_Convert(PyObject *, Handle *); -extern PyObject *_OptResObj_New(Handle); -extern int _OptResObj_Convert(PyObject *, Handle *); -#define ResObj_New _ResObj_New -#define ResObj_Convert _ResObj_Convert -#define OptResObj_New _OptResObj_New -#define OptResObj_Convert _OptResObj_Convert -#endif - -/* Function to dispose a resource, with a "normal" calling sequence */ -static void -PyMac_AutoDisposeHandle(Handle h) -{ - DisposeHandle(h); -} - -static PyObject *Res_Error; - -/* ---------------------- Object type Resource ---------------------- */ - -PyTypeObject Resource_Type; - -#define ResObj_Check(x) ((x)->ob_type == &Resource_Type) - -typedef struct ResourceObject { - PyObject_HEAD - Handle ob_itself; - void (*ob_freeit)(Handle ptr); -} ResourceObject; - -PyObject *ResObj_New(Handle itself) -{ - ResourceObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(ResourceObject, &Resource_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = NULL; - return (PyObject *)it; -} -ResObj_Convert(PyObject *v, Handle *p_itself) -{ - if (!ResObj_Check(v)) - { - PyObject *tmp; - if ( (tmp=PyObject_CallMethod(v, "as_Resource", "")) ) - { - *p_itself = ((ResourceObject *)tmp)->ob_itself; - Py_DECREF(tmp); - return 1; - } - PyErr_Clear(); - } - if (!ResObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Resource required"); - return 0; - } - *p_itself = ((ResourceObject *)v)->ob_itself; - return 1; -} - -static void ResObj_dealloc(ResourceObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - self->ob_freeit(self->ob_itself); - } - self->ob_itself = NULL; - PyMem_DEL(self); -} - -static PyObject *ResObj_HomeResFile(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = HomeResFile(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *ResObj_MacLoadResource(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - MacLoadResource(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_ReleaseResource(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ReleaseResource(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_DetachResource(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DetachResource(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_GetResAttrs(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetResAttrs(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *ResObj_GetResInfo(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short theID; - ResType theType; - Str255 name; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetResInfo(_self->ob_itself, - &theID, - &theType, - name); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("hO&O&", - theID, - PyMac_BuildOSType, theType, - PyMac_BuildStr255, name); - return _res; -} - -static PyObject *ResObj_SetResInfo(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short theID; - Str255 name; - if (!PyArg_ParseTuple(_args, "hO&", - &theID, - PyMac_GetStr255, name)) - return NULL; - SetResInfo(_self->ob_itself, - theID, - name); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_AddResource(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ResType theType; - short theID; - Str255 name; - if (!PyArg_ParseTuple(_args, "O&hO&", - PyMac_GetOSType, &theType, - &theID, - PyMac_GetStr255, name)) - return NULL; - AddResource(_self->ob_itself, - theType, - theID, - name); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_GetResourceSizeOnDisk(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetResourceSizeOnDisk(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *ResObj_GetMaxResourceSize(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetMaxResourceSize(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("l", - _rv); - return _res; -} - -#if TARGET_API_MAC_OS8 - -static PyObject *ResObj_RsrcMapEntry(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = RsrcMapEntry(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("l", - _rv); - return _res; -} -#endif - -static PyObject *ResObj_SetResAttrs(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short attrs; - if (!PyArg_ParseTuple(_args, "h", - &attrs)) - return NULL; - SetResAttrs(_self->ob_itself, - attrs); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_ChangedResource(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ChangedResource(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_RemoveResource(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - RemoveResource(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_WriteResource(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - WriteResource(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_SetResourceSize(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long newSize; - if (!PyArg_ParseTuple(_args, "l", - &newSize)) - return NULL; - SetResourceSize(_self->ob_itself, - newSize); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_GetNextFOND(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetNextFOND(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *ResObj_as_Control(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - return CtlObj_New((ControlHandle)_self->ob_itself); - -} - -static PyObject *ResObj_as_Menu(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - return MenuObj_New((MenuHandle)_self->ob_itself); - -} - -static PyObject *ResObj_LoadResource(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - LoadResource(_self->ob_itself); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *ResObj_AutoDispose(ResourceObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - int onoff, old = 0; - if (!PyArg_ParseTuple(_args, "i", &onoff)) - return NULL; - if ( _self->ob_freeit ) - old = 1; - if ( onoff ) - _self->ob_freeit = PyMac_AutoDisposeHandle; - else - _self->ob_freeit = NULL; - return Py_BuildValue("i", old); - -} - -static PyMethodDef ResObj_methods[] = { - {"HomeResFile", (PyCFunction)ResObj_HomeResFile, 1, - "() -> (short _rv)"}, - {"MacLoadResource", (PyCFunction)ResObj_MacLoadResource, 1, - "() -> None"}, - {"ReleaseResource", (PyCFunction)ResObj_ReleaseResource, 1, - "() -> None"}, - {"DetachResource", (PyCFunction)ResObj_DetachResource, 1, - "() -> None"}, - {"GetResAttrs", (PyCFunction)ResObj_GetResAttrs, 1, - "() -> (short _rv)"}, - {"GetResInfo", (PyCFunction)ResObj_GetResInfo, 1, - "() -> (short theID, ResType theType, Str255 name)"}, - {"SetResInfo", (PyCFunction)ResObj_SetResInfo, 1, - "(short theID, Str255 name) -> None"}, - {"AddResource", (PyCFunction)ResObj_AddResource, 1, - "(ResType theType, short theID, Str255 name) -> None"}, - {"GetResourceSizeOnDisk", (PyCFunction)ResObj_GetResourceSizeOnDisk, 1, - "() -> (long _rv)"}, - {"GetMaxResourceSize", (PyCFunction)ResObj_GetMaxResourceSize, 1, - "() -> (long _rv)"}, - -#if TARGET_API_MAC_OS8 - {"RsrcMapEntry", (PyCFunction)ResObj_RsrcMapEntry, 1, - "() -> (long _rv)"}, -#endif - {"SetResAttrs", (PyCFunction)ResObj_SetResAttrs, 1, - "(short attrs) -> None"}, - {"ChangedResource", (PyCFunction)ResObj_ChangedResource, 1, - "() -> None"}, - {"RemoveResource", (PyCFunction)ResObj_RemoveResource, 1, - "() -> None"}, - {"WriteResource", (PyCFunction)ResObj_WriteResource, 1, - "() -> None"}, - {"SetResourceSize", (PyCFunction)ResObj_SetResourceSize, 1, - "(long newSize) -> None"}, - {"GetNextFOND", (PyCFunction)ResObj_GetNextFOND, 1, - "() -> (Handle _rv)"}, - {"as_Control", (PyCFunction)ResObj_as_Control, 1, - "Return this resource/handle as a Control"}, - {"as_Menu", (PyCFunction)ResObj_as_Menu, 1, - "Return this resource/handle as a Menu"}, - {"LoadResource", (PyCFunction)ResObj_LoadResource, 1, - "() -> None"}, - {"AutoDispose", (PyCFunction)ResObj_AutoDispose, 1, - "(int)->int. Automatically DisposeHandle the object on Python object cleanup"}, - {NULL, NULL, 0} -}; - -PyMethodChain ResObj_chain = { ResObj_methods, NULL }; - -static PyObject *ResObj_getattr(ResourceObject *self, char *name) -{ - - if (strcmp(name, "size") == 0) - return PyInt_FromLong(GetHandleSize(self->ob_itself)); - if (strcmp(name, "data") == 0) { - PyObject *res; - char state; - state = HGetState(self->ob_itself); - HLock(self->ob_itself); - res = PyString_FromStringAndSize( - *self->ob_itself, - GetHandleSize(self->ob_itself)); - HUnlock(self->ob_itself); - HSetState(self->ob_itself, state); - return res; - } - if (strcmp(name, "__members__") == 0) - return Py_BuildValue("[ss]", "data", "size"); - - return Py_FindMethodInChain(&ResObj_chain, (PyObject *)self, name); -} - -static int -ResObj_setattr(ResourceObject *self, char *name, PyObject *value) -{ - char *data; - long size; - - if (strcmp(name, "data") != 0 || value == NULL ) - return -1; - if ( !PyString_Check(value) ) - return -1; - size = PyString_Size(value); - data = PyString_AsString(value); - /* XXXX Do I need the GetState/SetState calls? */ - SetHandleSize(self->ob_itself, size); - if ( MemError()) - return -1; - HLock(self->ob_itself); - memcpy((char *)*self->ob_itself, data, size); - HUnlock(self->ob_itself); - /* XXXX Should I do the Changed call immedeately? */ - return 0; -} - - -#define ResObj_compare NULL - -#define ResObj_repr NULL - -#define ResObj_hash NULL - -PyTypeObject Resource_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Resource", /*tp_name*/ - sizeof(ResourceObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) ResObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) ResObj_getattr, /*tp_getattr*/ - (setattrfunc) ResObj_setattr, /*tp_setattr*/ - (cmpfunc) ResObj_compare, /*tp_compare*/ - (reprfunc) ResObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) ResObj_hash, /*tp_hash*/ -}; - -/* -------------------- End object type Resource -------------------- */ - - -#if TARGET_API_MAC_OS8 - -static PyObject *Res_InitResources(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = InitResources(); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_OS8 - -static PyObject *Res_RsrcZoneInit(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - RsrcZoneInit(); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Res_CloseResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short refNum; - if (!PyArg_ParseTuple(_args, "h", - &refNum)) - return NULL; - CloseResFile(refNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Res_ResError(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = ResError(); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_CurResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CurResFile(); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -#if TARGET_API_MAC_OS8 - -static PyObject *Res_CreateResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 fileName; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, fileName)) - return NULL; - CreateResFile(fileName); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_OS8 - -static PyObject *Res_OpenResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - Str255 fileName; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, fileName)) - return NULL; - _rv = OpenResFile(fileName); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} -#endif - -static PyObject *Res_UseResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short refNum; - if (!PyArg_ParseTuple(_args, "h", - &refNum)) - return NULL; - UseResFile(refNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Res_CountTypes(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CountTypes(); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_Count1Types(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = Count1Types(); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_GetIndType(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ResType theType; - short index; - if (!PyArg_ParseTuple(_args, "h", - &index)) - return NULL; - GetIndType(&theType, - index); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - PyMac_BuildOSType, theType); - return _res; -} - -static PyObject *Res_Get1IndType(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - ResType theType; - short index; - if (!PyArg_ParseTuple(_args, "h", - &index)) - return NULL; - Get1IndType(&theType, - index); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - PyMac_BuildOSType, theType); - return _res; -} - -static PyObject *Res_SetResLoad(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean load; - if (!PyArg_ParseTuple(_args, "b", - &load)) - return NULL; - SetResLoad(load); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Res_CountResources(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - ResType theType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theType)) - return NULL; - _rv = CountResources(theType); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_Count1Resources(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - ResType theType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theType)) - return NULL; - _rv = Count1Resources(theType); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_GetIndResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ResType theType; - short index; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetOSType, &theType, - &index)) - return NULL; - _rv = GetIndResource(theType, - index); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Res_Get1IndResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ResType theType; - short index; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetOSType, &theType, - &index)) - return NULL; - _rv = Get1IndResource(theType, - index); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Res_GetResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ResType theType; - short theID; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetOSType, &theType, - &theID)) - return NULL; - _rv = GetResource(theType, - theID); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Res_Get1Resource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ResType theType; - short theID; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetOSType, &theType, - &theID)) - return NULL; - _rv = Get1Resource(theType, - theID); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Res_GetNamedResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ResType theType; - Str255 name; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theType, - PyMac_GetStr255, name)) - return NULL; - _rv = GetNamedResource(theType, - name); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Res_Get1NamedResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ResType theType; - Str255 name; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theType, - PyMac_GetStr255, name)) - return NULL; - _rv = Get1NamedResource(theType, - name); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Res_UniqueID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - ResType theType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theType)) - return NULL; - _rv = UniqueID(theType); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_Unique1ID(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - ResType theType; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theType)) - return NULL; - _rv = Unique1ID(theType); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_UpdateResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short refNum; - if (!PyArg_ParseTuple(_args, "h", - &refNum)) - return NULL; - UpdateResFile(refNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Res_SetResPurge(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean install; - if (!PyArg_ParseTuple(_args, "b", - &install)) - return NULL; - SetResPurge(install); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Res_GetResFileAttrs(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - short refNum; - if (!PyArg_ParseTuple(_args, "h", - &refNum)) - return NULL; - _rv = GetResFileAttrs(refNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_SetResFileAttrs(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short refNum; - short attrs; - if (!PyArg_ParseTuple(_args, "hh", - &refNum, - &attrs)) - return NULL; - SetResFileAttrs(refNum, - attrs); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Res_OpenRFPerm(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - Str255 fileName; - short vRefNum; - SignedByte permission; - if (!PyArg_ParseTuple(_args, "O&hb", - PyMac_GetStr255, fileName, - &vRefNum, - &permission)) - return NULL; - _rv = OpenRFPerm(fileName, - vRefNum, - permission); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -#if TARGET_API_MAC_OS8 - -static PyObject *Res_RGetResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - ResType theType; - short theID; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetOSType, &theType, - &theID)) - return NULL; - _rv = RGetResource(theType, - theID); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} -#endif - -static PyObject *Res_HOpenResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - short vRefNum; - long dirID; - Str255 fileName; - SignedByte permission; - if (!PyArg_ParseTuple(_args, "hlO&b", - &vRefNum, - &dirID, - PyMac_GetStr255, fileName, - &permission)) - return NULL; - _rv = HOpenResFile(vRefNum, - dirID, - fileName, - permission); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_HCreateResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short vRefNum; - long dirID; - Str255 fileName; - if (!PyArg_ParseTuple(_args, "hlO&", - &vRefNum, - &dirID, - PyMac_GetStr255, fileName)) - return NULL; - HCreateResFile(vRefNum, - dirID, - fileName); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Res_FSpOpenResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - FSSpec spec; - SignedByte permission; - if (!PyArg_ParseTuple(_args, "O&b", - PyMac_GetFSSpec, &spec, - &permission)) - return NULL; - _rv = FSpOpenResFile(&spec, - permission); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *Res_FSpCreateResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - FSSpec spec; - OSType creator; - OSType fileType; - ScriptCode scriptTag; - if (!PyArg_ParseTuple(_args, "O&O&O&h", - PyMac_GetFSSpec, &spec, - PyMac_GetOSType, &creator, - PyMac_GetOSType, &fileType, - &scriptTag)) - return NULL; - FSpCreateResFile(&spec, - creator, - fileType, - scriptTag); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Res_InsertResourceFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _rv; - SInt16 refNum; - RsrcChainLocation where; - if (!PyArg_ParseTuple(_args, "hh", - &refNum, - &where)) - return NULL; - _rv = InsertResourceFile(refNum, - where); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Res_DetachResourceFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _rv; - SInt16 refNum; - if (!PyArg_ParseTuple(_args, "h", - &refNum)) - return NULL; - _rv = DetachResourceFile(refNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("h", - _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Res_FSpResourceFileAlreadyOpen(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - FSSpec resourceFile; - Boolean inChain; - SInt16 refNum; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFSSpec, &resourceFile)) - return NULL; - _rv = FSpResourceFileAlreadyOpen(&resourceFile, - &inChain, - &refNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("bbh", - _rv, - inChain, - refNum); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Res_FSpOpenOrphanResFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _rv; - FSSpec spec; - SignedByte permission; - SInt16 refNum; - if (!PyArg_ParseTuple(_args, "O&b", - PyMac_GetFSSpec, &spec, - &permission)) - return NULL; - _rv = FSpOpenOrphanResFile(&spec, - permission, - &refNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("hh", - _rv, - refNum); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Res_GetTopResourceFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _rv; - SInt16 refNum; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetTopResourceFile(&refNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("hh", - _rv, - refNum); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Res_GetNextResourceFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _rv; - SInt16 curRefNum; - SInt16 nextRefNum; - if (!PyArg_ParseTuple(_args, "h", - &curRefNum)) - return NULL; - _rv = GetNextResourceFile(curRefNum, - &nextRefNum); - { - OSErr _err = ResError(); - if (_err != noErr) return PyMac_Error(_err); - } - _res = Py_BuildValue("hh", - _rv, - nextRefNum); - return _res; -} -#endif - -static PyObject *Res_Resource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - char *buf; - int len; - Handle h; - - if (!PyArg_ParseTuple(_args, "s#", &buf, &len)) - return NULL; - h = NewHandle(len); - if ( h == NULL ) { - PyErr_NoMemory(); - return NULL; - } - HLock(h); - memcpy(*h, buf, len); - HUnlock(h); - return ResObj_New(h); - -} - -static PyObject *Res_Handle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - char *buf; - int len; - Handle h; - ResourceObject *rv; - - if (!PyArg_ParseTuple(_args, "s#", &buf, &len)) - return NULL; - h = NewHandle(len); - if ( h == NULL ) { - PyErr_NoMemory(); - return NULL; - } - HLock(h); - memcpy(*h, buf, len); - HUnlock(h); - rv = (ResourceObject *)ResObj_New(h); - rv->ob_freeit = PyMac_AutoDisposeHandle; - return (PyObject *)rv; - -} - -static PyMethodDef Res_methods[] = { - -#if TARGET_API_MAC_OS8 - {"InitResources", (PyCFunction)Res_InitResources, 1, - "() -> (short _rv)"}, -#endif - -#if TARGET_API_MAC_OS8 - {"RsrcZoneInit", (PyCFunction)Res_RsrcZoneInit, 1, - "() -> None"}, -#endif - {"CloseResFile", (PyCFunction)Res_CloseResFile, 1, - "(short refNum) -> None"}, - {"ResError", (PyCFunction)Res_ResError, 1, - "() -> (OSErr _rv)"}, - {"CurResFile", (PyCFunction)Res_CurResFile, 1, - "() -> (short _rv)"}, - -#if TARGET_API_MAC_OS8 - {"CreateResFile", (PyCFunction)Res_CreateResFile, 1, - "(Str255 fileName) -> None"}, -#endif - -#if TARGET_API_MAC_OS8 - {"OpenResFile", (PyCFunction)Res_OpenResFile, 1, - "(Str255 fileName) -> (short _rv)"}, -#endif - {"UseResFile", (PyCFunction)Res_UseResFile, 1, - "(short refNum) -> None"}, - {"CountTypes", (PyCFunction)Res_CountTypes, 1, - "() -> (short _rv)"}, - {"Count1Types", (PyCFunction)Res_Count1Types, 1, - "() -> (short _rv)"}, - {"GetIndType", (PyCFunction)Res_GetIndType, 1, - "(short index) -> (ResType theType)"}, - {"Get1IndType", (PyCFunction)Res_Get1IndType, 1, - "(short index) -> (ResType theType)"}, - {"SetResLoad", (PyCFunction)Res_SetResLoad, 1, - "(Boolean load) -> None"}, - {"CountResources", (PyCFunction)Res_CountResources, 1, - "(ResType theType) -> (short _rv)"}, - {"Count1Resources", (PyCFunction)Res_Count1Resources, 1, - "(ResType theType) -> (short _rv)"}, - {"GetIndResource", (PyCFunction)Res_GetIndResource, 1, - "(ResType theType, short index) -> (Handle _rv)"}, - {"Get1IndResource", (PyCFunction)Res_Get1IndResource, 1, - "(ResType theType, short index) -> (Handle _rv)"}, - {"GetResource", (PyCFunction)Res_GetResource, 1, - "(ResType theType, short theID) -> (Handle _rv)"}, - {"Get1Resource", (PyCFunction)Res_Get1Resource, 1, - "(ResType theType, short theID) -> (Handle _rv)"}, - {"GetNamedResource", (PyCFunction)Res_GetNamedResource, 1, - "(ResType theType, Str255 name) -> (Handle _rv)"}, - {"Get1NamedResource", (PyCFunction)Res_Get1NamedResource, 1, - "(ResType theType, Str255 name) -> (Handle _rv)"}, - {"UniqueID", (PyCFunction)Res_UniqueID, 1, - "(ResType theType) -> (short _rv)"}, - {"Unique1ID", (PyCFunction)Res_Unique1ID, 1, - "(ResType theType) -> (short _rv)"}, - {"UpdateResFile", (PyCFunction)Res_UpdateResFile, 1, - "(short refNum) -> None"}, - {"SetResPurge", (PyCFunction)Res_SetResPurge, 1, - "(Boolean install) -> None"}, - {"GetResFileAttrs", (PyCFunction)Res_GetResFileAttrs, 1, - "(short refNum) -> (short _rv)"}, - {"SetResFileAttrs", (PyCFunction)Res_SetResFileAttrs, 1, - "(short refNum, short attrs) -> None"}, - {"OpenRFPerm", (PyCFunction)Res_OpenRFPerm, 1, - "(Str255 fileName, short vRefNum, SignedByte permission) -> (short _rv)"}, - -#if TARGET_API_MAC_OS8 - {"RGetResource", (PyCFunction)Res_RGetResource, 1, - "(ResType theType, short theID) -> (Handle _rv)"}, -#endif - {"HOpenResFile", (PyCFunction)Res_HOpenResFile, 1, - "(short vRefNum, long dirID, Str255 fileName, SignedByte permission) -> (short _rv)"}, - {"HCreateResFile", (PyCFunction)Res_HCreateResFile, 1, - "(short vRefNum, long dirID, Str255 fileName) -> None"}, - {"FSpOpenResFile", (PyCFunction)Res_FSpOpenResFile, 1, - "(FSSpec spec, SignedByte permission) -> (short _rv)"}, - {"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1, - "(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None"}, - -#if TARGET_API_MAC_CARBON - {"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1, - "(SInt16 refNum, RsrcChainLocation where) -> (OSErr _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1, - "(SInt16 refNum) -> (OSErr _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1, - "(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1, - "(FSSpec spec, SignedByte permission) -> (OSErr _rv, SInt16 refNum)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetTopResourceFile", (PyCFunction)Res_GetTopResourceFile, 1, - "() -> (OSErr _rv, SInt16 refNum)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1, - "(SInt16 curRefNum) -> (OSErr _rv, SInt16 nextRefNum)"}, -#endif - {"Resource", (PyCFunction)Res_Resource, 1, - "Convert a string to a resource object.\n\nThe created resource object is actually just a handle,\napply AddResource() to write it to a resource file.\nSee also the Handle() docstring.\n"}, - {"Handle", (PyCFunction)Res_Handle, 1, - "Convert a string to a Handle object.\n\nResource() and Handle() are very similar, but objects created with Handle() are\nby default automatically DisposeHandle()d upon object cleanup. Use AutoDispose()\nto change this.\n"}, - {NULL, NULL, 0} -}; - - - - -/* Alternative version of ResObj_New, which returns None for null argument */ -PyObject *OptResObj_New(Handle itself) -{ - if (itself == NULL) { - Py_INCREF(Py_None); - return Py_None; - } - return ResObj_New(itself); -} - -OptResObj_Convert(PyObject *v, Handle *p_itself) -{ - PyObject *tmp; - - if ( v == Py_None ) { - *p_itself = NULL; - return 1; - } - if (ResObj_Check(v)) - { - *p_itself = ((ResourceObject *)v)->ob_itself; - return 1; - } - /* If it isn't a resource yet see whether it is convertible */ - if ( (tmp=PyObject_CallMethod(v, "as_Resource", "")) ) { - *p_itself = ((ResourceObject *)tmp)->ob_itself; - Py_DECREF(tmp); - return 1; - } - PyErr_Clear(); - PyErr_SetString(PyExc_TypeError, "Resource required"); - return 0; -} - - -void initRes(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(Handle, ResObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Handle, ResObj_Convert); - PyMac_INIT_TOOLBOX_OBJECT_NEW(Handle, OptResObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Handle, OptResObj_Convert); - - - m = Py_InitModule("Res", Res_methods); - d = PyModule_GetDict(m); - Res_Error = PyMac_GetOSErrException(); - if (Res_Error == NULL || - PyDict_SetItemString(d, "Error", Res_Error) != 0) - return; - Resource_Type.ob_type = &PyType_Type; - Py_INCREF(&Resource_Type); - if (PyDict_SetItemString(d, "ResourceType", (PyObject *)&Resource_Type) != 0) - Py_FatalError("can't initialize ResourceType"); -} - -/* ========================= End module Res ========================= */ - diff --git a/Mac/Modules/scrap/Scrapmodule.c b/Mac/Modules/scrap/Scrapmodule.c deleted file mode 100644 index 7677258..0000000 --- a/Mac/Modules/scrap/Scrapmodule.c +++ /dev/null @@ -1,260 +0,0 @@ - -/* ========================== Module Scrap ========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Scrap.h> -#else -#include <Carbon/Carbon.h> -#endif - -#if !TARGET_API_MAC_CARBON - -/* -** Generate ScrapInfo records -*/ -static PyObject * -SCRRec_New(itself) - ScrapStuff *itself; -{ - - return Py_BuildValue("lO&hhO&", itself->scrapSize, - ResObj_New, itself->scrapHandle, itself->scrapCount, itself->scrapState, - PyMac_BuildStr255, itself->scrapName); -} -#endif - -static PyObject *Scrap_Error; - -static PyObject *Scrap_LoadScrap(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = LoadScrap(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Scrap_UnloadScrap(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = UnloadScrap(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Scrap_InfoScrap(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ScrapStuffPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = InfoScrap(); - _res = Py_BuildValue("O&", - SCRRec_New, _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Scrap_GetScrap(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - long _rv; - Handle destination; - ScrapFlavorType flavorType; - SInt32 offset; - if (!PyArg_ParseTuple(_args, "O&O&", - ResObj_Convert, &destination, - PyMac_GetOSType, &flavorType)) - return NULL; - _rv = GetScrap(destination, - flavorType, - &offset); - _res = Py_BuildValue("ll", - _rv, - offset); - return _res; -} -#endif - - -static PyObject *Scrap_ZeroScrap(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; -#if TARGET_API_MAC_CARBON - { - ScrapRef scrap; - - _err = ClearCurrentScrap(); - if (_err != noErr) return PyMac_Error(_err); - _err = GetCurrentScrap(&scrap); - } -#else - _err = ZeroScrap(); -#endif - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Scrap_PutScrap(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - OSStatus _err; - SInt32 sourceBufferByteCount; - ScrapFlavorType flavorType; - char *sourceBuffer__in__; - int sourceBuffer__len__; - int sourceBuffer__in_len__; -#if TARGET_API_MAC_CARBON - ScrapRef scrap; -#endif - - if (!PyArg_ParseTuple(_args, "O&s#", - PyMac_GetOSType, &flavorType, - &sourceBuffer__in__, &sourceBuffer__in_len__)) - return NULL; - sourceBufferByteCount = sourceBuffer__in_len__; - sourceBuffer__len__ = sourceBuffer__in_len__; -#if TARGET_API_MAC_CARBON - _err = GetCurrentScrap(&scrap); - if (_err != noErr) return PyMac_Error(_err); - _err = PutScrapFlavor(scrap, flavorType, 0, sourceBufferByteCount, sourceBuffer__in__); -#else - _err = PutScrap(sourceBufferByteCount, - flavorType, - sourceBuffer__in__); -#endif - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - sourceBuffer__error__: ; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Scrap_ClearCurrentScrap(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = ClearCurrentScrap(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Scrap_CallInScrapPromises(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = CallInScrapPromises(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyMethodDef Scrap_methods[] = { - {"LoadScrap", (PyCFunction)Scrap_LoadScrap, 1, - "() -> None"}, - {"UnloadScrap", (PyCFunction)Scrap_UnloadScrap, 1, - "() -> None"}, - -#if !TARGET_API_MAC_CARBON - {"InfoScrap", (PyCFunction)Scrap_InfoScrap, 1, - "() -> (ScrapStuffPtr _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"GetScrap", (PyCFunction)Scrap_GetScrap, 1, - "(Handle destination, ScrapFlavorType flavorType) -> (long _rv, SInt32 offset)"}, -#endif - - {"ZeroScrap", (PyCFunction)Scrap_ZeroScrap, 1, - "() -> None"}, - - {"PutScrap", (PyCFunction)Scrap_PutScrap, 1, - "(ScrapFlavorType flavorType, Buffer sourceBuffer) -> None"}, - -#if TARGET_API_MAC_CARBON - {"ClearCurrentScrap", (PyCFunction)Scrap_ClearCurrentScrap, 1, - "() -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"CallInScrapPromises", (PyCFunction)Scrap_CallInScrapPromises, 1, - "() -> None"}, -#endif - {NULL, NULL, 0} -}; - - - - -void initScrap() -{ - PyObject *m; - PyObject *d; - - - - - m = Py_InitModule("Scrap", Scrap_methods); - d = PyModule_GetDict(m); - Scrap_Error = PyMac_GetOSErrException(); - if (Scrap_Error == NULL || - PyDict_SetItemString(d, "Error", Scrap_Error) != 0) - return; -} - -/* ======================== End module Scrap ======================== */ - diff --git a/Mac/Modules/snd/Sndihooks.c b/Mac/Modules/snd/Sndihooks.c deleted file mode 100644 index a4aa609..0000000 --- a/Mac/Modules/snd/Sndihooks.c +++ /dev/null @@ -1,513 +0,0 @@ -/*********************************************************** -Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, -The Netherlands. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the names of Stichting Mathematisch -Centrum or CWI or Corporation for National Research Initiatives or -CNRI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -While CWI is the initial source for this software, a modified version -is made available by the Corporation for National Research Initiatives -(CNRI) at the Internet address ftp://ftp.python.org. - -STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH -CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -******************************************************************/ - -#include "Python.h" -#include "macglue.h" -#include "pymactoolbox.h" -#include <Sound.h> - -#pragma options align=mac68k -struct SampleRateAvailable_arg { - short numrates; - Handle rates; -}; - -struct SampleSizeAvailable_arg { - short numsizes; - Handle sizes; -}; - -#pragma options align=reset - -static PyObject *ErrorObject; - - -/* Convert Python object to unsigned Fixed */ -static int -PyMac_GetUFixed(PyObject *v, Fixed *f) -{ - double d; - unsigned long uns; - - if( !PyArg_Parse(v, "d", &d)) - return 0; - uns = (unsigned long)(d * 0x10000); - *f = (Fixed)uns; - return 1; -} - -/* Convert a Point to a Python object */ -static PyObject * -PyMac_BuildUFixed(Fixed f) -{ - double d; - unsigned long funs; - - funs = (unsigned long)f; - - d = funs; - d = d / 0x10000; - return Py_BuildValue("d", d); -} - - -/* ----------------------------------------------------- */ - -static char sndih_getChannelAvailable__doc__[] = -"" -; - -static PyObject * -sndih_getChannelAvailable(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short nchannel; - OSErr err; - - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siChannelAvailable, (Ptr)&nchannel)) != noErr ) - return PyMac_Error(err); - return Py_BuildValue("h", nchannel); -} - -static char sndih_getNumberChannels__doc__[] = -"" -; - -static PyObject * -sndih_getNumberChannels(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short nchannel; - OSErr err; - - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siNumberChannels, (Ptr)&nchannel)) != noErr ) - return PyMac_Error(err); - return Py_BuildValue("h", nchannel); -} - -static char sndih_setNumberChannels__doc__[] = -"" -; - -static PyObject * -sndih_setNumberChannels(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short nchannel; - OSErr err; - - if (!PyArg_ParseTuple(args, "lh", &inRefNum, &nchannel)) - return NULL; - - if( (err=SPBSetDeviceInfo(inRefNum, siNumberChannels, (Ptr)&nchannel)) != noErr ) - return PyMac_Error(err); - Py_INCREF(Py_None); - return Py_None; -} - -static char sndih_getContinuous__doc__[] = -"" -; - -static PyObject * -sndih_getContinuous(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short onoff; - OSErr err; - - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siContinuous, (Ptr)&onoff)) != noErr ) - return PyMac_Error(err); - return Py_BuildValue("h", onoff); -} - -static char sndih_setContinuous__doc__[] = -"" -; - -static PyObject * -sndih_setContinuous(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short onoff; - OSErr err; - - if (!PyArg_ParseTuple(args, "lh", &inRefNum, &onoff)) - return NULL; - - if( (err=SPBSetDeviceInfo(inRefNum, siContinuous, (Ptr)&onoff)) != noErr ) - return PyMac_Error(err); - Py_INCREF(Py_None); - return Py_None; -} - -static char sndih_getInputSourceNames__doc__[] = -"" -; - -static PyObject * -sndih_getInputSourceNames(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - Handle names; - OSErr err; - - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siInputSourceNames, (Ptr)&names)) != noErr ) - return PyMac_Error(err); - return Py_BuildValue("O&", ResObj_New, names); -} - -static char sndih_getInputSource__doc__[] = -"" -; - -static PyObject * -sndih_getInputSource(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short source; - OSErr err; - - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siInputSource, (Ptr)&source)) != noErr ) - return PyMac_Error(err); - return Py_BuildValue("h", source); -} - -static char sndih_setInputSource__doc__[] = -"" -; - -static PyObject * -sndih_setInputSource(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short source; - OSErr err; - - if (!PyArg_ParseTuple(args, "lh", &inRefNum, &source)) - return NULL; - - if( (err=SPBSetDeviceInfo(inRefNum, siInputSource, (Ptr)&source)) != noErr ) - return PyMac_Error(err); - Py_INCREF(Py_None); - return Py_None; -} - -static char sndih_getPlayThruOnOff__doc__[] = -"" -; - -static PyObject * -sndih_getPlayThruOnOff(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short onoff; - OSErr err; - - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siPlayThruOnOff, (Ptr)&onoff)) != noErr ) - return PyMac_Error(err); - return Py_BuildValue("h", onoff); -} - -static char sndih_setPlayThruOnOff__doc__[] = -"" -; - -static PyObject * -sndih_setPlayThruOnOff(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short onoff; - OSErr err; - - if (!PyArg_ParseTuple(args, "lh", &inRefNum, &onoff)) - return NULL; - - if( (err=SPBSetDeviceInfo(inRefNum, siPlayThruOnOff, (Ptr)&onoff)) != noErr ) - return PyMac_Error(err); - Py_INCREF(Py_None); - return Py_None; -} - -static char sndih_getSampleRate__doc__[] = -"" -; - -static PyObject * -sndih_getSampleRate(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - Fixed sample_rate; - OSErr err; - - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siSampleRate, (Ptr)&sample_rate)) != noErr ) - return PyMac_Error(err); - return Py_BuildValue("O&", PyMac_BuildUFixed, sample_rate); -} - -static char sndih_setSampleRate__doc__[] = -"" -; - -static PyObject * -sndih_setSampleRate(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - Fixed sample_rate; - OSErr err; - - if (!PyArg_ParseTuple(args, "lO&", &inRefNum, PyMac_GetUFixed, &sample_rate)) - return NULL; - - if( (err=SPBSetDeviceInfo(inRefNum, siSampleRate, (Ptr)&sample_rate)) != noErr ) - return PyMac_Error(err); - Py_INCREF(Py_None); - return Py_None; -} - -static char sndih_getSampleSize__doc__[] = -"" -; - -static PyObject * -sndih_getSampleSize(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short bits; - OSErr err; - - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siSampleSize, (Ptr)&bits)) != noErr ) - return PyMac_Error(err); - return Py_BuildValue("h", bits); -} - -static char sndih_setSampleSize__doc__[] = -"" -; - -static PyObject * -sndih_setSampleSize(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - short size; - OSErr err; - - if (!PyArg_ParseTuple(args, "lh", &inRefNum, &size)) - return NULL; - - if( (err=SPBSetDeviceInfo(inRefNum, siSampleSize, (Ptr)&size)) != noErr ) - return PyMac_Error(err); - Py_INCREF(Py_None); - return Py_None; -} - -static char sndih_getSampleSizeAvailable__doc__[] = -"" -; - -static PyObject * -sndih_getSampleSizeAvailable(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - struct SampleSizeAvailable_arg arg; - OSErr err; - PyObject *rsizes; - short *fsizes; - int i; - - arg.sizes = NULL; - rsizes = NULL; - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siSampleSizeAvailable, (Ptr)&arg)) != noErr ) { - return PyMac_Error(err); - } - fsizes = (short *)*(arg.sizes); - /* Handle contains a list of rates */ - if( (rsizes = PyTuple_New(arg.numsizes)) == NULL) - return NULL; - for( i=0; i<arg.numsizes; i++ ) - PyTuple_SetItem(rsizes, i, PyInt_FromLong((long)fsizes[i])); - return rsizes; -} - -static char sndih_getSampleRateAvailable__doc__[] = -"" -; - -static PyObject * -sndih_getSampleRateAvailable(self, args) - PyObject *self; /* Not used */ - PyObject *args; -{ - long inRefNum; - struct SampleRateAvailable_arg arg; - OSErr err; - PyObject *rrates, *obj; - Fixed *frates; - int i; - - arg.rates = NULL; - rrates = NULL; - if (!PyArg_ParseTuple(args, "l", &inRefNum)) - return NULL; - - if( (err=SPBGetDeviceInfo(inRefNum, siSampleRateAvailable, (Ptr)&arg)) != noErr ) { - return PyMac_Error(err); - } - frates = (Fixed *)*(arg.rates); - if( arg.numrates == 0 ) { - /* The handle contains upper and lowerbound */ - rrates = Py_BuildValue("O&O&", frates[0], frates[1]); - if (rrates == NULL) return NULL; - } else { - /* Handle contains a list of rates */ - if( (rrates = PyTuple_New(arg.numrates)) == NULL) - return NULL; - for( i=0; i<arg.numrates; i++ ) { - if( (obj = Py_BuildValue("O&", PyMac_BuildUFixed, frates[i]))==NULL) - goto out; - PyTuple_SetItem(rrates, i, obj); - } - } - return Py_BuildValue("hO", arg.numrates, rrates); -out: - Py_XDECREF(rrates); - return NULL; -} - -/* List of methods defined in the module */ - -static struct PyMethodDef sndih_methods[] = { - {"getChannelAvailable", (PyCFunction)sndih_getChannelAvailable, METH_VARARGS, sndih_getChannelAvailable__doc__}, - {"getNumberChannels", (PyCFunction)sndih_getNumberChannels, METH_VARARGS, sndih_getNumberChannels__doc__}, - {"setNumberChannels", (PyCFunction)sndih_setNumberChannels, METH_VARARGS, sndih_setNumberChannels__doc__}, - {"getContinuous", (PyCFunction)sndih_getContinuous, METH_VARARGS, sndih_getContinuous__doc__}, - {"setContinuous", (PyCFunction)sndih_setContinuous, METH_VARARGS, sndih_setContinuous__doc__}, - {"getInputSourceNames", (PyCFunction)sndih_getInputSourceNames, METH_VARARGS, sndih_getInputSourceNames__doc__}, - {"getInputSource", (PyCFunction)sndih_getInputSource, METH_VARARGS, sndih_getInputSource__doc__}, - {"setInputSource", (PyCFunction)sndih_setInputSource, METH_VARARGS, sndih_setInputSource__doc__}, - {"getPlayThruOnOff", (PyCFunction)sndih_getPlayThruOnOff, METH_VARARGS, sndih_getPlayThruOnOff__doc__}, - {"setPlayThruOnOff", (PyCFunction)sndih_setPlayThruOnOff, METH_VARARGS, sndih_setPlayThruOnOff__doc__}, - {"getSampleRate", (PyCFunction)sndih_getSampleRate, METH_VARARGS, sndih_getSampleRate__doc__}, - {"setSampleRate", (PyCFunction)sndih_setSampleRate, METH_VARARGS, sndih_setSampleRate__doc__}, - {"getSampleSize", (PyCFunction)sndih_getSampleSize, METH_VARARGS, sndih_getSampleSize__doc__}, - {"setSampleSize", (PyCFunction)sndih_setSampleSize, METH_VARARGS, sndih_setSampleSize__doc__}, - {"getSampleSizeAvailable", (PyCFunction)sndih_getSampleSizeAvailable, METH_VARARGS, sndih_getSampleSizeAvailable__doc__}, - {"getSampleRateAvailable", (PyCFunction)sndih_getSampleRateAvailable, METH_VARARGS, sndih_getSampleRateAvailable__doc__}, - - {NULL, (PyCFunction)NULL, 0, NULL} /* sentinel */ -}; - - -/* Initialization function for the module (*must* be called initSndihooks) */ - -static char Sndihooks_module_documentation[] = -"" -; - -void -initSndihooks() -{ - PyObject *m, *d; - - /* Create the module and add the functions */ - m = Py_InitModule4("Sndihooks", sndih_methods, - Sndihooks_module_documentation, - (PyObject*)NULL,PYTHON_API_VERSION); - - /* Add some symbolic constants to the module */ - d = PyModule_GetDict(m); - ErrorObject = PyString_FromString("Sndihooks.error"); - PyDict_SetItemString(d, "error", ErrorObject); - - /* XXXX Add constants here */ - - /* Check for errors */ - if (PyErr_Occurred()) - Py_FatalError("can't initialize module Sndihooks"); -} - diff --git a/Mac/Modules/snd/Sndmodule.c b/Mac/Modules/snd/Sndmodule.c deleted file mode 100644 index a561a95..0000000 --- a/Mac/Modules/snd/Sndmodule.c +++ /dev/null @@ -1,1454 +0,0 @@ - -/* =========================== Module Snd =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Sound.h> -#include <OSUtils.h> /* for Set(Current)A5 */ -#else -#include <Carbon/Carbon.h> -#endif - - -/* Create a SndCommand object (an (int, int, int) tuple) */ -static PyObject * -SndCmd_New(SndCommand *pc) -{ - return Py_BuildValue("hhl", pc->cmd, pc->param1, pc->param2); -} - -/* Convert a SndCommand argument */ -static int -SndCmd_Convert(PyObject *v, SndCommand *pc) -{ - int len; - pc->param1 = 0; - pc->param2 = 0; - if (PyTuple_Check(v)) { - if (PyArg_ParseTuple(v, "h|hl", &pc->cmd, &pc->param1, &pc->param2)) - return 1; - PyErr_Clear(); - return PyArg_ParseTuple(v, "Hhs#", &pc->cmd, &pc->param1, &pc->param2, &len); - } - return PyArg_Parse(v, "H", &pc->cmd); -} - -static pascal void SndCh_UserRoutine(SndChannelPtr chan, SndCommand *cmd); /* Forward */ -static pascal void SPB_completion(SPBPtr my_spb); /* Forward */ -#if !TARGET_API_MAC_CARBON -static pascal void SPB_interrupt(SPBPtr my_spb); /* Forward */ -#endif - -static PyObject *Snd_Error; - -/* --------------------- Object type SndChannel --------------------- */ - -staticforward PyTypeObject SndChannel_Type; - -#define SndCh_Check(x) ((x)->ob_type == &SndChannel_Type) - -typedef struct SndChannelObject { - PyObject_HEAD - SndChannelPtr ob_itself; - /* Members used to implement callbacks: */ - PyObject *ob_callback; - long ob_A5; - SndCommand ob_cmd; -} SndChannelObject; - -static PyObject *SndCh_New(SndChannelPtr itself) -{ - SndChannelObject *it; - it = PyObject_NEW(SndChannelObject, &SndChannel_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_callback = NULL; - it->ob_A5 = SetCurrentA5(); - return (PyObject *)it; -} -static SndCh_Convert(PyObject *v, SndChannelPtr *p_itself) -{ - if (!SndCh_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "SndChannel required"); - return 0; - } - *p_itself = ((SndChannelObject *)v)->ob_itself; - return 1; -} - -static void SndCh_dealloc(SndChannelObject *self) -{ - SndDisposeChannel(self->ob_itself, 1); - Py_XDECREF(self->ob_callback); - PyMem_DEL(self); -} - -static PyObject *SndCh_SndDoCommand(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SndCommand cmd; - Boolean noWait; - if (!PyArg_ParseTuple(_args, "O&b", - SndCmd_Convert, &cmd, - &noWait)) - return NULL; - _err = SndDoCommand(_self->ob_itself, - &cmd, - noWait); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *SndCh_SndDoImmediate(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SndCommand cmd; - if (!PyArg_ParseTuple(_args, "O&", - SndCmd_Convert, &cmd)) - return NULL; - _err = SndDoImmediate(_self->ob_itself, - &cmd); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *SndCh_SndPlay(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SndListHandle sndHandle; - Boolean async; - if (!PyArg_ParseTuple(_args, "O&b", - ResObj_Convert, &sndHandle, - &async)) - return NULL; - _err = SndPlay(_self->ob_itself, - sndHandle, - async); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *SndCh_SndStartFilePlay(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short fRefNum; - short resNum; - long bufferSize; - Boolean async; - if (!PyArg_ParseTuple(_args, "hhlb", - &fRefNum, - &resNum, - &bufferSize, - &async)) - return NULL; - _err = SndStartFilePlay(_self->ob_itself, - fRefNum, - resNum, - bufferSize, - 0, - 0, - 0, - async); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *SndCh_SndPauseFilePlay(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = SndPauseFilePlay(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *SndCh_SndStopFilePlay(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Boolean quietNow; - if (!PyArg_ParseTuple(_args, "b", - &quietNow)) - return NULL; - _err = SndStopFilePlay(_self->ob_itself, - quietNow); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *SndCh_SndChannelStatus(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short theLength; - SCStatus theStatus__out__; - if (!PyArg_ParseTuple(_args, "h", - &theLength)) - return NULL; - _err = SndChannelStatus(_self->ob_itself, - theLength, - &theStatus__out__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("s#", - (char *)&theStatus__out__, (int)sizeof(SCStatus)); - theStatus__error__: ; - return _res; -} - -static PyObject *SndCh_SndGetInfo(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType selector; - void * infoPtr; - if (!PyArg_ParseTuple(_args, "O&w", - PyMac_GetOSType, &selector, - &infoPtr)) - return NULL; - _err = SndGetInfo(_self->ob_itself, - selector, - infoPtr); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *SndCh_SndSetInfo(SndChannelObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType selector; - void * infoPtr; - if (!PyArg_ParseTuple(_args, "O&w", - PyMac_GetOSType, &selector, - &infoPtr)) - return NULL; - _err = SndSetInfo(_self->ob_itself, - selector, - infoPtr); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef SndCh_methods[] = { - {"SndDoCommand", (PyCFunction)SndCh_SndDoCommand, 1, - "(SndCommand cmd, Boolean noWait) -> None"}, - {"SndDoImmediate", (PyCFunction)SndCh_SndDoImmediate, 1, - "(SndCommand cmd) -> None"}, - {"SndPlay", (PyCFunction)SndCh_SndPlay, 1, - "(SndListHandle sndHandle, Boolean async) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"SndStartFilePlay", (PyCFunction)SndCh_SndStartFilePlay, 1, - "(short fRefNum, short resNum, long bufferSize, Boolean async) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SndPauseFilePlay", (PyCFunction)SndCh_SndPauseFilePlay, 1, - "() -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SndStopFilePlay", (PyCFunction)SndCh_SndStopFilePlay, 1, - "(Boolean quietNow) -> None"}, -#endif - {"SndChannelStatus", (PyCFunction)SndCh_SndChannelStatus, 1, - "(short theLength) -> (SCStatus theStatus)"}, - {"SndGetInfo", (PyCFunction)SndCh_SndGetInfo, 1, - "(OSType selector, void * infoPtr) -> None"}, - {"SndSetInfo", (PyCFunction)SndCh_SndSetInfo, 1, - "(OSType selector, void * infoPtr) -> None"}, - {NULL, NULL, 0} -}; - -static PyMethodChain SndCh_chain = { SndCh_methods, NULL }; - -static PyObject *SndCh_getattr(SndChannelObject *self, char *name) -{ - return Py_FindMethodInChain(&SndCh_chain, (PyObject *)self, name); -} - -#define SndCh_setattr NULL - -#define SndCh_compare NULL - -#define SndCh_repr NULL - -#define SndCh_hash NULL - -staticforward PyTypeObject SndChannel_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "SndChannel", /*tp_name*/ - sizeof(SndChannelObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) SndCh_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) SndCh_getattr, /*tp_getattr*/ - (setattrfunc) SndCh_setattr, /*tp_setattr*/ - (cmpfunc) SndCh_compare, /*tp_compare*/ - (reprfunc) SndCh_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) SndCh_hash, /*tp_hash*/ -}; - -/* ------------------- End object type SndChannel ------------------- */ - - -/* ------------------------ Object type SPB ------------------------- */ - -staticforward PyTypeObject SPB_Type; - -#define SPBObj_Check(x) ((x)->ob_type == &SPB_Type) - -typedef struct SPBObject { - PyObject_HEAD - /* Members used to implement callbacks: */ - PyObject *ob_completion; - PyObject *ob_interrupt; - PyObject *ob_thiscallback; - long ob_A5; - SPB ob_spb; -} SPBObject; - -static PyObject *SPBObj_New(void) -{ - SPBObject *it; - it = PyObject_NEW(SPBObject, &SPB_Type); - if (it == NULL) return NULL; - it->ob_completion = NULL; - it->ob_interrupt = NULL; - it->ob_thiscallback = NULL; - it->ob_A5 = SetCurrentA5(); - memset((char *)&it->ob_spb, 0, sizeof(it->ob_spb)); - it->ob_spb.userLong = (long)it; - return (PyObject *)it; -} -static SPBObj_Convert(PyObject *v, SPBPtr *p_itself) -{ - if (!SPBObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "SPB required"); - return 0; - } - *p_itself = &((SPBObject *)v)->ob_spb; - return 1; -} - -static void SPBObj_dealloc(SPBObject *self) -{ - /* Cleanup of self->ob_itself goes here */ - self->ob_spb.userLong = 0; - self->ob_thiscallback = 0; - Py_XDECREF(self->ob_completion); - Py_XDECREF(self->ob_interrupt); - PyMem_DEL(self); -} - -static PyMethodDef SPBObj_methods[] = { - {NULL, NULL, 0} -}; - -static PyMethodChain SPBObj_chain = { SPBObj_methods, NULL }; - -static PyObject *SPBObj_getattr(SPBObject *self, char *name) -{ - - if (strcmp(name, "inRefNum") == 0) - return Py_BuildValue("l", self->ob_spb.inRefNum); - else if (strcmp(name, "count") == 0) - return Py_BuildValue("l", self->ob_spb.count); - else if (strcmp(name, "milliseconds") == 0) - return Py_BuildValue("l", self->ob_spb.milliseconds); - else if (strcmp(name, "error") == 0) - return Py_BuildValue("h", self->ob_spb.error); - return Py_FindMethodInChain(&SPBObj_chain, (PyObject *)self, name); -} - -static int SPBObj_setattr(SPBObject *self, char *name, PyObject *value) -{ - - int rv = 0; - - if (strcmp(name, "inRefNum") == 0) - rv = PyArg_Parse(value, "l", &self->ob_spb.inRefNum); - else if (strcmp(name, "count") == 0) - rv = PyArg_Parse(value, "l", &self->ob_spb.count); - else if (strcmp(name, "milliseconds") == 0) - rv = PyArg_Parse(value, "l", &self->ob_spb.milliseconds); - else if (strcmp(name, "buffer") == 0) - rv = PyArg_Parse(value, "w#", &self->ob_spb.bufferPtr, &self->ob_spb.bufferLength); - else if (strcmp(name, "completionRoutine") == 0) { - self->ob_spb.completionRoutine = NewSICompletionUPP(SPB_completion); - self->ob_completion = value; - Py_INCREF(value); - rv = 1; -#if !TARGET_API_MAC_CARBON - } else if (strcmp(name, "interruptRoutine") == 0) { - self->ob_spb.completionRoutine = NewSIInterruptUPP(SPB_interrupt); - self->ob_interrupt = value; - Py_INCREF(value); - rv = 1; -#endif - } - if ( rv ) return 0; - else return -1; -} - -#define SPBObj_compare NULL - -#define SPBObj_repr NULL - -#define SPBObj_hash NULL - -staticforward PyTypeObject SPB_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "SPB", /*tp_name*/ - sizeof(SPBObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) SPBObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) SPBObj_getattr, /*tp_getattr*/ - (setattrfunc) SPBObj_setattr, /*tp_setattr*/ - (cmpfunc) SPBObj_compare, /*tp_compare*/ - (reprfunc) SPBObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) SPBObj_hash, /*tp_hash*/ -}; - -/* ---------------------- End object type SPB ----------------------- */ - - -static PyObject *Snd_SPB(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - return SPBObj_New(); -} - -static PyObject *Snd_SysBeep(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short duration; - if (!PyArg_ParseTuple(_args, "h", - &duration)) - return NULL; - SysBeep(duration); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SndNewChannel(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SndChannelPtr chan = 0; - short synth; - long init; - PyObject* userRoutine; - if (!PyArg_ParseTuple(_args, "hlO", - &synth, - &init, - &userRoutine)) - return NULL; - if (userRoutine != Py_None && !PyCallable_Check(userRoutine)) - { - PyErr_SetString(PyExc_TypeError, "callback must be callable"); - goto userRoutine__error__; - } - _err = SndNewChannel(&chan, - synth, - init, - NewSndCallBackUPP(SndCh_UserRoutine)); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - SndCh_New, chan); - if (_res != NULL && userRoutine != Py_None) - { - SndChannelObject *p = (SndChannelObject *)_res; - p->ob_itself->userInfo = (long)p; - Py_INCREF(userRoutine); - p->ob_callback = userRoutine; - } - userRoutine__error__: ; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Snd_SndControl(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short id; - SndCommand cmd; - if (!PyArg_ParseTuple(_args, "h", - &id)) - return NULL; - _err = SndControl(id, - &cmd); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - SndCmd_New, &cmd); - return _res; -} -#endif - -static PyObject *Snd_SndSoundManagerVersion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - NumVersion _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = SndSoundManagerVersion(); - _res = Py_BuildValue("O&", - PyMac_BuildNumVersion, _rv); - return _res; -} - -static PyObject *Snd_SndManagerStatus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short theLength; - SMStatus theStatus__out__; - if (!PyArg_ParseTuple(_args, "h", - &theLength)) - return NULL; - _err = SndManagerStatus(theLength, - &theStatus__out__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("s#", - (char *)&theStatus__out__, (int)sizeof(SMStatus)); - theStatus__error__: ; - return _res; -} - -static PyObject *Snd_SndGetSysBeepState(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short sysBeepState; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - SndGetSysBeepState(&sysBeepState); - _res = Py_BuildValue("h", - sysBeepState); - return _res; -} - -static PyObject *Snd_SndSetSysBeepState(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short sysBeepState; - if (!PyArg_ParseTuple(_args, "h", - &sysBeepState)) - return NULL; - _err = SndSetSysBeepState(sysBeepState); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Snd_MACEVersion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - NumVersion _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MACEVersion(); - _res = Py_BuildValue("O&", - PyMac_BuildNumVersion, _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Snd_Comp3to1(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *buffer__in__; - char *buffer__out__; - long buffer__len__; - int buffer__in_len__; - StateBlock *state__in__; - StateBlock state__out__; - int state__in_len__; - unsigned long numChannels; - unsigned long whichChannel; - if (!PyArg_ParseTuple(_args, "s#s#ll", - &buffer__in__, &buffer__in_len__, - (char **)&state__in__, &state__in_len__, - &numChannels, - &whichChannel)) - return NULL; - if ((buffer__out__ = malloc(buffer__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto buffer__error__; - } - buffer__len__ = buffer__in_len__; - if (state__in_len__ != sizeof(StateBlock)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(StateBlock)"); - goto state__error__; - } - Comp3to1(buffer__in__, buffer__out__, (long)buffer__len__, - state__in__, &state__out__, - numChannels, - whichChannel); - _res = Py_BuildValue("s#s#", - buffer__out__, (int)buffer__len__, - (char *)&state__out__, (int)sizeof(StateBlock)); - state__error__: ; - free(buffer__out__); - buffer__error__: ; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Snd_Exp1to3(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *buffer__in__; - char *buffer__out__; - long buffer__len__; - int buffer__in_len__; - StateBlock *state__in__; - StateBlock state__out__; - int state__in_len__; - unsigned long numChannels; - unsigned long whichChannel; - if (!PyArg_ParseTuple(_args, "s#s#ll", - &buffer__in__, &buffer__in_len__, - (char **)&state__in__, &state__in_len__, - &numChannels, - &whichChannel)) - return NULL; - if ((buffer__out__ = malloc(buffer__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto buffer__error__; - } - buffer__len__ = buffer__in_len__; - if (state__in_len__ != sizeof(StateBlock)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(StateBlock)"); - goto state__error__; - } - Exp1to3(buffer__in__, buffer__out__, (long)buffer__len__, - state__in__, &state__out__, - numChannels, - whichChannel); - _res = Py_BuildValue("s#s#", - buffer__out__, (int)buffer__len__, - (char *)&state__out__, (int)sizeof(StateBlock)); - state__error__: ; - free(buffer__out__); - buffer__error__: ; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Snd_Comp6to1(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *buffer__in__; - char *buffer__out__; - long buffer__len__; - int buffer__in_len__; - StateBlock *state__in__; - StateBlock state__out__; - int state__in_len__; - unsigned long numChannels; - unsigned long whichChannel; - if (!PyArg_ParseTuple(_args, "s#s#ll", - &buffer__in__, &buffer__in_len__, - (char **)&state__in__, &state__in_len__, - &numChannels, - &whichChannel)) - return NULL; - if ((buffer__out__ = malloc(buffer__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto buffer__error__; - } - buffer__len__ = buffer__in_len__; - if (state__in_len__ != sizeof(StateBlock)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(StateBlock)"); - goto state__error__; - } - Comp6to1(buffer__in__, buffer__out__, (long)buffer__len__, - state__in__, &state__out__, - numChannels, - whichChannel); - _res = Py_BuildValue("s#s#", - buffer__out__, (int)buffer__len__, - (char *)&state__out__, (int)sizeof(StateBlock)); - state__error__: ; - free(buffer__out__); - buffer__error__: ; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Snd_Exp1to6(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *buffer__in__; - char *buffer__out__; - long buffer__len__; - int buffer__in_len__; - StateBlock *state__in__; - StateBlock state__out__; - int state__in_len__; - unsigned long numChannels; - unsigned long whichChannel; - if (!PyArg_ParseTuple(_args, "s#s#ll", - &buffer__in__, &buffer__in_len__, - (char **)&state__in__, &state__in_len__, - &numChannels, - &whichChannel)) - return NULL; - if ((buffer__out__ = malloc(buffer__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto buffer__error__; - } - buffer__len__ = buffer__in_len__; - if (state__in_len__ != sizeof(StateBlock)) - { - PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(StateBlock)"); - goto state__error__; - } - Exp1to6(buffer__in__, buffer__out__, (long)buffer__len__, - state__in__, &state__out__, - numChannels, - whichChannel); - _res = Py_BuildValue("s#s#", - buffer__out__, (int)buffer__len__, - (char *)&state__out__, (int)sizeof(StateBlock)); - state__error__: ; - free(buffer__out__); - buffer__error__: ; - return _res; -} -#endif - -static PyObject *Snd_GetSysBeepVolume(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long level; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetSysBeepVolume(&level); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - level); - return _res; -} - -static PyObject *Snd_SetSysBeepVolume(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long level; - if (!PyArg_ParseTuple(_args, "l", - &level)) - return NULL; - _err = SetSysBeepVolume(level); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_GetDefaultOutputVolume(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long level; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetDefaultOutputVolume(&level); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - level); - return _res; -} - -static PyObject *Snd_SetDefaultOutputVolume(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long level; - if (!PyArg_ParseTuple(_args, "l", - &level)) - return NULL; - _err = SetDefaultOutputVolume(level); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_GetSoundHeaderOffset(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SndListHandle sndHandle; - long offset; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &sndHandle)) - return NULL; - _err = GetSoundHeaderOffset(sndHandle, - &offset); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - offset); - return _res; -} - -static PyObject *Snd_GetCompressionInfo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short compressionID; - OSType format; - short numChannels; - short sampleSize; - CompressionInfo cp__out__; - if (!PyArg_ParseTuple(_args, "hO&hh", - &compressionID, - PyMac_GetOSType, &format, - &numChannels, - &sampleSize)) - return NULL; - _err = GetCompressionInfo(compressionID, - format, - numChannels, - sampleSize, - &cp__out__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("s#", - (char *)&cp__out__, (int)sizeof(CompressionInfo)); - cp__error__: ; - return _res; -} - -static PyObject *Snd_SetSoundPreference(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType theType; - Str255 name; - Handle settings; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theType, - ResObj_Convert, &settings)) - return NULL; - _err = SetSoundPreference(theType, - name, - settings); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildStr255, name); - return _res; -} - -static PyObject *Snd_GetSoundPreference(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType theType; - Str255 name; - Handle settings; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theType, - ResObj_Convert, &settings)) - return NULL; - _err = GetSoundPreference(theType, - name, - settings); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildStr255, name); - return _res; -} - -static PyObject *Snd_GetCompressionName(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - OSType compressionType; - Str255 compressionName; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &compressionType)) - return NULL; - _err = GetCompressionName(compressionType, - compressionName); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildStr255, compressionName); - return _res; -} - -static PyObject *Snd_SPBVersion(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - NumVersion _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = SPBVersion(); - _res = Py_BuildValue("O&", - PyMac_BuildNumVersion, _rv); - return _res; -} - -static PyObject *Snd_SPBSignInDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short deviceRefNum; - Str255 deviceName; - if (!PyArg_ParseTuple(_args, "hO&", - &deviceRefNum, - PyMac_GetStr255, deviceName)) - return NULL; - _err = SPBSignInDevice(deviceRefNum, - deviceName); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SPBSignOutDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short deviceRefNum; - if (!PyArg_ParseTuple(_args, "h", - &deviceRefNum)) - return NULL; - _err = SPBSignOutDevice(deviceRefNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SPBGetIndexedDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short count; - Str255 deviceName; - Handle deviceIconHandle; - if (!PyArg_ParseTuple(_args, "h", - &count)) - return NULL; - _err = SPBGetIndexedDevice(count, - deviceName, - &deviceIconHandle); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&", - PyMac_BuildStr255, deviceName, - ResObj_New, deviceIconHandle); - return _res; -} - -static PyObject *Snd_SPBOpenDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - Str255 deviceName; - short permission; - long inRefNum; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetStr255, deviceName, - &permission)) - return NULL; - _err = SPBOpenDevice(deviceName, - permission, - &inRefNum); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - inRefNum); - return _res; -} - -static PyObject *Snd_SPBCloseDevice(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - if (!PyArg_ParseTuple(_args, "l", - &inRefNum)) - return NULL; - _err = SPBCloseDevice(inRefNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SPBRecord(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - SPBPtr inParamPtr; - Boolean asynchFlag; - if (!PyArg_ParseTuple(_args, "O&b", - SPBObj_Convert, &inParamPtr, - &asynchFlag)) - return NULL; - _err = SPBRecord(inParamPtr, - asynchFlag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Snd_SPBRecordToFile(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - short fRefNum; - SPBPtr inParamPtr; - Boolean asynchFlag; - if (!PyArg_ParseTuple(_args, "hO&b", - &fRefNum, - SPBObj_Convert, &inParamPtr, - &asynchFlag)) - return NULL; - _err = SPBRecordToFile(fRefNum, - inParamPtr, - asynchFlag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Snd_SPBPauseRecording(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - if (!PyArg_ParseTuple(_args, "l", - &inRefNum)) - return NULL; - _err = SPBPauseRecording(inRefNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SPBResumeRecording(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - if (!PyArg_ParseTuple(_args, "l", - &inRefNum)) - return NULL; - _err = SPBResumeRecording(inRefNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SPBStopRecording(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - if (!PyArg_ParseTuple(_args, "l", - &inRefNum)) - return NULL; - _err = SPBStopRecording(inRefNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SPBGetRecordingStatus(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - short recordingStatus; - short meterLevel; - unsigned long totalSamplesToRecord; - unsigned long numberOfSamplesRecorded; - unsigned long totalMsecsToRecord; - unsigned long numberOfMsecsRecorded; - if (!PyArg_ParseTuple(_args, "l", - &inRefNum)) - return NULL; - _err = SPBGetRecordingStatus(inRefNum, - &recordingStatus, - &meterLevel, - &totalSamplesToRecord, - &numberOfSamplesRecorded, - &totalMsecsToRecord, - &numberOfMsecsRecorded); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("hhllll", - recordingStatus, - meterLevel, - totalSamplesToRecord, - numberOfSamplesRecorded, - totalMsecsToRecord, - numberOfMsecsRecorded); - return _res; -} - -static PyObject *Snd_SPBGetDeviceInfo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - OSType infoType; - void * infoData; - if (!PyArg_ParseTuple(_args, "lO&w", - &inRefNum, - PyMac_GetOSType, &infoType, - &infoData)) - return NULL; - _err = SPBGetDeviceInfo(inRefNum, - infoType, - infoData); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SPBSetDeviceInfo(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - OSType infoType; - void * infoData; - if (!PyArg_ParseTuple(_args, "lO&w", - &inRefNum, - PyMac_GetOSType, &infoType, - &infoData)) - return NULL; - _err = SPBSetDeviceInfo(inRefNum, - infoType, - infoData); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Snd_SPBMillisecondsToBytes(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - long milliseconds; - if (!PyArg_ParseTuple(_args, "l", - &inRefNum)) - return NULL; - _err = SPBMillisecondsToBytes(inRefNum, - &milliseconds); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - milliseconds); - return _res; -} - -static PyObject *Snd_SPBBytesToMilliseconds(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - long inRefNum; - long byteCount; - if (!PyArg_ParseTuple(_args, "l", - &inRefNum)) - return NULL; - _err = SPBBytesToMilliseconds(inRefNum, - &byteCount); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - byteCount); - return _res; -} - -static PyMethodDef Snd_methods[] = { - {"SPB", (PyCFunction)Snd_SPB, 1, - NULL}, - {"SysBeep", (PyCFunction)Snd_SysBeep, 1, - "(short duration) -> None"}, - {"SndNewChannel", (PyCFunction)Snd_SndNewChannel, 1, - "(short synth, long init, PyObject* userRoutine) -> (SndChannelPtr chan)"}, - -#if !TARGET_API_MAC_CARBON - {"SndControl", (PyCFunction)Snd_SndControl, 1, - "(short id) -> (SndCommand cmd)"}, -#endif - {"SndSoundManagerVersion", (PyCFunction)Snd_SndSoundManagerVersion, 1, - "() -> (NumVersion _rv)"}, - {"SndManagerStatus", (PyCFunction)Snd_SndManagerStatus, 1, - "(short theLength) -> (SMStatus theStatus)"}, - {"SndGetSysBeepState", (PyCFunction)Snd_SndGetSysBeepState, 1, - "() -> (short sysBeepState)"}, - {"SndSetSysBeepState", (PyCFunction)Snd_SndSetSysBeepState, 1, - "(short sysBeepState) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"MACEVersion", (PyCFunction)Snd_MACEVersion, 1, - "() -> (NumVersion _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"Comp3to1", (PyCFunction)Snd_Comp3to1, 1, - "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"Exp1to3", (PyCFunction)Snd_Exp1to3, 1, - "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"Comp6to1", (PyCFunction)Snd_Comp6to1, 1, - "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"Exp1to6", (PyCFunction)Snd_Exp1to6, 1, - "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"}, -#endif - {"GetSysBeepVolume", (PyCFunction)Snd_GetSysBeepVolume, 1, - "() -> (long level)"}, - {"SetSysBeepVolume", (PyCFunction)Snd_SetSysBeepVolume, 1, - "(long level) -> None"}, - {"GetDefaultOutputVolume", (PyCFunction)Snd_GetDefaultOutputVolume, 1, - "() -> (long level)"}, - {"SetDefaultOutputVolume", (PyCFunction)Snd_SetDefaultOutputVolume, 1, - "(long level) -> None"}, - {"GetSoundHeaderOffset", (PyCFunction)Snd_GetSoundHeaderOffset, 1, - "(SndListHandle sndHandle) -> (long offset)"}, - {"GetCompressionInfo", (PyCFunction)Snd_GetCompressionInfo, 1, - "(short compressionID, OSType format, short numChannels, short sampleSize) -> (CompressionInfo cp)"}, - {"SetSoundPreference", (PyCFunction)Snd_SetSoundPreference, 1, - "(OSType theType, Handle settings) -> (Str255 name)"}, - {"GetSoundPreference", (PyCFunction)Snd_GetSoundPreference, 1, - "(OSType theType, Handle settings) -> (Str255 name)"}, - {"GetCompressionName", (PyCFunction)Snd_GetCompressionName, 1, - "(OSType compressionType) -> (Str255 compressionName)"}, - {"SPBVersion", (PyCFunction)Snd_SPBVersion, 1, - "() -> (NumVersion _rv)"}, - {"SPBSignInDevice", (PyCFunction)Snd_SPBSignInDevice, 1, - "(short deviceRefNum, Str255 deviceName) -> None"}, - {"SPBSignOutDevice", (PyCFunction)Snd_SPBSignOutDevice, 1, - "(short deviceRefNum) -> None"}, - {"SPBGetIndexedDevice", (PyCFunction)Snd_SPBGetIndexedDevice, 1, - "(short count) -> (Str255 deviceName, Handle deviceIconHandle)"}, - {"SPBOpenDevice", (PyCFunction)Snd_SPBOpenDevice, 1, - "(Str255 deviceName, short permission) -> (long inRefNum)"}, - {"SPBCloseDevice", (PyCFunction)Snd_SPBCloseDevice, 1, - "(long inRefNum) -> None"}, - {"SPBRecord", (PyCFunction)Snd_SPBRecord, 1, - "(SPBPtr inParamPtr, Boolean asynchFlag) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"SPBRecordToFile", (PyCFunction)Snd_SPBRecordToFile, 1, - "(short fRefNum, SPBPtr inParamPtr, Boolean asynchFlag) -> None"}, -#endif - {"SPBPauseRecording", (PyCFunction)Snd_SPBPauseRecording, 1, - "(long inRefNum) -> None"}, - {"SPBResumeRecording", (PyCFunction)Snd_SPBResumeRecording, 1, - "(long inRefNum) -> None"}, - {"SPBStopRecording", (PyCFunction)Snd_SPBStopRecording, 1, - "(long inRefNum) -> None"}, - {"SPBGetRecordingStatus", (PyCFunction)Snd_SPBGetRecordingStatus, 1, - "(long inRefNum) -> (short recordingStatus, short meterLevel, unsigned long totalSamplesToRecord, unsigned long numberOfSamplesRecorded, unsigned long totalMsecsToRecord, unsigned long numberOfMsecsRecorded)"}, - {"SPBGetDeviceInfo", (PyCFunction)Snd_SPBGetDeviceInfo, 1, - "(long inRefNum, OSType infoType, void * infoData) -> None"}, - {"SPBSetDeviceInfo", (PyCFunction)Snd_SPBSetDeviceInfo, 1, - "(long inRefNum, OSType infoType, void * infoData) -> None"}, - {"SPBMillisecondsToBytes", (PyCFunction)Snd_SPBMillisecondsToBytes, 1, - "(long inRefNum) -> (long milliseconds)"}, - {"SPBBytesToMilliseconds", (PyCFunction)Snd_SPBBytesToMilliseconds, 1, - "(long inRefNum) -> (long byteCount)"}, - {NULL, NULL, 0} -}; - - - -/* Routine passed to Py_AddPendingCall -- call the Python callback */ -static int -SndCh_CallCallBack(void *arg) -{ - SndChannelObject *p = (SndChannelObject *)arg; - PyObject *args; - PyObject *res; - args = Py_BuildValue("(O(hhl))", - p, p->ob_cmd.cmd, p->ob_cmd.param1, p->ob_cmd.param2); - res = PyEval_CallObject(p->ob_callback, args); - Py_DECREF(args); - if (res == NULL) - return -1; - Py_DECREF(res); - return 0; -} - -/* Routine passed to NewSndChannel -- schedule a call to SndCh_CallCallBack */ -static pascal void -SndCh_UserRoutine(SndChannelPtr chan, SndCommand *cmd) -{ - SndChannelObject *p = (SndChannelObject *)(chan->userInfo); - if (p->ob_callback != NULL) { - long A5 = SetA5(p->ob_A5); - p->ob_cmd = *cmd; - Py_AddPendingCall(SndCh_CallCallBack, (void *)p); - SetA5(A5); - } -} - -/* SPB callbacks - Schedule callbacks to Python */ -static int -SPB_CallCallBack(void *arg) -{ - SPBObject *p = (SPBObject *)arg; - PyObject *args; - PyObject *res; - - if ( p->ob_thiscallback == 0 ) return 0; - args = Py_BuildValue("(O)", p); - res = PyEval_CallObject(p->ob_thiscallback, args); - p->ob_thiscallback = 0; - Py_DECREF(args); - if (res == NULL) - return -1; - Py_DECREF(res); - return 0; -} - -static pascal void -SPB_completion(SPBPtr my_spb) -{ - SPBObject *p = (SPBObject *)(my_spb->userLong); - - if (p && p->ob_completion) { - long A5 = SetA5(p->ob_A5); - p->ob_thiscallback = p->ob_completion; /* Hope we cannot get two at the same time */ - Py_AddPendingCall(SPB_CallCallBack, (void *)p); - SetA5(A5); - } -} - -#if !TARGET_API_MAC_CARBON -static pascal void -SPB_interrupt(SPBPtr my_spb) -{ - SPBObject *p = (SPBObject *)(my_spb->userLong); - - if (p && p->ob_interrupt) { - long A5 = SetA5(p->ob_A5); - p->ob_thiscallback = p->ob_interrupt; /* Hope we cannot get two at the same time */ - Py_AddPendingCall(SPB_CallCallBack, (void *)p); - SetA5(A5); - } -} -#endif - - -void initSnd(void) -{ - PyObject *m; - PyObject *d; - - - - - - m = Py_InitModule("Snd", Snd_methods); - d = PyModule_GetDict(m); - Snd_Error = PyMac_GetOSErrException(); - if (Snd_Error == NULL || - PyDict_SetItemString(d, "Error", Snd_Error) != 0) - return; - SndChannel_Type.ob_type = &PyType_Type; - Py_INCREF(&SndChannel_Type); - if (PyDict_SetItemString(d, "SndChannelType", (PyObject *)&SndChannel_Type) != 0) - Py_FatalError("can't initialize SndChannelType"); - SPB_Type.ob_type = &PyType_Type; - Py_INCREF(&SPB_Type); - if (PyDict_SetItemString(d, "SPBType", (PyObject *)&SPB_Type) != 0) - Py_FatalError("can't initialize SPBType"); -} - -/* ========================= End module Snd ========================= */ - diff --git a/Mac/Modules/te/TEmodule.c b/Mac/Modules/te/TEmodule.c deleted file mode 100644 index d37908b..0000000 --- a/Mac/Modules/te/TEmodule.c +++ /dev/null @@ -1,1032 +0,0 @@ - -/* =========================== Module TE ============================ */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <TextEdit.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_TEObj_New(TEHandle); -extern int _TEObj_Convert(PyObject *, TEHandle *); - -#define TEObj_New _TEObj_New -#define TEObj_Convert _TEObj_Convert -#endif - -#define as_TE(h) ((TEHandle)h) -#define as_Resource(teh) ((Handle)teh) - -/* -** Parse/generate TextStyle records -*/ -static PyObject * -TextStyle_New(TextStylePtr itself) -{ - - return Py_BuildValue("lllO&", (long)itself->tsFont, (long)itself->tsFace, (long)itself->tsSize, QdRGB_New, - &itself->tsColor); -} - -static int -TextStyle_Convert(PyObject *v, TextStylePtr p_itself) -{ - long font, face, size; - - if( !PyArg_ParseTuple(v, "lllO&", &font, &face, &size, QdRGB_Convert, &p_itself->tsColor) ) - return 0; - p_itself->tsFont = (short)font; - p_itself->tsFace = (Style)face; - p_itself->tsSize = (short)size; - return 1; -} - -static PyObject *TE_Error; - -/* ------------------------- Object type TE ------------------------- */ - -PyTypeObject TE_Type; - -#define TEObj_Check(x) ((x)->ob_type == &TE_Type) - -typedef struct TEObject { - PyObject_HEAD - TEHandle ob_itself; -} TEObject; - -PyObject *TEObj_New(TEHandle itself) -{ - TEObject *it; - if (itself == NULL) { - PyErr_SetString(TE_Error,"Cannot create null TE"); - return NULL; - } - it = PyObject_NEW(TEObject, &TE_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - return (PyObject *)it; -} -TEObj_Convert(PyObject *v, TEHandle *p_itself) -{ - if (!TEObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "TE required"); - return 0; - } - *p_itself = ((TEObject *)v)->ob_itself; - return 1; -} - -static void TEObj_dealloc(TEObject *self) -{ - TEDispose(self->ob_itself); - PyMem_DEL(self); -} - -static PyObject *TEObj_TESetText(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *text__in__; - long text__len__; - int text__in_len__; - if (!PyArg_ParseTuple(_args, "s#", - &text__in__, &text__in_len__)) - return NULL; - text__len__ = text__in_len__; - TESetText(text__in__, text__len__, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - text__error__: ; - return _res; -} - -static PyObject *TEObj_TEGetText(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CharsHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TEGetText(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TEObj_TEIdle(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TEIdle(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TESetSelect(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long selStart; - long selEnd; - if (!PyArg_ParseTuple(_args, "ll", - &selStart, - &selEnd)) - return NULL; - TESetSelect(selStart, - selEnd, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEActivate(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TEActivate(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEDeactivate(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TEDeactivate(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEKey(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CharParameter key; - if (!PyArg_ParseTuple(_args, "h", - &key)) - return NULL; - TEKey(key, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TECut(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TECut(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TECopy(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TECopy(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEPaste(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TEPaste(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEDelete(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TEDelete(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEInsert(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *text__in__; - long text__len__; - int text__in_len__; - if (!PyArg_ParseTuple(_args, "s#", - &text__in__, &text__in_len__)) - return NULL; - text__len__ = text__in_len__; - TEInsert(text__in__, text__len__, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - text__error__: ; - return _res; -} - -static PyObject *TEObj_TESetAlignment(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short just; - if (!PyArg_ParseTuple(_args, "h", - &just)) - return NULL; - TESetAlignment(just, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEUpdate(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect rUpdate; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &rUpdate)) - return NULL; - TEUpdate(&rUpdate, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEScroll(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "hh", - &dh, - &dv)) - return NULL; - TEScroll(dh, - dv, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TESelView(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TESelView(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEPinScroll(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short dh; - short dv; - if (!PyArg_ParseTuple(_args, "hh", - &dh, - &dv)) - return NULL; - TEPinScroll(dh, - dv, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEAutoView(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean fAuto; - if (!PyArg_ParseTuple(_args, "b", - &fAuto)) - return NULL; - TEAutoView(fAuto, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TECalText(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TECalText(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEGetOffset(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - Point pt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &pt)) - return NULL; - _rv = TEGetOffset(pt, - _self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *TEObj_TEGetPoint(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point _rv; - short offset; - if (!PyArg_ParseTuple(_args, "h", - &offset)) - return NULL; - _rv = TEGetPoint(offset, - _self->ob_itself); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, _rv); - return _res; -} - -static PyObject *TEObj_TEClick(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point pt; - Boolean fExtend; - if (!PyArg_ParseTuple(_args, "O&b", - PyMac_GetPoint, &pt, - &fExtend)) - return NULL; - TEClick(pt, - fExtend, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TESetStyleHandle(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TEStyleHandle theHandle; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &theHandle)) - return NULL; - TESetStyleHandle(theHandle, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEGetStyleHandle(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TEStyleHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TEGetStyleHandle(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TEObj_TEGetStyle(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short offset; - TextStyle theStyle; - short lineHeight; - short fontAscent; - if (!PyArg_ParseTuple(_args, "h", - &offset)) - return NULL; - TEGetStyle(offset, - &theStyle, - &lineHeight, - &fontAscent, - _self->ob_itself); - _res = Py_BuildValue("O&hh", - TextStyle_New, &theStyle, - lineHeight, - fontAscent); - return _res; -} - -static PyObject *TEObj_TEStylePaste(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - TEStylePaste(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TESetStyle(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short mode; - TextStyle newStyle; - Boolean fRedraw; - if (!PyArg_ParseTuple(_args, "hO&b", - &mode, - TextStyle_Convert, &newStyle, - &fRedraw)) - return NULL; - TESetStyle(mode, - &newStyle, - fRedraw, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEReplaceStyle(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short mode; - TextStyle oldStyle; - TextStyle newStyle; - Boolean fRedraw; - if (!PyArg_ParseTuple(_args, "hO&O&b", - &mode, - TextStyle_Convert, &oldStyle, - TextStyle_Convert, &newStyle, - &fRedraw)) - return NULL; - TEReplaceStyle(mode, - &oldStyle, - &newStyle, - fRedraw, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TEGetStyleScrapHandle(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - StScrpHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TEGetStyleScrapHandle(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TEObj_TEStyleInsert(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *text__in__; - long text__len__; - int text__in_len__; - StScrpHandle hST; - if (!PyArg_ParseTuple(_args, "s#O&", - &text__in__, &text__in_len__, - ResObj_Convert, &hST)) - return NULL; - text__len__ = text__in_len__; - TEStyleInsert(text__in__, text__len__, - hST, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - text__error__: ; - return _res; -} - -static PyObject *TEObj_TEGetHeight(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - long endLine; - long startLine; - if (!PyArg_ParseTuple(_args, "ll", - &endLine, - &startLine)) - return NULL; - _rv = TEGetHeight(endLine, - startLine, - _self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TEObj_TEContinuousStyle(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - short mode; - TextStyle aStyle; - if (!PyArg_ParseTuple(_args, "hO&", - &mode, - TextStyle_Convert, &aStyle)) - return NULL; - _rv = TEContinuousStyle(&mode, - &aStyle, - _self->ob_itself); - _res = Py_BuildValue("bhO&", - _rv, - mode, - TextStyle_New, &aStyle); - return _res; -} - -static PyObject *TEObj_TEUseStyleScrap(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long rangeStart; - long rangeEnd; - StScrpHandle newStyles; - Boolean fRedraw; - if (!PyArg_ParseTuple(_args, "llO&b", - &rangeStart, - &rangeEnd, - ResObj_Convert, &newStyles, - &fRedraw)) - return NULL; - TEUseStyleScrap(rangeStart, - rangeEnd, - newStyles, - fRedraw, - _self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_TENumStyles(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - long rangeStart; - long rangeEnd; - if (!PyArg_ParseTuple(_args, "ll", - &rangeStart, - &rangeEnd)) - return NULL; - _rv = TENumStyles(rangeStart, - rangeEnd, - _self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TEObj_TEFeatureFlag(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - short feature; - short action; - if (!PyArg_ParseTuple(_args, "hh", - &feature, - &action)) - return NULL; - _rv = TEFeatureFlag(feature, - action, - _self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *TEObj_TEGetHiliteRgn(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - RgnHandle region; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, ®ion)) - return NULL; - _err = TEGetHiliteRgn(region, - _self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TEObj_as_Resource(TEObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = as_Resource(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyMethodDef TEObj_methods[] = { - {"TESetText", (PyCFunction)TEObj_TESetText, 1, - "(Buffer text) -> None"}, - {"TEGetText", (PyCFunction)TEObj_TEGetText, 1, - "() -> (CharsHandle _rv)"}, - {"TEIdle", (PyCFunction)TEObj_TEIdle, 1, - "() -> None"}, - {"TESetSelect", (PyCFunction)TEObj_TESetSelect, 1, - "(long selStart, long selEnd) -> None"}, - {"TEActivate", (PyCFunction)TEObj_TEActivate, 1, - "() -> None"}, - {"TEDeactivate", (PyCFunction)TEObj_TEDeactivate, 1, - "() -> None"}, - {"TEKey", (PyCFunction)TEObj_TEKey, 1, - "(CharParameter key) -> None"}, - {"TECut", (PyCFunction)TEObj_TECut, 1, - "() -> None"}, - {"TECopy", (PyCFunction)TEObj_TECopy, 1, - "() -> None"}, - {"TEPaste", (PyCFunction)TEObj_TEPaste, 1, - "() -> None"}, - {"TEDelete", (PyCFunction)TEObj_TEDelete, 1, - "() -> None"}, - {"TEInsert", (PyCFunction)TEObj_TEInsert, 1, - "(Buffer text) -> None"}, - {"TESetAlignment", (PyCFunction)TEObj_TESetAlignment, 1, - "(short just) -> None"}, - {"TEUpdate", (PyCFunction)TEObj_TEUpdate, 1, - "(Rect rUpdate) -> None"}, - {"TEScroll", (PyCFunction)TEObj_TEScroll, 1, - "(short dh, short dv) -> None"}, - {"TESelView", (PyCFunction)TEObj_TESelView, 1, - "() -> None"}, - {"TEPinScroll", (PyCFunction)TEObj_TEPinScroll, 1, - "(short dh, short dv) -> None"}, - {"TEAutoView", (PyCFunction)TEObj_TEAutoView, 1, - "(Boolean fAuto) -> None"}, - {"TECalText", (PyCFunction)TEObj_TECalText, 1, - "() -> None"}, - {"TEGetOffset", (PyCFunction)TEObj_TEGetOffset, 1, - "(Point pt) -> (short _rv)"}, - {"TEGetPoint", (PyCFunction)TEObj_TEGetPoint, 1, - "(short offset) -> (Point _rv)"}, - {"TEClick", (PyCFunction)TEObj_TEClick, 1, - "(Point pt, Boolean fExtend) -> None"}, - {"TESetStyleHandle", (PyCFunction)TEObj_TESetStyleHandle, 1, - "(TEStyleHandle theHandle) -> None"}, - {"TEGetStyleHandle", (PyCFunction)TEObj_TEGetStyleHandle, 1, - "() -> (TEStyleHandle _rv)"}, - {"TEGetStyle", (PyCFunction)TEObj_TEGetStyle, 1, - "(short offset) -> (TextStyle theStyle, short lineHeight, short fontAscent)"}, - {"TEStylePaste", (PyCFunction)TEObj_TEStylePaste, 1, - "() -> None"}, - {"TESetStyle", (PyCFunction)TEObj_TESetStyle, 1, - "(short mode, TextStyle newStyle, Boolean fRedraw) -> None"}, - {"TEReplaceStyle", (PyCFunction)TEObj_TEReplaceStyle, 1, - "(short mode, TextStyle oldStyle, TextStyle newStyle, Boolean fRedraw) -> None"}, - {"TEGetStyleScrapHandle", (PyCFunction)TEObj_TEGetStyleScrapHandle, 1, - "() -> (StScrpHandle _rv)"}, - {"TEStyleInsert", (PyCFunction)TEObj_TEStyleInsert, 1, - "(Buffer text, StScrpHandle hST) -> None"}, - {"TEGetHeight", (PyCFunction)TEObj_TEGetHeight, 1, - "(long endLine, long startLine) -> (long _rv)"}, - {"TEContinuousStyle", (PyCFunction)TEObj_TEContinuousStyle, 1, - "(short mode, TextStyle aStyle) -> (Boolean _rv, short mode, TextStyle aStyle)"}, - {"TEUseStyleScrap", (PyCFunction)TEObj_TEUseStyleScrap, 1, - "(long rangeStart, long rangeEnd, StScrpHandle newStyles, Boolean fRedraw) -> None"}, - {"TENumStyles", (PyCFunction)TEObj_TENumStyles, 1, - "(long rangeStart, long rangeEnd) -> (long _rv)"}, - {"TEFeatureFlag", (PyCFunction)TEObj_TEFeatureFlag, 1, - "(short feature, short action) -> (short _rv)"}, - {"TEGetHiliteRgn", (PyCFunction)TEObj_TEGetHiliteRgn, 1, - "(RgnHandle region) -> None"}, - {"as_Resource", (PyCFunction)TEObj_as_Resource, 1, - "() -> (Handle _rv)"}, - {NULL, NULL, 0} -}; - -PyMethodChain TEObj_chain = { TEObj_methods, NULL }; - -static PyObject *TEObj_getattr(TEObject *self, char *name) -{ - - if( strcmp(name, "destRect") == 0 ) - return Py_BuildValue("O&", PyMac_BuildRect, - &(*self->ob_itself)->destRect); - if( strcmp(name, "viewRect") == 0 ) - return Py_BuildValue("O&", PyMac_BuildRect, - &(*self->ob_itself)->viewRect); - if( strcmp(name, "selRect") == 0 ) - return Py_BuildValue("O&", PyMac_BuildRect, - &(*self->ob_itself)->selRect); - if( strcmp(name, "lineHeight") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->lineHeight); - if( strcmp(name, "fontAscent") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->fontAscent); - if( strcmp(name, "selPoint") == 0 ) - return Py_BuildValue("O&", PyMac_BuildPoint, - (*self->ob_itself)->selPoint); - if( strcmp(name, "selStart") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->selStart); - if( strcmp(name, "selEnd") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->selEnd); - if( strcmp(name, "active") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->active); - if( strcmp(name, "just") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->just); - if( strcmp(name, "teLength") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->teLength); - if( strcmp(name, "txFont") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->txFont); - if( strcmp(name, "txFace") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->txFace); - if( strcmp(name, "txMode") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->txMode); - if( strcmp(name, "txSize") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->txSize); - if( strcmp(name, "nLines") == 0 ) - return Py_BuildValue("h", (*self->ob_itself)->nLines); - - return Py_FindMethodInChain(&TEObj_chain, (PyObject *)self, name); -} - -#define TEObj_setattr NULL - -#define TEObj_compare NULL - -#define TEObj_repr NULL - -#define TEObj_hash NULL - -PyTypeObject TE_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "TE", /*tp_name*/ - sizeof(TEObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) TEObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) TEObj_getattr, /*tp_getattr*/ - (setattrfunc) TEObj_setattr, /*tp_setattr*/ - (cmpfunc) TEObj_compare, /*tp_compare*/ - (reprfunc) TEObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) TEObj_hash, /*tp_hash*/ -}; - -/* ----------------------- End object type TE ----------------------- */ - - -static PyObject *TE_TEScrapHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TEScrapHandle(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *TE_TEGetScrapLength(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TEGetScrapLength(); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *TE_TENew(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TEHandle _rv; - Rect destRect; - Rect viewRect; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &destRect, - PyMac_GetRect, &viewRect)) - return NULL; - _rv = TENew(&destRect, - &viewRect); - _res = Py_BuildValue("O&", - TEObj_New, _rv); - return _res; -} - -static PyObject *TE_TETextBox(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - char *text__in__; - long text__len__; - int text__in_len__; - Rect box; - short just; - if (!PyArg_ParseTuple(_args, "s#O&h", - &text__in__, &text__in_len__, - PyMac_GetRect, &box, - &just)) - return NULL; - text__len__ = text__in_len__; - TETextBox(text__in__, text__len__, - &box, - just); - Py_INCREF(Py_None); - _res = Py_None; - text__error__: ; - return _res; -} - -static PyObject *TE_TEStyleNew(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TEHandle _rv; - Rect destRect; - Rect viewRect; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &destRect, - PyMac_GetRect, &viewRect)) - return NULL; - _rv = TEStyleNew(&destRect, - &viewRect); - _res = Py_BuildValue("O&", - TEObj_New, _rv); - return _res; -} - -static PyObject *TE_TESetScrapLength(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long length; - if (!PyArg_ParseTuple(_args, "l", - &length)) - return NULL; - TESetScrapLength(length); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TE_TEFromScrap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TEFromScrap(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *TE_TEToScrap(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSErr _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = TEToScrap(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *TE_TEGetScrapHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = TEGetScrapHandle(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *TE_TESetScrapHandle(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Handle value; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &value)) - return NULL; - TESetScrapHandle(value); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *TE_as_TE(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - TEHandle _rv; - Handle h; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &h)) - return NULL; - _rv = as_TE(h); - _res = Py_BuildValue("O&", - TEObj_New, _rv); - return _res; -} - -static PyMethodDef TE_methods[] = { - {"TEScrapHandle", (PyCFunction)TE_TEScrapHandle, 1, - "() -> (Handle _rv)"}, - {"TEGetScrapLength", (PyCFunction)TE_TEGetScrapLength, 1, - "() -> (long _rv)"}, - {"TENew", (PyCFunction)TE_TENew, 1, - "(Rect destRect, Rect viewRect) -> (TEHandle _rv)"}, - {"TETextBox", (PyCFunction)TE_TETextBox, 1, - "(Buffer text, Rect box, short just) -> None"}, - {"TEStyleNew", (PyCFunction)TE_TEStyleNew, 1, - "(Rect destRect, Rect viewRect) -> (TEHandle _rv)"}, - {"TESetScrapLength", (PyCFunction)TE_TESetScrapLength, 1, - "(long length) -> None"}, - {"TEFromScrap", (PyCFunction)TE_TEFromScrap, 1, - "() -> None"}, - {"TEToScrap", (PyCFunction)TE_TEToScrap, 1, - "() -> None"}, - -#if TARGET_API_MAC_CARBON - {"TEGetScrapHandle", (PyCFunction)TE_TEGetScrapHandle, 1, - "() -> (Handle _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"TESetScrapHandle", (PyCFunction)TE_TESetScrapHandle, 1, - "(Handle value) -> None"}, -#endif - {"as_TE", (PyCFunction)TE_as_TE, 1, - "(Handle h) -> (TEHandle _rv)"}, - {NULL, NULL, 0} -}; - - - - -void initTE(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(TEHandle, TEObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TEHandle, TEObj_Convert); - - - m = Py_InitModule("TE", TE_methods); - d = PyModule_GetDict(m); - TE_Error = PyMac_GetOSErrException(); - if (TE_Error == NULL || - PyDict_SetItemString(d, "Error", TE_Error) != 0) - return; - TE_Type.ob_type = &PyType_Type; - Py_INCREF(&TE_Type); - if (PyDict_SetItemString(d, "TEType", (PyObject *)&TE_Type) != 0) - Py_FatalError("can't initialize TEType"); -} - -/* ========================= End module TE ========================== */ - diff --git a/Mac/Modules/win/Winmodule.c b/Mac/Modules/win/Winmodule.c deleted file mode 100644 index d807251..0000000 --- a/Mac/Modules/win/Winmodule.c +++ /dev/null @@ -1,2806 +0,0 @@ - -/* =========================== Module Win =========================== */ - -#include "Python.h" - - - -#include "macglue.h" -#include "pymactoolbox.h" - -#ifdef WITHOUT_FRAMEWORKS -#include <Windows.h> -#else -#include <Carbon/Carbon.h> -#endif - -#ifdef USE_TOOLBOX_OBJECT_GLUE -extern PyObject *_WinObj_New(WindowRef); -extern PyObject *_WinObj_WhichWindow(WindowRef); -extern int _WinObj_Convert(PyObject *, WindowRef *); - -#define WinObj_New _WinObj_New -#define WinObj_WhichWindow _WinObj_WhichWindow -#define WinObj_Convert _WinObj_Convert -#endif - -#if !ACCESSOR_CALLS_ARE_FUNCTIONS -/* Carbon calls that we emulate in classic mode */ -#define GetWindowSpareFlag(win) (((CWindowPeek)(win))->spareFlag) -#define GetWindowFromPort(port) ((WindowRef)(port)) -#define GetWindowPortBounds(win, rectp) (*(rectp) = ((CWindowPeek)(win))->port.portRect) -#define IsPointerValid(p) (((long)p&3) == 0) -#endif -#if ACCESSOR_CALLS_ARE_FUNCTIONS -/* Classic calls that we emulate in carbon mode */ -#define GetWindowUpdateRgn(win, rgn) GetWindowRegion((win), kWindowUpdateRgn, (rgn)) -#define GetWindowStructureRgn(win, rgn) GetWindowRegion((win), kWindowStructureRgn, (rgn)) -#define GetWindowContentRgn(win, rgn) GetWindowRegion((win), kWindowContentRgn, (rgn)) -#endif - -/* Function to dispose a window, with a "normal" calling sequence */ -static void -PyMac_AutoDisposeWindow(WindowPtr w) -{ - DisposeWindow(w); -} - -static PyObject *Win_Error; - -/* ----------------------- Object type Window ----------------------- */ - -PyTypeObject Window_Type; - -#define WinObj_Check(x) ((x)->ob_type == &Window_Type) - -typedef struct WindowObject { - PyObject_HEAD - WindowPtr ob_itself; - void (*ob_freeit)(WindowPtr ptr); -} WindowObject; - -PyObject *WinObj_New(WindowPtr itself) -{ - WindowObject *it; - if (itself == NULL) return PyMac_Error(resNotFound); - it = PyObject_NEW(WindowObject, &Window_Type); - if (it == NULL) return NULL; - it->ob_itself = itself; - it->ob_freeit = NULL; - if (GetWRefCon(itself) == 0) - { - SetWRefCon(itself, (long)it); - it->ob_freeit = PyMac_AutoDisposeWindow; - } - return (PyObject *)it; -} -WinObj_Convert(PyObject *v, WindowPtr *p_itself) -{ - - if (v == Py_None) { *p_itself = NULL; return 1; } - if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; } - - { - DialogRef dlg; - if (DlgObj_Convert(v, &dlg) && dlg) { - *p_itself = GetDialogWindow(dlg); - return 1; - } - PyErr_Clear(); - } - if (!WinObj_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "Window required"); - return 0; - } - *p_itself = ((WindowObject *)v)->ob_itself; - return 1; -} - -static void WinObj_dealloc(WindowObject *self) -{ - if (self->ob_freeit && self->ob_itself) - { - SetWRefCon(self->ob_itself, 0); - self->ob_freeit(self->ob_itself); - } - self->ob_itself = NULL; - self->ob_freeit = NULL; - PyMem_DEL(self); -} - -static PyObject *WinObj_GetWindowOwnerCount(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - UInt32 outCount; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowOwnerCount(_self->ob_itself, - &outCount); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outCount); - return _res; -} - -static PyObject *WinObj_CloneWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = CloneWindow(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *WinObj_ReshapeCustomWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = ReshapeCustomWindow(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *WinObj_GetWindowClass(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowClass outClass; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowClass(_self->ob_itself, - &outClass); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outClass); - return _res; -} - -static PyObject *WinObj_GetWindowAttributes(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowAttributes outAttributes; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowAttributes(_self->ob_itself, - &outAttributes); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outAttributes); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *WinObj_ChangeWindowAttributes(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowAttributes setTheseAttributes; - WindowAttributes clearTheseAttributes; - if (!PyArg_ParseTuple(_args, "ll", - &setTheseAttributes, - &clearTheseAttributes)) - return NULL; - _err = ChangeWindowAttributes(_self->ob_itself, - setTheseAttributes, - clearTheseAttributes); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_SetWinColor(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WCTabHandle newColorTable; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &newColorTable)) - return NULL; - SetWinColor(_self->ob_itself, - newColorTable); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *WinObj_SetWindowContentColor(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - RGBColor color; - if (!PyArg_ParseTuple(_args, "O&", - QdRGB_Convert, &color)) - return NULL; - _err = SetWindowContentColor(_self->ob_itself, - &color); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowContentColor(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - RGBColor color; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowContentColor(_self->ob_itself, - &color); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - QdRGB_New, &color); - return _res; -} - -static PyObject *WinObj_GetWindowContentPattern(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PixPatHandle outPixPat; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &outPixPat)) - return NULL; - _err = GetWindowContentPattern(_self->ob_itself, - outPixPat); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SetWindowContentPattern(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - PixPatHandle pixPat; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pixPat)) - return NULL; - _err = SetWindowContentPattern(_self->ob_itself, - pixPat); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *WinObj_ScrollWindowRect(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Rect inScrollRect; - SInt16 inHPixels; - SInt16 inVPixels; - ScrollWindowOptions inOptions; - RgnHandle outExposedRgn; - if (!PyArg_ParseTuple(_args, "O&hhlO&", - PyMac_GetRect, &inScrollRect, - &inHPixels, - &inVPixels, - &inOptions, - ResObj_Convert, &outExposedRgn)) - return NULL; - _err = ScrollWindowRect(_self->ob_itself, - &inScrollRect, - inHPixels, - inVPixels, - inOptions, - outExposedRgn); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *WinObj_ScrollWindowRegion(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - RgnHandle inScrollRgn; - SInt16 inHPixels; - SInt16 inVPixels; - ScrollWindowOptions inOptions; - RgnHandle outExposedRgn; - if (!PyArg_ParseTuple(_args, "O&hhlO&", - ResObj_Convert, &inScrollRgn, - &inHPixels, - &inVPixels, - &inOptions, - ResObj_Convert, &outExposedRgn)) - return NULL; - _err = ScrollWindowRegion(_self->ob_itself, - inScrollRgn, - inHPixels, - inVPixels, - inOptions, - outExposedRgn); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *WinObj_ClipAbove(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ClipAbove(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_SaveOld(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - SaveOld(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_DrawNew(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean update; - if (!PyArg_ParseTuple(_args, "b", - &update)) - return NULL; - DrawNew(_self->ob_itself, - update); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *WinObj_PaintOne(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle clobberedRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &clobberedRgn)) - return NULL; - PaintOne(_self->ob_itself, - clobberedRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_PaintBehind(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle clobberedRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &clobberedRgn)) - return NULL; - PaintBehind(_self->ob_itself, - clobberedRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_CalcVis(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CalcVis(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_CalcVisBehind(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle clobberedRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &clobberedRgn)) - return NULL; - CalcVisBehind(_self->ob_itself, - clobberedRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_BringToFront(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - BringToFront(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SendBehind(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr behindWindow; - if (!PyArg_ParseTuple(_args, "O&", - WinObj_Convert, &behindWindow)) - return NULL; - SendBehind(_self->ob_itself, - behindWindow); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SelectWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - SelectWindow(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *WinObj_GetNextWindowOfClass(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - WindowClass inWindowClass; - Boolean mustBeVisible; - if (!PyArg_ParseTuple(_args, "lb", - &inWindowClass, - &mustBeVisible)) - return NULL; - _rv = GetNextWindowOfClass(_self->ob_itself, - inWindowClass, - mustBeVisible); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_IsValidWindowPtr(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsValidWindowPtr(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -static PyObject *WinObj_HiliteWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean fHilite; - if (!PyArg_ParseTuple(_args, "b", - &fHilite)) - return NULL; - HiliteWindow(_self->ob_itself, - fHilite); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SetWRefCon(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long data; - if (!PyArg_ParseTuple(_args, "l", - &data)) - return NULL; - SetWRefCon(_self->ob_itself, - data); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWRefCon(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWRefCon(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *WinObj_SetWindowPic(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle pic; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &pic)) - return NULL; - SetWindowPic(_self->ob_itself, - pic); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowPic(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PicHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWindowPic(_self->ob_itself); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *WinObj_GetWVariant(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWVariant(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *WinObj_GetWindowFeatures(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - UInt32 outFeatures; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowFeatures(_self->ob_itself, - &outFeatures); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outFeatures); - return _res; -} - -static PyObject *WinObj_GetWindowRegion(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowRegionCode inRegionCode; - RgnHandle ioWinRgn; - if (!PyArg_ParseTuple(_args, "HO&", - &inRegionCode, - ResObj_Convert, &ioWinRgn)) - return NULL; - _err = GetWindowRegion(_self->ob_itself, - inRegionCode, - ioWinRgn); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_BeginUpdate(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - BeginUpdate(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_EndUpdate(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - EndUpdate(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_InvalWindowRgn(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - RgnHandle region; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, ®ion)) - return NULL; - _err = InvalWindowRgn(_self->ob_itself, - region); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_InvalWindowRect(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Rect bounds; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &bounds)) - return NULL; - _err = InvalWindowRect(_self->ob_itself, - &bounds); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_ValidWindowRgn(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - RgnHandle region; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, ®ion)) - return NULL; - _err = ValidWindowRgn(_self->ob_itself, - region); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_ValidWindowRect(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Rect bounds; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &bounds)) - return NULL; - _err = ValidWindowRect(_self->ob_itself, - &bounds); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_DrawGrowIcon(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - DrawGrowIcon(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SetWTitle(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 title; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetStr255, title)) - return NULL; - SetWTitle(_self->ob_itself, - title); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWTitle(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Str255 title; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetWTitle(_self->ob_itself, - title); - _res = Py_BuildValue("O&", - PyMac_BuildStr255, title); - return _res; -} - -static PyObject *WinObj_SetWindowProxyFSSpec(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - FSSpec inFile; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetFSSpec, &inFile)) - return NULL; - _err = SetWindowProxyFSSpec(_self->ob_itself, - &inFile); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowProxyFSSpec(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - FSSpec outFile; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowProxyFSSpec(_self->ob_itself, - &outFile); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildFSSpec, outFile); - return _res; -} - -static PyObject *WinObj_SetWindowProxyAlias(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - AliasHandle alias; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &alias)) - return NULL; - _err = SetWindowProxyAlias(_self->ob_itself, - alias); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowProxyAlias(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - AliasHandle alias; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowProxyAlias(_self->ob_itself, - &alias); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, alias); - return _res; -} - -static PyObject *WinObj_SetWindowProxyCreatorAndType(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - OSType fileCreator; - OSType fileType; - SInt16 vRefNum; - if (!PyArg_ParseTuple(_args, "O&O&h", - PyMac_GetOSType, &fileCreator, - PyMac_GetOSType, &fileType, - &vRefNum)) - return NULL; - _err = SetWindowProxyCreatorAndType(_self->ob_itself, - fileCreator, - fileType, - vRefNum); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowProxyIcon(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - IconRef outIcon; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowProxyIcon(_self->ob_itself, - &outIcon); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - ResObj_New, outIcon); - return _res; -} - -static PyObject *WinObj_SetWindowProxyIcon(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - IconRef icon; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &icon)) - return NULL; - _err = SetWindowProxyIcon(_self->ob_itself, - icon); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_RemoveWindowProxy(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = RemoveWindowProxy(_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_BeginWindowProxyDrag(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - DragReference outNewDrag; - RgnHandle outDragOutlineRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &outDragOutlineRgn)) - return NULL; - _err = BeginWindowProxyDrag(_self->ob_itself, - &outNewDrag, - outDragOutlineRgn); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - DragObj_New, outNewDrag); - return _res; -} - -static PyObject *WinObj_EndWindowProxyDrag(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - DragReference theDrag; - if (!PyArg_ParseTuple(_args, "O&", - DragObj_Convert, &theDrag)) - return NULL; - _err = EndWindowProxyDrag(_self->ob_itself, - theDrag); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_TrackWindowProxyFromExistingDrag(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Point startPt; - DragReference drag; - RgnHandle inDragOutlineRgn; - if (!PyArg_ParseTuple(_args, "O&O&O&", - PyMac_GetPoint, &startPt, - DragObj_Convert, &drag, - ResObj_Convert, &inDragOutlineRgn)) - return NULL; - _err = TrackWindowProxyFromExistingDrag(_self->ob_itself, - startPt, - drag, - inDragOutlineRgn); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_TrackWindowProxyDrag(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Point startPt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &startPt)) - return NULL; - _err = TrackWindowProxyDrag(_self->ob_itself, - startPt); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_IsWindowModified(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsWindowModified(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *WinObj_SetWindowModified(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Boolean modified; - if (!PyArg_ParseTuple(_args, "b", - &modified)) - return NULL; - _err = SetWindowModified(_self->ob_itself, - modified); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_IsWindowPathSelectClick(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventRecord event; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &event)) - return NULL; - _rv = IsWindowPathSelectClick(_self->ob_itself, - &event); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *WinObj_WindowPathSelect(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - MenuHandle menu; - SInt32 outMenuResult; - if (!PyArg_ParseTuple(_args, "O&", - MenuObj_Convert, &menu)) - return NULL; - _err = WindowPathSelect(_self->ob_itself, - menu, - &outMenuResult); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - outMenuResult); - return _res; -} - -static PyObject *WinObj_HiliteWindowFrameForDrag(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Boolean hilited; - if (!PyArg_ParseTuple(_args, "b", - &hilited)) - return NULL; - _err = HiliteWindowFrameForDrag(_self->ob_itself, - hilited); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_TransitionWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowTransitionEffect effect; - WindowTransitionAction action; - Rect rect; - if (!PyArg_ParseTuple(_args, "llO&", - &effect, - &action, - PyMac_GetRect, &rect)) - return NULL; - _err = TransitionWindow(_self->ob_itself, - effect, - action, - &rect); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_MacMoveWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short hGlobal; - short vGlobal; - Boolean front; - if (!PyArg_ParseTuple(_args, "hhb", - &hGlobal, - &vGlobal, - &front)) - return NULL; - MacMoveWindow(_self->ob_itself, - hGlobal, - vGlobal, - front); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SizeWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short w; - short h; - Boolean fUpdate; - if (!PyArg_ParseTuple(_args, "hhb", - &w, - &h, - &fUpdate)) - return NULL; - SizeWindow(_self->ob_itself, - w, - h, - fUpdate); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GrowWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - Point startPt; - Rect bBox; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &startPt, - PyMac_GetRect, &bBox)) - return NULL; - _rv = GrowWindow(_self->ob_itself, - startPt, - &bBox); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *WinObj_DragWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Point startPt; - Rect boundsRect; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &startPt, - PyMac_GetRect, &boundsRect)) - return NULL; - DragWindow(_self->ob_itself, - startPt, - &boundsRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_ZoomWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPartCode partCode; - Boolean front; - if (!PyArg_ParseTuple(_args, "hb", - &partCode, - &front)) - return NULL; - ZoomWindow(_self->ob_itself, - partCode, - front); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_IsWindowCollapsable(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsWindowCollapsable(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *WinObj_IsWindowCollapsed(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsWindowCollapsed(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *WinObj_CollapseWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Boolean collapse; - if (!PyArg_ParseTuple(_args, "b", - &collapse)) - return NULL; - _err = CollapseWindow(_self->ob_itself, - collapse); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowBounds(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowRegionCode regionCode; - Rect globalBounds; - if (!PyArg_ParseTuple(_args, "H", - ®ionCode)) - return NULL; - _err = GetWindowBounds(_self->ob_itself, - regionCode, - &globalBounds); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &globalBounds); - return _res; -} - -static PyObject *WinObj_ResizeWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point startPoint; - Rect sizeConstraints; - Rect newContentRect; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetPoint, &startPoint, - PyMac_GetRect, &sizeConstraints)) - return NULL; - _rv = ResizeWindow(_self->ob_itself, - startPoint, - &sizeConstraints, - &newContentRect); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildRect, &newContentRect); - return _res; -} - -static PyObject *WinObj_SetWindowBounds(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowRegionCode regionCode; - Rect globalBounds; - if (!PyArg_ParseTuple(_args, "HO&", - ®ionCode, - PyMac_GetRect, &globalBounds)) - return NULL; - _err = SetWindowBounds(_self->ob_itself, - regionCode, - &globalBounds); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_RepositionWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowPtr parentWindow; - WindowPositionMethod method; - if (!PyArg_ParseTuple(_args, "O&l", - WinObj_Convert, &parentWindow, - &method)) - return NULL; - _err = RepositionWindow(_self->ob_itself, - parentWindow, - method); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_MoveWindowStructure(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - short hGlobal; - short vGlobal; - if (!PyArg_ParseTuple(_args, "hh", - &hGlobal, - &vGlobal)) - return NULL; - _err = MoveWindowStructure(_self->ob_itself, - hGlobal, - vGlobal); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_IsWindowInStandardState(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point idealSize; - Rect idealStandardState; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsWindowInStandardState(_self->ob_itself, - &idealSize, - &idealStandardState); - _res = Py_BuildValue("bO&O&", - _rv, - PyMac_BuildPoint, idealSize, - PyMac_BuildRect, &idealStandardState); - return _res; -} - -static PyObject *WinObj_ZoomWindowIdeal(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowPartCode partCode; - Point ioIdealSize; - if (!PyArg_ParseTuple(_args, "h", - &partCode)) - return NULL; - _err = ZoomWindowIdeal(_self->ob_itself, - partCode, - &ioIdealSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildPoint, ioIdealSize); - return _res; -} - -static PyObject *WinObj_GetWindowIdealUserState(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Rect userState; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = GetWindowIdealUserState(_self->ob_itself, - &userState); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &userState); - return _res; -} - -static PyObject *WinObj_SetWindowIdealUserState(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Rect userState; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = SetWindowIdealUserState(_self->ob_itself, - &userState); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &userState); - return _res; -} - -static PyObject *WinObj_HideWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - HideWindow(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_MacShowWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - MacShowWindow(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_ShowHide(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean showFlag; - if (!PyArg_ParseTuple(_args, "b", - &showFlag)) - return NULL; - ShowHide(_self->ob_itself, - showFlag); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *WinObj_GetWindowPropertyAttributes(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - OSType propertyCreator; - OSType propertyTag; - UInt32 attributes; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag)) - return NULL; - _err = GetWindowPropertyAttributes(_self->ob_itself, - propertyCreator, - propertyTag, - &attributes); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - attributes); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *WinObj_ChangeWindowPropertyAttributes(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - OSType propertyCreator; - OSType propertyTag; - UInt32 attributesToSet; - UInt32 attributesToClear; - if (!PyArg_ParseTuple(_args, "O&O&ll", - PyMac_GetOSType, &propertyCreator, - PyMac_GetOSType, &propertyTag, - &attributesToSet, - &attributesToClear)) - return NULL; - _err = ChangeWindowPropertyAttributes(_self->ob_itself, - propertyCreator, - propertyTag, - attributesToSet, - attributesToClear); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *WinObj_TrackBox(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point thePt; - WindowPartCode partCode; - if (!PyArg_ParseTuple(_args, "O&h", - PyMac_GetPoint, &thePt, - &partCode)) - return NULL; - _rv = TrackBox(_self->ob_itself, - thePt, - partCode); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *WinObj_TrackGoAway(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - Point thePt; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &thePt)) - return NULL; - _rv = TrackGoAway(_self->ob_itself, - thePt); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_GetAuxWin(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - AuxWinHandle awHndl; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetAuxWin(_self->ob_itself, - &awHndl); - _res = Py_BuildValue("bO&", - _rv, - ResObj_New, awHndl); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_GetWindowGoAwayFlag(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWindowGoAwayFlag(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_GetWindowSpareFlag(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWindowSpareFlag(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -static PyObject *WinObj_GetWindowPort(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWindowPort(_self->ob_itself); - _res = Py_BuildValue("O&", - GrafObj_New, _rv); - return _res; -} - -static PyObject *WinObj_GetWindowKind(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWindowKind(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} - -static PyObject *WinObj_MacIsWindowVisible(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MacIsWindowVisible(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -static PyObject *WinObj_IsWindowHilited(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsWindowHilited(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *WinObj_IsWindowUpdatePending(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsWindowUpdatePending(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -static PyObject *WinObj_MacGetNextWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = MacGetNextWindow(_self->ob_itself); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} - -static PyObject *WinObj_GetWindowStandardState(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect rect; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetWindowStandardState(_self->ob_itself, - &rect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &rect); - return _res; -} - -static PyObject *WinObj_GetWindowUserState(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect rect; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetWindowUserState(_self->ob_itself, - &rect); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &rect); - return _res; -} - -static PyObject *WinObj_SetWindowKind(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short kind; - if (!PyArg_ParseTuple(_args, "h", - &kind)) - return NULL; - SetWindowKind(_self->ob_itself, - kind); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SetWindowStandardState(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect rect; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &rect)) - return NULL; - SetWindowStandardState(_self->ob_itself, - &rect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SetWindowUserState(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect rect; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &rect)) - return NULL; - SetWindowUserState(_self->ob_itself, - &rect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_SetPortWindowPort(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - SetPortWindowPort(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowPortBounds(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect bounds; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetWindowPortBounds(_self->ob_itself, - &bounds); - _res = Py_BuildValue("O&", - PyMac_BuildRect, &bounds); - return _res; -} - -static PyObject *WinObj_IsWindowVisible(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = IsWindowVisible(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_GetWindowZoomFlag(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWindowZoomFlag(_self->ob_itself); - _res = Py_BuildValue("b", - _rv); - return _res; -} -#endif - -static PyObject *WinObj_GetWindowStructureRgn(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle r; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &r)) - return NULL; - GetWindowStructureRgn(_self->ob_itself, - r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowContentRgn(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle r; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &r)) - return NULL; - GetWindowContentRgn(_self->ob_itself, - r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_GetWindowUpdateRgn(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle r; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &r)) - return NULL; - GetWindowUpdateRgn(_self->ob_itself, - r); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_GetWindowTitleWidth(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetWindowTitleWidth(_self->ob_itself); - _res = Py_BuildValue("h", - _rv); - return _res; -} -#endif - -static PyObject *WinObj_GetNextWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetNextWindow(_self->ob_itself); - _res = Py_BuildValue("O&", - WinObj_WhichWindow, _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *WinObj_CloseWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - CloseWindow(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *WinObj_MoveWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short hGlobal; - short vGlobal; - Boolean front; - if (!PyArg_ParseTuple(_args, "hhb", - &hGlobal, - &vGlobal, - &front)) - return NULL; - MoveWindow(_self->ob_itself, - hGlobal, - vGlobal, - front); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *WinObj_ShowWindow(WindowObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - ShowWindow(_self->ob_itself); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyMethodDef WinObj_methods[] = { - {"GetWindowOwnerCount", (PyCFunction)WinObj_GetWindowOwnerCount, 1, - "() -> (UInt32 outCount)"}, - {"CloneWindow", (PyCFunction)WinObj_CloneWindow, 1, - "() -> None"}, - -#if TARGET_API_MAC_CARBON - {"ReshapeCustomWindow", (PyCFunction)WinObj_ReshapeCustomWindow, 1, - "() -> None"}, -#endif - {"GetWindowClass", (PyCFunction)WinObj_GetWindowClass, 1, - "() -> (WindowClass outClass)"}, - {"GetWindowAttributes", (PyCFunction)WinObj_GetWindowAttributes, 1, - "() -> (WindowAttributes outAttributes)"}, - -#if TARGET_API_MAC_CARBON - {"ChangeWindowAttributes", (PyCFunction)WinObj_ChangeWindowAttributes, 1, - "(WindowAttributes setTheseAttributes, WindowAttributes clearTheseAttributes) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"SetWinColor", (PyCFunction)WinObj_SetWinColor, 1, - "(WCTabHandle newColorTable) -> None"}, -#endif - {"SetWindowContentColor", (PyCFunction)WinObj_SetWindowContentColor, 1, - "(RGBColor color) -> None"}, - {"GetWindowContentColor", (PyCFunction)WinObj_GetWindowContentColor, 1, - "() -> (RGBColor color)"}, - {"GetWindowContentPattern", (PyCFunction)WinObj_GetWindowContentPattern, 1, - "(PixPatHandle outPixPat) -> None"}, - {"SetWindowContentPattern", (PyCFunction)WinObj_SetWindowContentPattern, 1, - "(PixPatHandle pixPat) -> None"}, - -#if TARGET_API_MAC_CARBON - {"ScrollWindowRect", (PyCFunction)WinObj_ScrollWindowRect, 1, - "(Rect inScrollRect, SInt16 inHPixels, SInt16 inVPixels, ScrollWindowOptions inOptions, RgnHandle outExposedRgn) -> None"}, -#endif - -#if TARGET_API_MAC_CARBON - {"ScrollWindowRegion", (PyCFunction)WinObj_ScrollWindowRegion, 1, - "(RgnHandle inScrollRgn, SInt16 inHPixels, SInt16 inVPixels, ScrollWindowOptions inOptions, RgnHandle outExposedRgn) -> None"}, -#endif - {"ClipAbove", (PyCFunction)WinObj_ClipAbove, 1, - "() -> None"}, - -#if !TARGET_API_MAC_CARBON - {"SaveOld", (PyCFunction)WinObj_SaveOld, 1, - "() -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"DrawNew", (PyCFunction)WinObj_DrawNew, 1, - "(Boolean update) -> None"}, -#endif - {"PaintOne", (PyCFunction)WinObj_PaintOne, 1, - "(RgnHandle clobberedRgn) -> None"}, - {"PaintBehind", (PyCFunction)WinObj_PaintBehind, 1, - "(RgnHandle clobberedRgn) -> None"}, - {"CalcVis", (PyCFunction)WinObj_CalcVis, 1, - "() -> None"}, - {"CalcVisBehind", (PyCFunction)WinObj_CalcVisBehind, 1, - "(RgnHandle clobberedRgn) -> None"}, - {"BringToFront", (PyCFunction)WinObj_BringToFront, 1, - "() -> None"}, - {"SendBehind", (PyCFunction)WinObj_SendBehind, 1, - "(WindowPtr behindWindow) -> None"}, - {"SelectWindow", (PyCFunction)WinObj_SelectWindow, 1, - "() -> None"}, - -#if TARGET_API_MAC_CARBON - {"GetNextWindowOfClass", (PyCFunction)WinObj_GetNextWindowOfClass, 1, - "(WindowClass inWindowClass, Boolean mustBeVisible) -> (WindowPtr _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"IsValidWindowPtr", (PyCFunction)WinObj_IsValidWindowPtr, 1, - "() -> (Boolean _rv)"}, -#endif - {"HiliteWindow", (PyCFunction)WinObj_HiliteWindow, 1, - "(Boolean fHilite) -> None"}, - {"SetWRefCon", (PyCFunction)WinObj_SetWRefCon, 1, - "(long data) -> None"}, - {"GetWRefCon", (PyCFunction)WinObj_GetWRefCon, 1, - "() -> (long _rv)"}, - {"SetWindowPic", (PyCFunction)WinObj_SetWindowPic, 1, - "(PicHandle pic) -> None"}, - {"GetWindowPic", (PyCFunction)WinObj_GetWindowPic, 1, - "() -> (PicHandle _rv)"}, - {"GetWVariant", (PyCFunction)WinObj_GetWVariant, 1, - "() -> (short _rv)"}, - {"GetWindowFeatures", (PyCFunction)WinObj_GetWindowFeatures, 1, - "() -> (UInt32 outFeatures)"}, - {"GetWindowRegion", (PyCFunction)WinObj_GetWindowRegion, 1, - "(WindowRegionCode inRegionCode, RgnHandle ioWinRgn) -> None"}, - {"BeginUpdate", (PyCFunction)WinObj_BeginUpdate, 1, - "() -> None"}, - {"EndUpdate", (PyCFunction)WinObj_EndUpdate, 1, - "() -> None"}, - {"InvalWindowRgn", (PyCFunction)WinObj_InvalWindowRgn, 1, - "(RgnHandle region) -> None"}, - {"InvalWindowRect", (PyCFunction)WinObj_InvalWindowRect, 1, - "(Rect bounds) -> None"}, - {"ValidWindowRgn", (PyCFunction)WinObj_ValidWindowRgn, 1, - "(RgnHandle region) -> None"}, - {"ValidWindowRect", (PyCFunction)WinObj_ValidWindowRect, 1, - "(Rect bounds) -> None"}, - {"DrawGrowIcon", (PyCFunction)WinObj_DrawGrowIcon, 1, - "() -> None"}, - {"SetWTitle", (PyCFunction)WinObj_SetWTitle, 1, - "(Str255 title) -> None"}, - {"GetWTitle", (PyCFunction)WinObj_GetWTitle, 1, - "() -> (Str255 title)"}, - {"SetWindowProxyFSSpec", (PyCFunction)WinObj_SetWindowProxyFSSpec, 1, - "(FSSpec inFile) -> None"}, - {"GetWindowProxyFSSpec", (PyCFunction)WinObj_GetWindowProxyFSSpec, 1, - "() -> (FSSpec outFile)"}, - {"SetWindowProxyAlias", (PyCFunction)WinObj_SetWindowProxyAlias, 1, - "(AliasHandle alias) -> None"}, - {"GetWindowProxyAlias", (PyCFunction)WinObj_GetWindowProxyAlias, 1, - "() -> (AliasHandle alias)"}, - {"SetWindowProxyCreatorAndType", (PyCFunction)WinObj_SetWindowProxyCreatorAndType, 1, - "(OSType fileCreator, OSType fileType, SInt16 vRefNum) -> None"}, - {"GetWindowProxyIcon", (PyCFunction)WinObj_GetWindowProxyIcon, 1, - "() -> (IconRef outIcon)"}, - {"SetWindowProxyIcon", (PyCFunction)WinObj_SetWindowProxyIcon, 1, - "(IconRef icon) -> None"}, - {"RemoveWindowProxy", (PyCFunction)WinObj_RemoveWindowProxy, 1, - "() -> None"}, - {"BeginWindowProxyDrag", (PyCFunction)WinObj_BeginWindowProxyDrag, 1, - "(RgnHandle outDragOutlineRgn) -> (DragReference outNewDrag)"}, - {"EndWindowProxyDrag", (PyCFunction)WinObj_EndWindowProxyDrag, 1, - "(DragReference theDrag) -> None"}, - {"TrackWindowProxyFromExistingDrag", (PyCFunction)WinObj_TrackWindowProxyFromExistingDrag, 1, - "(Point startPt, DragReference drag, RgnHandle inDragOutlineRgn) -> None"}, - {"TrackWindowProxyDrag", (PyCFunction)WinObj_TrackWindowProxyDrag, 1, - "(Point startPt) -> None"}, - {"IsWindowModified", (PyCFunction)WinObj_IsWindowModified, 1, - "() -> (Boolean _rv)"}, - {"SetWindowModified", (PyCFunction)WinObj_SetWindowModified, 1, - "(Boolean modified) -> None"}, - {"IsWindowPathSelectClick", (PyCFunction)WinObj_IsWindowPathSelectClick, 1, - "(EventRecord event) -> (Boolean _rv)"}, - {"WindowPathSelect", (PyCFunction)WinObj_WindowPathSelect, 1, - "(MenuHandle menu) -> (SInt32 outMenuResult)"}, - {"HiliteWindowFrameForDrag", (PyCFunction)WinObj_HiliteWindowFrameForDrag, 1, - "(Boolean hilited) -> None"}, - {"TransitionWindow", (PyCFunction)WinObj_TransitionWindow, 1, - "(WindowTransitionEffect effect, WindowTransitionAction action, Rect rect) -> None"}, - {"MacMoveWindow", (PyCFunction)WinObj_MacMoveWindow, 1, - "(short hGlobal, short vGlobal, Boolean front) -> None"}, - {"SizeWindow", (PyCFunction)WinObj_SizeWindow, 1, - "(short w, short h, Boolean fUpdate) -> None"}, - {"GrowWindow", (PyCFunction)WinObj_GrowWindow, 1, - "(Point startPt, Rect bBox) -> (long _rv)"}, - {"DragWindow", (PyCFunction)WinObj_DragWindow, 1, - "(Point startPt, Rect boundsRect) -> None"}, - {"ZoomWindow", (PyCFunction)WinObj_ZoomWindow, 1, - "(WindowPartCode partCode, Boolean front) -> None"}, - {"IsWindowCollapsable", (PyCFunction)WinObj_IsWindowCollapsable, 1, - "() -> (Boolean _rv)"}, - {"IsWindowCollapsed", (PyCFunction)WinObj_IsWindowCollapsed, 1, - "() -> (Boolean _rv)"}, - {"CollapseWindow", (PyCFunction)WinObj_CollapseWindow, 1, - "(Boolean collapse) -> None"}, - {"GetWindowBounds", (PyCFunction)WinObj_GetWindowBounds, 1, - "(WindowRegionCode regionCode) -> (Rect globalBounds)"}, - {"ResizeWindow", (PyCFunction)WinObj_ResizeWindow, 1, - "(Point startPoint, Rect sizeConstraints) -> (Boolean _rv, Rect newContentRect)"}, - {"SetWindowBounds", (PyCFunction)WinObj_SetWindowBounds, 1, - "(WindowRegionCode regionCode, Rect globalBounds) -> None"}, - {"RepositionWindow", (PyCFunction)WinObj_RepositionWindow, 1, - "(WindowPtr parentWindow, WindowPositionMethod method) -> None"}, - {"MoveWindowStructure", (PyCFunction)WinObj_MoveWindowStructure, 1, - "(short hGlobal, short vGlobal) -> None"}, - {"IsWindowInStandardState", (PyCFunction)WinObj_IsWindowInStandardState, 1, - "() -> (Boolean _rv, Point idealSize, Rect idealStandardState)"}, - {"ZoomWindowIdeal", (PyCFunction)WinObj_ZoomWindowIdeal, 1, - "(WindowPartCode partCode) -> (Point ioIdealSize)"}, - {"GetWindowIdealUserState", (PyCFunction)WinObj_GetWindowIdealUserState, 1, - "() -> (Rect userState)"}, - {"SetWindowIdealUserState", (PyCFunction)WinObj_SetWindowIdealUserState, 1, - "() -> (Rect userState)"}, - {"HideWindow", (PyCFunction)WinObj_HideWindow, 1, - "() -> None"}, - {"MacShowWindow", (PyCFunction)WinObj_MacShowWindow, 1, - "() -> None"}, - {"ShowHide", (PyCFunction)WinObj_ShowHide, 1, - "(Boolean showFlag) -> None"}, - -#if TARGET_API_MAC_CARBON - {"GetWindowPropertyAttributes", (PyCFunction)WinObj_GetWindowPropertyAttributes, 1, - "(OSType propertyCreator, OSType propertyTag) -> (UInt32 attributes)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"ChangeWindowPropertyAttributes", (PyCFunction)WinObj_ChangeWindowPropertyAttributes, 1, - "(OSType propertyCreator, OSType propertyTag, UInt32 attributesToSet, UInt32 attributesToClear) -> None"}, -#endif - {"TrackBox", (PyCFunction)WinObj_TrackBox, 1, - "(Point thePt, WindowPartCode partCode) -> (Boolean _rv)"}, - {"TrackGoAway", (PyCFunction)WinObj_TrackGoAway, 1, - "(Point thePt) -> (Boolean _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"GetAuxWin", (PyCFunction)WinObj_GetAuxWin, 1, - "() -> (Boolean _rv, AuxWinHandle awHndl)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"GetWindowGoAwayFlag", (PyCFunction)WinObj_GetWindowGoAwayFlag, 1, - "() -> (Boolean _rv)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"GetWindowSpareFlag", (PyCFunction)WinObj_GetWindowSpareFlag, 1, - "() -> (Boolean _rv)"}, -#endif - {"GetWindowPort", (PyCFunction)WinObj_GetWindowPort, 1, - "() -> (CGrafPtr _rv)"}, - {"GetWindowKind", (PyCFunction)WinObj_GetWindowKind, 1, - "() -> (short _rv)"}, - {"MacIsWindowVisible", (PyCFunction)WinObj_MacIsWindowVisible, 1, - "() -> (Boolean _rv)"}, - {"IsWindowHilited", (PyCFunction)WinObj_IsWindowHilited, 1, - "() -> (Boolean _rv)"}, - -#if TARGET_API_MAC_CARBON - {"IsWindowUpdatePending", (PyCFunction)WinObj_IsWindowUpdatePending, 1, - "() -> (Boolean _rv)"}, -#endif - {"MacGetNextWindow", (PyCFunction)WinObj_MacGetNextWindow, 1, - "() -> (WindowPtr _rv)"}, - {"GetWindowStandardState", (PyCFunction)WinObj_GetWindowStandardState, 1, - "() -> (Rect rect)"}, - {"GetWindowUserState", (PyCFunction)WinObj_GetWindowUserState, 1, - "() -> (Rect rect)"}, - {"SetWindowKind", (PyCFunction)WinObj_SetWindowKind, 1, - "(short kind) -> None"}, - {"SetWindowStandardState", (PyCFunction)WinObj_SetWindowStandardState, 1, - "(Rect rect) -> None"}, - {"SetWindowUserState", (PyCFunction)WinObj_SetWindowUserState, 1, - "(Rect rect) -> None"}, - {"SetPortWindowPort", (PyCFunction)WinObj_SetPortWindowPort, 1, - "() -> None"}, - {"GetWindowPortBounds", (PyCFunction)WinObj_GetWindowPortBounds, 1, - "() -> (Rect bounds)"}, - {"IsWindowVisible", (PyCFunction)WinObj_IsWindowVisible, 1, - "() -> (Boolean _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"GetWindowZoomFlag", (PyCFunction)WinObj_GetWindowZoomFlag, 1, - "() -> (Boolean _rv)"}, -#endif - {"GetWindowStructureRgn", (PyCFunction)WinObj_GetWindowStructureRgn, 1, - "(RgnHandle r) -> None"}, - {"GetWindowContentRgn", (PyCFunction)WinObj_GetWindowContentRgn, 1, - "(RgnHandle r) -> None"}, - {"GetWindowUpdateRgn", (PyCFunction)WinObj_GetWindowUpdateRgn, 1, - "(RgnHandle r) -> None"}, - -#if !TARGET_API_MAC_CARBON - {"GetWindowTitleWidth", (PyCFunction)WinObj_GetWindowTitleWidth, 1, - "() -> (short _rv)"}, -#endif - {"GetNextWindow", (PyCFunction)WinObj_GetNextWindow, 1, - "() -> (WindowPtr _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"CloseWindow", (PyCFunction)WinObj_CloseWindow, 1, - "() -> None"}, -#endif - {"MoveWindow", (PyCFunction)WinObj_MoveWindow, 1, - "(short hGlobal, short vGlobal, Boolean front) -> None"}, - {"ShowWindow", (PyCFunction)WinObj_ShowWindow, 1, - "() -> None"}, - {NULL, NULL, 0} -}; - -PyMethodChain WinObj_chain = { WinObj_methods, NULL }; - -static PyObject *WinObj_getattr(WindowObject *self, char *name) -{ - return Py_FindMethodInChain(&WinObj_chain, (PyObject *)self, name); -} - -#define WinObj_setattr NULL - -static int WinObj_compare(WindowObject *self, WindowObject *other) -{ - if ( self->ob_itself > other->ob_itself ) return 1; - if ( self->ob_itself < other->ob_itself ) return -1; - return 0; -} - -static PyObject * WinObj_repr(WindowObject *self) -{ - char buf[100]; - sprintf(buf, "<Window object at 0x%08.8x for 0x%08.8x>", self, self->ob_itself); - return PyString_FromString(buf); -} - -static int WinObj_hash(WindowObject *self) -{ - return (int)self->ob_itself; -} - -PyTypeObject Window_Type = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "Window", /*tp_name*/ - sizeof(WindowObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) WinObj_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc) WinObj_getattr, /*tp_getattr*/ - (setattrfunc) WinObj_setattr, /*tp_setattr*/ - (cmpfunc) WinObj_compare, /*tp_compare*/ - (reprfunc) WinObj_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) WinObj_hash, /*tp_hash*/ -}; - -/* --------------------- End object type Window --------------------- */ - - -static PyObject *Win_GetNewCWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - short windowID; - WindowPtr behind; - if (!PyArg_ParseTuple(_args, "hO&", - &windowID, - WinObj_Convert, &behind)) - return NULL; - _rv = GetNewCWindow(windowID, - (void *)0, - behind); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} - -static PyObject *Win_NewWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - Rect boundsRect; - Str255 title; - Boolean visible; - short theProc; - WindowPtr behind; - Boolean goAwayFlag; - long refCon; - if (!PyArg_ParseTuple(_args, "O&O&bhO&bl", - PyMac_GetRect, &boundsRect, - PyMac_GetStr255, title, - &visible, - &theProc, - WinObj_Convert, &behind, - &goAwayFlag, - &refCon)) - return NULL; - _rv = NewWindow((void *)0, - &boundsRect, - title, - visible, - theProc, - behind, - goAwayFlag, - refCon); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} - -static PyObject *Win_GetNewWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - short windowID; - WindowPtr behind; - if (!PyArg_ParseTuple(_args, "hO&", - &windowID, - WinObj_Convert, &behind)) - return NULL; - _rv = GetNewWindow(windowID, - (void *)0, - behind); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} - -static PyObject *Win_NewCWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - Rect boundsRect; - Str255 title; - Boolean visible; - short procID; - WindowPtr behind; - Boolean goAwayFlag; - long refCon; - if (!PyArg_ParseTuple(_args, "O&O&bhO&bl", - PyMac_GetRect, &boundsRect, - PyMac_GetStr255, title, - &visible, - &procID, - WinObj_Convert, &behind, - &goAwayFlag, - &refCon)) - return NULL; - _rv = NewCWindow((void *)0, - &boundsRect, - title, - visible, - procID, - behind, - goAwayFlag, - refCon); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} - -static PyObject *Win_CreateNewWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - WindowClass windowClass; - WindowAttributes attributes; - Rect contentBounds; - WindowPtr outWindow; - if (!PyArg_ParseTuple(_args, "llO&", - &windowClass, - &attributes, - PyMac_GetRect, &contentBounds)) - return NULL; - _err = CreateNewWindow(windowClass, - attributes, - &contentBounds, - &outWindow); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - WinObj_WhichWindow, outWindow); - return _res; -} - -static PyObject *Win_CreateWindowFromResource(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - SInt16 resID; - WindowPtr outWindow; - if (!PyArg_ParseTuple(_args, "h", - &resID)) - return NULL; - _err = CreateWindowFromResource(resID, - &outWindow); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - WinObj_WhichWindow, outWindow); - return _res; -} - -static PyObject *Win_ShowFloatingWindows(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = ShowFloatingWindows(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Win_HideFloatingWindows(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = HideFloatingWindows(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Win_AreFloatingWindowsVisible(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = AreFloatingWindowsVisible(); - _res = Py_BuildValue("b", - _rv); - return _res; -} - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_SetDeskCPat(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - PixPatHandle deskPixPat; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &deskPixPat)) - return NULL; - SetDeskCPat(deskPixPat); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Win_CheckUpdate(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Boolean _rv; - EventRecord theEvent; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = CheckUpdate(&theEvent); - _res = Py_BuildValue("bO&", - _rv, - PyMac_BuildEventRecord, &theEvent); - return _res; -} - -static PyObject *Win_MacFindWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPartCode _rv; - Point thePoint; - WindowPtr window; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &thePoint)) - return NULL; - _rv = MacFindWindow(thePoint, - &window); - _res = Py_BuildValue("hO&", - _rv, - WinObj_WhichWindow, window); - return _res; -} - -static PyObject *Win_FrontWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = FrontWindow(); - _res = Py_BuildValue("O&", - WinObj_WhichWindow, _rv); - return _res; -} - -static PyObject *Win_FrontNonFloatingWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = FrontNonFloatingWindow(); - _res = Py_BuildValue("O&", - WinObj_WhichWindow, _rv); - return _res; -} - -#if TARGET_API_MAC_CARBON - -static PyObject *Win_GetFrontWindowOfClass(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - WindowClass inWindowClass; - Boolean mustBeVisible; - if (!PyArg_ParseTuple(_args, "lb", - &inWindowClass, - &mustBeVisible)) - return NULL; - _rv = GetFrontWindowOfClass(inWindowClass, - mustBeVisible); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} -#endif - -#if TARGET_API_MAC_CARBON - -static PyObject *Win_FindWindowOfClass(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Point where; - WindowClass inWindowClass; - WindowPtr outWindow; - WindowPartCode outWindowPart; - if (!PyArg_ParseTuple(_args, "O&l", - PyMac_GetPoint, &where, - &inWindowClass)) - return NULL; - _err = FindWindowOfClass(&where, - inWindowClass, - &outWindow, - &outWindowPart); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&h", - WinObj_WhichWindow, outWindow, - outWindowPart); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_InitWindows(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - InitWindows(); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_GetWMgrPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - GrafPtr wPort; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetWMgrPort(&wPort); - _res = Py_BuildValue("O&", - GrafObj_New, wPort); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_GetCWMgrPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - CGrafPtr wMgrCPort; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - GetCWMgrPort(&wMgrCPort); - _res = Py_BuildValue("O&", - GrafObj_New, wMgrCPort); - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_InitFloatingWindows(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = InitFloatingWindows(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_InvalRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect badRect; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &badRect)) - return NULL; - InvalRect(&badRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_InvalRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle badRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &badRgn)) - return NULL; - InvalRgn(badRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_ValidRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - Rect goodRect; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetRect, &goodRect)) - return NULL; - ValidRect(&goodRect); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -#if !TARGET_API_MAC_CARBON - -static PyObject *Win_ValidRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle goodRgn; - if (!PyArg_ParseTuple(_args, "O&", - ResObj_Convert, &goodRgn)) - return NULL; - ValidRgn(goodRgn); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} -#endif - -static PyObject *Win_CollapseAllWindows(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - OSStatus _err; - Boolean collapse; - if (!PyArg_ParseTuple(_args, "b", - &collapse)) - return NULL; - _err = CollapseAllWindows(collapse); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; -} - -static PyObject *Win_PinRect(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - long _rv; - Rect theRect; - Point thePt; - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetRect, &theRect, - PyMac_GetPoint, &thePt)) - return NULL; - _rv = PinRect(&theRect, - thePt); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Win_GetGrayRgn(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - RgnHandle _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetGrayRgn(); - _res = Py_BuildValue("O&", - ResObj_New, _rv); - return _res; -} - -static PyObject *Win_GetWindowFromPort(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - WindowPtr _rv; - CGrafPtr port; - if (!PyArg_ParseTuple(_args, "O&", - GrafObj_Convert, &port)) - return NULL; - _rv = GetWindowFromPort(port); - _res = Py_BuildValue("O&", - WinObj_New, _rv); - return _res; -} - -static PyObject *Win_WhichWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - - long ptr; - - if ( !PyArg_ParseTuple(_args, "i", &ptr) ) - return NULL; - return WinObj_WhichWindow((WindowPtr)ptr); - -} - -static PyObject *Win_FindWindow(PyObject *_self, PyObject *_args) -{ - PyObject *_res = NULL; - short _rv; - Point thePoint; - WindowPtr theWindow; - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetPoint, &thePoint)) - return NULL; - _rv = FindWindow(thePoint, - &theWindow); - _res = Py_BuildValue("hO&", - _rv, - WinObj_WhichWindow, theWindow); - return _res; -} - -static PyMethodDef Win_methods[] = { - {"GetNewCWindow", (PyCFunction)Win_GetNewCWindow, 1, - "(short windowID, WindowPtr behind) -> (WindowPtr _rv)"}, - {"NewWindow", (PyCFunction)Win_NewWindow, 1, - "(Rect boundsRect, Str255 title, Boolean visible, short theProc, WindowPtr behind, Boolean goAwayFlag, long refCon) -> (WindowPtr _rv)"}, - {"GetNewWindow", (PyCFunction)Win_GetNewWindow, 1, - "(short windowID, WindowPtr behind) -> (WindowPtr _rv)"}, - {"NewCWindow", (PyCFunction)Win_NewCWindow, 1, - "(Rect boundsRect, Str255 title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon) -> (WindowPtr _rv)"}, - {"CreateNewWindow", (PyCFunction)Win_CreateNewWindow, 1, - "(WindowClass windowClass, WindowAttributes attributes, Rect contentBounds) -> (WindowPtr outWindow)"}, - {"CreateWindowFromResource", (PyCFunction)Win_CreateWindowFromResource, 1, - "(SInt16 resID) -> (WindowPtr outWindow)"}, - {"ShowFloatingWindows", (PyCFunction)Win_ShowFloatingWindows, 1, - "() -> None"}, - {"HideFloatingWindows", (PyCFunction)Win_HideFloatingWindows, 1, - "() -> None"}, - {"AreFloatingWindowsVisible", (PyCFunction)Win_AreFloatingWindowsVisible, 1, - "() -> (Boolean _rv)"}, - -#if !TARGET_API_MAC_CARBON - {"SetDeskCPat", (PyCFunction)Win_SetDeskCPat, 1, - "(PixPatHandle deskPixPat) -> None"}, -#endif - {"CheckUpdate", (PyCFunction)Win_CheckUpdate, 1, - "() -> (Boolean _rv, EventRecord theEvent)"}, - {"MacFindWindow", (PyCFunction)Win_MacFindWindow, 1, - "(Point thePoint) -> (WindowPartCode _rv, WindowPtr window)"}, - {"FrontWindow", (PyCFunction)Win_FrontWindow, 1, - "() -> (WindowPtr _rv)"}, - {"FrontNonFloatingWindow", (PyCFunction)Win_FrontNonFloatingWindow, 1, - "() -> (WindowPtr _rv)"}, - -#if TARGET_API_MAC_CARBON - {"GetFrontWindowOfClass", (PyCFunction)Win_GetFrontWindowOfClass, 1, - "(WindowClass inWindowClass, Boolean mustBeVisible) -> (WindowPtr _rv)"}, -#endif - -#if TARGET_API_MAC_CARBON - {"FindWindowOfClass", (PyCFunction)Win_FindWindowOfClass, 1, - "(Point where, WindowClass inWindowClass) -> (WindowPtr outWindow, WindowPartCode outWindowPart)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"InitWindows", (PyCFunction)Win_InitWindows, 1, - "() -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"GetWMgrPort", (PyCFunction)Win_GetWMgrPort, 1, - "() -> (GrafPtr wPort)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"GetCWMgrPort", (PyCFunction)Win_GetCWMgrPort, 1, - "() -> (CGrafPtr wMgrCPort)"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"InitFloatingWindows", (PyCFunction)Win_InitFloatingWindows, 1, - "() -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"InvalRect", (PyCFunction)Win_InvalRect, 1, - "(Rect badRect) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"InvalRgn", (PyCFunction)Win_InvalRgn, 1, - "(RgnHandle badRgn) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"ValidRect", (PyCFunction)Win_ValidRect, 1, - "(Rect goodRect) -> None"}, -#endif - -#if !TARGET_API_MAC_CARBON - {"ValidRgn", (PyCFunction)Win_ValidRgn, 1, - "(RgnHandle goodRgn) -> None"}, -#endif - {"CollapseAllWindows", (PyCFunction)Win_CollapseAllWindows, 1, - "(Boolean collapse) -> None"}, - {"PinRect", (PyCFunction)Win_PinRect, 1, - "(Rect theRect, Point thePt) -> (long _rv)"}, - {"GetGrayRgn", (PyCFunction)Win_GetGrayRgn, 1, - "() -> (RgnHandle _rv)"}, - {"GetWindowFromPort", (PyCFunction)Win_GetWindowFromPort, 1, - "(CGrafPtr port) -> (WindowPtr _rv)"}, - {"WhichWindow", (PyCFunction)Win_WhichWindow, 1, - "Resolve an integer WindowPtr address to a Window object"}, - {"FindWindow", (PyCFunction)Win_FindWindow, 1, - "(Point thePoint) -> (short _rv, WindowPtr theWindow)"}, - {NULL, NULL, 0} -}; - - - -/* Return the object corresponding to the window, or NULL */ - -PyObject * -WinObj_WhichWindow(WindowPtr w) -{ - PyObject *it; - - if (w == NULL) { - it = Py_None; - Py_INCREF(it); - } else { - it = (PyObject *) GetWRefCon(w); - if (it == NULL || !IsPointerValid((Ptr)it) || ((WindowObject *)it)->ob_itself != w || !WinObj_Check(it)) { - it = WinObj_New(w); - ((WindowObject *)it)->ob_freeit = NULL; - } else { - Py_INCREF(it); - } - } - return it; -} - - -void initWin(void) -{ - PyObject *m; - PyObject *d; - - - - PyMac_INIT_TOOLBOX_OBJECT_NEW(WindowPtr, WinObj_New); - PyMac_INIT_TOOLBOX_OBJECT_NEW(WindowPtr, WinObj_WhichWindow); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(WindowPtr, WinObj_Convert); - - - m = Py_InitModule("Win", Win_methods); - d = PyModule_GetDict(m); - Win_Error = PyMac_GetOSErrException(); - if (Win_Error == NULL || - PyDict_SetItemString(d, "Error", Win_Error) != 0) - return; - Window_Type.ob_type = &PyType_Type; - Py_INCREF(&Window_Type); - if (PyDict_SetItemString(d, "WindowType", (PyObject *)&Window_Type) != 0) - Py_FatalError("can't initialize WindowType"); -} - -/* ========================= End module Win ========================= */ - |