blob: 716910131f2e0e22b48b8c4713b97a29886d6c18 [file] [log] [blame]
/* =========================== Module _CG =========================== */
#include "Python.h"
#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 <ApplicationServices/ApplicationServices.h>
extern int GrafObj_Convert(PyObject *, GrafPtr *);
/*
** Manual converters
*/
PyObject *CGPoint_New(CGPoint *itself)
{
return Py_BuildValue("(ff)",
itself->x,
itself->y);
}
int
CGPoint_Convert(PyObject *v, CGPoint *p_itself)
{
if( !PyArg_Parse(v, "(ff)",
&p_itself->x,
&p_itself->y) )
return 0;
return 1;
}
PyObject *CGRect_New(CGRect *itself)
{
return Py_BuildValue("(ffff)",
itself->origin.x,
itself->origin.y,
itself->size.width,
itself->size.height);
}
int
CGRect_Convert(PyObject *v, CGRect *p_itself)
{
if( !PyArg_Parse(v, "(ffff)",
&p_itself->origin.x,
&p_itself->origin.y,
&p_itself->size.width,
&p_itself->size.height) )
return 0;
return 1;
}
PyObject *CGAffineTransform_New(CGAffineTransform *itself)
{
return Py_BuildValue("(ffffff)",
itself->a,
itself->b,
itself->c,
itself->d,
itself->tx,
itself->ty);
}
int
CGAffineTransform_Convert(PyObject *v, CGAffineTransform *p_itself)
{
if( !PyArg_Parse(v, "(ffffff)",
&p_itself->a,
&p_itself->b,
&p_itself->c,
&p_itself->d,
&p_itself->tx,
&p_itself->ty) )
return 0;
return 1;
}
static PyObject *CG_Error;
/* -------------------- Object type CGContextRef -------------------- */
PyTypeObject CGContextRef_Type;
#define CGContextRefObj_Check(x) ((x)->ob_type == &CGContextRef_Type || PyObject_TypeCheck((x), &CGContextRef_Type))
typedef struct CGContextRefObject {
PyObject_HEAD
CGContextRef ob_itself;
} CGContextRefObject;
PyObject *CGContextRefObj_New(CGContextRef itself)
{
CGContextRefObject *it;
it = PyObject_NEW(CGContextRefObject, &CGContextRef_Type);
if (it == NULL) return NULL;
it->ob_itself = itself;
return (PyObject *)it;
}
int CGContextRefObj_Convert(PyObject *v, CGContextRef *p_itself)
{
if (!CGContextRefObj_Check(v))
{
PyErr_SetString(PyExc_TypeError, "CGContextRef required");
return 0;
}
*p_itself = ((CGContextRefObject *)v)->ob_itself;
return 1;
}
static void CGContextRefObj_dealloc(CGContextRefObject *self)
{
CGContextRelease(self->ob_itself);
self->ob_type->tp_free((PyObject *)self);
}
static PyObject *CGContextRefObj_CGContextSaveGState(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextSaveGState(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextRestoreGState(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextRestoreGState(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextScaleCTM(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float sx;
float sy;
if (!PyArg_ParseTuple(_args, "ff",
&sx,
&sy))
return NULL;
CGContextScaleCTM(_self->ob_itself,
sx,
sy);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextTranslateCTM(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float tx;
float ty;
if (!PyArg_ParseTuple(_args, "ff",
&tx,
&ty))
return NULL;
CGContextTranslateCTM(_self->ob_itself,
tx,
ty);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextRotateCTM(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float angle;
if (!PyArg_ParseTuple(_args, "f",
&angle))
return NULL;
CGContextRotateCTM(_self->ob_itself,
angle);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextConcatCTM(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGAffineTransform transform;
if (!PyArg_ParseTuple(_args, "O&",
CGAffineTransform_Convert, &transform))
return NULL;
CGContextConcatCTM(_self->ob_itself,
transform);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextGetCTM(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGAffineTransform _rv;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = CGContextGetCTM(_self->ob_itself);
_res = Py_BuildValue("O&",
CGAffineTransform_New, &_rv);
return _res;
}
static PyObject *CGContextRefObj_CGContextSetLineWidth(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float width;
if (!PyArg_ParseTuple(_args, "f",
&width))
return NULL;
CGContextSetLineWidth(_self->ob_itself,
width);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetLineCap(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
int cap;
if (!PyArg_ParseTuple(_args, "i",
&cap))
return NULL;
CGContextSetLineCap(_self->ob_itself,
cap);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetLineJoin(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
int join;
if (!PyArg_ParseTuple(_args, "i",
&join))
return NULL;
CGContextSetLineJoin(_self->ob_itself,
join);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetMiterLimit(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float limit;
if (!PyArg_ParseTuple(_args, "f",
&limit))
return NULL;
CGContextSetMiterLimit(_self->ob_itself,
limit);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetFlatness(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float flatness;
if (!PyArg_ParseTuple(_args, "f",
&flatness))
return NULL;
CGContextSetFlatness(_self->ob_itself,
flatness);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetAlpha(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float alpha;
if (!PyArg_ParseTuple(_args, "f",
&alpha))
return NULL;
CGContextSetAlpha(_self->ob_itself,
alpha);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextBeginPath(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextBeginPath(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextMoveToPoint(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float x;
float y;
if (!PyArg_ParseTuple(_args, "ff",
&x,
&y))
return NULL;
CGContextMoveToPoint(_self->ob_itself,
x,
y);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextAddLineToPoint(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float x;
float y;
if (!PyArg_ParseTuple(_args, "ff",
&x,
&y))
return NULL;
CGContextAddLineToPoint(_self->ob_itself,
x,
y);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextAddCurveToPoint(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float cp1x;
float cp1y;
float cp2x;
float cp2y;
float x;
float y;
if (!PyArg_ParseTuple(_args, "ffffff",
&cp1x,
&cp1y,
&cp2x,
&cp2y,
&x,
&y))
return NULL;
CGContextAddCurveToPoint(_self->ob_itself,
cp1x,
cp1y,
cp2x,
cp2y,
x,
y);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextAddQuadCurveToPoint(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float cpx;
float cpy;
float x;
float y;
if (!PyArg_ParseTuple(_args, "ffff",
&cpx,
&cpy,
&x,
&y))
return NULL;
CGContextAddQuadCurveToPoint(_self->ob_itself,
cpx,
cpy,
x,
y);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextClosePath(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextClosePath(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextAddRect(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGRect rect;
if (!PyArg_ParseTuple(_args, "O&",
CGRect_Convert, &rect))
return NULL;
CGContextAddRect(_self->ob_itself,
rect);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextAddArc(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float x;
float y;
float radius;
float startAngle;
float endAngle;
int clockwise;
if (!PyArg_ParseTuple(_args, "fffffi",
&x,
&y,
&radius,
&startAngle,
&endAngle,
&clockwise))
return NULL;
CGContextAddArc(_self->ob_itself,
x,
y,
radius,
startAngle,
endAngle,
clockwise);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextAddArcToPoint(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float x1;
float y1;
float x2;
float y2;
float radius;
if (!PyArg_ParseTuple(_args, "fffff",
&x1,
&y1,
&x2,
&y2,
&radius))
return NULL;
CGContextAddArcToPoint(_self->ob_itself,
x1,
y1,
x2,
y2,
radius);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextIsPathEmpty(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
int _rv;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = CGContextIsPathEmpty(_self->ob_itself);
_res = Py_BuildValue("i",
_rv);
return _res;
}
static PyObject *CGContextRefObj_CGContextGetPathCurrentPoint(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGPoint _rv;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = CGContextGetPathCurrentPoint(_self->ob_itself);
_res = Py_BuildValue("O&",
CGPoint_New, &_rv);
return _res;
}
static PyObject *CGContextRefObj_CGContextGetPathBoundingBox(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGRect _rv;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = CGContextGetPathBoundingBox(_self->ob_itself);
_res = Py_BuildValue("O&",
CGRect_New, &_rv);
return _res;
}
static PyObject *CGContextRefObj_CGContextDrawPath(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
int mode;
if (!PyArg_ParseTuple(_args, "i",
&mode))
return NULL;
CGContextDrawPath(_self->ob_itself,
mode);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextFillPath(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextFillPath(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextEOFillPath(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextEOFillPath(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextStrokePath(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextStrokePath(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextFillRect(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGRect rect;
if (!PyArg_ParseTuple(_args, "O&",
CGRect_Convert, &rect))
return NULL;
CGContextFillRect(_self->ob_itself,
rect);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextStrokeRect(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGRect rect;
if (!PyArg_ParseTuple(_args, "O&",
CGRect_Convert, &rect))
return NULL;
CGContextStrokeRect(_self->ob_itself,
rect);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextStrokeRectWithWidth(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGRect rect;
float width;
if (!PyArg_ParseTuple(_args, "O&f",
CGRect_Convert, &rect,
&width))
return NULL;
CGContextStrokeRectWithWidth(_self->ob_itself,
rect,
width);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextClearRect(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGRect rect;
if (!PyArg_ParseTuple(_args, "O&",
CGRect_Convert, &rect))
return NULL;
CGContextClearRect(_self->ob_itself,
rect);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextClip(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextClip(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextEOClip(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextEOClip(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextClipToRect(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGRect rect;
if (!PyArg_ParseTuple(_args, "O&",
CGRect_Convert, &rect))
return NULL;
CGContextClipToRect(_self->ob_itself,
rect);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetGrayFillColor(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float gray;
float alpha;
if (!PyArg_ParseTuple(_args, "ff",
&gray,
&alpha))
return NULL;
CGContextSetGrayFillColor(_self->ob_itself,
gray,
alpha);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetGrayStrokeColor(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float gray;
float alpha;
if (!PyArg_ParseTuple(_args, "ff",
&gray,
&alpha))
return NULL;
CGContextSetGrayStrokeColor(_self->ob_itself,
gray,
alpha);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetRGBFillColor(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float red;
float green;
float blue;
float alpha;
if (!PyArg_ParseTuple(_args, "ffff",
&red,
&green,
&blue,
&alpha))
return NULL;
CGContextSetRGBFillColor(_self->ob_itself,
red,
green,
blue,
alpha);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetRGBStrokeColor(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float red;
float green;
float blue;
float alpha;
if (!PyArg_ParseTuple(_args, "ffff",
&red,
&green,
&blue,
&alpha))
return NULL;
CGContextSetRGBStrokeColor(_self->ob_itself,
red,
green,
blue,
alpha);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetCMYKFillColor(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float cyan;
float magenta;
float yellow;
float black;
float alpha;
if (!PyArg_ParseTuple(_args, "fffff",
&cyan,
&magenta,
&yellow,
&black,
&alpha))
return NULL;
CGContextSetCMYKFillColor(_self->ob_itself,
cyan,
magenta,
yellow,
black,
alpha);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetCMYKStrokeColor(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float cyan;
float magenta;
float yellow;
float black;
float alpha;
if (!PyArg_ParseTuple(_args, "fffff",
&cyan,
&magenta,
&yellow,
&black,
&alpha))
return NULL;
CGContextSetCMYKStrokeColor(_self->ob_itself,
cyan,
magenta,
yellow,
black,
alpha);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextGetInterpolationQuality(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
int _rv;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = CGContextGetInterpolationQuality(_self->ob_itself);
_res = Py_BuildValue("i",
_rv);
return _res;
}
static PyObject *CGContextRefObj_CGContextSetInterpolationQuality(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
int quality;
if (!PyArg_ParseTuple(_args, "i",
&quality))
return NULL;
CGContextSetInterpolationQuality(_self->ob_itself,
quality);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetCharacterSpacing(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float spacing;
if (!PyArg_ParseTuple(_args, "f",
&spacing))
return NULL;
CGContextSetCharacterSpacing(_self->ob_itself,
spacing);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetTextPosition(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float x;
float y;
if (!PyArg_ParseTuple(_args, "ff",
&x,
&y))
return NULL;
CGContextSetTextPosition(_self->ob_itself,
x,
y);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextGetTextPosition(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGPoint _rv;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = CGContextGetTextPosition(_self->ob_itself);
_res = Py_BuildValue("O&",
CGPoint_New, &_rv);
return _res;
}
static PyObject *CGContextRefObj_CGContextSetTextMatrix(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGAffineTransform transform;
if (!PyArg_ParseTuple(_args, "O&",
CGAffineTransform_Convert, &transform))
return NULL;
CGContextSetTextMatrix(_self->ob_itself,
transform);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextGetTextMatrix(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGAffineTransform _rv;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = CGContextGetTextMatrix(_self->ob_itself);
_res = Py_BuildValue("O&",
CGAffineTransform_New, &_rv);
return _res;
}
static PyObject *CGContextRefObj_CGContextSetTextDrawingMode(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
int mode;
if (!PyArg_ParseTuple(_args, "i",
&mode))
return NULL;
CGContextSetTextDrawingMode(_self->ob_itself,
mode);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetFontSize(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float size;
if (!PyArg_ParseTuple(_args, "f",
&size))
return NULL;
CGContextSetFontSize(_self->ob_itself,
size);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSelectFont(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
char * name;
float size;
int textEncoding;
if (!PyArg_ParseTuple(_args, "sfi",
&name,
&size,
&textEncoding))
return NULL;
CGContextSelectFont(_self->ob_itself,
name,
size,
textEncoding);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextShowText(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
char *cstring__in__;
long cstring__len__;
int cstring__in_len__;
if (!PyArg_ParseTuple(_args, "s#",
&cstring__in__, &cstring__in_len__))
return NULL;
cstring__len__ = cstring__in_len__;
CGContextShowText(_self->ob_itself,
cstring__in__, cstring__len__);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextShowTextAtPoint(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
float x;
float y;
char *cstring__in__;
long cstring__len__;
int cstring__in_len__;
if (!PyArg_ParseTuple(_args, "ffs#",
&x,
&y,
&cstring__in__, &cstring__in_len__))
return NULL;
cstring__len__ = cstring__in_len__;
CGContextShowTextAtPoint(_self->ob_itself,
x,
y,
cstring__in__, cstring__len__);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextEndPage(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextEndPage(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextFlush(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextFlush(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSynchronize(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
if (!PyArg_ParseTuple(_args, ""))
return NULL;
CGContextSynchronize(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CGContextRefObj_CGContextSetShouldAntialias(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
int shouldAntialias;
if (!PyArg_ParseTuple(_args, "i",
&shouldAntialias))
return NULL;
CGContextSetShouldAntialias(_self->ob_itself,
shouldAntialias);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
#ifndef __LP64__
static PyObject *CGContextRefObj_SyncCGContextOriginWithPort(CGContextRefObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
CGrafPtr port;
if (!PyArg_ParseTuple(_args, "O&",
GrafObj_Convert, &port))
return NULL;
SyncCGContextOriginWithPort(_self->ob_itself,
port);
Py_INCREF(Py_None);
_res = Py_None;
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;
}
#endif
static PyMethodDef CGContextRefObj_methods[] = {
{"CGContextSaveGState", (PyCFunction)CGContextRefObj_CGContextSaveGState, 1,
PyDoc_STR("() -> None")},
{"CGContextRestoreGState", (PyCFunction)CGContextRefObj_CGContextRestoreGState, 1,
PyDoc_STR("() -> None")},
{"CGContextScaleCTM", (PyCFunction)CGContextRefObj_CGContextScaleCTM, 1,
PyDoc_STR("(float sx, float sy) -> None")},
{"CGContextTranslateCTM", (PyCFunction)CGContextRefObj_CGContextTranslateCTM, 1,
PyDoc_STR("(float tx, float ty) -> None")},
{"CGContextRotateCTM", (PyCFunction)CGContextRefObj_CGContextRotateCTM, 1,
PyDoc_STR("(float angle) -> None")},
{"CGContextConcatCTM", (PyCFunction)CGContextRefObj_CGContextConcatCTM, 1,
PyDoc_STR("(CGAffineTransform transform) -> None")},
{"CGContextGetCTM", (PyCFunction)CGContextRefObj_CGContextGetCTM, 1,
PyDoc_STR("() -> (CGAffineTransform _rv)")},
{"CGContextSetLineWidth", (PyCFunction)CGContextRefObj_CGContextSetLineWidth, 1,
PyDoc_STR("(float width) -> None")},
{"CGContextSetLineCap", (PyCFunction)CGContextRefObj_CGContextSetLineCap, 1,
PyDoc_STR("(int cap) -> None")},
{"CGContextSetLineJoin", (PyCFunction)CGContextRefObj_CGContextSetLineJoin, 1,
PyDoc_STR("(int join) -> None")},
{"CGContextSetMiterLimit", (PyCFunction)CGContextRefObj_CGContextSetMiterLimit, 1,
PyDoc_STR("(float limit) -> None")},
{"CGContextSetFlatness", (PyCFunction)CGContextRefObj_CGContextSetFlatness, 1,
PyDoc_STR("(float flatness) -> None")},
{"CGContextSetAlpha", (PyCFunction)CGContextRefObj_CGContextSetAlpha, 1,
PyDoc_STR("(float alpha) -> None")},
{"CGContextBeginPath", (PyCFunction)CGContextRefObj_CGContextBeginPath, 1,
PyDoc_STR("() -> None")},
{"CGContextMoveToPoint", (PyCFunction)CGContextRefObj_CGContextMoveToPoint, 1,
PyDoc_STR("(float x, float y) -> None")},
{"CGContextAddLineToPoint", (PyCFunction)CGContextRefObj_CGContextAddLineToPoint, 1,
PyDoc_STR("(float x, float y) -> None")},
{"CGContextAddCurveToPoint", (PyCFunction)CGContextRefObj_CGContextAddCurveToPoint, 1,
PyDoc_STR("(float cp1x, float cp1y, float cp2x, float cp2y, float x, float y) -> None")},
{"CGContextAddQuadCurveToPoint", (PyCFunction)CGContextRefObj_CGContextAddQuadCurveToPoint, 1,
PyDoc_STR("(float cpx, float cpy, float x, float y) -> None")},
{"CGContextClosePath", (PyCFunction)CGContextRefObj_CGContextClosePath, 1,
PyDoc_STR("() -> None")},
{"CGContextAddRect", (PyCFunction)CGContextRefObj_CGContextAddRect, 1,
PyDoc_STR("(CGRect rect) -> None")},
{"CGContextAddArc", (PyCFunction)CGContextRefObj_CGContextAddArc, 1,
PyDoc_STR("(float x, float y, float radius, float startAngle, float endAngle, int clockwise) -> None")},
{"CGContextAddArcToPoint", (PyCFunction)CGContextRefObj_CGContextAddArcToPoint, 1,
PyDoc_STR("(float x1, float y1, float x2, float y2, float radius) -> None")},
{"CGContextIsPathEmpty", (PyCFunction)CGContextRefObj_CGContextIsPathEmpty, 1,
PyDoc_STR("() -> (int _rv)")},
{"CGContextGetPathCurrentPoint", (PyCFunction)CGContextRefObj_CGContextGetPathCurrentPoint, 1,
PyDoc_STR("() -> (CGPoint _rv)")},
{"CGContextGetPathBoundingBox", (PyCFunction)CGContextRefObj_CGContextGetPathBoundingBox, 1,
PyDoc_STR("() -> (CGRect _rv)")},
{"CGContextDrawPath", (PyCFunction)CGContextRefObj_CGContextDrawPath, 1,
PyDoc_STR("(int mode) -> None")},
{"CGContextFillPath", (PyCFunction)CGContextRefObj_CGContextFillPath, 1,
PyDoc_STR("() -> None")},
{"CGContextEOFillPath", (PyCFunction)CGContextRefObj_CGContextEOFillPath, 1,
PyDoc_STR("() -> None")},
{"CGContextStrokePath", (PyCFunction)CGContextRefObj_CGContextStrokePath, 1,
PyDoc_STR("() -> None")},
{"CGContextFillRect", (PyCFunction)CGContextRefObj_CGContextFillRect, 1,
PyDoc_STR("(CGRect rect) -> None")},
{"CGContextStrokeRect", (PyCFunction)CGContextRefObj_CGContextStrokeRect, 1,
PyDoc_STR("(CGRect rect) -> None")},
{"CGContextStrokeRectWithWidth", (PyCFunction)CGContextRefObj_CGContextStrokeRectWithWidth, 1,
PyDoc_STR("(CGRect rect, float width) -> None")},
{"CGContextClearRect", (PyCFunction)CGContextRefObj_CGContextClearRect, 1,
PyDoc_STR("(CGRect rect) -> None")},
{"CGContextClip", (PyCFunction)CGContextRefObj_CGContextClip, 1,
PyDoc_STR("() -> None")},
{"CGContextEOClip", (PyCFunction)CGContextRefObj_CGContextEOClip, 1,
PyDoc_STR("() -> None")},
{"CGContextClipToRect", (PyCFunction)CGContextRefObj_CGContextClipToRect, 1,
PyDoc_STR("(CGRect rect) -> None")},
{"CGContextSetGrayFillColor", (PyCFunction)CGContextRefObj_CGContextSetGrayFillColor, 1,
PyDoc_STR("(float gray, float alpha) -> None")},
{"CGContextSetGrayStrokeColor", (PyCFunction)CGContextRefObj_CGContextSetGrayStrokeColor, 1,
PyDoc_STR("(float gray, float alpha) -> None")},
{"CGContextSetRGBFillColor", (PyCFunction)CGContextRefObj_CGContextSetRGBFillColor, 1,
PyDoc_STR("(float red, float green, float blue, float alpha) -> None")},
{"CGContextSetRGBStrokeColor", (PyCFunction)CGContextRefObj_CGContextSetRGBStrokeColor, 1,
PyDoc_STR("(float red, float green, float blue, float alpha) -> None")},
{"CGContextSetCMYKFillColor", (PyCFunction)CGContextRefObj_CGContextSetCMYKFillColor, 1,
PyDoc_STR("(float cyan, float magenta, float yellow, float black, float alpha) -> None")},
{"CGContextSetCMYKStrokeColor", (PyCFunction)CGContextRefObj_CGContextSetCMYKStrokeColor, 1,
PyDoc_STR("(float cyan, float magenta, float yellow, float black, float alpha) -> None")},
{"CGContextGetInterpolationQuality", (PyCFunction)CGContextRefObj_CGContextGetInterpolationQuality, 1,
PyDoc_STR("() -> (int _rv)")},
{"CGContextSetInterpolationQuality", (PyCFunction)CGContextRefObj_CGContextSetInterpolationQuality, 1,
PyDoc_STR("(int quality) -> None")},
{"CGContextSetCharacterSpacing", (PyCFunction)CGContextRefObj_CGContextSetCharacterSpacing, 1,
PyDoc_STR("(float spacing) -> None")},
{"CGContextSetTextPosition", (PyCFunction)CGContextRefObj_CGContextSetTextPosition, 1,
PyDoc_STR("(float x, float y) -> None")},
{"CGContextGetTextPosition", (PyCFunction)CGContextRefObj_CGContextGetTextPosition, 1,
PyDoc_STR("() -> (CGPoint _rv)")},
{"CGContextSetTextMatrix", (PyCFunction)CGContextRefObj_CGContextSetTextMatrix, 1,
PyDoc_STR("(CGAffineTransform transform) -> None")},
{"CGContextGetTextMatrix", (PyCFunction)CGContextRefObj_CGContextGetTextMatrix, 1,
PyDoc_STR("() -> (CGAffineTransform _rv)")},
{"CGContextSetTextDrawingMode", (PyCFunction)CGContextRefObj_CGContextSetTextDrawingMode, 1,
PyDoc_STR("(int mode) -> None")},
{"CGContextSetFontSize", (PyCFunction)CGContextRefObj_CGContextSetFontSize, 1,
PyDoc_STR("(float size) -> None")},
{"CGContextSelectFont", (PyCFunction)CGContextRefObj_CGContextSelectFont, 1,
PyDoc_STR("(char * name, float size, int textEncoding) -> None")},
{"CGContextShowText", (PyCFunction)CGContextRefObj_CGContextShowText, 1,
PyDoc_STR("(Buffer cstring) -> None")},
{"CGContextShowTextAtPoint", (PyCFunction)CGContextRefObj_CGContextShowTextAtPoint, 1,
PyDoc_STR("(float x, float y, Buffer cstring) -> None")},
{"CGContextEndPage", (PyCFunction)CGContextRefObj_CGContextEndPage, 1,
PyDoc_STR("() -> None")},
{"CGContextFlush", (PyCFunction)CGContextRefObj_CGContextFlush, 1,
PyDoc_STR("() -> None")},
{"CGContextSynchronize", (PyCFunction)CGContextRefObj_CGContextSynchronize, 1,
PyDoc_STR("() -> None")},
{"CGContextSetShouldAntialias", (PyCFunction)CGContextRefObj_CGContextSetShouldAntialias, 1,
PyDoc_STR("(int shouldAntialias) -> None")},
#ifndef __LP64__
{"SyncCGContextOriginWithPort", (PyCFunction)CGContextRefObj_SyncCGContextOriginWithPort, 1,
PyDoc_STR("(CGrafPtr port) -> None")},
{"ClipCGContextToRegion", (PyCFunction)CGContextRefObj_ClipCGContextToRegion, 1,
PyDoc_STR("(Rect portRect, RgnHandle region) -> None")},
#endif
{NULL, NULL, 0}
};
#define CGContextRefObj_getsetlist NULL
#define CGContextRefObj_compare NULL
#define CGContextRefObj_repr NULL
#define CGContextRefObj_hash NULL
#define CGContextRefObj_tp_init 0
#define CGContextRefObj_tp_alloc PyType_GenericAlloc
static PyObject *CGContextRefObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
{
PyObject *_self;
CGContextRef itself;
char *kw[] = {"itself", 0};
if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, CGContextRefObj_Convert, &itself)) return NULL;
if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
((CGContextRefObject *)_self)->ob_itself = itself;
return _self;
}
#define CGContextRefObj_tp_free PyObject_Del
PyTypeObject CGContextRef_Type = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
"_CG.CGContextRef", /*tp_name*/
sizeof(CGContextRefObject), /*tp_basicsize*/
0, /*tp_itemsize*/
/* methods */
(destructor) CGContextRefObj_dealloc, /*tp_dealloc*/
0, /*tp_print*/
(getattrfunc)0, /*tp_getattr*/
(setattrfunc)0, /*tp_setattr*/
(cmpfunc) CGContextRefObj_compare, /*tp_compare*/
(reprfunc) CGContextRefObj_repr, /*tp_repr*/
(PyNumberMethods *)0, /* tp_as_number */
(PySequenceMethods *)0, /* tp_as_sequence */
(PyMappingMethods *)0, /* tp_as_mapping */
(hashfunc) CGContextRefObj_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*/
CGContextRefObj_methods, /* tp_methods */
0, /*tp_members*/
CGContextRefObj_getsetlist, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
CGContextRefObj_tp_init, /* tp_init */
CGContextRefObj_tp_alloc, /* tp_alloc */
CGContextRefObj_tp_new, /* tp_new */
CGContextRefObj_tp_free, /* tp_free */
};
/* ------------------ End object type CGContextRef ------------------ */
#ifndef __LP64__
static PyObject *CG_CreateCGContextForPort(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
GrafPtr port;
CGContextRef ctx;
OSStatus _err;
if (!PyArg_ParseTuple(_args, "O&", GrafObj_Convert, &port))
return NULL;
_err = CreateCGContextForPort(port, &ctx);
if (_err != noErr)
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&", CGContextRefObj_New, ctx);
return _res;
}
#endif
static PyMethodDef CG_methods[] = {
#ifndef __LP64__
{"CreateCGContextForPort", (PyCFunction)CG_CreateCGContextForPort, 1,
PyDoc_STR("(CGrafPtr) -> CGContextRef")},
#endif
{NULL, NULL, 0}
};
void init_CG(void)
{
PyObject *m;
PyObject *d;
m = Py_InitModule("_CG", CG_methods);
d = PyModule_GetDict(m);
CG_Error = PyMac_GetOSErrException();
if (CG_Error == NULL ||
PyDict_SetItemString(d, "Error", CG_Error) != 0)
return;
CGContextRef_Type.ob_type = &PyType_Type;
if (PyType_Ready(&CGContextRef_Type) < 0) return;
Py_INCREF(&CGContextRef_Type);
PyModule_AddObject(m, "CGContextRef", (PyObject *)&CGContextRef_Type);
/* Backward-compatible name */
Py_INCREF(&CGContextRef_Type);
PyModule_AddObject(m, "CGContextRefType", (PyObject *)&CGContextRef_Type);
}
/* ========================= End module _CG ========================= */