summaryrefslogtreecommitdiff
path: root/gtk/gdkdraw.override
diff options
context:
space:
mode:
authorJohn Finlay <finlay@src.gnome.org>2006-06-01 05:21:14 +0000
committerJohn Finlay <finlay@src.gnome.org>2006-06-01 05:21:14 +0000
commit73feba1da193d6b9d8bbdda66bcd4bf3731017a8 (patch)
tree6f542a66578ecf88362d33632e670e6b85bf9eed /gtk/gdkdraw.override
parent482b5c5dc71a14dca29362bfeaaeb9acac89b073 (diff)
downloadpygtk-73feba1da193d6b9d8bbdda66bcd4bf3731017a8.tar.gz
Add,
* gtk/gdkdraw.override (_wrap_gdk_draw_layout_line): Add,
Diffstat (limited to 'gtk/gdkdraw.override')
-rw-r--r--gtk/gdkdraw.override44
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;
+}