/* ========================== Module _Win =========================== */ #include "Python.h" #include "pymactoolbox.h" #if APPLE_SUPPORTS_QUICKTIME /* 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) #include <Carbon/Carbon.h> #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 /* 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)) /* 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 || PyObject_TypeCheck((x), &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); /* XXXX Or should we use WhichWindow code here? */ 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; } int 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; self->ob_type->tp_free((PyObject *)self); } static PyObject *WinObj_GetWindowOwnerCount(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; UInt32 outCount; #ifndef GetWindowOwnerCount PyMac_PRECHECK(GetWindowOwnerCount); #endif 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; #ifndef CloneWindow PyMac_PRECHECK(CloneWindow); #endif 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; } static PyObject *WinObj_GetWindowRetainCount(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; ItemCount _rv; #ifndef GetWindowRetainCount PyMac_PRECHECK(GetWindowRetainCount); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = GetWindowRetainCount(_self->ob_itself); _res = Py_BuildValue("l", _rv); return _res; } static PyObject *WinObj_RetainWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; #ifndef RetainWindow PyMac_PRECHECK(RetainWindow); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = RetainWindow(_self->ob_itself); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_ReleaseWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; #ifndef ReleaseWindow PyMac_PRECHECK(ReleaseWindow); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = ReleaseWindow(_self->ob_itself); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_ReshapeCustomWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; #ifndef ReshapeCustomWindow PyMac_PRECHECK(ReshapeCustomWindow); #endif 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; } static PyObject *WinObj_GetWindowWidgetHilite(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowDefPartCode outHilite; #ifndef GetWindowWidgetHilite PyMac_PRECHECK(GetWindowWidgetHilite); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = GetWindowWidgetHilite(_self->ob_itself, &outHilite); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("h", outHilite); return _res; } static PyObject *WinObj_GetWindowClass(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowClass outClass; #ifndef GetWindowClass PyMac_PRECHECK(GetWindowClass); #endif 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; #ifndef GetWindowAttributes PyMac_PRECHECK(GetWindowAttributes); #endif 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; } static PyObject *WinObj_ChangeWindowAttributes(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowAttributes setTheseAttributes; WindowAttributes clearTheseAttributes; #ifndef ChangeWindowAttributes PyMac_PRECHECK(ChangeWindowAttributes); #endif 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; } static PyObject *WinObj_SetWindowClass(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowClass inWindowClass; #ifndef SetWindowClass PyMac_PRECHECK(SetWindowClass); #endif if (!PyArg_ParseTuple(_args, "l", &inWindowClass)) return NULL; _err = SetWindowClass(_self->ob_itself, inWindowClass); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_SetWindowModality(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowModality inModalKind; WindowPtr inUnavailableWindow; #ifndef SetWindowModality PyMac_PRECHECK(SetWindowModality); #endif if (!PyArg_ParseTuple(_args, "lO&", &inModalKind, WinObj_Convert, &inUnavailableWindow)) return NULL; _err = SetWindowModality(_self->ob_itself, inModalKind, inUnavailableWindow); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_GetWindowModality(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowModality outModalKind; WindowPtr outUnavailableWindow; #ifndef GetWindowModality PyMac_PRECHECK(GetWindowModality); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = GetWindowModality(_self->ob_itself, &outModalKind, &outUnavailableWindow); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("lO&", outModalKind, WinObj_WhichWindow, outUnavailableWindow); return _res; } static PyObject *WinObj_SetWindowContentColor(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; RGBColor color; #ifndef SetWindowContentColor PyMac_PRECHECK(SetWindowContentColor); #endif 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; #ifndef GetWindowContentColor PyMac_PRECHECK(GetWindowContentColor); #endif 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; #ifndef GetWindowContentPattern PyMac_PRECHECK(GetWindowContentPattern); #endif 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; #ifndef SetWindowContentPattern PyMac_PRECHECK(SetWindowContentPattern); #endif 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; } static PyObject *WinObj_ScrollWindowRect(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; Rect inScrollRect; SInt16 inHPixels; SInt16 inVPixels; ScrollWindowOptions inOptions; RgnHandle outExposedRgn; #ifndef ScrollWindowRect PyMac_PRECHECK(ScrollWindowRect); #endif 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; } static PyObject *WinObj_ScrollWindowRegion(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; RgnHandle inScrollRgn; SInt16 inHPixels; SInt16 inVPixels; ScrollWindowOptions inOptions; RgnHandle outExposedRgn; #ifndef ScrollWindowRegion PyMac_PRECHECK(ScrollWindowRegion); #endif 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; } static PyObject *WinObj_ClipAbove(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; #ifndef ClipAbove PyMac_PRECHECK(ClipAbove); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; ClipAbove(_self->ob_itself); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_PaintOne(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; RgnHandle clobberedRgn; #ifndef PaintOne PyMac_PRECHECK(PaintOne); #endif 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; #ifndef PaintBehind PyMac_PRECHECK(PaintBehind); #endif 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; #ifndef CalcVis PyMac_PRECHECK(CalcVis); #endif 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; #ifndef CalcVisBehind PyMac_PRECHECK(CalcVisBehind); #endif 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; #ifndef BringToFront PyMac_PRECHECK(BringToFront); #endif 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; #ifndef SendBehind PyMac_PRECHECK(SendBehind); #endif 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; #ifndef SelectWindow PyMac_PRECHECK(SelectWindow); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; SelectWindow(_self->ob_itself); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_GetNextWindowOfClass(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; WindowPtr _rv; WindowClass inWindowClass; Boolean mustBeVisible; #ifndef GetNextWindowOfClass PyMac_PRECHECK(GetNextWindowOfClass); #endif 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; } static PyObject *WinObj_SetWindowAlternateTitle(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; CFStringRef inTitle; #ifndef SetWindowAlternateTitle PyMac_PRECHECK(SetWindowAlternateTitle); #endif if (!PyArg_ParseTuple(_args, "O&", CFStringRefObj_Convert, &inTitle)) return NULL; _err = SetWindowAlternateTitle(_self->ob_itself, inTitle); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_CopyWindowAlternateTitle(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; CFStringRef outTitle; #ifndef CopyWindowAlternateTitle PyMac_PRECHECK(CopyWindowAlternateTitle); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = CopyWindowAlternateTitle(_self->ob_itself, &outTitle); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", CFStringRefObj_New, outTitle); return _res; } static PyObject *WinObj_HiliteWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; Boolean fHilite; #ifndef HiliteWindow PyMac_PRECHECK(HiliteWindow); #endif 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; #ifndef SetWRefCon PyMac_PRECHECK(SetWRefCon); #endif 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; #ifndef GetWRefCon PyMac_PRECHECK(GetWRefCon); #endif 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; #ifndef SetWindowPic PyMac_PRECHECK(SetWindowPic); #endif 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; #ifndef GetWindowPic PyMac_PRECHECK(GetWindowPic); #endif 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; #ifndef GetWVariant PyMac_PRECHECK(GetWVariant); #endif 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; #ifndef GetWindowFeatures PyMac_PRECHECK(GetWindowFeatures); #endif 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; #ifndef GetWindowRegion PyMac_PRECHECK(GetWindowRegion); #endif 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_GetWindowStructureWidths(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; Rect outRect; #ifndef GetWindowStructureWidths PyMac_PRECHECK(GetWindowStructureWidths); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = GetWindowStructureWidths(_self->ob_itself, &outRect); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", PyMac_BuildRect, &outRect); return _res; } static PyObject *WinObj_BeginUpdate(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; #ifndef BeginUpdate PyMac_PRECHECK(BeginUpdate); #endif 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; #ifndef EndUpdate PyMac_PRECHECK(EndUpdate); #endif 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; #ifndef InvalWindowRgn PyMac_PRECHECK(InvalWindowRgn); #endif 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; #ifndef InvalWindowRect PyMac_PRECHECK(InvalWindowRect); #endif 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; #ifndef ValidWindowRgn PyMac_PRECHECK(ValidWindowRgn); #endif 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; #ifndef ValidWindowRect PyMac_PRECHECK(ValidWindowRect); #endif 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; #ifndef DrawGrowIcon PyMac_PRECHECK(DrawGrowIcon); #endif 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; #ifndef SetWTitle PyMac_PRECHECK(SetWTitle); #endif 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; #ifndef GetWTitle PyMac_PRECHECK(GetWTitle); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; GetWTitle(_self->ob_itself, title); _res = Py_BuildValue("O&", PyMac_BuildStr255, title); return _res; } static PyObject *WinObj_SetWindowTitleWithCFString(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; CFStringRef inString; #ifndef SetWindowTitleWithCFString PyMac_PRECHECK(SetWindowTitleWithCFString); #endif if (!PyArg_ParseTuple(_args, "O&", CFStringRefObj_Convert, &inString)) return NULL; _err = SetWindowTitleWithCFString(_self->ob_itself, inString); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_CopyWindowTitleAsCFString(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; CFStringRef outString; #ifndef CopyWindowTitleAsCFString PyMac_PRECHECK(CopyWindowTitleAsCFString); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = CopyWindowTitleAsCFString(_self->ob_itself, &outString); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", CFStringRefObj_New, outString); return _res; } static PyObject *WinObj_SetWindowProxyFSSpec(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; FSSpec inFile; #ifndef SetWindowProxyFSSpec PyMac_PRECHECK(SetWindowProxyFSSpec); #endif 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; #ifndef GetWindowProxyFSSpec PyMac_PRECHECK(GetWindowProxyFSSpec); #endif 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 inAlias; #ifndef SetWindowProxyAlias PyMac_PRECHECK(SetWindowProxyAlias); #endif if (!PyArg_ParseTuple(_args, "O&", ResObj_Convert, &inAlias)) return NULL; _err = SetWindowProxyAlias(_self->ob_itself, inAlias); 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; #ifndef GetWindowProxyAlias PyMac_PRECHECK(GetWindowProxyAlias); #endif 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; #ifndef SetWindowProxyCreatorAndType PyMac_PRECHECK(SetWindowProxyCreatorAndType); #endif 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; #ifndef GetWindowProxyIcon PyMac_PRECHECK(GetWindowProxyIcon); #endif 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; #ifndef SetWindowProxyIcon PyMac_PRECHECK(SetWindowProxyIcon); #endif 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; #ifndef RemoveWindowProxy PyMac_PRECHECK(RemoveWindowProxy); #endif 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; #ifndef BeginWindowProxyDrag PyMac_PRECHECK(BeginWindowProxyDrag); #endif 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; #ifndef EndWindowProxyDrag PyMac_PRECHECK(EndWindowProxyDrag); #endif 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; #ifndef TrackWindowProxyFromExistingDrag PyMac_PRECHECK(TrackWindowProxyFromExistingDrag); #endif 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; #ifndef TrackWindowProxyDrag PyMac_PRECHECK(TrackWindowProxyDrag); #endif 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; #ifndef IsWindowModified PyMac_PRECHECK(IsWindowModified); #endif 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; #ifndef SetWindowModified PyMac_PRECHECK(SetWindowModified); #endif 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; #ifndef IsWindowPathSelectClick PyMac_PRECHECK(IsWindowPathSelectClick); #endif 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; #ifndef WindowPathSelect PyMac_PRECHECK(WindowPathSelect); #endif 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; #ifndef HiliteWindowFrameForDrag PyMac_PRECHECK(HiliteWindowFrameForDrag); #endif 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 inEffect; WindowTransitionAction inAction; Rect inRect; #ifndef TransitionWindow PyMac_PRECHECK(TransitionWindow); #endif if (!PyArg_ParseTuple(_args, "llO&", &inEffect, &inAction, PyMac_GetRect, &inRect)) return NULL; _err = TransitionWindow(_self->ob_itself, inEffect, inAction, &inRect); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_TransitionWindowAndParent(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowPtr inParentWindow; WindowTransitionEffect inEffect; WindowTransitionAction inAction; Rect inRect; #ifndef TransitionWindowAndParent PyMac_PRECHECK(TransitionWindowAndParent); #endif if (!PyArg_ParseTuple(_args, "O&llO&", WinObj_Convert, &inParentWindow, &inEffect, &inAction, PyMac_GetRect, &inRect)) return NULL; _err = TransitionWindowAndParent(_self->ob_itself, inParentWindow, inEffect, inAction, &inRect); 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; #ifndef MacMoveWindow PyMac_PRECHECK(MacMoveWindow); #endif 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; #ifndef SizeWindow PyMac_PRECHECK(SizeWindow); #endif 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; #ifndef GrowWindow PyMac_PRECHECK(GrowWindow); #endif 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; #ifndef DragWindow PyMac_PRECHECK(DragWindow); #endif 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; #ifndef ZoomWindow PyMac_PRECHECK(ZoomWindow); #endif 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; #ifndef IsWindowCollapsable PyMac_PRECHECK(IsWindowCollapsable); #endif 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; #ifndef IsWindowCollapsed PyMac_PRECHECK(IsWindowCollapsed); #endif 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; #ifndef CollapseWindow PyMac_PRECHECK(CollapseWindow); #endif 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; #ifndef GetWindowBounds PyMac_PRECHECK(GetWindowBounds); #endif 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 inStartPoint; Rect inSizeConstraints; Rect outNewContentRect; #ifndef ResizeWindow PyMac_PRECHECK(ResizeWindow); #endif if (!PyArg_ParseTuple(_args, "O&O&", PyMac_GetPoint, &inStartPoint, PyMac_GetRect, &inSizeConstraints)) return NULL; _rv = ResizeWindow(_self->ob_itself, inStartPoint, &inSizeConstraints, &outNewContentRect); _res = Py_BuildValue("bO&", _rv, PyMac_BuildRect, &outNewContentRect); return _res; } static PyObject *WinObj_SetWindowBounds(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowRegionCode regionCode; Rect globalBounds; #ifndef SetWindowBounds PyMac_PRECHECK(SetWindowBounds); #endif 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; #ifndef RepositionWindow PyMac_PRECHECK(RepositionWindow); #endif 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; #ifndef MoveWindowStructure PyMac_PRECHECK(MoveWindowStructure); #endif 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 inIdealSize; Rect outIdealStandardState; #ifndef IsWindowInStandardState PyMac_PRECHECK(IsWindowInStandardState); #endif if (!PyArg_ParseTuple(_args, "O&", PyMac_GetPoint, &inIdealSize)) return NULL; _rv = IsWindowInStandardState(_self->ob_itself, &inIdealSize, &outIdealStandardState); _res = Py_BuildValue("bO&", _rv, PyMac_BuildRect, &outIdealStandardState); return _res; } static PyObject *WinObj_ZoomWindowIdeal(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowPartCode inPartCode; Point ioIdealSize; #ifndef ZoomWindowIdeal PyMac_PRECHECK(ZoomWindowIdeal); #endif if (!PyArg_ParseTuple(_args, "h", &inPartCode)) return NULL; _err = ZoomWindowIdeal(_self->ob_itself, inPartCode, &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 outUserState; #ifndef GetWindowIdealUserState PyMac_PRECHECK(GetWindowIdealUserState); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = GetWindowIdealUserState(_self->ob_itself, &outUserState); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", PyMac_BuildRect, &outUserState); return _res; } static PyObject *WinObj_SetWindowIdealUserState(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; Rect inUserState; #ifndef SetWindowIdealUserState PyMac_PRECHECK(SetWindowIdealUserState); #endif if (!PyArg_ParseTuple(_args, "O&", PyMac_GetRect, &inUserState)) return NULL; _err = SetWindowIdealUserState(_self->ob_itself, &inUserState); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_GetWindowGreatestAreaDevice(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowRegionCode inRegion; GDHandle outGreatestDevice; Rect outGreatestDeviceRect; #ifndef GetWindowGreatestAreaDevice PyMac_PRECHECK(GetWindowGreatestAreaDevice); #endif if (!PyArg_ParseTuple(_args, "H", &inRegion)) return NULL; _err = GetWindowGreatestAreaDevice(_self->ob_itself, inRegion, &outGreatestDevice, &outGreatestDeviceRect); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&O&", ResObj_New, outGreatestDevice, PyMac_BuildRect, &outGreatestDeviceRect); return _res; } static PyObject *WinObj_ConstrainWindowToScreen(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowRegionCode inRegionCode; WindowConstrainOptions inOptions; Rect inScreenRect; Rect outStructure; #ifndef ConstrainWindowToScreen PyMac_PRECHECK(ConstrainWindowToScreen); #endif if (!PyArg_ParseTuple(_args, "HlO&", &inRegionCode, &inOptions, PyMac_GetRect, &inScreenRect)) return NULL; _err = ConstrainWindowToScreen(_self->ob_itself, inRegionCode, inOptions, &inScreenRect, &outStructure); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", PyMac_BuildRect, &outStructure); return _res; } static PyObject *WinObj_HideWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; #ifndef HideWindow PyMac_PRECHECK(HideWindow); #endif 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; #ifndef MacShowWindow PyMac_PRECHECK(MacShowWindow); #endif 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; #ifndef ShowHide PyMac_PRECHECK(ShowHide); #endif if (!PyArg_ParseTuple(_args, "b", &showFlag)) return NULL; ShowHide(_self->ob_itself, showFlag); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_MacIsWindowVisible(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; Boolean _rv; #ifndef MacIsWindowVisible PyMac_PRECHECK(MacIsWindowVisible); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = MacIsWindowVisible(_self->ob_itself); _res = Py_BuildValue("b", _rv); return _res; } static PyObject *WinObj_ShowSheetWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowPtr inParentWindow; #ifndef ShowSheetWindow PyMac_PRECHECK(ShowSheetWindow); #endif if (!PyArg_ParseTuple(_args, "O&", WinObj_Convert, &inParentWindow)) return NULL; _err = ShowSheetWindow(_self->ob_itself, inParentWindow); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_HideSheetWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; #ifndef HideSheetWindow PyMac_PRECHECK(HideSheetWindow); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = HideSheetWindow(_self->ob_itself); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_GetSheetWindowParent(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; WindowPtr outParentWindow; #ifndef GetSheetWindowParent PyMac_PRECHECK(GetSheetWindowParent); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = GetSheetWindowParent(_self->ob_itself, &outParentWindow); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", WinObj_WhichWindow, outParentWindow); return _res; } static PyObject *WinObj_GetWindowPropertyAttributes(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; OSType propertyCreator; OSType propertyTag; UInt32 attributes; #ifndef GetWindowPropertyAttributes PyMac_PRECHECK(GetWindowPropertyAttributes); #endif 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; } static PyObject *WinObj_ChangeWindowPropertyAttributes(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; OSType propertyCreator; OSType propertyTag; UInt32 attributesToSet; UInt32 attributesToClear; #ifndef ChangeWindowPropertyAttributes PyMac_PRECHECK(ChangeWindowPropertyAttributes); #endif 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; } static PyObject *WinObj_TrackBox(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; Boolean _rv; Point thePt; WindowPartCode partCode; #ifndef TrackBox PyMac_PRECHECK(TrackBox); #endif 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; #ifndef TrackGoAway PyMac_PRECHECK(TrackGoAway); #endif if (!PyArg_ParseTuple(_args, "O&", PyMac_GetPoint, &thePt)) return NULL; _rv = TrackGoAway(_self->ob_itself, thePt); _res = Py_BuildValue("b", _rv); return _res; } static PyObject *WinObj_GetWindowPort(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; CGrafPtr _rv; #ifndef GetWindowPort PyMac_PRECHECK(GetWindowPort); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = GetWindowPort(_self->ob_itself); _res = Py_BuildValue("O&", GrafObj_New, _rv); return _res; } static PyObject *WinObj_GetWindowStructurePort(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; CGrafPtr _rv; #ifndef GetWindowStructurePort PyMac_PRECHECK(GetWindowStructurePort); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = GetWindowStructurePort(_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; #ifndef GetWindowKind PyMac_PRECHECK(GetWindowKind); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = GetWindowKind(_self->ob_itself); _res = Py_BuildValue("h", _rv); return _res; } static PyObject *WinObj_IsWindowHilited(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; Boolean _rv; #ifndef IsWindowHilited PyMac_PRECHECK(IsWindowHilited); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = IsWindowHilited(_self->ob_itself); _res = Py_BuildValue("b", _rv); return _res; } static PyObject *WinObj_IsWindowUpdatePending(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; Boolean _rv; #ifndef IsWindowUpdatePending PyMac_PRECHECK(IsWindowUpdatePending); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = IsWindowUpdatePending(_self->ob_itself); _res = Py_BuildValue("b", _rv); return _res; } static PyObject *WinObj_MacGetNextWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; WindowPtr _rv; #ifndef MacGetNextWindow PyMac_PRECHECK(MacGetNextWindow); #endif 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; #ifndef GetWindowStandardState PyMac_PRECHECK(GetWindowStandardState); #endif 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; #ifndef GetWindowUserState PyMac_PRECHECK(GetWindowUserState); #endif 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; #ifndef SetWindowKind PyMac_PRECHECK(SetWindowKind); #endif 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; #ifndef SetWindowStandardState PyMac_PRECHECK(SetWindowStandardState); #endif 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; #ifndef SetWindowUserState PyMac_PRECHECK(SetWindowUserState); #endif 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; #ifndef SetPortWindowPort PyMac_PRECHECK(SetPortWindowPort); #endif 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; #ifndef GetWindowPortBounds PyMac_PRECHECK(GetWindowPortBounds); #endif 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; #ifndef IsWindowVisible PyMac_PRECHECK(IsWindowVisible); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = IsWindowVisible(_self->ob_itself); _res = Py_BuildValue("b", _rv); return _res; } static PyObject *WinObj_GetWindowStructureRgn(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; RgnHandle r; #ifndef GetWindowStructureRgn PyMac_PRECHECK(GetWindowStructureRgn); #endif 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; #ifndef GetWindowContentRgn PyMac_PRECHECK(GetWindowContentRgn); #endif 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; #ifndef GetWindowUpdateRgn PyMac_PRECHECK(GetWindowUpdateRgn); #endif if (!PyArg_ParseTuple(_args, "O&", ResObj_Convert, &r)) return NULL; GetWindowUpdateRgn(_self->ob_itself, r); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_GetNextWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; WindowPtr _rv; #ifndef GetNextWindow PyMac_PRECHECK(GetNextWindow); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = GetNextWindow(_self->ob_itself); _res = Py_BuildValue("O&", WinObj_WhichWindow, _rv); return _res; } static PyObject *WinObj_MoveWindow(WindowObject *_self, PyObject *_args) { PyObject *_res = NULL; short hGlobal; short vGlobal; Boolean front; #ifndef MoveWindow PyMac_PRECHECK(MoveWindow); #endif 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; #ifndef ShowWindow PyMac_PRECHECK(ShowWindow); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; ShowWindow(_self->ob_itself); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *WinObj_AutoDispose(WindowObject *_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_AutoDisposeWindow; else _self->ob_freeit = NULL; _res = Py_BuildValue("i", old); return _res; } static PyMethodDef WinObj_methods[] = { {"GetWindowOwnerCount", (PyCFunction)WinObj_GetWindowOwnerCount, 1, PyDoc_STR("() -> (UInt32 outCount)")}, {"CloneWindow", (PyCFunction)WinObj_CloneWindow, 1, PyDoc_STR("() -> None")}, {"GetWindowRetainCount", (PyCFunction)WinObj_GetWindowRetainCount, 1, PyDoc_STR("() -> (ItemCount _rv)")}, {"RetainWindow", (PyCFunction)WinObj_RetainWindow, 1, PyDoc_STR("() -> None")}, {"ReleaseWindow", (PyCFunction)WinObj_ReleaseWindow, 1, PyDoc_STR("() -> None")}, {"ReshapeCustomWindow", (PyCFunction)WinObj_ReshapeCustomWindow, 1, PyDoc_STR("() -> None")}, {"GetWindowWidgetHilite", (PyCFunction)WinObj_GetWindowWidgetHilite, 1, PyDoc_STR("() -> (WindowDefPartCode outHilite)")}, {"GetWindowClass", (PyCFunction)WinObj_GetWindowClass, 1, PyDoc_STR("() -> (WindowClass outClass)")}, {"GetWindowAttributes", (PyCFunction)WinObj_GetWindowAttributes, 1, PyDoc_STR("() -> (WindowAttributes outAttributes)")}, {"ChangeWindowAttributes", (PyCFunction)WinObj_ChangeWindowAttributes, 1, PyDoc_STR("(WindowAttributes setTheseAttributes, WindowAttributes clearTheseAttributes) -> None")}, {"SetWindowClass", (PyCFunction)WinObj_SetWindowClass, 1, PyDoc_STR("(WindowClass inWindowClass) -> None")}, {"SetWindowModality", (PyCFunction)WinObj_SetWindowModality, 1, PyDoc_STR("(WindowModality inModalKind, WindowPtr inUnavailableWindow) -> None")}, {"GetWindowModality", (PyCFunction)WinObj_GetWindowModality, 1, PyDoc_STR("() -> (WindowModality outModalKind, WindowPtr outUnavailableWindow)")}, {"SetWindowContentColor", (PyCFunction)WinObj_SetWindowContentColor, 1, PyDoc_STR("(RGBColor color) -> None")}, {"GetWindowContentColor", (PyCFunction)WinObj_GetWindowContentColor, 1, PyDoc_STR("() -> (RGBColor color)")}, {"GetWindowContentPattern", (PyCFunction)WinObj_GetWindowContentPattern, 1, PyDoc_STR("(PixPatHandle outPixPat) -> None")}, {"SetWindowContentPattern", (PyCFunction)WinObj_SetWindowContentPattern, 1, PyDoc_STR("(PixPatHandle pixPat) -> None")}, {"ScrollWindowRect", (PyCFunction)WinObj_ScrollWindowRect, 1, PyDoc_STR("(Rect inScrollRect, SInt16 inHPixels, SInt16 inVPixels, ScrollWindowOptions inOptions, RgnHandle outExposedRgn) -> None")}, {"ScrollWindowRegion", (PyCFunction)WinObj_ScrollWindowRegion, 1, PyDoc_STR("(RgnHandle inScrollRgn, SInt16 inHPixels, SInt16 inVPixels, ScrollWindowOptions inOptions, RgnHandle outExposedRgn) -> None")}, {"ClipAbove", (PyCFunction)WinObj_ClipAbove, 1, PyDoc_STR("() -> None")}, {"PaintOne", (PyCFunction)WinObj_PaintOne, 1, PyDoc_STR("(RgnHandle clobberedRgn) -> None")}, {"PaintBehind", (PyCFunction)WinObj_PaintBehind, 1, PyDoc_STR("(RgnHandle clobberedRgn) -> None")}, {"CalcVis", (PyCFunction)WinObj_CalcVis, 1, PyDoc_STR("() -> None")}, {"CalcVisBehind", (PyCFunction)WinObj_CalcVisBehind, 1, PyDoc_STR("(RgnHandle clobberedRgn) -> None")}, {"BringToFront", (PyCFunction)WinObj_BringToFront, 1, PyDoc_STR("() -> None")}, {"SendBehind", (PyCFunction)WinObj_SendBehind, 1, PyDoc_STR("(WindowPtr behindWindow) -> None")}, {"SelectWindow", (PyCFunction)WinObj_SelectWindow, 1, PyDoc_STR("() -> None")}, {"GetNextWindowOfClass", (PyCFunction)WinObj_GetNextWindowOfClass, 1, PyDoc_STR("(WindowClass inWindowClass, Boolean mustBeVisible) -> (WindowPtr _rv)")}, {"SetWindowAlternateTitle", (PyCFunction)WinObj_SetWindowAlternateTitle, 1, PyDoc_STR("(CFStringRef inTitle) -> None")}, {"CopyWindowAlternateTitle", (PyCFunction)WinObj_CopyWindowAlternateTitle, 1, PyDoc_STR("() -> (CFStringRef outTitle)")}, {"HiliteWindow", (PyCFunction)WinObj_HiliteWindow, 1, PyDoc_STR("(Boolean fHilite) -> None")}, {"SetWRefCon", (PyCFunction)WinObj_SetWRefCon, 1, PyDoc_STR("(long data) -> None")}, {"GetWRefCon", (PyCFunction)WinObj_GetWRefCon, 1, PyDoc_STR("() -> (long _rv)")}, {"SetWindowPic", (PyCFunction)WinObj_SetWindowPic, 1, PyDoc_STR("(PicHandle pic) -> None")}, {"GetWindowPic", (PyCFunction)WinObj_GetWindowPic, 1, PyDoc_STR("() -> (PicHandle _rv)")}, {"GetWVariant", (PyCFunction)WinObj_GetWVariant, 1, PyDoc_STR("() -> (short _rv)")}, {"GetWindowFeatures", (PyCFunction)WinObj_GetWindowFeatures, 1, PyDoc_STR("() -> (UInt32 outFeatures)")}, {"GetWindowRegion", (PyCFunction)WinObj_GetWindowRegion, 1, PyDoc_STR("(WindowRegionCode inRegionCode, RgnHandle ioWinRgn) -> None")}, {"GetWindowStructureWidths", (PyCFunction)WinObj_GetWindowStructureWidths, 1, PyDoc_STR("() -> (Rect outRect)")}, {"BeginUpdate", (PyCFunction)WinObj_BeginUpdate, 1, PyDoc_STR("() -> None")}, {"EndUpdate", (PyCFunction)WinObj_EndUpdate, 1, PyDoc_STR("() -> None")}, {"InvalWindowRgn", (PyCFunction)WinObj_InvalWindowRgn, 1, PyDoc_STR("(RgnHandle region) -> None")}, {"InvalWindowRect", (PyCFunction)WinObj_InvalWindowRect, 1, PyDoc_STR("(Rect bounds) -> None")}, {"ValidWindowRgn", (PyCFunction)WinObj_ValidWindowRgn, 1, PyDoc_STR("(RgnHandle region) -> None")}, {"ValidWindowRect", (PyCFunction)WinObj_ValidWindowRect, 1, PyDoc_STR("(Rect bounds) -> None")}, {"DrawGrowIcon", (PyCFunction)WinObj_DrawGrowIcon, 1, PyDoc_STR("() -> None")}, {"SetWTitle", (PyCFunction)WinObj_SetWTitle, 1, PyDoc_STR("(Str255 title) -> None")}, {"GetWTitle", (PyCFunction)WinObj_GetWTitle, 1, PyDoc_STR("() -> (Str255 title)")}, {"SetWindowTitleWithCFString", (PyCFunction)WinObj_SetWindowTitleWithCFString, 1, PyDoc_STR("(CFStringRef inString) -> None")}, {"CopyWindowTitleAsCFString", (PyCFunction)WinObj_CopyWindowTitleAsCFString, 1, PyDoc_STR("() -> (CFStringRef outString)")}, {"SetWindowProxyFSSpec", (PyCFunction)WinObj_SetWindowProxyFSSpec, 1, PyDoc_STR("(FSSpec inFile) -> None")}, {"GetWindowProxyFSSpec", (PyCFunction)WinObj_GetWindowProxyFSSpec, 1, PyDoc_STR("() -> (FSSpec outFile)")}, {"SetWindowProxyAlias", (PyCFunction)WinObj_SetWindowProxyAlias, 1, PyDoc_STR("(AliasHandle inAlias) -> None")}, {"GetWindowProxyAlias", (PyCFunction)WinObj_GetWindowProxyAlias, 1, PyDoc_STR("() -> (AliasHandle alias)")}, {"SetWindowProxyCreatorAndType", (PyCFunction)WinObj_SetWindowProxyCreatorAndType, 1, PyDoc_STR("(OSType fileCreator, OSType fileType, SInt16 vRefNum) -> None")}, {"GetWindowProxyIcon", (PyCFunction)WinObj_GetWindowProxyIcon, 1, PyDoc_STR("() -> (IconRef outIcon)")}, {"SetWindowProxyIcon", (PyCFunction)WinObj_SetWindowProxyIcon, 1, PyDoc_STR("(IconRef icon) -> None")}, {"RemoveWindowProxy", (PyCFunction)WinObj_RemoveWindowProxy, 1, PyDoc_STR("() -> None")}, {"BeginWindowProxyDrag", (PyCFunction)WinObj_BeginWindowProxyDrag, 1, PyDoc_STR("(RgnHandle outDragOutlineRgn) -> (DragReference outNewDrag)")}, {"EndWindowProxyDrag", (PyCFunction)WinObj_EndWindowProxyDrag, 1, PyDoc_STR("(DragReference theDrag) -> None")}, {"TrackWindowProxyFromExistingDrag", (PyCFunction)WinObj_TrackWindowProxyFromExistingDrag, 1, PyDoc_STR("(Point startPt, DragReference drag, RgnHandle inDragOutlineRgn) -> None")}, {"TrackWindowProxyDrag", (PyCFunction)WinObj_TrackWindowProxyDrag, 1, PyDoc_STR("(Point startPt) -> None")}, {"IsWindowModified", (PyCFunction)WinObj_IsWindowModified, 1, PyDoc_STR("() -> (Boolean _rv)")}, {"SetWindowModified", (PyCFunction)WinObj_SetWindowModified, 1, PyDoc_STR("(Boolean modified) -> None")}, {"IsWindowPathSelectClick", (PyCFunction)WinObj_IsWindowPathSelectClick, 1, PyDoc_STR("(EventRecord event) -> (Boolean _rv)")}, {"WindowPathSelect", (PyCFunction)WinObj_WindowPathSelect, 1, PyDoc_STR("(MenuHandle menu) -> (SInt32 outMenuResult)")}, {"HiliteWindowFrameForDrag", (PyCFunction)WinObj_HiliteWindowFrameForDrag, 1, PyDoc_STR("(Boolean hilited) -> None")}, {"TransitionWindow", (PyCFunction)WinObj_TransitionWindow, 1, PyDoc_STR("(WindowTransitionEffect inEffect, WindowTransitionAction inAction, Rect inRect) -> None")}, {"TransitionWindowAndParent", (PyCFunction)WinObj_TransitionWindowAndParent, 1, PyDoc_STR("(WindowPtr inParentWindow, WindowTransitionEffect inEffect, WindowTransitionAction inAction, Rect inRect) -> None")}, {"MacMoveWindow", (PyCFunction)WinObj_MacMoveWindow, 1, PyDoc_STR("(short hGlobal, short vGlobal, Boolean front) -> None")}, {"SizeWindow", (PyCFunction)WinObj_SizeWindow, 1, PyDoc_STR("(short w, short h, Boolean fUpdate) -> None")}, {"GrowWindow", (PyCFunction)WinObj_GrowWindow, 1, PyDoc_STR("(Point startPt, Rect bBox) -> (long _rv)")}, {"DragWindow", (PyCFunction)WinObj_DragWindow, 1, PyDoc_STR("(Point startPt, Rect boundsRect) -> None")}, {"ZoomWindow", (PyCFunction)WinObj_ZoomWindow, 1, PyDoc_STR("(WindowPartCode partCode, Boolean front) -> None")}, {"IsWindowCollapsable", (PyCFunction)WinObj_IsWindowCollapsable, 1, PyDoc_STR("() -> (Boolean _rv)")}, {"IsWindowCollapsed", (PyCFunction)WinObj_IsWindowCollapsed, 1, PyDoc_STR("() -> (Boolean _rv)")}, {"CollapseWindow", (PyCFunction)WinObj_CollapseWindow, 1, PyDoc_STR("(Boolean collapse) -> None")}, {"GetWindowBounds", (PyCFunction)WinObj_GetWindowBounds, 1, PyDoc_STR("(WindowRegionCode regionCode) -> (Rect globalBounds)")}, {"ResizeWindow", (PyCFunction)WinObj_ResizeWindow, 1, PyDoc_STR("(Point inStartPoint, Rect inSizeConstraints) -> (Boolean _rv, Rect outNewContentRect)")}, {"SetWindowBounds", (PyCFunction)WinObj_SetWindowBounds, 1, PyDoc_STR("(WindowRegionCode regionCode, Rect globalBounds) -> None")}, {"RepositionWindow", (PyCFunction)WinObj_RepositionWindow, 1, PyDoc_STR("(WindowPtr parentWindow, WindowPositionMethod method) -> None")}, {"MoveWindowStructure", (PyCFunction)WinObj_MoveWindowStructure, 1, PyDoc_STR("(short hGlobal, short vGlobal) -> None")}, {"IsWindowInStandardState", (PyCFunction)WinObj_IsWindowInStandardState, 1, PyDoc_STR("(Point inIdealSize) -> (Boolean _rv, Rect outIdealStandardState)")}, {"ZoomWindowIdeal", (PyCFunction)WinObj_ZoomWindowIdeal, 1, PyDoc_STR("(WindowPartCode inPartCode) -> (Point ioIdealSize)")}, {"GetWindowIdealUserState", (PyCFunction)WinObj_GetWindowIdealUserState, 1, PyDoc_STR("() -> (Rect outUserState)")}, {"SetWindowIdealUserState", (PyCFunction)WinObj_SetWindowIdealUserState, 1, PyDoc_STR("(Rect inUserState) -> None")}, {"GetWindowGreatestAreaDevice", (PyCFunction)WinObj_GetWindowGreatestAreaDevice, 1, PyDoc_STR("(WindowRegionCode inRegion) -> (GDHandle outGreatestDevice, Rect outGreatestDeviceRect)")}, {"ConstrainWindowToScreen", (PyCFunction)WinObj_ConstrainWindowToScreen, 1, PyDoc_STR("(WindowRegionCode inRegionCode, WindowConstrainOptions inOptions, Rect inScreenRect) -> (Rect outStructure)")}, {"HideWindow", (PyCFunction)WinObj_HideWindow, 1, PyDoc_STR("() -> None")}, {"MacShowWindow", (PyCFunction)WinObj_MacShowWindow, 1, PyDoc_STR("() -> None")}, {"ShowHide", (PyCFunction)WinObj_ShowHide, 1, PyDoc_STR("(Boolean showFlag) -> None")}, {"MacIsWindowVisible", (PyCFunction)WinObj_MacIsWindowVisible, 1, PyDoc_STR("() -> (Boolean _rv)")}, {"ShowSheetWindow", (PyCFunction)WinObj_ShowSheetWindow, 1, PyDoc_STR("(WindowPtr inParentWindow) -> None")}, {"HideSheetWindow", (PyCFunction)WinObj_HideSheetWindow, 1, PyDoc_STR("() -> None")}, {"GetSheetWindowParent", (PyCFunction)WinObj_GetSheetWindowParent, 1, PyDoc_STR("() -> (WindowPtr outParentWindow)")}, {"GetWindowPropertyAttributes", (PyCFunction)WinObj_GetWindowPropertyAttributes, 1, PyDoc_STR("(OSType propertyCreator, OSType propertyTag) -> (UInt32 attributes)")}, {"ChangeWindowPropertyAttributes", (PyCFunction)WinObj_ChangeWindowPropertyAttributes, 1, PyDoc_STR("(OSType propertyCreator, OSType propertyTag, UInt32 attributesToSet, UInt32 attributesToClear) -> None")}, {"TrackBox", (PyCFunction)WinObj_TrackBox, 1, PyDoc_STR("(Point thePt, WindowPartCode partCode) -> (Boolean _rv)")}, {"TrackGoAway", (PyCFunction)WinObj_TrackGoAway, 1, PyDoc_STR("(Point thePt) -> (Boolean _rv)")}, {"GetWindowPort", (PyCFunction)WinObj_GetWindowPort, 1, PyDoc_STR("() -> (CGrafPtr _rv)")}, {"GetWindowStructurePort", (PyCFunction)WinObj_GetWindowStructurePort, 1, PyDoc_STR("() -> (CGrafPtr _rv)")}, {"GetWindowKind", (PyCFunction)WinObj_GetWindowKind, 1, PyDoc_STR("() -> (short _rv)")}, {"IsWindowHilited", (PyCFunction)WinObj_IsWindowHilited, 1, PyDoc_STR("() -> (Boolean _rv)")}, {"IsWindowUpdatePending", (PyCFunction)WinObj_IsWindowUpdatePending, 1, PyDoc_STR("() -> (Boolean _rv)")}, {"MacGetNextWindow", (PyCFunction)WinObj_MacGetNextWindow, 1, PyDoc_STR("() -> (WindowPtr _rv)")}, {"GetWindowStandardState", (PyCFunction)WinObj_GetWindowStandardState, 1, PyDoc_STR("() -> (Rect rect)")}, {"GetWindowUserState", (PyCFunction)WinObj_GetWindowUserState, 1, PyDoc_STR("() -> (Rect rect)")}, {"SetWindowKind", (PyCFunction)WinObj_SetWindowKind, 1, PyDoc_STR("(short kind) -> None")}, {"SetWindowStandardState", (PyCFunction)WinObj_SetWindowStandardState, 1, PyDoc_STR("(Rect rect) -> None")}, {"SetWindowUserState", (PyCFunction)WinObj_SetWindowUserState, 1, PyDoc_STR("(Rect rect) -> None")}, {"SetPortWindowPort", (PyCFunction)WinObj_SetPortWindowPort, 1, PyDoc_STR("() -> None")}, {"GetWindowPortBounds", (PyCFunction)WinObj_GetWindowPortBounds, 1, PyDoc_STR("() -> (Rect bounds)")}, {"IsWindowVisible", (PyCFunction)WinObj_IsWindowVisible, 1, PyDoc_STR("() -> (Boolean _rv)")}, {"GetWindowStructureRgn", (PyCFunction)WinObj_GetWindowStructureRgn, 1, PyDoc_STR("(RgnHandle r) -> None")}, {"GetWindowContentRgn", (PyCFunction)WinObj_GetWindowContentRgn, 1, PyDoc_STR("(RgnHandle r) -> None")}, {"GetWindowUpdateRgn", (PyCFunction)WinObj_GetWindowUpdateRgn, 1, PyDoc_STR("(RgnHandle r) -> None")}, {"GetNextWindow", (PyCFunction)WinObj_GetNextWindow, 1, PyDoc_STR("() -> (WindowPtr _rv)")}, {"MoveWindow", (PyCFunction)WinObj_MoveWindow, 1, PyDoc_STR("(short hGlobal, short vGlobal, Boolean front) -> None")}, {"ShowWindow", (PyCFunction)WinObj_ShowWindow, 1, PyDoc_STR("() -> None")}, {"AutoDispose", (PyCFunction)WinObj_AutoDispose, 1, PyDoc_STR("(int)->int. Automatically DisposeHandle the object on Python object cleanup")}, {NULL, NULL, 0} }; #define WinObj_getsetlist 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%8.8x for 0x%8.8x>", (unsigned)self, (unsigned)self->ob_itself); return PyString_FromString(buf); } static int WinObj_hash(WindowObject *self) { return (int)self->ob_itself; } #define WinObj_tp_init 0 #define WinObj_tp_alloc PyType_GenericAlloc static PyObject *WinObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds) { PyObject *_self; WindowPtr itself; char *kw[] = {"itself", 0}; if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, WinObj_Convert, &itself)) return NULL; if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL; ((WindowObject *)_self)->ob_itself = itself; return _self; } #define WinObj_tp_free PyObject_Del PyTypeObject Window_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "_Win.Window", /*tp_name*/ sizeof(WindowObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ /* methods */ (destructor) WinObj_dealloc, /*tp_dealloc*/ 0, /*tp_print*/ (getattrfunc)0, /*tp_getattr*/ (setattrfunc)0, /*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*/ 0, /*tp_call*/ 0, /*tp_str*/ PyObject_GenericGetAttr, /*tp_getattro*/ PyObject_GenericSetAttr, /*tp_setattro */ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */ 0, /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ WinObj_methods, /* tp_methods */ 0, /*tp_members*/ WinObj_getsetlist, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ WinObj_tp_init, /* tp_init */ WinObj_tp_alloc, /* tp_alloc */ WinObj_tp_new, /* tp_new */ WinObj_tp_free, /* tp_free */ }; /* --------------------- End object type Window --------------------- */ static PyObject *Win_GetNewCWindow(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; WindowPtr _rv; short windowID; WindowPtr behind; #ifndef GetNewCWindow PyMac_PRECHECK(GetNewCWindow); #endif 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; #ifndef NewWindow PyMac_PRECHECK(NewWindow); #endif 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; #ifndef GetNewWindow PyMac_PRECHECK(GetNewWindow); #endif 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; #ifndef NewCWindow PyMac_PRECHECK(NewCWindow); #endif 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; #ifndef CreateNewWindow PyMac_PRECHECK(CreateNewWindow); #endif 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_New, outWindow); return _res; } static PyObject *Win_CreateWindowFromResource(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; SInt16 resID; WindowPtr outWindow; #ifndef CreateWindowFromResource PyMac_PRECHECK(CreateWindowFromResource); #endif if (!PyArg_ParseTuple(_args, "h", &resID)) return NULL; _err = CreateWindowFromResource(resID, &outWindow); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", WinObj_New, outWindow); return _res; } static PyObject *Win_ShowFloatingWindows(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; #ifndef ShowFloatingWindows PyMac_PRECHECK(ShowFloatingWindows); #endif 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; #ifndef HideFloatingWindows PyMac_PRECHECK(HideFloatingWindows); #endif 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; #ifndef AreFloatingWindowsVisible PyMac_PRECHECK(AreFloatingWindowsVisible); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = AreFloatingWindowsVisible(); _res = Py_BuildValue("b", _rv); return _res; } static PyObject *Win_CheckUpdate(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; Boolean _rv; EventRecord theEvent; #ifndef CheckUpdate PyMac_PRECHECK(CheckUpdate); #endif 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; #ifndef MacFindWindow PyMac_PRECHECK(MacFindWindow); #endif 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; #ifndef FrontWindow PyMac_PRECHECK(FrontWindow); #endif 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; #ifndef FrontNonFloatingWindow PyMac_PRECHECK(FrontNonFloatingWindow); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = FrontNonFloatingWindow(); _res = Py_BuildValue("O&", WinObj_WhichWindow, _rv); return _res; } static PyObject *Win_GetFrontWindowOfClass(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; WindowPtr _rv; WindowClass inWindowClass; Boolean mustBeVisible; #ifndef GetFrontWindowOfClass PyMac_PRECHECK(GetFrontWindowOfClass); #endif if (!PyArg_ParseTuple(_args, "lb", &inWindowClass, &mustBeVisible)) return NULL; _rv = GetFrontWindowOfClass(inWindowClass, mustBeVisible); _res = Py_BuildValue("O&", WinObj_New, _rv); return _res; } static PyObject *Win_FindWindowOfClass(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; Point where; WindowClass inWindowClass; WindowPtr outWindow; WindowPartCode outWindowPart; #ifndef FindWindowOfClass PyMac_PRECHECK(FindWindowOfClass); #endif 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; } static PyObject *Win_CreateStandardWindowMenu(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; OptionBits inOptions; MenuHandle outMenu; #ifndef CreateStandardWindowMenu PyMac_PRECHECK(CreateStandardWindowMenu); #endif if (!PyArg_ParseTuple(_args, "l", &inOptions)) return NULL; _err = CreateStandardWindowMenu(inOptions, &outMenu); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", MenuObj_New, outMenu); return _res; } static PyObject *Win_CollapseAllWindows(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; Boolean collapse; #ifndef CollapseAllWindows PyMac_PRECHECK(CollapseAllWindows); #endif 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_GetAvailableWindowPositioningBounds(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; GDHandle inDevice; Rect outAvailableRect; #ifndef GetAvailableWindowPositioningBounds PyMac_PRECHECK(GetAvailableWindowPositioningBounds); #endif if (!PyArg_ParseTuple(_args, "O&", ResObj_Convert, &inDevice)) return NULL; _err = GetAvailableWindowPositioningBounds(inDevice, &outAvailableRect); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", PyMac_BuildRect, &outAvailableRect); return _res; } static PyObject *Win_DisableScreenUpdates(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; #ifndef DisableScreenUpdates PyMac_PRECHECK(DisableScreenUpdates); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = DisableScreenUpdates(); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Win_EnableScreenUpdates(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; OSStatus _err; #ifndef EnableScreenUpdates PyMac_PRECHECK(EnableScreenUpdates); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = EnableScreenUpdates(); 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; #ifndef PinRect PyMac_PRECHECK(PinRect); #endif 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; #ifndef GetGrayRgn PyMac_PRECHECK(GetGrayRgn); #endif 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; #ifndef GetWindowFromPort PyMac_PRECHECK(GetWindowFromPort); #endif 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; _res = WinObj_WhichWindow((WindowPtr)ptr); return _res; } static PyObject *Win_FindWindow(PyObject *_self, PyObject *_args) { PyObject *_res = NULL; short _rv; Point thePoint; WindowPtr theWindow; #ifndef FindWindow PyMac_PRECHECK(FindWindow); #endif if (!PyArg_ParseTuple(_args, "O&", PyMac_GetPoint, &thePoint)) return NULL; _rv = FindWindow(thePoint, &theWindow); _res = Py_BuildValue("hO&", _rv, WinObj_WhichWindow, theWindow); return _res; } #endif /* APPLE_SUPPORTS_QUICKTIME */ static PyMethodDef Win_methods[] = { #if APPLE_SUPPORTS_QUICKTIME {"GetNewCWindow", (PyCFunction)Win_GetNewCWindow, 1, PyDoc_STR("(short windowID, WindowPtr behind) -> (WindowPtr _rv)")}, {"NewWindow", (PyCFunction)Win_NewWindow, 1, PyDoc_STR("(Rect boundsRect, Str255 title, Boolean visible, short theProc, WindowPtr behind, Boolean goAwayFlag, long refCon) -> (WindowPtr _rv)")}, {"GetNewWindow", (PyCFunction)Win_GetNewWindow, 1, PyDoc_STR("(short windowID, WindowPtr behind) -> (WindowPtr _rv)")}, {"NewCWindow", (PyCFunction)Win_NewCWindow, 1, PyDoc_STR("(Rect boundsRect, Str255 title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon) -> (WindowPtr _rv)")}, {"CreateNewWindow", (PyCFunction)Win_CreateNewWindow, 1, PyDoc_STR("(WindowClass windowClass, WindowAttributes attributes, Rect contentBounds) -> (WindowPtr outWindow)")}, {"CreateWindowFromResource", (PyCFunction)Win_CreateWindowFromResource, 1, PyDoc_STR("(SInt16 resID) -> (WindowPtr outWindow)")}, {"ShowFloatingWindows", (PyCFunction)Win_ShowFloatingWindows, 1, PyDoc_STR("() -> None")}, {"HideFloatingWindows", (PyCFunction)Win_HideFloatingWindows, 1, PyDoc_STR("() -> None")}, {"AreFloatingWindowsVisible", (PyCFunction)Win_AreFloatingWindowsVisible, 1, PyDoc_STR("() -> (Boolean _rv)")}, {"CheckUpdate", (PyCFunction)Win_CheckUpdate, 1, PyDoc_STR("() -> (Boolean _rv, EventRecord theEvent)")}, {"MacFindWindow", (PyCFunction)Win_MacFindWindow, 1, PyDoc_STR("(Point thePoint) -> (WindowPartCode _rv, WindowPtr window)")}, {"FrontWindow", (PyCFunction)Win_FrontWindow, 1, PyDoc_STR("() -> (WindowPtr _rv)")}, {"FrontNonFloatingWindow", (PyCFunction)Win_FrontNonFloatingWindow, 1, PyDoc_STR("() -> (WindowPtr _rv)")}, {"GetFrontWindowOfClass", (PyCFunction)Win_GetFrontWindowOfClass, 1, PyDoc_STR("(WindowClass inWindowClass, Boolean mustBeVisible) -> (WindowPtr _rv)")}, {"FindWindowOfClass", (PyCFunction)Win_FindWindowOfClass, 1, PyDoc_STR("(Point where, WindowClass inWindowClass) -> (WindowPtr outWindow, WindowPartCode outWindowPart)")}, {"CreateStandardWindowMenu", (PyCFunction)Win_CreateStandardWindowMenu, 1, PyDoc_STR("(OptionBits inOptions) -> (MenuHandle outMenu)")}, {"CollapseAllWindows", (PyCFunction)Win_CollapseAllWindows, 1, PyDoc_STR("(Boolean collapse) -> None")}, {"GetAvailableWindowPositioningBounds", (PyCFunction)Win_GetAvailableWindowPositioningBounds, 1, PyDoc_STR("(GDHandle inDevice) -> (Rect outAvailableRect)")}, {"DisableScreenUpdates", (PyCFunction)Win_DisableScreenUpdates, 1, PyDoc_STR("() -> None")}, {"EnableScreenUpdates", (PyCFunction)Win_EnableScreenUpdates, 1, PyDoc_STR("() -> None")}, {"PinRect", (PyCFunction)Win_PinRect, 1, PyDoc_STR("(Rect theRect, Point thePt) -> (long _rv)")}, {"GetGrayRgn", (PyCFunction)Win_GetGrayRgn, 1, PyDoc_STR("() -> (RgnHandle _rv)")}, {"GetWindowFromPort", (PyCFunction)Win_GetWindowFromPort, 1, PyDoc_STR("(CGrafPtr port) -> (WindowPtr _rv)")}, {"WhichWindow", (PyCFunction)Win_WhichWindow, 1, PyDoc_STR("Resolve an integer WindowPtr address to a Window object")}, {"FindWindow", (PyCFunction)Win_FindWindow, 1, PyDoc_STR("(Point thePoint) -> (short _rv, WindowPtr theWindow)")}, {NULL, NULL, 0} #endif /* APPLE_SUPPORTS_QUICKTIME */ }; #if APPLE_SUPPORTS_QUICKTIME /* 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; } #endif /* APPLE_SUPPORTS_QUICKTIME */ void init_Win(void) { PyObject *m; #if APPLE_SUPPORTS_QUICKTIME 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); #endif /* APPLE_SUPPORTS_QUICKTIME */ m = Py_InitModule("_Win", Win_methods); #if APPLE_SUPPORTS_QUICKTIME 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; if (PyType_Ready(&Window_Type) < 0) return; Py_INCREF(&Window_Type); PyModule_AddObject(m, "Window", (PyObject *)&Window_Type); /* Backward-compatible name */ Py_INCREF(&Window_Type); PyModule_AddObject(m, "WindowType", (PyObject *)&Window_Type); #endif /* APPLE_SUPPORTS_QUICKTIME */ } /* ======================== End module _Win ========================= */