Added ClipCGContextToRegion() from Quickdraw.h.

This commit is contained in:
Just van Rossum 2002-03-04 10:31:32 +00:00
parent aa158be623
commit dd989e1ce7
4 changed files with 30 additions and 0 deletions

Binary file not shown.

View File

@ -57,3 +57,4 @@ CGContextSaveGState
CGContextRelease
CreateCGContextForPort
SyncCGContextOriginWithPort
ClipCGContextToRegion

View File

@ -1129,6 +1129,23 @@ static PyObject *CGContextRefObj_SyncCGContextOriginWithPort(CGContextRefObject
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, &region))
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 @@ static PyMethodDef CGContextRefObj_methods[] = {
"(int shouldAntialias) -> None"},
{"SyncCGContextOriginWithPort", (PyCFunction)CGContextRefObj_SyncCGContextOriginWithPort, 1,
"(CGrafPtr port) -> None"},
{"ClipCGContextToRegion", (PyCFunction)CGContextRefObj_ClipCGContextToRegion, 1,
"(Rect portRect, RgnHandle region) -> None"},
{NULL, NULL, 0}
};

View File

@ -18,6 +18,7 @@ OUTPUTFILE = MODNAME + "module.c" # The file generated by this program
from macsupport import *
CGrafPtr = OpaqueByValueType("CGrafPtr", "GrafObj")
RgnHandle = OpaqueByValueType("RgnHandle", "ResObj")
# Create the type objects
@ -283,6 +284,15 @@ f = Method(void, 'SyncCGContextOriginWithPort',
)
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;