X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpython%2Fprimitives.c;h=008c84ae9bc2fe642e4667e2d8fae4b8c18bdedc;hb=357b4098faaa5cf537c1e2292521305d95f681b1;hp=be626717192ccd284cd57d4d3fda073bdae5128f;hpb=878ee5fa4b0535398f72bbcb9aee50e4fac115d2;p=swftools.git diff --git a/lib/python/primitives.c b/lib/python/primitives.c index be62671..008c84a 100644 --- a/lib/python/primitives.c +++ b/lib/python/primitives.c @@ -189,22 +189,22 @@ static int bbox_setattr(PyObject * self, char* a, PyObject* o) BBoxObject*bbox= (BBoxObject*)self; if(!strcmp(a, "xmin")) { float xmin; - if (!PyArg_Parse(o, "i", &xmin)) goto err; + if (!PyArg_Parse(o, "f", &xmin)) goto err; bbox->bbox.xmin = (int)(xmin*20); return 0; } else if(!strcmp(a, "ymin")) { float ymin; - if (!PyArg_Parse(o, "i", &ymin)) goto err; + if (!PyArg_Parse(o, "f", &ymin)) goto err; bbox->bbox.ymin = (int)(ymin*20); return 0; } else if(!strcmp(a, "xmax")) { float xmax; - if (!PyArg_Parse(o, "i", &xmax)) goto err; + if (!PyArg_Parse(o, "f", &xmax)) goto err; bbox->bbox.xmax = (int)(xmax*20); return 0; } else if(!strcmp(a, "ymax")) { float ymax; - if (!PyArg_Parse(o, "i", &ymax)) goto err; + if (!PyArg_Parse(o, "f", &ymax)) goto err; bbox->bbox.ymax = (int)(ymax*20); return 0; } @@ -247,6 +247,14 @@ typedef struct { MATRIX matrix; } MatrixObject; +PyObject* f_Matrix2(MATRIX* m) +{ + PyObject*self = (PyObject*)PyObject_New(MatrixObject, &MatrixClass); + MatrixObject*matrix = (MatrixObject*)self; + matrix->matrix = *m; + return self; +} + PyObject* f_Matrix(PyObject* _self, PyObject* args, PyObject* kwargs) { PyObject*self = (PyObject*)PyObject_New(MatrixObject, &MatrixClass); @@ -286,6 +294,17 @@ PyObject* f_Matrix(PyObject* _self, PyObject* args, PyObject* kwargs) static PyObject* matrix_getattr(PyObject * self, char* a) { PY_ASSERT_TYPE(self,&MatrixClass); + MatrixObject*matrix = (MatrixObject*)self; + if(!strcmp(a, "entries")) { + return Py_BuildValue("(ffffff)", + matrix->matrix.sx/65536.0, + matrix->matrix.r0/65536.0, + matrix->matrix.r1/65536.0, + matrix->matrix.sy/65536.0, + matrix->matrix.tx/20.0, + matrix->matrix.ty/20.0 + ); + } return NULL; } static int matrix_setattr(PyObject * self, char* a, PyObject* o)