X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpython%2FSWF.c;h=75f876caf346d63a8089cfdb8334a95228707fc2;hb=5e568bb3f595aa63e715bbe2463298732bc5253a;hp=9afe7de3e51aeb3c9d2b848327e8330b5d31c1c0;hpb=b64eb7a19653b53bd41d9a767fbc193ea3069c52;p=swftools.git diff --git a/lib/python/SWF.c b/lib/python/SWF.c index 9afe7de..75f876c 100644 --- a/lib/python/SWF.c +++ b/lib/python/SWF.c @@ -70,7 +70,7 @@ static PyObject* f_create(PyObject* self, PyObject* args, PyObject* kwargs) if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|idOs", kwlist, &version, &framerate, - &obbox, filename)) + &obbox, &filename)) return NULL; if (!PY_CHECK_TYPE(obbox, &BBoxClass)) { @@ -294,13 +294,7 @@ static PyObject* swf_getattr(PyObject * self, char* a) mylog(" %08x(%d) swf_getattr %s = %s\n", (int)self, self->ob_refcnt, a, filename); return Py_BuildValue("s", filename); } else if(!strcmp(a, "bbox")) { - int xmin,ymin,xmax,ymax; - xmin = swf->swf.movieSize.xmin; - ymin = swf->swf.movieSize.ymin; - xmax = swf->swf.movieSize.xmax; - ymax = swf->swf.movieSize.ymax; - mylog(" %08x(%d) swf_getattr %s = (%d,%d,%d,%d)\n", (int)self, self->ob_refcnt, a, xmin,ymin,xmax,ymax); - return Py_BuildValue("(iiii)", xmin, ymin, xmax, ymax); + return f_BBox2(swf->swf.movieSize); } else if(!strcmp(a, "tags")) { PyObject*ret = (PyObject*)(swf->taglist); Py_INCREF(ret); @@ -341,15 +335,16 @@ static int swf_setattr(PyObject * self, char* a, PyObject * o) mylog(" %08x(%d) swf_setattr %s = %s\n", (int)self, self->ob_refcnt, a, filename); return 0; } else if(!strcmp(a, "bbox")) { - int xmin=0,ymin=0,xmax=0,ymax=0; - if (!PyArg_Parse(o, "(iiii)", &xmin, &ymin, &xmax, &ymax)) - goto err; + PyObject *obbox = o; + if (!PY_CHECK_TYPE(obbox, &BBoxClass)) { + obbox = f_BBox(0, o, 0); + if(!obbox) + return 1; + } + SRECT bbox = bbox_getSRECT(obbox); - swf->swf.movieSize.xmin = xmin; - swf->swf.movieSize.ymin = ymin; - swf->swf.movieSize.xmax = xmax; - swf->swf.movieSize.ymax = ymax; - mylog(" %08x(%d) swf_setattr %s = (%d,%d,%d,%d)\n", (int)self, self->ob_refcnt, a, xmin,ymin,xmax,ymax); + swf->swf.movieSize = bbox; + mylog(" %08x(%d) swf_setattr %s = (%d,%d,%d,%d)\n", (int)self, self->ob_refcnt, a, bbox.xmin,bbox.ymin,bbox.xmax,bbox.ymax); return 0; } else if(!strcmp(a, "tags")) { PyObject* taglist; @@ -406,7 +401,7 @@ static PyObject* module_verbose(PyObject* self, PyObject* args, PyObject* kwargs { int _verbose = 0; static char *kwlist[] = {"verbosity", NULL}; - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &verbose)) + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &_verbose)) return NULL; setVerbosity(_verbose);