static PyObject * solid_pattern_new (PyTypeObject *type, PyObject *args, PyObject *kwds) { double r, g, b, a = 1.0; if (!PyArg_ParseTuple (args, "ddd|d:SolidPattern.__new__", &r, &g, &b, &a)) return NULL; return PycairoPattern_FromPattern (cairo_pattern_create_rgba (r, g, b, a), NULL); }
static PyObject * linear_gradient_new (PyTypeObject *type, PyObject *args, PyObject *kwds) { double x0, y0, x1, y1; if (!PyArg_ParseTuple(args, "dddd:LinearGradient.__new__", &x0, &y0, &x1, &y1)) return NULL; return PycairoPattern_FromPattern ( cairo_pattern_create_linear (x0, y0, x1, y1), NULL); }
static PyObject * surface_pattern_new (PyTypeObject *type, PyObject *args, PyObject *kwds) { PycairoSurface *s; if (!PyArg_ParseTuple (args, "O!:SurfacePattern.__new__", &PycairoSurface_Type, &s)) return NULL; return PycairoPattern_FromPattern ( cairo_pattern_create_for_surface (s->surface), (PyObject *)s); }
static PyObject * pycairo_get_source (PycairoContext *o) { cairo_pattern_t *pattern = cairo_get_source (o->ctx); cairo_pattern_reference (pattern); /* bug #2765 - "How do we identify surface (and pattern) types?" * should pass pattern type as arg2 */ return PycairoPattern_FromPattern (pattern, NULL); }
static PyObject * radial_gradient_new (PyTypeObject *type, PyObject *args, PyObject *kwds) { double cx0, cy0, radius0, cx1, cy1, radius1; if (!PyArg_ParseTuple(args, "dddddd:RadialGradient.__new__", &cx0, &cy0, &radius0, &cx1, &cy1, &radius1)) return NULL; return PycairoPattern_FromPattern ( cairo_pattern_create_radial (cx0, cy0, radius0, cx1, cy1, radius1), NULL); }
static PyObject * _cairo_pattern_from_gvalue(const GValue *value) { return PycairoPattern_FromPattern(cairo_pattern_reference((cairo_pattern_t *) g_value_get_boxed(value))); }
static PyObject * pycairo_pop_group (PycairoContext *o) { return PycairoPattern_FromPattern (cairo_pop_group (o->ctx), NULL); }
static PyObject * pycairo_get_source (PycairoContext *o) { return PycairoPattern_FromPattern ( cairo_pattern_reference (cairo_get_source (o->ctx)), NULL); }