diff options
author | John Finlay <finlay@src.gnome.org> | 2006-06-01 05:21:14 +0000 |
---|---|---|
committer | John Finlay <finlay@src.gnome.org> | 2006-06-01 05:21:14 +0000 |
commit | 73feba1da193d6b9d8bbdda66bcd4bf3731017a8 (patch) | |
tree | 6f542a66578ecf88362d33632e670e6b85bf9eed /gtk/gdkdraw.override | |
parent | 482b5c5dc71a14dca29362bfeaaeb9acac89b073 (diff) | |
download | pygtk-73feba1da193d6b9d8bbdda66bcd4bf3731017a8.tar.gz |
Add,
* gtk/gdkdraw.override (_wrap_gdk_draw_layout_line): Add,
Diffstat (limited to 'gtk/gdkdraw.override')
-rw-r--r-- | gtk/gdkdraw.override | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/gtk/gdkdraw.override b/gtk/gdkdraw.override index 73aa9a5d..9e2049ca 100644 --- a/gtk/gdkdraw.override +++ b/gtk/gdkdraw.override @@ -21,7 +21,6 @@ */ %% ignore - gdk_draw_layout_line gdk_draw_layout_line_with_colors %% @@ -415,3 +414,46 @@ _wrap_gdk_draw_layout(PyGObject *self, PyObject *args, PyObject *kwargs) Py_INCREF(Py_None); return Py_None; } +%% +override gdk_draw_layout_line kwargs +static PyObject * +_wrap_gdk_draw_layout_line(PyGObject *self, PyObject *args, PyObject *kwargs) +{ + static char *kwlist[] = { "gc", "x", "y", "line", "foreground", + "background", NULL }; + PyGObject *gc, *py_line; + int x, y; + GdkColor *foreground = NULL, *background = NULL; + PyObject *py_foreground = Py_None, *py_background = Py_None; + PangoLayoutLine *line; + + if (!PyArg_ParseTupleAndKeywords( + args, kwargs, "O!iiO|OO:GdkDrawable.draw_layout_line", + kwlist, &PyGdkGC_Type, &gc, &x, &y, &py_line, + &py_foreground, &py_background)) + return NULL; + if (pyg_boxed_check(py_line, PANGO_TYPE_LAYOUT_LINE)) + line = pyg_boxed_get(py_line, PangoLayoutLine); + else { + PyErr_SetString(PyExc_TypeError, "line should be a PangoLayoutLine"); + return NULL; + } + if (pyg_boxed_check(py_foreground, GDK_TYPE_COLOR)) + foreground = pyg_boxed_get(py_foreground, GdkColor); + else if (py_foreground != Py_None) { + PyErr_SetString(PyExc_TypeError, + "foreground should be a GdkColor or None"); + return NULL; + } + if (pyg_boxed_check(py_background, GDK_TYPE_COLOR)) + background = pyg_boxed_get(py_background, GdkColor); + else if (py_background != Py_None) { + PyErr_SetString(PyExc_TypeError, + "background should be a GdkColor or None"); + return NULL; + } + gdk_draw_layout_line_with_colors(GDK_DRAWABLE(self->obj), GDK_GC(gc->obj), + x, y, line, foreground, background); + Py_INCREF(Py_None); + return Py_None; +} |