]> git.pld-linux.org Git - packages/python-pycairo.git/commitdiff
- API update for cairo >= 1.1.8
authorfreetz <freetz@pld-linux.org>
Wed, 21 Jun 2006 18:13:35 +0000 (18:13 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    python-pycairo-new_API.patch -> 1.1

python-pycairo-new_API.patch [new file with mode: 0644]

diff --git a/python-pycairo-new_API.patch b/python-pycairo-new_API.patch
new file mode 100644 (file)
index 0000000..8bf5132
--- /dev/null
@@ -0,0 +1,239 @@
+diff -aurN pycairo-1.1.6.orig/cairo/pycairo-pattern.c pycairo-1.1.6/cairo/pycairo-pattern.c
+--- pycairo-1.1.6.orig/cairo/pycairo-pattern.c 2006-05-29 07:44:11.000000000 +0200
++++ pycairo-1.1.6/cairo/pycairo-pattern.c      2006-06-11 09:17:26.000000000 +0200
+@@ -73,7 +73,8 @@
+       type = &PycairoRadialGradient_Type;
+       break;
+     default:
+-      ASSERT_NOT_REACHED;
++      PyErr_SetString(CairoError, "Unsupported Pattern type");
++      return NULL;
+     }
+     o = type->tp_alloc(type, 0);
+diff -aurN pycairo-1.1.6.orig/cairo/pycairo-private.h pycairo-1.1.6/cairo/pycairo-private.h
+--- pycairo-1.1.6.orig/cairo/pycairo-private.h 2006-05-01 04:11:03.000000000 +0200
++++ pycairo-1.1.6/cairo/pycairo-private.h      2006-06-11 09:17:26.000000000 +0200
+@@ -116,10 +116,4 @@
+         } while (0)
+ #endif /* PY_MAJOR_VERSION */
+-#define ASSERT_NOT_REACHED            \
+-do {                                  \
+-    static const int NOT_REACHED = 0; \
+-    assert (NOT_REACHED);             \
+-} while (0)
+-
+ #endif /* _PYCAIRO_PRIVATE_H_ */
+diff -aurN pycairo-1.1.6.orig/cairo/pycairo-surface.c pycairo-1.1.6/cairo/pycairo-surface.c
+--- pycairo-1.1.6.orig/cairo/pycairo-surface.c 2006-05-28 03:58:52.000000000 +0200
++++ pycairo-1.1.6/cairo/pycairo-surface.c      2006-06-11 09:17:26.000000000 +0200
+@@ -242,6 +242,18 @@
+     Py_RETURN_NONE;
+ }
++static PyObject *
++surface_set_fallback_resolution (PycairoSurface *o, PyObject *args)
++{
++    double x_ppi, y_ppi;
++
++    if (!PyArg_ParseTuple(args, "dd:Surface.set_fallback_resolution",
++                        &x_ppi, &y_ppi))
++      return NULL;
++    cairo_surface_set_fallback_resolution (o->surface, x_ppi, y_ppi);
++    Py_RETURN_NONE;
++}
++
+ #ifdef CAIRO_HAS_PNG_FUNCTIONS
+ /* METH_O */
+ static PyObject *
+@@ -291,6 +303,8 @@
+     {"mark_dirty",     (PyCFunction)surface_mark_dirty,        METH_KEYWORDS },
+     {"set_device_offset",(PyCFunction)surface_set_device_offset,
+                                                                 METH_VARARGS },
++    {"set_fallback_resolution",(PyCFunction)surface_set_fallback_resolution,
++                                                                METH_VARARGS },
+ #ifdef CAIRO_HAS_PNG_FUNCTIONS
+     {"write_to_png",   (PyCFunction)surface_write_to_png,      METH_O },
+ #endif
+@@ -459,7 +473,8 @@
+           stride = (width + 1) / 8;
+           break;
+       default:
+-          ASSERT_NOT_REACHED;
++          PyErr_SetString(CairoError, "Unknown format");
++          return NULL;
+       }
+     }
+     if (height * stride > buffer_len) {
+@@ -707,34 +722,22 @@
+                   cairo_pdf_surface_create (PyString_AsString(file),
+                                      width_in_points, height_in_points),
+              NULL);
+-
+-    } else {  /* file or file-like object argument */
+-      PyObject* writer = PyObject_GetAttrString (file, "write");
+-      if (writer == NULL || !PyCallable_Check (writer)) {
+-          Py_XDECREF(writer);
+-          PyErr_SetString(PyExc_TypeError,
++    }
++    /* file or file-like object argument */
++    PyObject* writer = PyObject_GetAttrString (file, "write");
++    if (writer == NULL || !PyCallable_Check (writer)) {
++      Py_XDECREF(writer);
++      PyErr_SetString(PyExc_TypeError,
+ "PDFSurface argument 1 must be a filename (str), file object, or an object "
+ "that has a \"write\" method (like StringIO)");
+-          return NULL;
+-      }
+-      Py_DECREF(writer);
+-
+-      return PycairoSurface_FromSurface (
+-                 cairo_pdf_surface_create_for_stream (_write_func,
+-                     file, width_in_points, height_in_points),
+-             file);
++      return NULL;
+     }
+-}
++    Py_DECREF(writer);
+-static PyObject *
+-pdf_surface_set_dpi (PycairoPDFSurface *o, PyObject *args)
+-{
+-    double x_dpi, y_dpi;
+-
+-    if (!PyArg_ParseTuple(args, "dd:PDFSurface.set_dpi", &x_dpi, &y_dpi))
+-      return NULL;
+-    cairo_pdf_surface_set_dpi (o->surface, x_dpi, y_dpi);
+-    Py_RETURN_NONE;
++    return PycairoSurface_FromSurface (
++             cairo_pdf_surface_create_for_stream (_write_func, file,
++                 width_in_points, height_in_points),
++         file);
+ }
+ static PyObject *
+@@ -751,7 +754,6 @@
+ }
+ static PyMethodDef pdf_surface_methods[] = {
+-    {"set_dpi",  (PyCFunction)pdf_surface_set_dpi,     METH_VARARGS },
+     {"set_size", (PyCFunction)pdf_surface_set_size,    METH_VARARGS },
+     {NULL, NULL, 0, NULL},
+ };
+@@ -824,22 +826,22 @@
+                                      width_in_points, height_in_points),
+              NULL);
+-    } else {  /* file or file-like object argument */
+-      PyObject* writer = PyObject_GetAttrString (file, "write");
+-      if (writer == NULL || !PyCallable_Check (writer)) {
+-          Py_XDECREF(writer);
+-          PyErr_SetString(PyExc_TypeError,
++    }
++    /* else: file or file-like object argument */
++    PyObject* writer = PyObject_GetAttrString (file, "write");
++    if (writer == NULL || !PyCallable_Check (writer)) {
++      Py_XDECREF(writer);
++      PyErr_SetString(PyExc_TypeError,
+ "PSSurface argument 1 must be a filename (str), file object, or an object "
+ "that has a \"write\" method (like StringIO)");
+-          return NULL;
+-      }
+-      Py_DECREF(writer);
++      return NULL;
++    }
++    Py_DECREF(writer);
+-      return PycairoSurface_FromSurface (
+-                 cairo_ps_surface_create_for_stream (_write_func,
+-                     file, width_in_points, height_in_points),
++    return PycairoSurface_FromSurface (
++             cairo_ps_surface_create_for_stream (_write_func, file,
++                   width_in_points, height_in_points),
+              file);
+-    }
+ }
+ static PyObject *
+@@ -875,17 +877,6 @@
+ }
+ static PyObject *
+-ps_surface_set_dpi (PycairoPSSurface *o, PyObject *args)
+-{
+-    double x_dpi, y_dpi;
+-
+-    if (!PyArg_ParseTuple(args, "dd:PSSurface.set_dpi", &x_dpi, &y_dpi))
+-      return NULL;
+-    cairo_ps_surface_set_dpi (o->surface, x_dpi, y_dpi);
+-    Py_RETURN_NONE;
+-}
+-
+-static PyObject *
+ ps_surface_set_size (PycairoPSSurface *o, PyObject *args)
+ {
+     double width_in_points, height_in_points;
+@@ -902,7 +893,6 @@
+                    (PyCFunction)ps_surface_dsc_begin_page_setup, METH_NOARGS },
+     {"dsc_begin_setup", (PyCFunction)ps_surface_dsc_begin_setup, METH_NOARGS },
+     {"dsc_comment", (PyCFunction)ps_surface_dsc_comment,        METH_VARARGS },
+-    {"set_dpi",  (PyCFunction)ps_surface_set_dpi,               METH_VARARGS },
+     {"set_size", (PyCFunction)ps_surface_set_size,              METH_VARARGS },
+     {NULL, NULL, 0, NULL},
+ };
+@@ -974,34 +964,22 @@
+                   cairo_svg_surface_create (PyString_AsString(file),
+                                      width_in_points, height_in_points),
+              NULL);
+-
+-    } else {  /* file or file-like object argument */
+-      PyObject* writer = PyObject_GetAttrString (file, "write");
+-      if (writer == NULL || !PyCallable_Check (writer)) {
+-          Py_XDECREF(writer);
+-          PyErr_SetString(PyExc_TypeError,
++    }
++    /* else: file or file-like object argument */
++    PyObject* writer = PyObject_GetAttrString (file, "write");
++    if (writer == NULL || !PyCallable_Check (writer)) {
++      Py_XDECREF(writer);
++      PyErr_SetString(PyExc_TypeError,
+ "SVGSurface argument 1 must be a filename (str), file object, or an object "
+ "that has a \"write\" method (like StringIO)");
+-          return NULL;
+-      }
+-      Py_DECREF(writer);
+-
+-      return PycairoSurface_FromSurface (
+-                 cairo_svg_surface_create_for_stream (_write_func,
+-                     file, width_in_points, height_in_points),
+-             file);
++      return NULL;
+     }
+-}
+-
+-static PyObject *
+-svg_surface_set_dpi (PycairoSVGSurface *o, PyObject *args)
+-{
+-    double x_dpi, y_dpi;
++    Py_DECREF(writer);
+-    if (!PyArg_ParseTuple(args, "dd:SVGSurface.set_dpi", &x_dpi, &y_dpi))
+-      return NULL;
+-    cairo_svg_surface_set_dpi (o->surface, x_dpi, y_dpi);
+-    Py_RETURN_NONE;
++    return PycairoSurface_FromSurface (
++             cairo_svg_surface_create_for_stream (_write_func, file,
++                 width_in_points, height_in_points),
++             file);
+ }
+ static PyMethodDef svg_surface_methods[] = {
+@@ -1010,7 +988,6 @@
+      * cairo_svg_get_versions
+      * cairo_svg_version_to_string
+      */
+-    {"set_dpi", (PyCFunction)svg_surface_set_dpi,    METH_VARARGS },
+     {NULL, NULL, 0, NULL},
+ };
This page took 0.110127 seconds and 4 git commands to generate.