Modify framebuffer and NGA framebuffer to read screen size from board model dtb file. Optimise memory usuage of frame buffer
Add example minigui application with hooks to profiler (which writes results to S:\). Modified NGA framebuffer to run its own dfc queue at high priority
/* ========================== Module _Win =========================== */
#include "Python.h"
#ifndef __LP64__
#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)
#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 /* __LP64__ */
static PyMethodDef Win_methods[] = {
#ifndef __LP64__
{"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 /* __LP64__ */
};
#ifndef __LP64__
/* 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 /* __LP64__ */
void init_Win(void)
{
PyObject *m;
#ifndef __LP64__
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 /* __LP64__ */
m = Py_InitModule("_Win", Win_methods);
#ifndef __LP64__
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 /* __LP64__ */
}
/* ======================== End module _Win ========================= */