static PyObject * image_resize(PyObject *self, PyObject *args) { int x, y; int totalx=-1, totaly=-1; PyObject *pyim; if(!PyArg_ParseTuple(args,"Oiiii",&pyim,&x,&y,&totalx,&totaly)) { return NULL; } IImage *i = (IImage *)PyCObject_AsVoidPtr(pyim); if(NULL == i) { return NULL; } i->set_resolution(x,y,totalx,totaly); if(! i->ok()) { PyErr_SetString(PyExc_MemoryError, "Image too large"); return NULL; } Py_INCREF(Py_None); return Py_None; }
static PyObject * image_create(PyObject *self, PyObject *args) { int x, y; int totalx = -1, totaly = -1; if(!PyArg_ParseTuple(args,"ii|ii",&x,&y,&totalx, &totaly)) { return NULL; } IImage *i = new image(); #ifdef DEBUG_CREATION printf("%p : IM : CTOR\n",i); #endif i->set_resolution(x,y,totalx, totaly); if(! i->ok()) { PyErr_SetString(PyExc_MemoryError, "Image too large"); delete i; return NULL; } PyObject *pyret = PyCObject_FromVoidPtr(i,(void (*)(void *))image_delete); return pyret; }