Added ClipCGContextToRegion() from Quickdraw.h.
diff --git a/Mac/Modules/cg/CGStubLib b/Mac/Modules/cg/CGStubLib
index 8b374a1..5f939a3 100755
--- a/Mac/Modules/cg/CGStubLib
+++ b/Mac/Modules/cg/CGStubLib
Binary files differ
diff --git a/Mac/Modules/cg/CGStubLib.exp b/Mac/Modules/cg/CGStubLib.exp
index 9f4e592..b93dc7c 100755
--- a/Mac/Modules/cg/CGStubLib.exp
+++ b/Mac/Modules/cg/CGStubLib.exp
@@ -57,3 +57,4 @@
CGContextRelease
CreateCGContextForPort
SyncCGContextOriginWithPort
+ClipCGContextToRegion
diff --git a/Mac/Modules/cg/_CGmodule.c b/Mac/Modules/cg/_CGmodule.c
index aaa5389..9849cf7 100755
--- a/Mac/Modules/cg/_CGmodule.c
+++ b/Mac/Modules/cg/_CGmodule.c
@@ -1129,6 +1129,23 @@
return _res;
}
+static PyObject *CGContextRefObj_ClipCGContextToRegion(CGContextRefObject *_self, PyObject *_args)
+{
+ PyObject *_res = NULL;
+ Rect portRect;
+ RgnHandle region;
+ if (!PyArg_ParseTuple(_args, "O&O&",
+ PyMac_GetRect, &portRect,
+ ResObj_Convert, ®ion))
+ return NULL;
+ ClipCGContextToRegion(_self->ob_itself,
+ &portRect,
+ region);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+}
+
static PyMethodDef CGContextRefObj_methods[] = {
{"CGContextSaveGState", (PyCFunction)CGContextRefObj_CGContextSaveGState, 1,
"() -> None"},
@@ -1244,6 +1261,8 @@
"(int shouldAntialias) -> None"},
{"SyncCGContextOriginWithPort", (PyCFunction)CGContextRefObj_SyncCGContextOriginWithPort, 1,
"(CGrafPtr port) -> None"},
+ {"ClipCGContextToRegion", (PyCFunction)CGContextRefObj_ClipCGContextToRegion, 1,
+ "(Rect portRect, RgnHandle region) -> None"},
{NULL, NULL, 0}
};
diff --git a/Mac/Modules/cg/cgsupport.py b/Mac/Modules/cg/cgsupport.py
index c9255ee..d090685 100755
--- a/Mac/Modules/cg/cgsupport.py
+++ b/Mac/Modules/cg/cgsupport.py
@@ -18,6 +18,7 @@
from macsupport import *
CGrafPtr = OpaqueByValueType("CGrafPtr", "GrafObj")
+RgnHandle = OpaqueByValueType("RgnHandle", "ResObj")
# Create the type objects
@@ -283,6 +284,15 @@
)
CGContextRef_methods.append(f)
+# manual method, lives in Quickdraw.h
+f = Method(void, 'ClipCGContextToRegion',
+ (CGContextRef, 'ctx', InMode),
+ (Rect, 'portRect', InMode),
+ (RgnHandle, 'region', InMode),
+)
+CGContextRef_methods.append(f)
+
+
CreateCGContextForPort_body = """\
GrafPtr port;
CGContextRef ctx;