fixed pdfdriver function call
[swftools.git] / lib / python / gfx.c
index 7e5c400..dafddfa 100644 (file)
@@ -313,12 +313,14 @@ static int page_print(PyObject * _self, FILE *fi, int flags)
 
 staticforward PyObject* doc_getPage(PyObject* parent, PyObject* args, PyObject* kwargs);
 staticforward PyObject* doc_getInfo(PyObject* parent, PyObject* args, PyObject* kwargs);
+staticforward PyObject* doc_setParameter(PyObject* parent, PyObject* args, PyObject* kwargs);
 
 static PyMethodDef doc_methods[] =
 {
     /* PDF functions */
     {"getPage", (PyCFunction)doc_getPage, METH_KEYWORDS, ""},
     {"getInfo", (PyCFunction)doc_getInfo, METH_KEYWORDS, ""},
+    {"setParameter", (PyCFunction)doc_setParameter, METH_KEYWORDS, ""},
     {0,0,0,0}
 };
 
@@ -356,6 +358,19 @@ static PyObject* doc_getInfo(PyObject* _self, PyObject* args, PyObject* kwargs)
     return PyString_FromString(s);
 }
 
+static PyObject* doc_setParameter(PyObject* _self, PyObject* args, PyObject* kwargs)
+{
+    DocObject* self = (DocObject*)_self;
+
+    static char *kwlist[] = {"key", "value", NULL};
+    char*key = 0, *value=0;
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ss", kwlist, &key,&value))
+       return NULL;
+
+    self->doc->set_parameter(self->doc, key, value);
+    return PY_NONE;
+}
+
 static PyObject* f_open(PyObject* parent, PyObject* args, PyObject* kwargs)
 {
     static char *kwlist[] = {"type", "filename", NULL};
@@ -367,7 +382,7 @@ static PyObject* f_open(PyObject* parent, PyObject* args, PyObject* kwargs)
     DocObject*self = PyObject_New(DocObject, &DriverClass);
    
     if(!strcmp(type,"pdf"))
-       self->doc = pdfdriver->open(filename);
+       self->doc = pdfdriver->open(pdfdriver,filename);
     else
        return PY_ERROR("Unknown type %s", type);
 
@@ -457,7 +472,7 @@ static PyObject* f_setoption(PyObject* self, PyObject* args, PyObject* kwargs)
     char*key=0,*value=0;
     if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ss", kwlist, &key, &value))
        return NULL;
-    pdfdriver->set_parameter(key,value);
+    pdfdriver->set_parameter(pdfdriver,key,value);
     return PY_NONE;
 }
 
@@ -477,7 +492,7 @@ static PyObject* f_addfont(PyObject* self, PyObject* args, PyObject* kwargs)
     char*filename=0;
     if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s", kwlist, &filename))
        return NULL;
-    pdfdriver->set_parameter("font", filename);
+    pdfdriver->set_parameter(pdfdriver,"font", filename);
     return PY_NONE;
 }
 
@@ -487,7 +502,7 @@ static PyObject* f_addfontdir(PyObject* self, PyObject* args, PyObject* kwargs)
     char*filename=0;
     if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s", kwlist, &filename))
        return NULL;
-    pdfdriver->set_parameter("fontdir", filename);
+    pdfdriver->set_parameter(pdfdriver,"fontdir", filename);
     return PY_NONE;
 }