summaryrefslogtreecommitdiffstats
path: root/Mac/Modules/qd
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2002-11-29 23:40:48 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2002-11-29 23:40:48 (GMT)
commitdbd5701d736a151d29fee4658228e16876626f47 (patch)
tree164a5bf1d9a00788bd229820df9bfa81d75933eb /Mac/Modules/qd
parent818855939ac016492cb59d1fc2fea94cc0764855 (diff)
downloadcpython-dbd5701d736a151d29fee4658228e16876626f47.zip
cpython-dbd5701d736a151d29fee4658228e16876626f47.tar.gz
cpython-dbd5701d736a151d29fee4658228e16876626f47.tar.bz2
Converted the Carbon modules to use PEP252-style objects, with
descriptors in stead of manual getattr hooks to get at attributes of the objects. For Qd I have in stead gotten rid of most of the attribute access in favor of the carbon-style accessor methods (with the exception of visRgn, to be done later), and of the Carbon.Qd.qd global object, for which accessor functions are also available. For List I have fixed the fact that various methods were incorrectly generated as functions. CF is untouched: PEP252 doesn't allow "poor-mans-inheritance" with basechain, so it will have to wait for PEP253 support.
Diffstat (limited to 'Mac/Modules/qd')
-rw-r--r--Mac/Modules/qd/_Qdmodule.c2254
-rw-r--r--Mac/Modules/qd/qdscan.py6
-rw-r--r--Mac/Modules/qd/qdsupport.py314
3 files changed, 1030 insertions, 1544 deletions
diff --git a/Mac/Modules/qd/_Qdmodule.c b/Mac/Modules/qd/_Qdmodule.c
index 1084031..7ee2e98 100644
--- a/Mac/Modules/qd/_Qdmodule.c
+++ b/Mac/Modules/qd/_Qdmodule.c
@@ -205,166 +205,910 @@ static void GrafObj_dealloc(GrafPortObject *self)
PyObject_Del(self);
}
+static PyObject *GrafObj_MacSetPort(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+#ifndef MacSetPort
+ PyMac_PRECHECK(MacSetPort);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ MacSetPort(_self->ob_itself);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+#if TARGET_API_MAC_CARBON
+
+static PyObject *GrafObj_IsValidPort(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Boolean _rv;
+#ifndef IsValidPort
+ PyMac_PRECHECK(IsValidPort);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = IsValidPort(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+#endif
+
+static PyObject *GrafObj_GetPortPixMap(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ PixMapHandle _rv;
+#ifndef GetPortPixMap
+ PyMac_PRECHECK(GetPortPixMap);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortPixMap(_self->ob_itself);
+ _res = Py_BuildValue("O&",
+ ResObj_New, _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortBitMapForCopyBits(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ const BitMap * _rv;
+#ifndef GetPortBitMapForCopyBits
+ PyMac_PRECHECK(GetPortBitMapForCopyBits);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortBitMapForCopyBits(_self->ob_itself);
+ _res = Py_BuildValue("O&",
+ BMObj_New, _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortBounds(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Rect rect;
+#ifndef GetPortBounds
+ PyMac_PRECHECK(GetPortBounds);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ GetPortBounds(_self->ob_itself,
+ &rect);
+ _res = Py_BuildValue("O&",
+ PyMac_BuildRect, &rect);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortForeColor(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RGBColor foreColor;
+#ifndef GetPortForeColor
+ PyMac_PRECHECK(GetPortForeColor);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ GetPortForeColor(_self->ob_itself,
+ &foreColor);
+ _res = Py_BuildValue("O&",
+ QdRGB_New, &foreColor);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortBackColor(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RGBColor backColor;
+#ifndef GetPortBackColor
+ PyMac_PRECHECK(GetPortBackColor);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ GetPortBackColor(_self->ob_itself,
+ &backColor);
+ _res = Py_BuildValue("O&",
+ QdRGB_New, &backColor);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortOpColor(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RGBColor opColor;
+#ifndef GetPortOpColor
+ PyMac_PRECHECK(GetPortOpColor);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ GetPortOpColor(_self->ob_itself,
+ &opColor);
+ _res = Py_BuildValue("O&",
+ QdRGB_New, &opColor);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortHiliteColor(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RGBColor hiliteColor;
+#ifndef GetPortHiliteColor
+ PyMac_PRECHECK(GetPortHiliteColor);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ GetPortHiliteColor(_self->ob_itself,
+ &hiliteColor);
+ _res = Py_BuildValue("O&",
+ QdRGB_New, &hiliteColor);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortTextFont(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ short _rv;
+#ifndef GetPortTextFont
+ PyMac_PRECHECK(GetPortTextFont);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortTextFont(_self->ob_itself);
+ _res = Py_BuildValue("h",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortTextFace(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Style _rv;
+#ifndef GetPortTextFace
+ PyMac_PRECHECK(GetPortTextFace);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortTextFace(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortTextMode(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ short _rv;
+#ifndef GetPortTextMode
+ PyMac_PRECHECK(GetPortTextMode);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortTextMode(_self->ob_itself);
+ _res = Py_BuildValue("h",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortTextSize(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ short _rv;
+#ifndef GetPortTextSize
+ PyMac_PRECHECK(GetPortTextSize);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortTextSize(_self->ob_itself);
+ _res = Py_BuildValue("h",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortChExtra(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ short _rv;
+#ifndef GetPortChExtra
+ PyMac_PRECHECK(GetPortChExtra);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortChExtra(_self->ob_itself);
+ _res = Py_BuildValue("h",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortFracHPenLocation(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ short _rv;
+#ifndef GetPortFracHPenLocation
+ PyMac_PRECHECK(GetPortFracHPenLocation);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortFracHPenLocation(_self->ob_itself);
+ _res = Py_BuildValue("h",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortSpExtra(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Fixed _rv;
+#ifndef GetPortSpExtra
+ PyMac_PRECHECK(GetPortSpExtra);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortSpExtra(_self->ob_itself);
+ _res = Py_BuildValue("O&",
+ PyMac_BuildFixed, _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortPenVisibility(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ short _rv;
+#ifndef GetPortPenVisibility
+ PyMac_PRECHECK(GetPortPenVisibility);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortPenVisibility(_self->ob_itself);
+ _res = Py_BuildValue("h",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortVisibleRegion(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RgnHandle _rv;
+ RgnHandle visRgn;
+#ifndef GetPortVisibleRegion
+ PyMac_PRECHECK(GetPortVisibleRegion);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &visRgn))
+ return NULL;
+ _rv = GetPortVisibleRegion(_self->ob_itself,
+ visRgn);
+ _res = Py_BuildValue("O&",
+ ResObj_New, _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortClipRegion(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RgnHandle _rv;
+ RgnHandle clipRgn;
+#ifndef GetPortClipRegion
+ PyMac_PRECHECK(GetPortClipRegion);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &clipRgn))
+ return NULL;
+ _rv = GetPortClipRegion(_self->ob_itself,
+ clipRgn);
+ _res = Py_BuildValue("O&",
+ ResObj_New, _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortBackPixPat(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ PixPatHandle _rv;
+ PixPatHandle backPattern;
+#ifndef GetPortBackPixPat
+ PyMac_PRECHECK(GetPortBackPixPat);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &backPattern))
+ return NULL;
+ _rv = GetPortBackPixPat(_self->ob_itself,
+ backPattern);
+ _res = Py_BuildValue("O&",
+ ResObj_New, _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortPenPixPat(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ PixPatHandle _rv;
+ PixPatHandle penPattern;
+#ifndef GetPortPenPixPat
+ PyMac_PRECHECK(GetPortPenPixPat);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &penPattern))
+ return NULL;
+ _rv = GetPortPenPixPat(_self->ob_itself,
+ penPattern);
+ _res = Py_BuildValue("O&",
+ ResObj_New, _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortFillPixPat(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ PixPatHandle _rv;
+ PixPatHandle fillPattern;
+#ifndef GetPortFillPixPat
+ PyMac_PRECHECK(GetPortFillPixPat);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &fillPattern))
+ return NULL;
+ _rv = GetPortFillPixPat(_self->ob_itself,
+ fillPattern);
+ _res = Py_BuildValue("O&",
+ ResObj_New, _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortPenSize(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Point penSize;
+#ifndef GetPortPenSize
+ PyMac_PRECHECK(GetPortPenSize);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ PyMac_GetPoint, &penSize))
+ return NULL;
+ GetPortPenSize(_self->ob_itself,
+ &penSize);
+ _res = Py_BuildValue("O&",
+ PyMac_BuildPoint, penSize);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortPenMode(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ SInt32 _rv;
+#ifndef GetPortPenMode
+ PyMac_PRECHECK(GetPortPenMode);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = GetPortPenMode(_self->ob_itself);
+ _res = Py_BuildValue("l",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_GetPortPenLocation(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Point penLocation;
+#ifndef GetPortPenLocation
+ PyMac_PRECHECK(GetPortPenLocation);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ PyMac_GetPoint, &penLocation))
+ return NULL;
+ GetPortPenLocation(_self->ob_itself,
+ &penLocation);
+ _res = Py_BuildValue("O&",
+ PyMac_BuildPoint, penLocation);
+ return _res;
+}
+
+static PyObject *GrafObj_IsPortRegionBeingDefined(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Boolean _rv;
+#ifndef IsPortRegionBeingDefined
+ PyMac_PRECHECK(IsPortRegionBeingDefined);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = IsPortRegionBeingDefined(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_IsPortPictureBeingDefined(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Boolean _rv;
+#ifndef IsPortPictureBeingDefined
+ PyMac_PRECHECK(IsPortPictureBeingDefined);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = IsPortPictureBeingDefined(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+
+#if TARGET_API_MAC_CARBON
+
+static PyObject *GrafObj_IsPortPolyBeingDefined(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Boolean _rv;
+#ifndef IsPortPolyBeingDefined
+ PyMac_PRECHECK(IsPortPolyBeingDefined);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = IsPortPolyBeingDefined(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+#endif
+
+#if TARGET_API_MAC_CARBON
+
+static PyObject *GrafObj_IsPortOffscreen(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Boolean _rv;
+#ifndef IsPortOffscreen
+ PyMac_PRECHECK(IsPortOffscreen);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = IsPortOffscreen(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+#endif
+
+#if TARGET_API_MAC_CARBON
+
+static PyObject *GrafObj_IsPortColor(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Boolean _rv;
+#ifndef IsPortColor
+ PyMac_PRECHECK(IsPortColor);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = IsPortColor(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+#endif
+
+static PyObject *GrafObj_SetPortBounds(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Rect rect;
+#ifndef SetPortBounds
+ PyMac_PRECHECK(SetPortBounds);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ PyMac_GetRect, &rect))
+ return NULL;
+ SetPortBounds(_self->ob_itself,
+ &rect);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortOpColor(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RGBColor opColor;
+#ifndef SetPortOpColor
+ PyMac_PRECHECK(SetPortOpColor);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ QdRGB_Convert, &opColor))
+ return NULL;
+ SetPortOpColor(_self->ob_itself,
+ &opColor);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortVisibleRegion(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RgnHandle visRgn;
+#ifndef SetPortVisibleRegion
+ PyMac_PRECHECK(SetPortVisibleRegion);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &visRgn))
+ return NULL;
+ SetPortVisibleRegion(_self->ob_itself,
+ visRgn);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortClipRegion(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RgnHandle clipRgn;
+#ifndef SetPortClipRegion
+ PyMac_PRECHECK(SetPortClipRegion);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &clipRgn))
+ return NULL;
+ SetPortClipRegion(_self->ob_itself,
+ clipRgn);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortPenPixPat(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ PixPatHandle penPattern;
+#ifndef SetPortPenPixPat
+ PyMac_PRECHECK(SetPortPenPixPat);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &penPattern))
+ return NULL;
+ SetPortPenPixPat(_self->ob_itself,
+ penPattern);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortFillPixPat(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ PixPatHandle penPattern;
+#ifndef SetPortFillPixPat
+ PyMac_PRECHECK(SetPortFillPixPat);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &penPattern))
+ return NULL;
+ SetPortFillPixPat(_self->ob_itself,
+ penPattern);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortBackPixPat(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ PixPatHandle backPattern;
+#ifndef SetPortBackPixPat
+ PyMac_PRECHECK(SetPortBackPixPat);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &backPattern))
+ return NULL;
+ SetPortBackPixPat(_self->ob_itself,
+ backPattern);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortPenSize(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Point penSize;
+#ifndef SetPortPenSize
+ PyMac_PRECHECK(SetPortPenSize);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ PyMac_GetPoint, &penSize))
+ return NULL;
+ SetPortPenSize(_self->ob_itself,
+ penSize);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortPenMode(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ SInt32 penMode;
+#ifndef SetPortPenMode
+ PyMac_PRECHECK(SetPortPenMode);
+#endif
+ if (!PyArg_ParseTuple(_args, "l",
+ &penMode))
+ return NULL;
+ SetPortPenMode(_self->ob_itself,
+ penMode);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+static PyObject *GrafObj_SetPortFracHPenLocation(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ short pnLocHFrac;
+#ifndef SetPortFracHPenLocation
+ PyMac_PRECHECK(SetPortFracHPenLocation);
+#endif
+ if (!PyArg_ParseTuple(_args, "h",
+ &pnLocHFrac))
+ return NULL;
+ SetPortFracHPenLocation(_self->ob_itself,
+ pnLocHFrac);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+#if TARGET_API_MAC_CARBON
+
+static PyObject *GrafObj_DisposePort(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+#ifndef DisposePort
+ PyMac_PRECHECK(DisposePort);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ DisposePort(_self->ob_itself);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+#endif
+
+static PyObject *GrafObj_QDIsPortBuffered(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Boolean _rv;
+#ifndef QDIsPortBuffered
+ PyMac_PRECHECK(QDIsPortBuffered);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = QDIsPortBuffered(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_QDIsPortBufferDirty(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Boolean _rv;
+#ifndef QDIsPortBufferDirty
+ PyMac_PRECHECK(QDIsPortBufferDirty);
+#endif
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ _rv = QDIsPortBufferDirty(_self->ob_itself);
+ _res = Py_BuildValue("b",
+ _rv);
+ return _res;
+}
+
+static PyObject *GrafObj_QDFlushPortBuffer(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ RgnHandle region;
+#ifndef QDFlushPortBuffer
+ PyMac_PRECHECK(QDFlushPortBuffer);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ OptResObj_Convert, &region))
+ return NULL;
+ QDFlushPortBuffer(_self->ob_itself,
+ region);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
+#if TARGET_API_MAC_CARBON
+
+static PyObject *GrafObj_QDGetDirtyRegion(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ OSStatus _err;
+ RgnHandle rgn;
+#ifndef QDGetDirtyRegion
+ PyMac_PRECHECK(QDGetDirtyRegion);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &rgn))
+ return NULL;
+ _err = QDGetDirtyRegion(_self->ob_itself,
+ rgn);
+ if (_err != noErr) return PyMac_Error(_err);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+#endif
+
+#if TARGET_API_MAC_CARBON
+
+static PyObject *GrafObj_QDSetDirtyRegion(GrafPortObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ OSStatus _err;
+ RgnHandle rgn;
+#ifndef QDSetDirtyRegion
+ PyMac_PRECHECK(QDSetDirtyRegion);
+#endif
+ if (!PyArg_ParseTuple(_args, "O&",
+ ResObj_Convert, &rgn))
+ return NULL;
+ _err = QDSetDirtyRegion(_self->ob_itself,
+ rgn);
+ if (_err != noErr) return PyMac_Error(_err);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+#endif
+
static PyMethodDef GrafObj_methods[] = {
+ {"MacSetPort", (PyCFunction)GrafObj_MacSetPort, 1,
+ PyDoc_STR("() -> None")},
+
+#if TARGET_API_MAC_CARBON
+ {"IsValidPort", (PyCFunction)GrafObj_IsValidPort, 1,
+ PyDoc_STR("() -> (Boolean _rv)")},
+#endif
+ {"GetPortPixMap", (PyCFunction)GrafObj_GetPortPixMap, 1,
+ PyDoc_STR("() -> (PixMapHandle _rv)")},
+ {"GetPortBitMapForCopyBits", (PyCFunction)GrafObj_GetPortBitMapForCopyBits, 1,
+ PyDoc_STR("() -> (const BitMap * _rv)")},
+ {"GetPortBounds", (PyCFunction)GrafObj_GetPortBounds, 1,
+ PyDoc_STR("() -> (Rect rect)")},
+ {"GetPortForeColor", (PyCFunction)GrafObj_GetPortForeColor, 1,
+ PyDoc_STR("() -> (RGBColor foreColor)")},
+ {"GetPortBackColor", (PyCFunction)GrafObj_GetPortBackColor, 1,
+ PyDoc_STR("() -> (RGBColor backColor)")},
+ {"GetPortOpColor", (PyCFunction)GrafObj_GetPortOpColor, 1,
+ PyDoc_STR("() -> (RGBColor opColor)")},
+ {"GetPortHiliteColor", (PyCFunction)GrafObj_GetPortHiliteColor, 1,
+ PyDoc_STR("() -> (RGBColor hiliteColor)")},
+ {"GetPortTextFont", (PyCFunction)GrafObj_GetPortTextFont, 1,
+ PyDoc_STR("() -> (short _rv)")},
+ {"GetPortTextFace", (PyCFunction)GrafObj_GetPortTextFace, 1,
+ PyDoc_STR("() -> (Style _rv)")},
+ {"GetPortTextMode", (PyCFunction)GrafObj_GetPortTextMode, 1,
+ PyDoc_STR("() -> (short _rv)")},
+ {"GetPortTextSize", (PyCFunction)GrafObj_GetPortTextSize, 1,
+ PyDoc_STR("() -> (short _rv)")},
+ {"GetPortChExtra", (PyCFunction)GrafObj_GetPortChExtra, 1,
+ PyDoc_STR("() -> (short _rv)")},
+ {"GetPortFracHPenLocation", (PyCFunction)GrafObj_GetPortFracHPenLocation, 1,
+ PyDoc_STR("() -> (short _rv)")},
+ {"GetPortSpExtra", (PyCFunction)GrafObj_GetPortSpExtra, 1,
+ PyDoc_STR("() -> (Fixed _rv)")},
+ {"GetPortPenVisibility", (PyCFunction)GrafObj_GetPortPenVisibility, 1,
+ PyDoc_STR("() -> (short _rv)")},
+ {"GetPortVisibleRegion", (PyCFunction)GrafObj_GetPortVisibleRegion, 1,
+ PyDoc_STR("(RgnHandle visRgn) -> (RgnHandle _rv)")},
+ {"GetPortClipRegion", (PyCFunction)GrafObj_GetPortClipRegion, 1,
+ PyDoc_STR("(RgnHandle clipRgn) -> (RgnHandle _rv)")},
+ {"GetPortBackPixPat", (PyCFunction)GrafObj_GetPortBackPixPat, 1,
+ PyDoc_STR("(PixPatHandle backPattern) -> (PixPatHandle _rv)")},
+ {"GetPortPenPixPat", (PyCFunction)GrafObj_GetPortPenPixPat, 1,
+ PyDoc_STR("(PixPatHandle penPattern) -> (PixPatHandle _rv)")},
+ {"GetPortFillPixPat", (PyCFunction)GrafObj_GetPortFillPixPat, 1,
+ PyDoc_STR("(PixPatHandle fillPattern) -> (PixPatHandle _rv)")},
+ {"GetPortPenSize", (PyCFunction)GrafObj_GetPortPenSize, 1,
+ PyDoc_STR("(Point penSize) -> (Point penSize)")},
+ {"GetPortPenMode", (PyCFunction)GrafObj_GetPortPenMode, 1,
+ PyDoc_STR("() -> (SInt32 _rv)")},
+ {"GetPortPenLocation", (PyCFunction)GrafObj_GetPortPenLocation, 1,
+ PyDoc_STR("(Point penLocation) -> (Point penLocation)")},
+ {"IsPortRegionBeingDefined", (PyCFunction)GrafObj_IsPortRegionBeingDefined, 1,
+ PyDoc_STR("() -> (Boolean _rv)")},
+ {"IsPortPictureBeingDefined", (PyCFunction)GrafObj_IsPortPictureBeingDefined, 1,
+ PyDoc_STR("() -> (Boolean _rv)")},
+
+#if TARGET_API_MAC_CARBON
+ {"IsPortPolyBeingDefined", (PyCFunction)GrafObj_IsPortPolyBeingDefined, 1,
+ PyDoc_STR("() -> (Boolean _rv)")},
+#endif
+
+#if TARGET_API_MAC_CARBON
+ {"IsPortOffscreen", (PyCFunction)GrafObj_IsPortOffscreen, 1,
+ PyDoc_STR("() -> (Boolean _rv)")},
+#endif
+
+#if TARGET_API_MAC_CARBON
+ {"IsPortColor", (PyCFunction)GrafObj_IsPortColor, 1,
+ PyDoc_STR("() -> (Boolean _rv)")},
+#endif
+ {"SetPortBounds", (PyCFunction)GrafObj_SetPortBounds, 1,
+ PyDoc_STR("(Rect rect) -> None")},
+ {"SetPortOpColor", (PyCFunction)GrafObj_SetPortOpColor, 1,
+ PyDoc_STR("(RGBColor opColor) -> None")},
+ {"SetPortVisibleRegion", (PyCFunction)GrafObj_SetPortVisibleRegion, 1,
+ PyDoc_STR("(RgnHandle visRgn) -> None")},
+ {"SetPortClipRegion", (PyCFunction)GrafObj_SetPortClipRegion, 1,
+ PyDoc_STR("(RgnHandle clipRgn) -> None")},
+ {"SetPortPenPixPat", (PyCFunction)GrafObj_SetPortPenPixPat, 1,
+ PyDoc_STR("(PixPatHandle penPattern) -> None")},
+ {"SetPortFillPixPat", (PyCFunction)GrafObj_SetPortFillPixPat, 1,
+ PyDoc_STR("(PixPatHandle penPattern) -> None")},
+ {"SetPortBackPixPat", (PyCFunction)GrafObj_SetPortBackPixPat, 1,
+ PyDoc_STR("(PixPatHandle backPattern) -> None")},
+ {"SetPortPenSize", (PyCFunction)GrafObj_SetPortPenSize, 1,
+ PyDoc_STR("(Point penSize) -> None")},
+ {"SetPortPenMode", (PyCFunction)GrafObj_SetPortPenMode, 1,
+ PyDoc_STR("(SInt32 penMode) -> None")},
+ {"SetPortFracHPenLocation", (PyCFunction)GrafObj_SetPortFracHPenLocation, 1,
+ PyDoc_STR("(short pnLocHFrac) -> None")},
+
+#if TARGET_API_MAC_CARBON
+ {"DisposePort", (PyCFunction)GrafObj_DisposePort, 1,
+ PyDoc_STR("() -> None")},
+#endif
+ {"QDIsPortBuffered", (PyCFunction)GrafObj_QDIsPortBuffered, 1,
+ PyDoc_STR("() -> (Boolean _rv)")},
+ {"QDIsPortBufferDirty", (PyCFunction)GrafObj_QDIsPortBufferDirty, 1,
+ PyDoc_STR("() -> (Boolean _rv)")},
+ {"QDFlushPortBuffer", (PyCFunction)GrafObj_QDFlushPortBuffer, 1,
+ PyDoc_STR("(RgnHandle region) -> None")},
+
+#if TARGET_API_MAC_CARBON
+ {"QDGetDirtyRegion", (PyCFunction)GrafObj_QDGetDirtyRegion, 1,
+ PyDoc_STR("(RgnHandle rgn) -> None")},
+#endif
+
+#if TARGET_API_MAC_CARBON
+ {"QDSetDirtyRegion", (PyCFunction)GrafObj_QDSetDirtyRegion, 1,
+ PyDoc_STR("(RgnHandle rgn) -> None")},
+#endif
{NULL, NULL, 0}
};
-PyMethodChain GrafObj_chain = { GrafObj_methods, NULL };
-
-static PyObject *GrafObj_getattr(GrafPortObject *self, char *name)
+static PyObject *GrafObj_get_visRgn(GrafPortObject *self, void *closure)
{
-#if !ACCESSOR_CALLS_ARE_FUNCTIONS
+ RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
+ return Py_BuildValue("O&", ResObj_New, (Handle)GetPortVisibleRegion(self->ob_itself, h));
+
+}
+
+#define GrafObj_set_visRgn NULL
- { CGrafPtr itself_color = (CGrafPtr)self->ob_itself;
+static PyObject *GrafObj_get_clipRgn(GrafPortObject *self, void *closure)
+{
+ RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
+ return Py_BuildValue("O&", ResObj_New, (Handle)GetPortClipRegion(self->ob_itself, h));
- if ( strcmp(name, "data") == 0 )
- return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(GrafPort));
-
- if ( (itself_color->portVersion&0xc000) == 0xc000 ) {
- /* Color-only attributes */
-
- if ( strcmp(name, "portBits") == 0 )
- /* XXXX Do we need HLock() stuff here?? */
- return BMObj_New((BitMapPtr)*itself_color->portPixMap);
- if ( strcmp(name, "grafVars") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->visRgn);
- if ( strcmp(name, "chExtra") == 0 )
- return Py_BuildValue("h", itself_color->chExtra);
- if ( strcmp(name, "pnLocHFrac") == 0 )
- return Py_BuildValue("h", itself_color->pnLocHFrac);
- if ( strcmp(name, "bkPixPat") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->bkPixPat);
- if ( strcmp(name, "rgbFgColor") == 0 )
- return Py_BuildValue("O&", QdRGB_New, &itself_color->rgbFgColor);
- if ( strcmp(name, "rgbBkColor") == 0 )
- return Py_BuildValue("O&", QdRGB_New, &itself_color->rgbBkColor);
- if ( strcmp(name, "pnPixPat") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->pnPixPat);
- if ( strcmp(name, "fillPixPat") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->fillPixPat);
- } else {
- /* Mono-only attributes */
- if ( strcmp(name, "portBits") == 0 )
- return BMObj_New(&self->ob_itself->portBits);
- if ( strcmp(name, "bkPat") == 0 )
- return Py_BuildValue("s#", (char *)&self->ob_itself->bkPat, sizeof(Pattern));
- if ( strcmp(name, "fillPat") == 0 )
- return Py_BuildValue("s#", (char *)&self->ob_itself->fillPat, sizeof(Pattern));
- if ( strcmp(name, "pnPat") == 0 )
- return Py_BuildValue("s#", (char *)&self->ob_itself->pnPat, sizeof(Pattern));
- }
- /*
- ** Accessible for both color/mono windows.
- ** portVersion is really color-only, but we put it here
- ** for convenience
- */
- if ( strcmp(name, "portVersion") == 0 )
- return Py_BuildValue("h", itself_color->portVersion);
- if ( strcmp(name, "device") == 0 )
- return PyInt_FromLong((long)self->ob_itself->device);
- if ( strcmp(name, "portRect") == 0 )
- return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->portRect);
- if ( strcmp(name, "visRgn") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)self->ob_itself->visRgn);
- if ( strcmp(name, "clipRgn") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)self->ob_itself->clipRgn);
- if ( strcmp(name, "pnLoc") == 0 )
- return Py_BuildValue("O&", PyMac_BuildPoint, self->ob_itself->pnLoc);
- if ( strcmp(name, "pnSize") == 0 )
- return Py_BuildValue("O&", PyMac_BuildPoint, self->ob_itself->pnSize);
- if ( strcmp(name, "pnMode") == 0 )
- return Py_BuildValue("h", self->ob_itself->pnMode);
- if ( strcmp(name, "pnVis") == 0 )
- return Py_BuildValue("h", self->ob_itself->pnVis);
- if ( strcmp(name, "txFont") == 0 )
- return Py_BuildValue("h", self->ob_itself->txFont);
- if ( strcmp(name, "txFace") == 0 )
- return Py_BuildValue("h", (short)self->ob_itself->txFace);
- if ( strcmp(name, "txMode") == 0 )
- return Py_BuildValue("h", self->ob_itself->txMode);
- if ( strcmp(name, "txSize") == 0 )
- return Py_BuildValue("h", self->ob_itself->txSize);
- if ( strcmp(name, "spExtra") == 0 )
- return Py_BuildValue("O&", PyMac_BuildFixed, self->ob_itself->spExtra);
- /* XXXX Add more, as needed */
- /* This one is so we can compare grafports: */
- if ( strcmp(name, "_id") == 0 )
- return Py_BuildValue("l", (long)self->ob_itself);
- }
-#else
+}
+
+#define GrafObj_set_clipRgn NULL
+
+static PyGetSetDef GrafObj_getsetlist[] = {
+ {"visRgn", (getter)GrafObj_get_visRgn, (setter)GrafObj_set_visRgn, "Convenience attribute: return a copy of the visible region"},
+ {"clipRgn", (getter)GrafObj_get_clipRgn, (setter)GrafObj_set_clipRgn, "Convenience attribute: return a copy of the clipping region"},
+ {NULL, NULL, NULL, NULL},
+};
- { CGrafPtr itself_color = (CGrafPtr)self->ob_itself;
- if ( strcmp(name, "portBits") == 0 )
- return BMObj_New((BitMapPtr)GetPortBitMapForCopyBits(itself_color));
- if ( strcmp(name, "chExtra") == 0 )
- return Py_BuildValue("h", GetPortChExtra(itself_color));
- if ( strcmp(name, "pnLocHFrac") == 0 )
- return Py_BuildValue("h", GetPortFracHPenLocation(itself_color));
- if ( strcmp(name, "bkPixPat") == 0 ) {
- PixPatHandle h=0;
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortBackPixPat(itself_color, h));
- }
- if ( strcmp(name, "rgbFgColor") == 0 ) {
- RGBColor c;
- return Py_BuildValue("O&", QdRGB_New, GetPortForeColor(itself_color, &c));
- }
- if ( strcmp(name, "rgbBkColor") == 0 ) {
- RGBColor c;
- return Py_BuildValue("O&", QdRGB_New, GetPortBackColor(itself_color, &c));
- }
- if ( strcmp(name, "pnPixPat") == 0 ) {
- PixPatHandle h=NewPixPat(); /* XXXX wrong dispose routine */
-
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortPenPixPat(itself_color, h));
- }
- if ( strcmp(name, "fillPixPat") == 0 ) {
- PixPatHandle h=NewPixPat(); /* XXXX wrong dispose routine */
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortFillPixPat(itself_color, h));
- }
- if ( strcmp(name, "portRect") == 0 ) {
- Rect r;
- return Py_BuildValue("O&", PyMac_BuildRect, GetPortBounds(itself_color, &r));
- }
- if ( strcmp(name, "visRgn") == 0 ) {
- RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortVisibleRegion(itself_color, h));
- }
- if ( strcmp(name, "clipRgn") == 0 ) {
- RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortClipRegion(itself_color, h));
- }
- if ( strcmp(name, "pnLoc") == 0 ) {
- Point p;
- return Py_BuildValue("O&", PyMac_BuildPoint, *GetPortPenLocation(itself_color, &p));
- }
- if ( strcmp(name, "pnSize") == 0 ) {
- Point p;
- return Py_BuildValue("O&", PyMac_BuildPoint, *GetPortPenSize(itself_color, &p));
- }
- if ( strcmp(name, "pnMode") == 0 )
- return Py_BuildValue("h", GetPortPenMode(itself_color));
- if ( strcmp(name, "pnVis") == 0 )
- return Py_BuildValue("h", GetPortPenVisibility(itself_color));
- if ( strcmp(name, "txFont") == 0 )
- return Py_BuildValue("h", GetPortTextFont(itself_color));
- if ( strcmp(name, "txFace") == 0 )
- return Py_BuildValue("h", (short)GetPortTextFace(itself_color));
- if ( strcmp(name, "txMode") == 0 )
- return Py_BuildValue("h", GetPortTextMode(itself_color));
- if ( strcmp(name, "txSize") == 0 )
- return Py_BuildValue("h", GetPortTextSize(itself_color));
- if ( strcmp(name, "spExtra") == 0 )
- return Py_BuildValue("O&", PyMac_BuildFixed, GetPortSpExtra(itself_color));
- /* XXXX Add more, as needed */
- /* This one is so we can compare grafports: */
- if ( strcmp(name, "_id") == 0 )
- return Py_BuildValue("l", (long)self->ob_itself);
- }
-#endif
- return Py_FindMethodInChain(&GrafObj_chain, (PyObject *)self, name);
-}
-
-#define GrafObj_setattr NULL
#define GrafObj_compare NULL
@@ -381,14 +1125,31 @@ PyTypeObject GrafPort_Type = {
/* methods */
(destructor) GrafObj_dealloc, /*tp_dealloc*/
0, /*tp_print*/
- (getattrfunc) GrafObj_getattr, /*tp_getattr*/
- (setattrfunc) GrafObj_setattr, /*tp_setattr*/
+ (getattrfunc)0, /*tp_getattr*/
+ (setattrfunc)0, /*tp_setattr*/
(cmpfunc) GrafObj_compare, /*tp_compare*/
(reprfunc) GrafObj_repr, /*tp_repr*/
(PyNumberMethods *)0, /* tp_as_number */
(PySequenceMethods *)0, /* tp_as_sequence */
(PyMappingMethods *)0, /* tp_as_mapping */
(hashfunc) GrafObj_hash, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ PyObject_GenericGetAttr, /*tp_getattro*/
+ PyObject_GenericSetAttr, /*tp_setattro */
+ 0, /*outputHook_tp_as_buffer*/
+ 0, /*outputHook_tp_flags*/
+ 0, /*outputHook_tp_doc*/
+ 0, /*outputHook_tp_traverse*/
+ 0, /*outputHook_tp_clear*/
+ 0, /*outputHook_tp_richcompare*/
+ 0, /*outputHook_tp_weaklistoffset*/
+ 0, /*outputHook_tp_iter*/
+ 0, /*outputHook_tp_iternext*/
+ GrafObj_methods, /* tp_methods */
+ 0, /*outputHook_tp_members*/
+ GrafObj_getsetlist, /*tp_getset*/
+ 0, /*outputHook_tp_base*/
};
/* -------------------- End object type GrafPort -------------------- */
@@ -476,198 +1237,95 @@ static PyMethodDef BMObj_methods[] = {
{NULL, NULL, 0}
};
-PyMethodChain BMObj_chain = { BMObj_methods, NULL };
-
-static PyObject *BMObj_getattr(BitMapObject *self, char *name)
-{
- if ( strcmp(name, "baseAddr") == 0 )
- return PyInt_FromLong((long)self->ob_itself->baseAddr);
- if ( strcmp(name, "rowBytes") == 0 )
- return PyInt_FromLong((long)self->ob_itself->rowBytes);
- if ( strcmp(name, "bounds") == 0 )
- return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->bounds);
- /* XXXX Add more, as needed */
- if ( strcmp(name, "bitmap_data") == 0 )
- return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(BitMap));
- if ( strcmp(name, "pixmap_data") == 0 )
- return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(PixMap));
-
- return Py_FindMethodInChain(&BMObj_chain, (PyObject *)self, name);
+static PyObject *BMObj_get_baseAddr(BitMapObject *self, void *closure)
+{
+ return PyInt_FromLong((long)self->ob_itself->baseAddr);
}
-#define BMObj_setattr NULL
-
-#define BMObj_compare NULL
-
-#define BMObj_repr NULL
-
-#define BMObj_hash NULL
-
-PyTypeObject BitMap_Type = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
- "_Qd.BitMap", /*tp_name*/
- sizeof(BitMapObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- /* methods */
- (destructor) BMObj_dealloc, /*tp_dealloc*/
- 0, /*tp_print*/
- (getattrfunc) BMObj_getattr, /*tp_getattr*/
- (setattrfunc) BMObj_setattr, /*tp_setattr*/
- (cmpfunc) BMObj_compare, /*tp_compare*/
- (reprfunc) BMObj_repr, /*tp_repr*/
- (PyNumberMethods *)0, /* tp_as_number */
- (PySequenceMethods *)0, /* tp_as_sequence */
- (PyMappingMethods *)0, /* tp_as_mapping */
- (hashfunc) BMObj_hash, /*tp_hash*/
-};
-
-/* --------------------- End object type BitMap --------------------- */
-
+#define BMObj_set_baseAddr NULL
-/* ------------------ Object type QDGlobalsAccess ------------------- */
-
-static PyTypeObject QDGlobalsAccess_Type;
-
-#define QDGA_Check(x) ((x)->ob_type == &QDGlobalsAccess_Type)
+static PyObject *BMObj_get_rowBytes(BitMapObject *self, void *closure)
+{
+ return PyInt_FromLong((long)self->ob_itself->rowBytes);
+}
-typedef struct QDGlobalsAccessObject {
- PyObject_HEAD
-} QDGlobalsAccessObject;
+#define BMObj_set_rowBytes NULL
-static PyObject *QDGA_New(void)
+static PyObject *BMObj_get_bounds(BitMapObject *self, void *closure)
{
- QDGlobalsAccessObject *it;
- it = PyObject_NEW(QDGlobalsAccessObject, &QDGlobalsAccess_Type);
- if (it == NULL) return NULL;
- return (PyObject *)it;
+ return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->bounds);
}
-static void QDGA_dealloc(QDGlobalsAccessObject *self)
+#define BMObj_set_bounds NULL
+
+static PyObject *BMObj_get_bitmap_data(BitMapObject *self, void *closure)
{
- PyObject_Del(self);
+ return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(BitMap));
}
-static PyMethodDef QDGA_methods[] = {
- {NULL, NULL, 0}
-};
-
-static PyMethodChain QDGA_chain = { QDGA_methods, NULL };
+#define BMObj_set_bitmap_data NULL
-static PyObject *QDGA_getattr(QDGlobalsAccessObject *self, char *name)
+static PyObject *BMObj_get_pixmap_data(BitMapObject *self, void *closure)
{
-#if !ACCESSOR_CALLS_ARE_FUNCTIONS
+ return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(PixMap));
+}
- if ( strcmp(name, "arrow") == 0 )
- return PyString_FromStringAndSize((char *)&qd.arrow, sizeof(qd.arrow));
- if ( strcmp(name, "black") == 0 )
- return PyString_FromStringAndSize((char *)&qd.black, sizeof(qd.black));
- if ( strcmp(name, "white") == 0 )
- return PyString_FromStringAndSize((char *)&qd.white, sizeof(qd.white));
- if ( strcmp(name, "gray") == 0 )
- return PyString_FromStringAndSize((char *)&qd.gray, sizeof(qd.gray));
- if ( strcmp(name, "ltGray") == 0 )
- return PyString_FromStringAndSize((char *)&qd.ltGray, sizeof(qd.ltGray));
- if ( strcmp(name, "dkGray") == 0 )
- return PyString_FromStringAndSize((char *)&qd.dkGray, sizeof(qd.dkGray));
- if ( strcmp(name, "screenBits") == 0 )
- return BMObj_New(&qd.screenBits);
- if ( strcmp(name, "thePort") == 0 )
- return GrafObj_New(qd.thePort);
- if ( strcmp(name, "randSeed") == 0 )
- return Py_BuildValue("l", &qd.randSeed);
-
-#else
+#define BMObj_set_pixmap_data NULL
- if ( strcmp(name, "arrow") == 0 ) {
- Cursor rv;
- GetQDGlobalsArrow(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "black") == 0 ) {
- Pattern rv;
- GetQDGlobalsBlack(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "white") == 0 ) {
- Pattern rv;
- GetQDGlobalsWhite(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "gray") == 0 ) {
- Pattern rv;
- GetQDGlobalsGray(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "ltGray") == 0 ) {
- Pattern rv;
- GetQDGlobalsLightGray(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "dkGray") == 0 ) {
- Pattern rv;
- GetQDGlobalsDarkGray(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "screenBits") == 0 ) {
- BitMap rv;
- GetQDGlobalsScreenBits(&rv);
- return BMObj_NewCopied(&rv);
- }
- if ( strcmp(name, "thePort") == 0 )
- return GrafObj_New(GetQDGlobalsThePort());
- if ( strcmp(name, "randSeed") == 0 )
- return Py_BuildValue("l", GetQDGlobalsRandomSeed());
-
-#endif
- return Py_FindMethodInChain(&QDGA_chain, (PyObject *)self, name);
-}
+static PyGetSetDef BMObj_getsetlist[] = {
+ {"baseAddr", (getter)BMObj_get_baseAddr, (setter)BMObj_set_baseAddr, NULL},
+ {"rowBytes", (getter)BMObj_get_rowBytes, (setter)BMObj_set_rowBytes, NULL},
+ {"bounds", (getter)BMObj_get_bounds, (setter)BMObj_set_bounds, NULL},
+ {"bitmap_data", (getter)BMObj_get_bitmap_data, (setter)BMObj_set_bitmap_data, NULL},
+ {"pixmap_data", (getter)BMObj_get_pixmap_data, (setter)BMObj_set_pixmap_data, NULL},
+ {NULL, NULL, NULL, NULL},
+};
-#define QDGA_setattr NULL
-#define QDGA_compare NULL
+#define BMObj_compare NULL
-#define QDGA_repr NULL
+#define BMObj_repr NULL
-#define QDGA_hash NULL
+#define BMObj_hash NULL
-static PyTypeObject QDGlobalsAccess_Type = {
+PyTypeObject BitMap_Type = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
- "_Qd.QDGlobalsAccess", /*tp_name*/
- sizeof(QDGlobalsAccessObject), /*tp_basicsize*/
+ "_Qd.BitMap", /*tp_name*/
+ sizeof(BitMapObject), /*tp_basicsize*/
0, /*tp_itemsize*/
/* methods */
- (destructor) QDGA_dealloc, /*tp_dealloc*/
+ (destructor) BMObj_dealloc, /*tp_dealloc*/
0, /*tp_print*/
- (getattrfunc) QDGA_getattr, /*tp_getattr*/
- (setattrfunc) QDGA_setattr, /*tp_setattr*/
- (cmpfunc) QDGA_compare, /*tp_compare*/
- (reprfunc) QDGA_repr, /*tp_repr*/
+ (getattrfunc)0, /*tp_getattr*/
+ (setattrfunc)0, /*tp_setattr*/
+ (cmpfunc) BMObj_compare, /*tp_compare*/
+ (reprfunc) BMObj_repr, /*tp_repr*/
(PyNumberMethods *)0, /* tp_as_number */
(PySequenceMethods *)0, /* tp_as_sequence */
(PyMappingMethods *)0, /* tp_as_mapping */
- (hashfunc) QDGA_hash, /*tp_hash*/
+ (hashfunc) BMObj_hash, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ PyObject_GenericGetAttr, /*tp_getattro*/
+ PyObject_GenericSetAttr, /*tp_setattro */
+ 0, /*outputHook_tp_as_buffer*/
+ 0, /*outputHook_tp_flags*/
+ 0, /*outputHook_tp_doc*/
+ 0, /*outputHook_tp_traverse*/
+ 0, /*outputHook_tp_clear*/
+ 0, /*outputHook_tp_richcompare*/
+ 0, /*outputHook_tp_weaklistoffset*/
+ 0, /*outputHook_tp_iter*/
+ 0, /*outputHook_tp_iternext*/
+ BMObj_methods, /* tp_methods */
+ 0, /*outputHook_tp_members*/
+ BMObj_getsetlist, /*tp_getset*/
+ 0, /*outputHook_tp_base*/
};
-/* ---------------- End object type QDGlobalsAccess ----------------- */
-
+/* --------------------- End object type BitMap --------------------- */
-static PyObject *Qd_MacSetPort(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- GrafPtr port;
-#ifndef MacSetPort
- PyMac_PRECHECK(MacSetPort);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- MacSetPort(port);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
static PyObject *Qd_GetPort(PyObject *_self, PyObject *_args)
{
@@ -4068,725 +4726,6 @@ static PyObject *Qd_AngleFromSlope(PyObject *_self, PyObject *_args)
return _res;
}
-#if TARGET_API_MAC_CARBON
-
-static PyObject *Qd_IsValidPort(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Boolean _rv;
- CGrafPtr port;
-#ifndef IsValidPort
- PyMac_PRECHECK(IsValidPort);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = IsValidPort(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-#endif
-
-static PyObject *Qd_GetPortPixMap(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- PixMapHandle _rv;
- CGrafPtr port;
-#ifndef GetPortPixMap
- PyMac_PRECHECK(GetPortPixMap);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortPixMap(port);
- _res = Py_BuildValue("O&",
- ResObj_New, _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortBitMapForCopyBits(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- const BitMap * _rv;
- CGrafPtr port;
-#ifndef GetPortBitMapForCopyBits
- PyMac_PRECHECK(GetPortBitMapForCopyBits);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortBitMapForCopyBits(port);
- _res = Py_BuildValue("O&",
- BMObj_New, _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortBounds(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- Rect rect;
-#ifndef GetPortBounds
- PyMac_PRECHECK(GetPortBounds);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- GetPortBounds(port,
- &rect);
- _res = Py_BuildValue("O&",
- PyMac_BuildRect, &rect);
- return _res;
-}
-
-static PyObject *Qd_GetPortForeColor(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- RGBColor foreColor;
-#ifndef GetPortForeColor
- PyMac_PRECHECK(GetPortForeColor);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- GetPortForeColor(port,
- &foreColor);
- _res = Py_BuildValue("O&",
- QdRGB_New, &foreColor);
- return _res;
-}
-
-static PyObject *Qd_GetPortBackColor(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- RGBColor backColor;
-#ifndef GetPortBackColor
- PyMac_PRECHECK(GetPortBackColor);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- GetPortBackColor(port,
- &backColor);
- _res = Py_BuildValue("O&",
- QdRGB_New, &backColor);
- return _res;
-}
-
-static PyObject *Qd_GetPortOpColor(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- RGBColor opColor;
-#ifndef GetPortOpColor
- PyMac_PRECHECK(GetPortOpColor);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- GetPortOpColor(port,
- &opColor);
- _res = Py_BuildValue("O&",
- QdRGB_New, &opColor);
- return _res;
-}
-
-static PyObject *Qd_GetPortHiliteColor(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- RGBColor hiliteColor;
-#ifndef GetPortHiliteColor
- PyMac_PRECHECK(GetPortHiliteColor);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- GetPortHiliteColor(port,
- &hiliteColor);
- _res = Py_BuildValue("O&",
- QdRGB_New, &hiliteColor);
- return _res;
-}
-
-static PyObject *Qd_GetPortTextFont(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- short _rv;
- CGrafPtr port;
-#ifndef GetPortTextFont
- PyMac_PRECHECK(GetPortTextFont);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortTextFont(port);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortTextFace(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Style _rv;
- CGrafPtr port;
-#ifndef GetPortTextFace
- PyMac_PRECHECK(GetPortTextFace);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortTextFace(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortTextMode(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- short _rv;
- CGrafPtr port;
-#ifndef GetPortTextMode
- PyMac_PRECHECK(GetPortTextMode);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortTextMode(port);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortTextSize(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- short _rv;
- CGrafPtr port;
-#ifndef GetPortTextSize
- PyMac_PRECHECK(GetPortTextSize);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortTextSize(port);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortChExtra(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- short _rv;
- CGrafPtr port;
-#ifndef GetPortChExtra
- PyMac_PRECHECK(GetPortChExtra);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortChExtra(port);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortFracHPenLocation(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- short _rv;
- CGrafPtr port;
-#ifndef GetPortFracHPenLocation
- PyMac_PRECHECK(GetPortFracHPenLocation);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortFracHPenLocation(port);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortSpExtra(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Fixed _rv;
- CGrafPtr port;
-#ifndef GetPortSpExtra
- PyMac_PRECHECK(GetPortSpExtra);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortSpExtra(port);
- _res = Py_BuildValue("O&",
- PyMac_BuildFixed, _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortPenVisibility(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- short _rv;
- CGrafPtr port;
-#ifndef GetPortPenVisibility
- PyMac_PRECHECK(GetPortPenVisibility);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortPenVisibility(port);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortVisibleRegion(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- RgnHandle _rv;
- CGrafPtr port;
- RgnHandle visRgn;
-#ifndef GetPortVisibleRegion
- PyMac_PRECHECK(GetPortVisibleRegion);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &visRgn))
- return NULL;
- _rv = GetPortVisibleRegion(port,
- visRgn);
- _res = Py_BuildValue("O&",
- ResObj_New, _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortClipRegion(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- RgnHandle _rv;
- CGrafPtr port;
- RgnHandle clipRgn;
-#ifndef GetPortClipRegion
- PyMac_PRECHECK(GetPortClipRegion);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &clipRgn))
- return NULL;
- _rv = GetPortClipRegion(port,
- clipRgn);
- _res = Py_BuildValue("O&",
- ResObj_New, _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortBackPixPat(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- PixPatHandle _rv;
- CGrafPtr port;
- PixPatHandle backPattern;
-#ifndef GetPortBackPixPat
- PyMac_PRECHECK(GetPortBackPixPat);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &backPattern))
- return NULL;
- _rv = GetPortBackPixPat(port,
- backPattern);
- _res = Py_BuildValue("O&",
- ResObj_New, _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortPenPixPat(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- PixPatHandle _rv;
- CGrafPtr port;
- PixPatHandle penPattern;
-#ifndef GetPortPenPixPat
- PyMac_PRECHECK(GetPortPenPixPat);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &penPattern))
- return NULL;
- _rv = GetPortPenPixPat(port,
- penPattern);
- _res = Py_BuildValue("O&",
- ResObj_New, _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortFillPixPat(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- PixPatHandle _rv;
- CGrafPtr port;
- PixPatHandle fillPattern;
-#ifndef GetPortFillPixPat
- PyMac_PRECHECK(GetPortFillPixPat);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &fillPattern))
- return NULL;
- _rv = GetPortFillPixPat(port,
- fillPattern);
- _res = Py_BuildValue("O&",
- ResObj_New, _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortPenSize(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- Point penSize;
-#ifndef GetPortPenSize
- PyMac_PRECHECK(GetPortPenSize);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- PyMac_GetPoint, &penSize))
- return NULL;
- GetPortPenSize(port,
- &penSize);
- _res = Py_BuildValue("O&",
- PyMac_BuildPoint, penSize);
- return _res;
-}
-
-static PyObject *Qd_GetPortPenMode(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- SInt32 _rv;
- CGrafPtr port;
-#ifndef GetPortPenMode
- PyMac_PRECHECK(GetPortPenMode);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = GetPortPenMode(port);
- _res = Py_BuildValue("l",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_GetPortPenLocation(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- Point penLocation;
-#ifndef GetPortPenLocation
- PyMac_PRECHECK(GetPortPenLocation);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- PyMac_GetPoint, &penLocation))
- return NULL;
- GetPortPenLocation(port,
- &penLocation);
- _res = Py_BuildValue("O&",
- PyMac_BuildPoint, penLocation);
- return _res;
-}
-
-static PyObject *Qd_IsPortRegionBeingDefined(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Boolean _rv;
- CGrafPtr port;
-#ifndef IsPortRegionBeingDefined
- PyMac_PRECHECK(IsPortRegionBeingDefined);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = IsPortRegionBeingDefined(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_IsPortPictureBeingDefined(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Boolean _rv;
- CGrafPtr port;
-#ifndef IsPortPictureBeingDefined
- PyMac_PRECHECK(IsPortPictureBeingDefined);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = IsPortPictureBeingDefined(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-
-#if TARGET_API_MAC_CARBON
-
-static PyObject *Qd_IsPortPolyBeingDefined(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Boolean _rv;
- CGrafPtr port;
-#ifndef IsPortPolyBeingDefined
- PyMac_PRECHECK(IsPortPolyBeingDefined);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = IsPortPolyBeingDefined(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-#endif
-
-#if TARGET_API_MAC_CARBON
-
-static PyObject *Qd_IsPortOffscreen(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Boolean _rv;
- CGrafPtr port;
-#ifndef IsPortOffscreen
- PyMac_PRECHECK(IsPortOffscreen);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = IsPortOffscreen(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-#endif
-
-#if TARGET_API_MAC_CARBON
-
-static PyObject *Qd_IsPortColor(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Boolean _rv;
- CGrafPtr port;
-#ifndef IsPortColor
- PyMac_PRECHECK(IsPortColor);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = IsPortColor(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-#endif
-
-static PyObject *Qd_SetPortBounds(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- Rect rect;
-#ifndef SetPortBounds
- PyMac_PRECHECK(SetPortBounds);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- PyMac_GetRect, &rect))
- return NULL;
- SetPortBounds(port,
- &rect);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortOpColor(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- RGBColor opColor;
-#ifndef SetPortOpColor
- PyMac_PRECHECK(SetPortOpColor);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- QdRGB_Convert, &opColor))
- return NULL;
- SetPortOpColor(port,
- &opColor);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortVisibleRegion(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- RgnHandle visRgn;
-#ifndef SetPortVisibleRegion
- PyMac_PRECHECK(SetPortVisibleRegion);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &visRgn))
- return NULL;
- SetPortVisibleRegion(port,
- visRgn);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortClipRegion(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- RgnHandle clipRgn;
-#ifndef SetPortClipRegion
- PyMac_PRECHECK(SetPortClipRegion);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &clipRgn))
- return NULL;
- SetPortClipRegion(port,
- clipRgn);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortPenPixPat(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- PixPatHandle penPattern;
-#ifndef SetPortPenPixPat
- PyMac_PRECHECK(SetPortPenPixPat);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &penPattern))
- return NULL;
- SetPortPenPixPat(port,
- penPattern);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortFillPixPat(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- PixPatHandle penPattern;
-#ifndef SetPortFillPixPat
- PyMac_PRECHECK(SetPortFillPixPat);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &penPattern))
- return NULL;
- SetPortFillPixPat(port,
- penPattern);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortBackPixPat(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- PixPatHandle backPattern;
-#ifndef SetPortBackPixPat
- PyMac_PRECHECK(SetPortBackPixPat);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &backPattern))
- return NULL;
- SetPortBackPixPat(port,
- backPattern);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortPenSize(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- Point penSize;
-#ifndef SetPortPenSize
- PyMac_PRECHECK(SetPortPenSize);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- PyMac_GetPoint, &penSize))
- return NULL;
- SetPortPenSize(port,
- penSize);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortPenMode(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- SInt32 penMode;
-#ifndef SetPortPenMode
- PyMac_PRECHECK(SetPortPenMode);
-#endif
- if (!PyArg_ParseTuple(_args, "O&l",
- GrafObj_Convert, &port,
- &penMode))
- return NULL;
- SetPortPenMode(port,
- penMode);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-static PyObject *Qd_SetPortFracHPenLocation(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- short pnLocHFrac;
-#ifndef SetPortFracHPenLocation
- PyMac_PRECHECK(SetPortFracHPenLocation);
-#endif
- if (!PyArg_ParseTuple(_args, "O&h",
- GrafObj_Convert, &port,
- &pnLocHFrac))
- return NULL;
- SetPortFracHPenLocation(port,
- pnLocHFrac);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
static PyObject *Qd_GetPixBounds(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
@@ -5054,25 +4993,6 @@ static PyObject *Qd_CreateNewPort(PyObject *_self, PyObject *_args)
#if TARGET_API_MAC_CARBON
-static PyObject *Qd_DisposePort(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
-#ifndef DisposePort
- PyMac_PRECHECK(DisposePort);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- DisposePort(port);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-#endif
-
-#if TARGET_API_MAC_CARBON
-
static PyObject *Qd_SetQDError(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
@@ -5090,107 +5010,6 @@ static PyObject *Qd_SetQDError(PyObject *_self, PyObject *_args)
}
#endif
-static PyObject *Qd_QDIsPortBuffered(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Boolean _rv;
- CGrafPtr port;
-#ifndef QDIsPortBuffered
- PyMac_PRECHECK(QDIsPortBuffered);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = QDIsPortBuffered(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_QDIsPortBufferDirty(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- Boolean _rv;
- CGrafPtr port;
-#ifndef QDIsPortBufferDirty
- PyMac_PRECHECK(QDIsPortBufferDirty);
-#endif
- if (!PyArg_ParseTuple(_args, "O&",
- GrafObj_Convert, &port))
- return NULL;
- _rv = QDIsPortBufferDirty(port);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
-}
-
-static PyObject *Qd_QDFlushPortBuffer(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- CGrafPtr port;
- RgnHandle region;
-#ifndef QDFlushPortBuffer
- PyMac_PRECHECK(QDFlushPortBuffer);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- OptResObj_Convert, &region))
- return NULL;
- QDFlushPortBuffer(port,
- region);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-
-#if TARGET_API_MAC_CARBON
-
-static PyObject *Qd_QDGetDirtyRegion(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- OSStatus _err;
- CGrafPtr port;
- RgnHandle rgn;
-#ifndef QDGetDirtyRegion
- PyMac_PRECHECK(QDGetDirtyRegion);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &rgn))
- return NULL;
- _err = QDGetDirtyRegion(port,
- rgn);
- if (_err != noErr) return PyMac_Error(_err);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-#endif
-
-#if TARGET_API_MAC_CARBON
-
-static PyObject *Qd_QDSetDirtyRegion(PyObject *_self, PyObject *_args)
-{
- PyObject *_res = NULL;
- OSStatus _err;
- CGrafPtr port;
- RgnHandle rgn;
-#ifndef QDSetDirtyRegion
- PyMac_PRECHECK(QDSetDirtyRegion);
-#endif
- if (!PyArg_ParseTuple(_args, "O&O&",
- GrafObj_Convert, &port,
- ResObj_Convert, &rgn))
- return NULL;
- _err = QDSetDirtyRegion(port,
- rgn);
- if (_err != noErr) return PyMac_Error(_err);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
-}
-#endif
-
static PyObject *Qd_LMGetScrVRes(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
@@ -6461,8 +6280,6 @@ static PyObject *Qd_RawBitMap(PyObject *_self, PyObject *_args)
}
static PyMethodDef Qd_methods[] = {
- {"MacSetPort", (PyCFunction)Qd_MacSetPort, 1,
- PyDoc_STR("(GrafPtr port) -> None")},
{"GetPort", (PyCFunction)Qd_GetPort, 1,
PyDoc_STR("() -> (GrafPtr port)")},
{"GrafDevice", (PyCFunction)Qd_GrafDevice, 1,
@@ -6826,96 +6643,6 @@ static PyMethodDef Qd_methods[] = {
PyDoc_STR("(short angle) -> (Fixed _rv)")},
{"AngleFromSlope", (PyCFunction)Qd_AngleFromSlope, 1,
PyDoc_STR("(Fixed slope) -> (short _rv)")},
-
-#if TARGET_API_MAC_CARBON
- {"IsValidPort", (PyCFunction)Qd_IsValidPort, 1,
- PyDoc_STR("(CGrafPtr port) -> (Boolean _rv)")},
-#endif
- {"GetPortPixMap", (PyCFunction)Qd_GetPortPixMap, 1,
- PyDoc_STR("(CGrafPtr port) -> (PixMapHandle _rv)")},
- {"GetPortBitMapForCopyBits", (PyCFunction)Qd_GetPortBitMapForCopyBits, 1,
- PyDoc_STR("(CGrafPtr port) -> (const BitMap * _rv)")},
- {"GetPortBounds", (PyCFunction)Qd_GetPortBounds, 1,
- PyDoc_STR("(CGrafPtr port) -> (Rect rect)")},
- {"GetPortForeColor", (PyCFunction)Qd_GetPortForeColor, 1,
- PyDoc_STR("(CGrafPtr port) -> (RGBColor foreColor)")},
- {"GetPortBackColor", (PyCFunction)Qd_GetPortBackColor, 1,
- PyDoc_STR("(CGrafPtr port) -> (RGBColor backColor)")},
- {"GetPortOpColor", (PyCFunction)Qd_GetPortOpColor, 1,
- PyDoc_STR("(CGrafPtr port) -> (RGBColor opColor)")},
- {"GetPortHiliteColor", (PyCFunction)Qd_GetPortHiliteColor, 1,
- PyDoc_STR("(CGrafPtr port) -> (RGBColor hiliteColor)")},
- {"GetPortTextFont", (PyCFunction)Qd_GetPortTextFont, 1,
- PyDoc_STR("(CGrafPtr port) -> (short _rv)")},
- {"GetPortTextFace", (PyCFunction)Qd_GetPortTextFace, 1,
- PyDoc_STR("(CGrafPtr port) -> (Style _rv)")},
- {"GetPortTextMode", (PyCFunction)Qd_GetPortTextMode, 1,
- PyDoc_STR("(CGrafPtr port) -> (short _rv)")},
- {"GetPortTextSize", (PyCFunction)Qd_GetPortTextSize, 1,
- PyDoc_STR("(CGrafPtr port) -> (short _rv)")},
- {"GetPortChExtra", (PyCFunction)Qd_GetPortChExtra, 1,
- PyDoc_STR("(CGrafPtr port) -> (short _rv)")},
- {"GetPortFracHPenLocation", (PyCFunction)Qd_GetPortFracHPenLocation, 1,
- PyDoc_STR("(CGrafPtr port) -> (short _rv)")},
- {"GetPortSpExtra", (PyCFunction)Qd_GetPortSpExtra, 1,
- PyDoc_STR("(CGrafPtr port) -> (Fixed _rv)")},
- {"GetPortPenVisibility", (PyCFunction)Qd_GetPortPenVisibility, 1,
- PyDoc_STR("(CGrafPtr port) -> (short _rv)")},
- {"GetPortVisibleRegion", (PyCFunction)Qd_GetPortVisibleRegion, 1,
- PyDoc_STR("(CGrafPtr port, RgnHandle visRgn) -> (RgnHandle _rv)")},
- {"GetPortClipRegion", (PyCFunction)Qd_GetPortClipRegion, 1,
- PyDoc_STR("(CGrafPtr port, RgnHandle clipRgn) -> (RgnHandle _rv)")},
- {"GetPortBackPixPat", (PyCFunction)Qd_GetPortBackPixPat, 1,
- PyDoc_STR("(CGrafPtr port, PixPatHandle backPattern) -> (PixPatHandle _rv)")},
- {"GetPortPenPixPat", (PyCFunction)Qd_GetPortPenPixPat, 1,
- PyDoc_STR("(CGrafPtr port, PixPatHandle penPattern) -> (PixPatHandle _rv)")},
- {"GetPortFillPixPat", (PyCFunction)Qd_GetPortFillPixPat, 1,
- PyDoc_STR("(CGrafPtr port, PixPatHandle fillPattern) -> (PixPatHandle _rv)")},
- {"GetPortPenSize", (PyCFunction)Qd_GetPortPenSize, 1,
- PyDoc_STR("(CGrafPtr port, Point penSize) -> (Point penSize)")},
- {"GetPortPenMode", (PyCFunction)Qd_GetPortPenMode, 1,
- PyDoc_STR("(CGrafPtr port) -> (SInt32 _rv)")},
- {"GetPortPenLocation", (PyCFunction)Qd_GetPortPenLocation, 1,
- PyDoc_STR("(CGrafPtr port, Point penLocation) -> (Point penLocation)")},
- {"IsPortRegionBeingDefined", (PyCFunction)Qd_IsPortRegionBeingDefined, 1,
- PyDoc_STR("(CGrafPtr port) -> (Boolean _rv)")},
- {"IsPortPictureBeingDefined", (PyCFunction)Qd_IsPortPictureBeingDefined, 1,
- PyDoc_STR("(CGrafPtr port) -> (Boolean _rv)")},
-
-#if TARGET_API_MAC_CARBON
- {"IsPortPolyBeingDefined", (PyCFunction)Qd_IsPortPolyBeingDefined, 1,
- PyDoc_STR("(CGrafPtr port) -> (Boolean _rv)")},
-#endif
-
-#if TARGET_API_MAC_CARBON
- {"IsPortOffscreen", (PyCFunction)Qd_IsPortOffscreen, 1,
- PyDoc_STR("(CGrafPtr port) -> (Boolean _rv)")},
-#endif
-
-#if TARGET_API_MAC_CARBON
- {"IsPortColor", (PyCFunction)Qd_IsPortColor, 1,
- PyDoc_STR("(CGrafPtr port) -> (Boolean _rv)")},
-#endif
- {"SetPortBounds", (PyCFunction)Qd_SetPortBounds, 1,
- PyDoc_STR("(CGrafPtr port, Rect rect) -> None")},
- {"SetPortOpColor", (PyCFunction)Qd_SetPortOpColor, 1,
- PyDoc_STR("(CGrafPtr port, RGBColor opColor) -> None")},
- {"SetPortVisibleRegion", (PyCFunction)Qd_SetPortVisibleRegion, 1,
- PyDoc_STR("(CGrafPtr port, RgnHandle visRgn) -> None")},
- {"SetPortClipRegion", (PyCFunction)Qd_SetPortClipRegion, 1,
- PyDoc_STR("(CGrafPtr port, RgnHandle clipRgn) -> None")},
- {"SetPortPenPixPat", (PyCFunction)Qd_SetPortPenPixPat, 1,
- PyDoc_STR("(CGrafPtr port, PixPatHandle penPattern) -> None")},
- {"SetPortFillPixPat", (PyCFunction)Qd_SetPortFillPixPat, 1,
- PyDoc_STR("(CGrafPtr port, PixPatHandle penPattern) -> None")},
- {"SetPortBackPixPat", (PyCFunction)Qd_SetPortBackPixPat, 1,
- PyDoc_STR("(CGrafPtr port, PixPatHandle backPattern) -> None")},
- {"SetPortPenSize", (PyCFunction)Qd_SetPortPenSize, 1,
- PyDoc_STR("(CGrafPtr port, Point penSize) -> None")},
- {"SetPortPenMode", (PyCFunction)Qd_SetPortPenMode, 1,
- PyDoc_STR("(CGrafPtr port, SInt32 penMode) -> None")},
- {"SetPortFracHPenLocation", (PyCFunction)Qd_SetPortFracHPenLocation, 1,
- PyDoc_STR("(CGrafPtr port, short pnLocHFrac) -> None")},
{"GetPixBounds", (PyCFunction)Qd_GetPixBounds, 1,
PyDoc_STR("(PixMapHandle pixMap) -> (Rect bounds)")},
{"GetPixDepth", (PyCFunction)Qd_GetPixDepth, 1,
@@ -6956,30 +6683,9 @@ static PyMethodDef Qd_methods[] = {
#endif
#if TARGET_API_MAC_CARBON
- {"DisposePort", (PyCFunction)Qd_DisposePort, 1,
- PyDoc_STR("(CGrafPtr port) -> None")},
-#endif
-
-#if TARGET_API_MAC_CARBON
{"SetQDError", (PyCFunction)Qd_SetQDError, 1,
PyDoc_STR("(OSErr err) -> None")},
#endif
- {"QDIsPortBuffered", (PyCFunction)Qd_QDIsPortBuffered, 1,
- PyDoc_STR("(CGrafPtr port) -> (Boolean _rv)")},
- {"QDIsPortBufferDirty", (PyCFunction)Qd_QDIsPortBufferDirty, 1,
- PyDoc_STR("(CGrafPtr port) -> (Boolean _rv)")},
- {"QDFlushPortBuffer", (PyCFunction)Qd_QDFlushPortBuffer, 1,
- PyDoc_STR("(CGrafPtr port, RgnHandle region) -> None")},
-
-#if TARGET_API_MAC_CARBON
- {"QDGetDirtyRegion", (PyCFunction)Qd_QDGetDirtyRegion, 1,
- PyDoc_STR("(CGrafPtr port, RgnHandle rgn) -> None")},
-#endif
-
-#if TARGET_API_MAC_CARBON
- {"QDSetDirtyRegion", (PyCFunction)Qd_QDSetDirtyRegion, 1,
- PyDoc_STR("(CGrafPtr port, RgnHandle rgn) -> None")},
-#endif
{"LMGetScrVRes", (PyCFunction)Qd_LMGetScrVRes, 1,
PyDoc_STR("() -> (SInt16 _rv)")},
{"LMSetScrVRes", (PyCFunction)Qd_LMSetScrVRes, 1,
@@ -7172,20 +6878,6 @@ void init_Qd(void)
Py_INCREF(&BitMap_Type);
if (PyDict_SetItemString(d, "BitMapType", (PyObject *)&BitMap_Type) != 0)
Py_FatalError("can't initialize BitMapType");
- QDGlobalsAccess_Type.ob_type = &PyType_Type;
- Py_INCREF(&QDGlobalsAccess_Type);
- if (PyDict_SetItemString(d, "QDGlobalsAccessType", (PyObject *)&QDGlobalsAccess_Type) != 0)
- Py_FatalError("can't initialize QDGlobalsAccessType");
-
- {
- PyObject *o;
-
- o = QDGA_New();
- if (o == NULL || PyDict_SetItemString(d, "qd", o) != 0)
- return;
- }
-
-
}
/* ========================= End module _Qd ========================= */
diff --git a/Mac/Modules/qd/qdscan.py b/Mac/Modules/qd/qdscan.py
index 4c69ab0..15f5f92 100644
--- a/Mac/Modules/qd/qdscan.py
+++ b/Mac/Modules/qd/qdscan.py
@@ -53,6 +53,12 @@ class MyScanner(Scanner):
listname = "functions"
if arglist:
t, n, m = arglist[0]
+ if t in ('GrafPtr', 'CGrafPtr') and m == 'InMode':
+ classname = "Method"
+ listname = "gr_methods"
+ elif t == 'BitMapPtr' and m == 'InMode':
+ classname = "Method"
+ listname = "bm_methods"
## elif t == "PolyHandle" and m == "InMode":
## classname = "Method"
## listname = "p_methods"
diff --git a/Mac/Modules/qd/qdsupport.py b/Mac/Modules/qd/qdsupport.py
index 73c87d1..c668e95 100644
--- a/Mac/Modules/qd/qdsupport.py
+++ b/Mac/Modules/qd/qdsupport.py
@@ -211,15 +211,7 @@ PyObject *BMObj_NewCopied(BitMapPtr itself)
"""
-variablestuff = """
-{
- PyObject *o;
-
- o = QDGA_New();
- if (o == NULL || PyDict_SetItemString(d, "qd", o) != 0)
- return;
-}
-"""
+variablestuff = ""
initstuff = initstuff + """
PyMac_INIT_TOOLBOX_OBJECT_NEW(BitMapPtr, BMObj_New);
@@ -244,7 +236,22 @@ initstuff = initstuff + """
## def outputFreeIt(self, itselfname):
## Output("KillPoly(%s);", itselfname)
-class MyGRObjectDefinition(GlobalObjectDefinition):
+class MyGRObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
+ getsetlist = [
+ ('visRgn',
+ """RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
+ return Py_BuildValue("O&", ResObj_New, (Handle)GetPortVisibleRegion(self->ob_itself, h));
+ """,
+ None,
+ "Convenience attribute: return a copy of the visible region"
+ ), (
+ 'clipRgn',
+ """RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
+ return Py_BuildValue("O&", ResObj_New, (Handle)GetPortClipRegion(self->ob_itself, h));
+ """,
+ None,
+ "Convenience attribute: return a copy of the clipping region"
+ )]
def outputCheckNewArg(self):
Output("if (itself == NULL) return PyMac_Error(resNotFound);")
def outputCheckConvertArg(self):
@@ -269,157 +276,35 @@ class MyGRObjectDefinition(GlobalObjectDefinition):
Output("return 1;")
OutRbrace()
Output("#endif")
- def outputGetattrHook(self):
- Output("#if !ACCESSOR_CALLS_ARE_FUNCTIONS")
- Output("""
- { CGrafPtr itself_color = (CGrafPtr)self->ob_itself;
-
- if ( strcmp(name, "data") == 0 )
- return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(GrafPort));
-
- if ( (itself_color->portVersion&0xc000) == 0xc000 ) {
- /* Color-only attributes */
-
- if ( strcmp(name, "portBits") == 0 )
- /* XXXX Do we need HLock() stuff here?? */
- return BMObj_New((BitMapPtr)*itself_color->portPixMap);
- if ( strcmp(name, "grafVars") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->visRgn);
- if ( strcmp(name, "chExtra") == 0 )
- return Py_BuildValue("h", itself_color->chExtra);
- if ( strcmp(name, "pnLocHFrac") == 0 )
- return Py_BuildValue("h", itself_color->pnLocHFrac);
- if ( strcmp(name, "bkPixPat") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->bkPixPat);
- if ( strcmp(name, "rgbFgColor") == 0 )
- return Py_BuildValue("O&", QdRGB_New, &itself_color->rgbFgColor);
- if ( strcmp(name, "rgbBkColor") == 0 )
- return Py_BuildValue("O&", QdRGB_New, &itself_color->rgbBkColor);
- if ( strcmp(name, "pnPixPat") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->pnPixPat);
- if ( strcmp(name, "fillPixPat") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)itself_color->fillPixPat);
- } else {
- /* Mono-only attributes */
- if ( strcmp(name, "portBits") == 0 )
- return BMObj_New(&self->ob_itself->portBits);
- if ( strcmp(name, "bkPat") == 0 )
- return Py_BuildValue("s#", (char *)&self->ob_itself->bkPat, sizeof(Pattern));
- if ( strcmp(name, "fillPat") == 0 )
- return Py_BuildValue("s#", (char *)&self->ob_itself->fillPat, sizeof(Pattern));
- if ( strcmp(name, "pnPat") == 0 )
- return Py_BuildValue("s#", (char *)&self->ob_itself->pnPat, sizeof(Pattern));
- }
- /*
- ** Accessible for both color/mono windows.
- ** portVersion is really color-only, but we put it here
- ** for convenience
- */
- if ( strcmp(name, "portVersion") == 0 )
- return Py_BuildValue("h", itself_color->portVersion);
- if ( strcmp(name, "device") == 0 )
- return PyInt_FromLong((long)self->ob_itself->device);
- if ( strcmp(name, "portRect") == 0 )
- return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->portRect);
- if ( strcmp(name, "visRgn") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)self->ob_itself->visRgn);
- if ( strcmp(name, "clipRgn") == 0 )
- return Py_BuildValue("O&", ResObj_New, (Handle)self->ob_itself->clipRgn);
- if ( strcmp(name, "pnLoc") == 0 )
- return Py_BuildValue("O&", PyMac_BuildPoint, self->ob_itself->pnLoc);
- if ( strcmp(name, "pnSize") == 0 )
- return Py_BuildValue("O&", PyMac_BuildPoint, self->ob_itself->pnSize);
- if ( strcmp(name, "pnMode") == 0 )
- return Py_BuildValue("h", self->ob_itself->pnMode);
- if ( strcmp(name, "pnVis") == 0 )
- return Py_BuildValue("h", self->ob_itself->pnVis);
- if ( strcmp(name, "txFont") == 0 )
- return Py_BuildValue("h", self->ob_itself->txFont);
- if ( strcmp(name, "txFace") == 0 )
- return Py_BuildValue("h", (short)self->ob_itself->txFace);
- if ( strcmp(name, "txMode") == 0 )
- return Py_BuildValue("h", self->ob_itself->txMode);
- if ( strcmp(name, "txSize") == 0 )
- return Py_BuildValue("h", self->ob_itself->txSize);
- if ( strcmp(name, "spExtra") == 0 )
- return Py_BuildValue("O&", PyMac_BuildFixed, self->ob_itself->spExtra);
- /* XXXX Add more, as needed */
- /* This one is so we can compare grafports: */
- if ( strcmp(name, "_id") == 0 )
- return Py_BuildValue("l", (long)self->ob_itself);
- }""")
- Output("#else")
- Output("""
- { CGrafPtr itself_color = (CGrafPtr)self->ob_itself;
- if ( strcmp(name, "portBits") == 0 )
- return BMObj_New((BitMapPtr)GetPortBitMapForCopyBits(itself_color));
- if ( strcmp(name, "chExtra") == 0 )
- return Py_BuildValue("h", GetPortChExtra(itself_color));
- if ( strcmp(name, "pnLocHFrac") == 0 )
- return Py_BuildValue("h", GetPortFracHPenLocation(itself_color));
- if ( strcmp(name, "bkPixPat") == 0 ) {
- PixPatHandle h=0;
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortBackPixPat(itself_color, h));
- }
- if ( strcmp(name, "rgbFgColor") == 0 ) {
- RGBColor c;
- return Py_BuildValue("O&", QdRGB_New, GetPortForeColor(itself_color, &c));
- }
- if ( strcmp(name, "rgbBkColor") == 0 ) {
- RGBColor c;
- return Py_BuildValue("O&", QdRGB_New, GetPortBackColor(itself_color, &c));
- }
- if ( strcmp(name, "pnPixPat") == 0 ) {
- PixPatHandle h=NewPixPat(); /* XXXX wrong dispose routine */
-
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortPenPixPat(itself_color, h));
- }
- if ( strcmp(name, "fillPixPat") == 0 ) {
- PixPatHandle h=NewPixPat(); /* XXXX wrong dispose routine */
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortFillPixPat(itself_color, h));
- }
- if ( strcmp(name, "portRect") == 0 ) {
- Rect r;
- return Py_BuildValue("O&", PyMac_BuildRect, GetPortBounds(itself_color, &r));
- }
- if ( strcmp(name, "visRgn") == 0 ) {
- RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortVisibleRegion(itself_color, h));
- }
- if ( strcmp(name, "clipRgn") == 0 ) {
- RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
- return Py_BuildValue("O&", ResObj_New, (Handle)GetPortClipRegion(itself_color, h));
- }
- if ( strcmp(name, "pnLoc") == 0 ) {
- Point p;
- return Py_BuildValue("O&", PyMac_BuildPoint, *GetPortPenLocation(itself_color, &p));
- }
- if ( strcmp(name, "pnSize") == 0 ) {
- Point p;
- return Py_BuildValue("O&", PyMac_BuildPoint, *GetPortPenSize(itself_color, &p));
- }
- if ( strcmp(name, "pnMode") == 0 )
- return Py_BuildValue("h", GetPortPenMode(itself_color));
- if ( strcmp(name, "pnVis") == 0 )
- return Py_BuildValue("h", GetPortPenVisibility(itself_color));
- if ( strcmp(name, "txFont") == 0 )
- return Py_BuildValue("h", GetPortTextFont(itself_color));
- if ( strcmp(name, "txFace") == 0 )
- return Py_BuildValue("h", (short)GetPortTextFace(itself_color));
- if ( strcmp(name, "txMode") == 0 )
- return Py_BuildValue("h", GetPortTextMode(itself_color));
- if ( strcmp(name, "txSize") == 0 )
- return Py_BuildValue("h", GetPortTextSize(itself_color));
- if ( strcmp(name, "spExtra") == 0 )
- return Py_BuildValue("O&", PyMac_BuildFixed, GetPortSpExtra(itself_color));
- /* XXXX Add more, as needed */
- /* This one is so we can compare grafports: */
- if ( strcmp(name, "_id") == 0 )
- return Py_BuildValue("l", (long)self->ob_itself);
- }""")
- Output("#endif")
-class MyBMObjectDefinition(GlobalObjectDefinition):
+class MyBMObjectDefinition(PEP252Mixin, GlobalObjectDefinition):
+ getsetlist = [
+ (
+ 'baseAddr',
+ 'return PyInt_FromLong((long)self->ob_itself->baseAddr);',
+ None,
+ None
+ ), (
+ 'rowBytes',
+ 'return PyInt_FromLong((long)self->ob_itself->rowBytes);',
+ None,
+ None
+ ), (
+ 'bounds',
+ 'return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->bounds);',
+ None,
+ None
+ ), (
+ 'bitmap_data',
+ 'return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(BitMap));',
+ None,
+ None
+ ), (
+ 'pixmap_data',
+ 'return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(PixMap));',
+ None,
+ None
+ )]
def outputCheckNewArg(self):
Output("if (itself == NULL) return PyMac_Error(resNotFound);")
def outputStructMembers(self):
@@ -434,104 +319,7 @@ class MyBMObjectDefinition(GlobalObjectDefinition):
Output("it->referred_bitmap = NULL;")
def outputCleanupStructMembers(self):
Output("Py_XDECREF(self->referred_object);")
- Output("if (self->referred_bitmap) free(self->referred_bitmap);")
- def outputGetattrHook(self):
- Output("""if ( strcmp(name, "baseAddr") == 0 )
- return PyInt_FromLong((long)self->ob_itself->baseAddr);
- if ( strcmp(name, "rowBytes") == 0 )
- return PyInt_FromLong((long)self->ob_itself->rowBytes);
- if ( strcmp(name, "bounds") == 0 )
- return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->bounds);
- /* XXXX Add more, as needed */
- if ( strcmp(name, "bitmap_data") == 0 )
- return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(BitMap));
- if ( strcmp(name, "pixmap_data") == 0 )
- return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(PixMap));
- """)
-
-# This object is instanciated once, and will access qd globals.
-class QDGlobalsAccessObjectDefinition(ObjectDefinition):
- def outputStructMembers(self):
- pass
- def outputNew(self):
- Output()
- Output("%sPyObject *%s_New(void)", self.static, self.prefix)
- OutLbrace()
- Output("%s *it;", self.objecttype)
- Output("it = PyObject_NEW(%s, &%s);", self.objecttype, self.typename)
- Output("if (it == NULL) return NULL;")
- Output("return (PyObject *)it;")
- OutRbrace()
- def outputConvert(self):
- pass
- def outputCleanupStructMembers(self):
- pass
-
- def outputGetattrHook(self):
- Output("#if !ACCESSOR_CALLS_ARE_FUNCTIONS")
- Output("""
- if ( strcmp(name, "arrow") == 0 )
- return PyString_FromStringAndSize((char *)&qd.arrow, sizeof(qd.arrow));
- if ( strcmp(name, "black") == 0 )
- return PyString_FromStringAndSize((char *)&qd.black, sizeof(qd.black));
- if ( strcmp(name, "white") == 0 )
- return PyString_FromStringAndSize((char *)&qd.white, sizeof(qd.white));
- if ( strcmp(name, "gray") == 0 )
- return PyString_FromStringAndSize((char *)&qd.gray, sizeof(qd.gray));
- if ( strcmp(name, "ltGray") == 0 )
- return PyString_FromStringAndSize((char *)&qd.ltGray, sizeof(qd.ltGray));
- if ( strcmp(name, "dkGray") == 0 )
- return PyString_FromStringAndSize((char *)&qd.dkGray, sizeof(qd.dkGray));
- if ( strcmp(name, "screenBits") == 0 )
- return BMObj_New(&qd.screenBits);
- if ( strcmp(name, "thePort") == 0 )
- return GrafObj_New(qd.thePort);
- if ( strcmp(name, "randSeed") == 0 )
- return Py_BuildValue("l", &qd.randSeed);
- """)
- Output("#else")
- Output("""
- if ( strcmp(name, "arrow") == 0 ) {
- Cursor rv;
- GetQDGlobalsArrow(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "black") == 0 ) {
- Pattern rv;
- GetQDGlobalsBlack(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "white") == 0 ) {
- Pattern rv;
- GetQDGlobalsWhite(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "gray") == 0 ) {
- Pattern rv;
- GetQDGlobalsGray(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "ltGray") == 0 ) {
- Pattern rv;
- GetQDGlobalsLightGray(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "dkGray") == 0 ) {
- Pattern rv;
- GetQDGlobalsDarkGray(&rv);
- return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
- }
- if ( strcmp(name, "screenBits") == 0 ) {
- BitMap rv;
- GetQDGlobalsScreenBits(&rv);
- return BMObj_NewCopied(&rv);
- }
- if ( strcmp(name, "thePort") == 0 )
- return GrafObj_New(GetQDGlobalsThePort());
- if ( strcmp(name, "randSeed") == 0 )
- return Py_BuildValue("l", GetQDGlobalsRandomSeed());
- """)
- Output("#endif")
+ Output("if (self->referred_bitmap) free(self->referred_bitmap);")
# Create the generator groups and link them
module = MacModule(MODNAME, MODPREFIX, includestuff, finalstuff, initstuff, variablestuff)
@@ -543,8 +331,6 @@ gr_object = MyGRObjectDefinition("GrafPort", "GrafObj", "GrafPtr")
module.addobject(gr_object)
bm_object = MyBMObjectDefinition("BitMap", "BMObj", "BitMapPtr")
module.addobject(bm_object)
-qd_object = QDGlobalsAccessObjectDefinition("QDGlobalsAccess", "QDGA", "XXXX")
-module.addobject(qd_object)
# Create the generator classes used to populate the lists
@@ -553,15 +339,17 @@ Method = OSErrWeakLinkMethodGenerator
# Create and populate the lists
functions = []
-methods = []
+gr_methods = []
+bm_methods = []
+#methods = []
execfile(INPUTFILE)
execfile(EXTRAFILE)
# add the populated lists to the generator groups
# (in a different wordl the scan program would generate this)
for f in functions: module.add(f)
-##for f in r_methods: r_object.add(f)
-##for f in po_methods: po_object.add(f)
+for f in gr_methods: gr_object.add(f)
+for f in bm_methods: bm_object.add(f)
# Manual generator: get data out of a bitmap
getdata_body = """