diff options
Diffstat (limited to 'gtk/gdk.override')
-rw-r--r-- | gtk/gdk.override | 1493 |
1 files changed, 0 insertions, 1493 deletions
diff --git a/gtk/gdk.override b/gtk/gdk.override deleted file mode 100644 index 2b06b2a1..00000000 --- a/gtk/gdk.override +++ /dev/null @@ -1,1493 +0,0 @@ -/* -*- Mode: C; c-basic-offset: 4 -*- - * pygtk- Python bindings for the GTK toolkit. - * Copyright (C) 1998-2003 James Henstridge - * - * gdk.override: overrides for the gtk.gdk module. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA - */ -%% -headers -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#define NO_IMPORT_PYGOBJECT -#include "pygobject.h" -#include <glib.h> -#include <gtk/gtk.h> -#include <gdk-pixbuf/gdk-pixbuf.h> -#include "pygtk-private.h" - -#if defined(GDK_WINDOWING_X11) -#include <gdk/gdkx.h> -#elif defined(GDK_WINDOWING_WIN32) -#include <gdk/gdkwin32.h> -#endif - -/* make GDK_DISPLAY() the case macro */ -#undef GDK_DISPLAY -#define GDK_DISPLAY(object) (GDK_DISPLAY_OBJECT(object)) - -#ifdef HAVE_NUMPY -# include <Numeric/arrayobject.h> -static int have_numpy(void); -#endif - -extern PyTypeObject PyGtkWidget_Type; - -#ifdef HAVE_PYCAIRO -# include <pycairo.h> -extern Pycairo_CAPI_t *Pycairo_CAPI; -extern PyTypeObject PyGdkCairoContext_Type; -#endif - -#ifndef GDK_TYPE_REGION -GType -pygdk_region_get_type (void) -{ - static GType our_type = 0; - - if (our_type == 0) - our_type = g_boxed_type_register_static ("GdkRegion", - (GBoxedCopyFunc)gdk_region_copy, - (GBoxedFreeFunc)gdk_region_destroy); - return our_type; -} -#endif - -#ifndef GDK_TYPE_PIXBUF_SIMPLE_ANIM_ITER -GType gtk_print_capabilites_get_type (void) G_GNUC_CONST; -#define GDK_TYPE_PIXBUF_SIMPLE_ANIM_ITER (gdk_pixbuf_simple_anim_iter_get_type()) -#endif - -%% -include - gdkcairo.override - gdkcolor.override - gdkdraw.override - gdkevent.override - gdkgc.override - gdkpixbuf.override - gdkrectangle.override - gdkwindow.override -%% -modulename gtk.gdk -%% -import gobject.GObject as PyGObject_Type -import pango.Context as PyPangoContext_Type -import pango.Font as PyPangoFont_Type -import pango.Layout as PyPangoLayout_Type -import pango.Renderer as PyPangoRenderer_Type -%% -ignore - gdk_window_set_debug_updates - gdk_region_destroy - gdk_atom_intern_static_string - gdk_pixbuf_from_pixdata -%% -ignore-glob - *_get_type - _* - *_ref - *_unref - gdk_spawn_* - *_libgtk_only - gdk_pixdata_* -%% -ignore-type - GdkPixmapObject - GdkWindowObject -%% -override gdk_threads_init noargs -static PyObject * -_wrap_gdk_threads_init(PyObject *self) -{ - if (pyg_enable_threads()) - return NULL; - gdk_threads_init(); - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_threads_enter noargs -static PyObject * -_wrap_gdk_threads_enter(PyObject *self) -{ - /* must allow threads while acquiring lock, or no other python - * code will execute while we wait! */ - pyg_begin_allow_threads; - gdk_threads_enter(); - pyg_end_allow_threads; - - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_fontset_load kwargs -static PyObject * -_wrap_gdk_fontset_load(PyObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "fontset_name", NULL }; - char *fontset_name; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:fontset_load", kwlist, - &fontset_name)) - return NULL; - - /* pyg_boxed_new handles NULL checking */ - return pyg_boxed_new(GDK_TYPE_FONT, gdk_fontset_load(fontset_name), - FALSE, TRUE); -} -%% -override gdk_text_extents kwargs -static PyObject * -_wrap_gdk_text_extents(PyObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "text", NULL }; - gchar *text; - Py_ssize_t length; - gint lbearing, rbearing, width, ascent, descent; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#:GdkFont.extents", - kwlist, &text, &length)) - return NULL; - gdk_text_extents(pyg_boxed_get(self, GdkFont), text, length, - &lbearing, &rbearing, &width, &ascent, &descent); - return Py_BuildValue("(iiiii)", lbearing, rbearing, width, - ascent, descent); -} -%% -override gdk_pixmap_create_from_xpm kwargs -static PyObject * -_wrap_gdk_pixmap_create_from_xpm(PyObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "window", "transparent_color", "filename", NULL}; - PyGObject *window; - PyObject *py_trans_color, *ret; - GdkColor *trans_color = NULL; - gchar *filename; - GdkPixmap *pixmap; - GdkBitmap *mask; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "O!Os:pixmap_create_from_xpm", kwlist, - &PyGdkDrawable_Type, &window, - &py_trans_color, &filename)) - return NULL; - if (pyg_boxed_check(py_trans_color, GDK_TYPE_COLOR)) - trans_color = pyg_boxed_get(py_trans_color, GdkColor); - else if (py_trans_color != Py_None) { - PyErr_SetString(PyExc_TypeError, - "transparent_color must be a colour or None"); - return NULL; - } - pixmap = gdk_pixmap_create_from_xpm(GDK_DRAWABLE(window->obj), &mask, - trans_color, filename); - if (pixmap == NULL) { - PyErr_SetString(PyExc_IOError, "can't load pixmap"); - return NULL; - } - ret = Py_BuildValue("(NN)", - pygobject_new((GObject *)pixmap), - pygobject_new((GObject *)mask)); - gdk_pixmap_unref(pixmap); - gdk_bitmap_unref(mask); - return ret; -} -%% -override gdk_pixmap_colormap_create_from_xpm kwargs -static PyObject * -_wrap_gdk_pixmap_colormap_create_from_xpm(PyObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "window", "colormap", "transparent_color", - "filename", NULL }; - PyObject *py_window, *py_colormap, *py_trans_color, *ret; - GdkDrawable *window = NULL; - GdkColormap *colormap = NULL; - GdkColor *trans_color = NULL; - gchar *filename; - GdkPixmap *pixmap; - GdkBitmap *mask; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "OOOs:pixmap_colormap_create_from_xpm", - kwlist, &py_window, &py_colormap, - &py_trans_color, &filename)) - return NULL; - if (pygobject_check(py_window, &PyGdkDrawable_Type)) - window = GDK_DRAWABLE(pygobject_get(py_window)); - else if (py_window != Py_None) { - PyErr_SetString(PyExc_TypeError, "window must be a GdkDrawable or None"); - return NULL; - } - if (pygobject_check(py_colormap, &PyGdkColormap_Type)) - colormap = GDK_COLORMAP(pygobject_get(py_colormap)); - else if (py_colormap != Py_None) { - PyErr_SetString(PyExc_TypeError, - "colormap must be a GdkColormap or None"); - return NULL; - } - if (pyg_boxed_check(py_trans_color, GDK_TYPE_COLOR)) - trans_color = pyg_boxed_get(py_trans_color, GdkColor); - else if (py_trans_color != Py_None) { - PyErr_SetString(PyExc_TypeError, - "transparent_color must be a colour or None"); - return NULL; - } - pixmap = gdk_pixmap_colormap_create_from_xpm(window, colormap, &mask, - trans_color, filename); - if (pixmap == NULL) { - PyErr_SetString(PyExc_IOError, "can't load pixmap"); - return NULL; - } - ret = Py_BuildValue("(NN)", - pygobject_new((GObject *)pixmap), - pygobject_new((GObject *)mask)); - gdk_pixmap_unref(pixmap); - gdk_bitmap_unref(mask); - return ret; -} -%% -override gdk_pixmap_create_from_xpm_d kwargs -static PyObject * -_wrap_gdk_pixmap_create_from_xpm_d(PyObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "window", "transparent_color", "data", NULL }; - PyGObject *window; - PyObject *py_trans_color, *py_data, *ret; - GdkColor *trans_color = NULL; - gchar **data; - int len, i; - GdkPixmap *pixmap; - GdkBitmap *mask; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "O!OO!:pixmap_create_from_xpm_d", kwlist, - &PyGdkDrawable_Type, &window, - &py_trans_color, &PyList_Type, &py_data)) - return NULL; - if (pyg_boxed_check(py_trans_color, GDK_TYPE_COLOR)) - trans_color = pyg_boxed_get(py_trans_color, GdkColor); - else if (py_trans_color != Py_None) { - PyErr_SetString(PyExc_TypeError, - "transparent_color must be a colour or None"); - return NULL; - } - len = PyList_Size(py_data); - data = g_new(gchar *, len); - for (i = 0; i < len; i ++) { - PyObject *item = PyList_GetItem(py_data, i); - if (!PyString_Check(item)) { - PyErr_SetString(PyExc_TypeError, "data items must be strings"); - g_free(data); - return NULL; - } - data[i] = PyString_AsString(item); - } - pixmap = gdk_pixmap_create_from_xpm_d(GDK_DRAWABLE(window->obj), &mask, - trans_color, data); - g_free(data); - if (pixmap == NULL) { - PyErr_SetString(PyExc_IOError, "can't load pixmap"); - return NULL; - } - ret = Py_BuildValue("(NN)", - pygobject_new((GObject *)pixmap), - pygobject_new((GObject *)mask)); - gdk_pixmap_unref(pixmap); - gdk_bitmap_unref(mask); - return ret; -} -%% -override gdk_pixmap_colormap_create_from_xpm_d kwargs -static PyObject * -_wrap_gdk_pixmap_colormap_create_from_xpm_d(PyObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "window", "colormap", "transparent_color", - "data", NULL }; - PyObject *py_window, *py_colormap, *py_trans_color, *py_data, *ret; - GdkDrawable *window = NULL; - GdkColormap *colormap = NULL; - GdkColor *trans_color = NULL; - gchar **data; - int len, i; - GdkPixmap *pixmap; - GdkBitmap *mask; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "OOOO!:pixmap_colormap_create_from_xpm_d", - kwlist, &py_window, &py_colormap, - &py_trans_color, - &PyList_Type, &py_data)) - return NULL; - if (pygobject_check(py_window, &PyGdkDrawable_Type)) - window = GDK_DRAWABLE(pygobject_get(py_window)); - else if (py_window != Py_None) { - PyErr_SetString(PyExc_TypeError, "window must be a GdkDrawable or None"); - return NULL; - } - if (pygobject_check(py_colormap, &PyGdkColormap_Type)) - colormap = GDK_COLORMAP(pygobject_get(py_colormap)); - else if (py_colormap != Py_None) { - PyErr_SetString(PyExc_TypeError, - "colormap must be a GdkColormap or None"); - return NULL; - } - if (pyg_boxed_check(py_trans_color, GDK_TYPE_COLOR)) - trans_color = pyg_boxed_get(py_trans_color, GdkColor); - else if (py_trans_color != Py_None) { - PyErr_SetString(PyExc_TypeError, - "transparent_color must be a colour or None"); - return NULL; - } - len = PyList_Size(py_data); - data = g_new(gchar *, len); - for (i = 0; i < len; i ++) { - PyObject *item = PyList_GetItem(py_data, i); - if (!PyString_Check(item)) { - PyErr_SetString(PyExc_TypeError, "data items must be strings"); - g_free(data); - return NULL; - } - data[i] = PyString_AsString(item); - } - pixmap = gdk_pixmap_colormap_create_from_xpm_d(window, colormap, &mask, - trans_color, data); - g_free(data); - if (pixmap == NULL) { - PyErr_SetString(PyExc_IOError, "can't load pixmap"); - return NULL; - } - ret = Py_BuildValue("(NN)", - pygobject_new((GObject *)pixmap), - pygobject_new((GObject *)mask)); - gdk_pixmap_unref(pixmap); - gdk_bitmap_unref(mask); - return ret; -} -%% -ignore gdk_cursor_new_from_pixmap -%% -override gdk_cursor_new kwargs -static int -_wrap_gdk_cursor_new(PyGBoxed *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist1[] = { "cursor_type", NULL }; - static char *kwlist2[] = { "display", "cursor_type", NULL }; - static char *kwlist3[] = { "display", "pixbuf", "x", "y", NULL }; - static char *kwlist4[] = { "source", "mask", "fg", "bg", "x", "y", NULL }; - PyObject *py_cursor_type; - PyGObject *py_display; - PyGObject *source, *mask, *pixbuf; - PyObject *fg, *bg; - gint x, y; - - self->gtype = GDK_TYPE_CURSOR; - self->free_on_dealloc = FALSE; - self->boxed = NULL; - - if (PyArg_ParseTupleAndKeywords(args, kwargs, "O:GdkCursor.__init__", - kwlist1, &py_cursor_type)) { - GdkCursorType cursor_type; - - if (pyg_enum_get_value(GDK_TYPE_CURSOR_TYPE, py_cursor_type, - (gint *)&cursor_type)) - return -1; - self->boxed = gdk_cursor_new(cursor_type); - goto done; - } - - PyErr_Clear(); - - if (PyArg_ParseTupleAndKeywords(args, kwargs, "OO:GdkCursor.__init__", - kwlist2, &py_display, &py_cursor_type)) { - - GdkCursorType cursor_type; - - if (!pygobject_check(py_display, &PyGdkDisplay_Type)) { - PyErr_SetString(PyExc_TypeError, - "display should be a GdkDisplay"); - return -1; - } - if (pyg_enum_get_value(GDK_TYPE_CURSOR_TYPE, py_cursor_type, - (gint *)&cursor_type)) - return -1; - self->boxed = gdk_cursor_new_for_display(GDK_DISPLAY(py_display->obj), - cursor_type); - goto done; - } - - PyErr_Clear(); - - if (PyArg_ParseTupleAndKeywords(args, kwargs, - "OOii:GdkCursor.__init__", kwlist3, - &py_display, &pixbuf, &x, &y)) { - - if (!pygobject_check(py_display, &PyGdkDisplay_Type)) { - PyErr_SetString(PyExc_TypeError, - "display should be a GdkDisplay"); - return -1; - } - if (!pygobject_check(pixbuf, &PyGdkPixbuf_Type)) { - PyErr_SetString(PyExc_TypeError, - "pixbuf should be a GdkPixbuf"); - return -1; - } - self->boxed = gdk_cursor_new_from_pixbuf(GDK_DISPLAY(py_display->obj), - GDK_PIXBUF(pixbuf->obj), - x, y); - goto done; - } - - PyErr_Clear(); - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "OOOOii:GdkCursor.__init__", kwlist4, - &source, &mask, &fg, &bg, &x, &y)) { - PyErr_Clear(); - PyErr_SetString(PyExc_TypeError, "Usage:\n" - " gtk.gdk.Cursor(cursor_type)\n" - " gtk.gdk.Cursor(display, cursor_type)\n" - " gtk.gdk.Cursor(display, pixbuf, x, y)\n" - " gtk.gdk.Cursor(source, mask, fg, bg, x, y)"); - return -1; - } - - if (!pygobject_check(source, &PyGdkPixmap_Type)) { - PyErr_SetString(PyExc_TypeError, "source should be a GdkPixmap"); - return -1; - } - if (!pygobject_check(mask, &PyGdkPixmap_Type)) { - PyErr_SetString(PyExc_TypeError, "mask should be a GdkPixmap"); - return -1; - } - if (!pyg_boxed_check(fg, GDK_TYPE_COLOR)) { - PyErr_SetString(PyExc_TypeError, "fg should be a GdkColor"); - return -1; - } - if (!pyg_boxed_check(bg, GDK_TYPE_COLOR)) { - PyErr_SetString(PyExc_TypeError, "bg should be a GdkColor"); - return -1; - } - self->boxed = gdk_cursor_new_from_pixmap(GDK_PIXMAP(source->obj), - GDK_PIXMAP(mask->obj), - pyg_boxed_get(fg, GdkColor), - pyg_boxed_get(bg, GdkColor), - x, y); - done: - if (!self->boxed) { - PyErr_SetString(PyExc_RuntimeError, - "could not create GdkCursor object"); - return -1; - } - self->free_on_dealloc = TRUE; - return 0; -} -%% -override gdk_region_get_clipbox noargs -static PyObject * -_wrap_gdk_region_get_clipbox(PyGObject *self) -{ - GdkRectangle rect = {0, 0, 0, 0}; - - gdk_region_get_clipbox(pyg_boxed_get(self, GdkRegion), &rect); - - return pyg_boxed_new(GDK_TYPE_RECTANGLE, &rect, TRUE, TRUE); -} -%% -override-attr GdkDevice.axes -static PyObject * -_wrap_gdk_device__get_axes(PyGObject *self, void *closure) -{ - GdkDevice *device = GDK_DEVICE(self->obj); - PyObject *ret; - gint i; - - ret = PyTuple_New(device->num_axes); - for (i = 0; i < device->num_axes; i++) - PyTuple_SetItem(ret, i, Py_BuildValue("(idd)", - device->axes[i].use, - device->axes[i].min, - device->axes[i].max)); - return ret; -} -%% -override-attr GdkDevice.keys -static PyObject * -_wrap_gdk_device__get_keys(PyGObject *self, void *closure) -{ - GdkDevice *device = GDK_DEVICE(self->obj); - PyObject *ret; - gint i; - - ret = PyTuple_New(device->num_keys); - for (i = 0; i < device->num_keys; i++) - PyTuple_SetItem(ret, i, - Py_BuildValue("(iN)", device->keys[i].keyval, - pyg_flags_from_gtype(GDK_TYPE_MODIFIER_TYPE, - device->keys[i].modifiers))); - return ret; -} -%% -override gdk_device_get_state kwargs -static PyObject * -_wrap_gdk_device_get_state(PyGObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "window", NULL }; - GdkDevice *device = GDK_DEVICE(self->obj); - PyGObject *window; - gdouble *axes; - GdkModifierType mask; - PyObject *py_axes; - guint i; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GdkDevice.get_state", - kwlist, &window)) - return NULL; - if (!pygobject_check(window, &PyGdkWindow_Type)) { - PyErr_SetString(PyExc_TypeError, "window should be a GdkWindow"); - return NULL; - } - axes = g_new0(gdouble, device->num_axes); - gdk_device_get_state(device, GDK_WINDOW(window->obj), axes, &mask); - py_axes = PyTuple_New(device->num_axes); - for (i = 0; i < device->num_axes; i++) - PyTuple_SetItem(py_axes, i, PyFloat_FromDouble(axes[i])); - g_free(axes); - return Py_BuildValue("(NN)", py_axes, - pyg_flags_from_gtype(GDK_TYPE_MODIFIER_TYPE, mask)); -} -%% -ignore gdk_device_free_history -%% -override gdk_device_get_history kwargs -static PyObject * -_wrap_gdk_device_get_history(PyGObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "window", "start", "stop", NULL }; - GdkDevice *device = GDK_DEVICE(self->obj); - PyGObject *window; - guint start, stop; - GdkTimeCoord **events; - gint n_events; - PyObject *pyevents; - guint i; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "Oii:GdkDevice.get_history", kwlist, - &window, &start, &stop)) - return NULL; - if (!pygobject_check(window, &PyGdkWindow_Type)) { - PyErr_SetString(PyExc_TypeError, "window should be a GdkWindow"); - return NULL; - } - gdk_device_get_history(device, GDK_WINDOW(window->obj), start, stop, - &events, &n_events); - pyevents = PyTuple_New(n_events); - for (i = 0; i < n_events; i++) { - PyObject *axes; - gint j; - - axes = PyTuple_New(device->num_axes); - for (j = 0; j < device->num_axes; j++) - PyTuple_SetItem(axes, j, PyFloat_FromDouble(events[i]->axes[j])); - PyTuple_SetItem(pyevents, i, Py_BuildValue("(iN)", events[i]->time, - axes)); - } - gdk_device_free_history(events, n_events); - return pyevents; -} -%% -override gdk_device_get_axis kwargs -static PyObject * -_wrap_gdk_device_get_axis(PyGObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "axes", "use", NULL }; - GdkDevice *device = GDK_DEVICE(self->obj); - PyObject *py_axes; - gdouble *axes, value; - GdkAxisUse use; - gboolean ret; - gint i; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Oi:GdkDevice.get_axis", - kwlist, &py_axes, &use)) - return NULL; - if (!PySequence_Check(py_axes)) { - PyErr_SetString(PyExc_TypeError, "axes must be a sequence"); - return NULL; - } - if (PySequence_Length(py_axes) != device->num_axes) { - PyErr_SetString(PyExc_TypeError, "axes has the wrong length"); - return NULL; - } - axes = g_new(gdouble, device->num_axes); - for (i = 0; i < device->num_axes; i++) { - PyObject *item = PySequence_GetItem(py_axes, i); - - axes[i] = PyFloat_AsDouble(item); - Py_DECREF(item); - if (PyErr_Occurred()) { - g_free(axes); - return NULL; - } - } - ret = gdk_device_get_axis(device, axes, use, &value); - g_free(axes); - if (ret) - return PyFloat_FromDouble(value); - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_drag_find_window kwargs -static PyObject * -_wrap_gdk_drag_find_window(PyGObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "drag_window", "x_root", "y_root", NULL }; - PyGObject *drag_window; - gint x_root, y_root; - GdkWindow *dest_window; - GdkDragProtocol protocol; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "Oii:GdkDragContext.drag_find_window", - kwlist, &drag_window, &x_root, &y_root)) - return NULL; - if (!pygobject_check(drag_window, &PyGdkWindow_Type)) { - PyErr_SetString(PyExc_TypeError, "drag_window must be a GdkWindow"); - return NULL; - } - gdk_drag_find_window(GDK_DRAG_CONTEXT(self->obj), - GDK_WINDOW(drag_window->obj), x_root, y_root, - &dest_window, &protocol); - return Py_BuildValue("(Ni)", pygobject_new((GObject *)dest_window), - protocol); -} -%% -override gdk_drag_find_window_for_screen kwargs -static PyObject * -_wrap_gdk_drag_find_window_for_screen(PyGObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "drag_window", "screen", "x_root", "y_root", NULL }; - PyGObject *drag_window, *screen; - gint x_root, y_root; - GdkWindow *dest_window; - GdkDragProtocol protocol; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "O!O!ii:GdkDragContext.drag_find_window_for_screen", - kwlist, &PyGdkWindow_Type, &drag_window, - &PyGdkScreen_Type, &screen, - &x_root, &y_root)) - return NULL; - gdk_drag_find_window_for_screen(GDK_DRAG_CONTEXT(self->obj), - GDK_WINDOW(drag_window->obj), - GDK_SCREEN(screen->obj), - x_root, y_root, - &dest_window, &protocol); - return Py_BuildValue("(Ni)", pygobject_new((GObject *)dest_window), - protocol); -} -%% -override-attr GdkDragContext.targets -static PyObject * -_wrap_gdk_drag_context__get_targets(PyGObject *self, void *closure) -{ - PyObject *atom, *ret = PyList_New(0); - GList *tmp; - if (ret == NULL) - return NULL; - for (tmp = GDK_DRAG_CONTEXT(self->obj)->targets; tmp; tmp = tmp->next) { - gchar *name; - - name = gdk_atom_name(GDK_POINTER_TO_ATOM(tmp->data)); - if ((atom = PyString_FromString(name)) == NULL) { - g_free(name); - Py_DECREF(ret); - return NULL; - } - PyList_Append(ret, atom); - g_free(name); - Py_DECREF(atom); - } - return ret; -} -%% -override gdk_drawable_get_size noargs -static PyObject * -_wrap_gdk_drawable_get_size(PyGObject *self) -{ - gint width; - gint height; - - gdk_drawable_get_size(GDK_DRAWABLE(self->obj), &width, &height); - return Py_BuildValue("(ii)", width, height); -} -%% -override gdk_drag_begin kwargs -static PyObject * -_wrap_gdk_drag_begin(PyGObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "targets", NULL }; - PyObject *py_targets; - GList *targets = NULL; - guint i, len; - GdkDragContext *context; - PyObject *py_context; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GdkWindow.drag_begin", - kwlist, &py_targets)) - return NULL; - if (!PySequence_Check(py_targets)) { - PyErr_SetString(PyExc_TypeError, "targets must be a list of ints"); - return NULL; - } - len = PySequence_Length(py_targets); - for (i = 0; i < len; i++) { - PyObject *item = PySequence_GetItem(py_targets, i); - - if (PyInt_Check(item)) { - targets = g_list_append(targets, - GUINT_TO_POINTER(PyInt_AsLong(item))); - Py_DECREF(item); - } else { - PyErr_SetString(PyExc_TypeError, "targets must be a list of ints"); - Py_DECREF(item); - g_list_free(targets); - return NULL; - } - } - context = gdk_drag_begin(GDK_WINDOW(self->obj), targets); - g_list_free(targets); - py_context = pygobject_new((GObject *)context); - gdk_drag_context_unref(context); - return py_context; -} -%% -override gdk_devices_list noargs -static PyObject * -_wrap_gdk_devices_list(PyObject *self) -{ - GList * devlist, *tmp; - PyObject *list; - - devlist = gdk_devices_list(); - list = PyList_New(0); - for (tmp = devlist; tmp != NULL; tmp = tmp->next) { - PyObject *item = pygobject_new((GObject *)tmp->data); - PyList_Append(list, item); - Py_DECREF(item); - } - - return list; -} -%% -override-attr GdkDrawable.handle -static PyObject * -_wrap_gdk_drawable__get_handle(PyGObject *self, void *closure) -{ -#if defined(GDK_WINDOWING_WIN32) - GdkDrawable *drawable = GDK_DRAWABLE(self->obj); - return PyLong_FromVoidPtr(GDK_WINDOW_HWND(drawable)); -#else - PyErr_SetString(PyExc_AttributeError, "handle attribute not supported"); - return NULL; -#endif -} -%% -override-attr GdkDrawable.xid -static PyObject * -_wrap_gdk_drawable__get_xid(PyGObject *self, void *closure) -{ -#if defined(GDK_WINDOWING_X11) - GdkDrawable *drawable = GDK_DRAWABLE(self->obj); - return PyLong_FromUnsignedLong(GDK_DRAWABLE_XID(drawable)); -#else - PyErr_SetString(PyExc_AttributeError, "xid attribute not supported"); - return NULL; -#endif -} -%% -override gdk_list_visuals noargs -static PyObject * -_wrap_gdk_list_visuals(PyGObject *self) -{ - GList *visl; - guint nvisl; - int i; - PyObject *list; - - visl = gdk_list_visuals(); - nvisl = g_list_length(visl); - - if ((list = PyList_New(nvisl)) == NULL) - return NULL; - - for (i = 0; i < nvisl; i++) { - PyObject *item; - - item = pygobject_new((GObject *)g_list_nth_data(visl, i)); - PyList_SetItem(list, i, item); - } - - g_list_free(visl); - - return list; -} -%% -override gdk_display_list_devices noargs -static PyObject * -_wrap_gdk_display_list_devices(PyGObject *self) -{ - GList * devlist, *tmp; - PyObject *list; - - devlist = gdk_display_list_devices(GDK_DISPLAY_OBJECT(self->obj)); - list = PyList_New(0); - for (tmp = devlist; tmp != NULL; tmp = tmp->next) { - PyObject *item = pygobject_new((GObject *)tmp->data); - PyList_Append(list, item); - Py_DECREF(item); - } - - return list; -} -%% -override gdk_display_get_pointer noargs -static PyObject * -_wrap_gdk_display_get_pointer(PyGObject *self) -{ - GdkScreen *screen = NULL; - gint x, y; - GdkModifierType mask; - - gdk_display_get_pointer(GDK_DISPLAY_OBJECT(self->obj), &screen, &x, &y, &mask); - return Py_BuildValue("(NiiN)", pygobject_new((GObject *)screen), - x, y, - pyg_flags_from_gtype(GDK_TYPE_MODIFIER_TYPE, mask)); -} -%% -override gdk_display_get_window_at_pointer noargs -static PyObject * -_wrap_gdk_display_get_window_at_pointer(PyGObject *self) -{ - GdkWindow *window; - gint win_x, win_y; - - window = gdk_display_get_window_at_pointer(GDK_DISPLAY_OBJECT(self->obj), - &win_x, &win_y); - if (window) - return Py_BuildValue("(Nii)", pygobject_new((GObject *)window), - win_x, win_y); - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_display_manager_list_displays noargs -static PyObject * -_wrap_gdk_display_manager_list_displays(PyGObject *self) -{ - GSList *list, *tmp; - PyObject *py_list; - - list = gdk_display_manager_list_displays(GDK_DISPLAY_MANAGER(self->obj)); - py_list = PyList_New(0); - for (tmp = list; tmp != NULL; tmp = tmp->next) { - PyObject *item = pygobject_new((GObject *)tmp->data); - PyList_Append(py_list, item); - Py_DECREF(item); - } - g_slist_free(list); - - return py_list; -} -%% -override gdk_screen_list_visuals noargs -static PyObject * -_wrap_gdk_screen_list_visuals(PyGObject *self) -{ - GList *visl; - guint nvisl; - int i; - PyObject *list; - - visl = gdk_screen_list_visuals(GDK_SCREEN(self->obj)); - nvisl = g_list_length(visl); - - if ((list = PyList_New(nvisl)) == NULL) - return NULL; - - for (i = 0; i < nvisl; i++) { - PyObject *item; - - item = pygobject_new((GObject *)g_list_nth_data(visl, i)); - PyList_SetItem(list, i, item); - } - - g_list_free(visl); - - return list; -} -%% -override gdk_screen_get_toplevel_windows noargs -static PyObject * -_wrap_gdk_screen_get_toplevel_windows(PyGObject *self) -{ - GList *topl; - guint ntopl; - int i; - PyObject *list; - - topl = gdk_screen_get_toplevel_windows(GDK_SCREEN(self->obj)); - ntopl = g_list_length(topl); - - if ((list = PyList_New(ntopl)) == NULL) - return NULL; - - for (i = 0; i < ntopl; i++) { - PyObject *item; - - item = pygobject_new((GObject *)g_list_nth_data(topl, i)); - PyList_SetItem(list, i, item); - } - - g_list_free(topl); - - return list; -} -%% -override gdk_screen_get_monitor_geometry kwargs -static PyObject * -_wrap_gdk_screen_get_monitor_geometry(PyGObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "monitor_num", NULL }; - int monitor_num; - GdkRectangle dest = { 0, 0, 0, 0 }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "i:GdkScreen.get_monitor_geometry", - kwlist, &monitor_num)) - return NULL; - - gdk_screen_get_monitor_geometry(GDK_SCREEN(self->obj), monitor_num, &dest); - - return pyg_boxed_new(GDK_TYPE_RECTANGLE, &dest, TRUE, TRUE); -} -%% -override gdk_screen_get_setting kwargs -static PyObject * -_wrap_gdk_screen_get_setting(PyGObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "name", NULL }; - char *name; - GValue value = { 0, }; - PyObject *ret; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:GdkScreen.get_setting", - kwlist, &name)) - return NULL; - - /* this is a bit of a hack. We don't know what type of setting it is */ - g_value_init(&value, GDK_TYPE_COLOR); - if (gdk_screen_get_setting(GDK_SCREEN(self->obj), name, &value)) - goto got_setting; - g_value_unset(&value); - g_value_init(&value, G_TYPE_INT); - if (gdk_screen_get_setting(GDK_SCREEN(self->obj), name, &value)) - goto got_setting; - g_value_unset(&value); - g_value_init(&value, G_TYPE_STRING); - if (gdk_screen_get_setting(GDK_SCREEN(self->obj), name, &value)) - goto got_setting; - g_value_unset(&value); - /* setting not found */ - PyErr_SetString(PyExc_ValueError, "could not find setting"); - return NULL; - - got_setting: - ret = pyg_value_as_pyobject(&value, TRUE); - g_value_unset(&value); - return ret; -} -%% -override gdk_atom_intern kwargs -static PyObject * -_wrap_gdk_atom_intern(PyObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "atom_name", "only_if_exists", NULL }; - char *atom_name; - int only_if_exists = FALSE; - GdkAtom ret; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|i:atom_intern", - kwlist, &atom_name, &only_if_exists)) - return NULL; - ret = gdk_atom_intern(atom_name, only_if_exists); - if (ret == GDK_NONE) { - Py_INCREF(Py_None); - return Py_None; - } - return PyGdkAtom_New(ret); -} -%% -override gdk_display_get_maximal_cursor_size noargs -static PyObject * -_wrap_gdk_display_get_maximal_cursor_size(PyGObject *self) -{ - guint width, height; - - gdk_display_get_maximal_cursor_size(GDK_DISPLAY(self->obj), - &width, &height); - - return Py_BuildValue("(ii)", width, height); -} -%% -override gdk_keyval_convert_case kwargs -static PyObject * -_wrap_gdk_keyval_convert_case(PyObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "symbol", NULL }; - guint symbol, upper, lower; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:keyval_convert_case", - kwlist, &symbol)) - return NULL; - - gdk_keyval_convert_case(symbol, &lower, &upper); - - return Py_BuildValue("(ii)", lower, upper); -} -%% -override gdk_keymap_get_entries_for_keyval kwargs -static PyObject * -_wrap_gdk_keymap_get_entries_for_keyval(PyGObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "keyval", NULL }; - guint keyval; - GdkKeymapKey *keys; - gint n_keys; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "i:gtk.gdk.Keymap.get_entries_for_keyval", - kwlist, &keyval)) - return NULL; - - if (gdk_keymap_get_entries_for_keyval(GDK_KEYMAP(self->obj), keyval, - &keys, &n_keys)) { - int i; - PyObject * list = PyTuple_New(n_keys); - - for (i = 0; i < n_keys; i++) { - PyTuple_SetItem(list, i, - Py_BuildValue("(iii)", keys[i].keycode, - keys[i].group, keys[i].level)); - } - g_free(keys); - - return list; - } - - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_keymap_get_entries_for_keycode kwargs -static PyObject * -_wrap_gdk_keymap_get_entries_for_keycode(PyGObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "hardware_keycode", NULL }; - guint keycode; - GdkKeymapKey *keys; - guint *keyvals; - gint n_keys; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "i:gtk.gdk.Keymap.get_entries_for_keycode", - kwlist, &keycode)) - return NULL; - - if (gdk_keymap_get_entries_for_keycode(GDK_KEYMAP(self->obj), keycode, - &keys, &keyvals, &n_keys)) { - int i; - PyObject * list = PyTuple_New(n_keys); - - for (i = 0; i < n_keys; i++) { - PyTuple_SetItem(list, i, - Py_BuildValue("(iiii)", keyvals[i], - keys[i].keycode, - keys[i].group, keys[i].level)); - } - g_free(keys); - - return list; - } - - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_keymap_lookup_key kwargs -static PyObject * -_wrap_gdk_keymap_lookup_key(PyGObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "keycode", "group", "level", NULL }; - GdkKeymapKey key; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "iii:gtk.gdk.Keymap.lookup_key", - kwlist, &key.keycode, &key.group, - &key.level)) - return NULL; - - return PyInt_FromLong(gdk_keymap_lookup_key(GDK_KEYMAP(self->obj), &key)); -} -%% -override gdk_keymap_translate_keyboard_state kwargs -static PyObject * -_wrap_gdk_keymap_translate_keyboard_state(PyGObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "keycode", "state", "group", NULL }; - guint keycode, keyval; - gint group, effective_group, level; - GdkModifierType state, modifiers; - PyObject *py_state; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "iOi:gtk.gdk.Keymap.translate_keyboard_state", - kwlist, &keycode, &py_state, - &group)) - return NULL; - - if (pyg_flags_get_value(GDK_TYPE_MODIFIER_TYPE, py_state, - (gint *)&state)) - return NULL; - - if (gdk_keymap_translate_keyboard_state(GDK_KEYMAP(self->obj), keycode, - state, group, &keyval, - &effective_group, &level, - &modifiers)) - return Py_BuildValue("(iiiN)", keyval, effective_group, level, - pyg_flags_from_gtype(GDK_TYPE_MODIFIER_TYPE, - modifiers)); - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_query_depths noargs -static PyObject * -_wrap_gdk_query_depths(PyObject *self) -{ - gint count, i; - gint *depths; - PyObject *py_depths; - - gdk_query_depths(&depths, &count); - - py_depths = PyTuple_New(count); - - for (i = 0; i < count; i++) - PyTuple_SetItem(py_depths, i, PyInt_FromLong(depths[i])); - - return py_depths; -} -%% -override gdk_query_visual_types noargs -static PyObject * -_wrap_gdk_query_visual_types(PyObject *self) -{ - gint count, i; - GdkVisualType *types; - PyObject *py_types; - - gdk_query_visual_types(&types, &count); - - py_types = PyTuple_New(count); - - for (i = 0; i < count; i++) - PyTuple_SetItem(py_types, i, PyInt_FromLong(types[i])); - - return py_types; -} -%% -override gdk_window_at_pointer noargs -static PyObject * -_wrap_gdk_window_at_pointer(PyObject *self) -{ - GdkWindow *window; - gint x, y; - - window = gdk_window_at_pointer(&x, &y); - - if (window) - return Py_BuildValue("(Nii)", pygobject_new((GObject *)window), x, y); - - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_display_store_clipboard kwargs -static PyObject * -_wrap_gdk_display_store_clipboard(PyGObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "clipboard_window", "time_", "targets", NULL }; - PyGObject *pyclipboard_window; - guint32 time_; - PyObject *pytargets; - GdkAtom *targets; - int tlen, i; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "O!iO:GdkDIsplay.store_clipboard", kwlist, - &PyGdkWindow_Type, &pyclipboard_window, - &time_, &pytargets)) - return NULL; - - if (!pytargets || pytargets == Py_None) { - tlen = 0; - targets = NULL; - } else { - if (!PySequence_Check(pytargets)) { - PyErr_SetString(PyExc_TypeError, - "targets must be a sequence of target strings" - "or GdkAtoms or None"); - return NULL; - } - tlen = PySequence_Size(pytargets); - targets = g_new0(GdkAtom, tlen); - for (i = 0; i < tlen; i++) { - PyObject *item = PySequence_GetItem(pytargets, i); - targets[i] = pygdk_atom_from_pyobject(item); - if (PyErr_Occurred()) { - Py_DECREF(item); - g_free(targets); - return NULL; - } - Py_DECREF(item); - } - g_free(targets); - } - gdk_display_store_clipboard(GDK_DISPLAY(self->obj), - GDK_WINDOW(pyclipboard_window->obj), - time_, targets, tlen); - Py_INCREF(Py_None); - return Py_None; -} -%% -override gdk_event_handler_set args -static void -pygdk_event_handler_marshal(GdkEvent *event, gpointer data) -{ - PyGILState_STATE state; - PyGtkCustomNotify *cunote = data; - PyObject *retobj; - PyObject *pyevent; - - g_assert (cunote->func); - - state = pyg_gil_state_ensure(); - - pyevent = pyg_boxed_new(GDK_TYPE_EVENT, event, TRUE, TRUE); - if (cunote->data) - retobj = PyEval_CallFunction(cunote->func, "(NO)", - pyevent, cunote->data); - else - retobj = PyEval_CallFunction(cunote->func, "(N)", pyevent); - - if (retobj == NULL) { - PyErr_Print(); - } else - Py_DECREF(retobj); - - pyg_gil_state_release(state); -} - -static PyObject * -_wrap_gdk_event_handler_set(PyObject *self, PyObject *args, PyObject *kwargs) -{ - PyObject *pyfunc, *pyarg = NULL; - PyGtkCustomNotify *cunote; - - if (!PyArg_ParseTuple(args, "O|O:event_handler_set", - &pyfunc, &pyarg)) - return NULL; - - if (pyfunc == Py_None) { - gdk_event_handler_set(NULL, NULL, NULL); - } else { - cunote = g_new0(PyGtkCustomNotify, 1); - cunote->func = pyfunc; - cunote->data = pyarg; - Py_INCREF(cunote->func); - Py_XINCREF(cunote->data); - - gdk_event_handler_set(pygdk_event_handler_marshal, - cunote, - pygtk_custom_destroy_notify); - } - - Py_INCREF(Py_None); - return Py_None; -} - -%% -override gdk_bitmap_create_from_data kwargs -static PyObject * -_wrap_gdk_bitmap_create_from_data(PyObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "drawable", "data", "width", "height", NULL }; - PyGObject *py_drawable; - GdkDrawable *drawable = NULL; - gchar *data; - GdkBitmap *ret; - Py_ssize_t data_len; - int width, height, rowstride; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs,"Os#ii:bitmap_create_from_data", kwlist, &py_drawable, &data, &data_len, &width, &height)) - return NULL; - if (py_drawable && pygobject_check(py_drawable, &PyGdkDrawable_Type)) - drawable = GDK_DRAWABLE(py_drawable->obj); - else if ((PyObject *)py_drawable != Py_None) { - PyErr_SetString(PyExc_TypeError, "drawable should be a GdkDrawable or None"); - return NULL; - } - - rowstride = (width&(~7))/8 + 1; - if (data_len*8 < rowstride*height) { - PyErr_SetString(PyExc_ValueError, "data size is insufficient for the given width, height, and depth"); - return NULL; - } - - ret = gdk_bitmap_create_from_data((GdkDrawable *) drawable, data, width, height); - - /* pygobject_new handles NULL checking */ - return pygobject_new((GObject *)ret); -} - -%% -override gdk_pixmap_create_from_data kwargs -static PyObject * -_wrap_gdk_pixmap_create_from_data(PyObject *self, PyObject *args, PyObject *kwargs) -{ - static char *kwlist[] = { "drawable", "data", "width", "height", "depth", "fg", "bg", NULL }; - Py_ssize_t data_len; - int width, height, depth; - GdkPixmap *ret; - PyObject *py_fg, *py_bg; - GdkColor *fg = NULL, *bg = NULL; - GdkDrawable *drawable = NULL; - gchar *data; - PyGObject *py_drawable; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs,"Os#iiiOO:pixmap_create_from_data", kwlist, &py_drawable, &data, &data_len, &width, &height, &depth, &py_fg, &py_bg)) - return NULL; - if (py_drawable && pygobject_check(py_drawable, &PyGdkDrawable_Type)) - drawable = GDK_DRAWABLE(py_drawable->obj); - else if ((PyObject *)py_drawable != Py_None) { - PyErr_SetString(PyExc_TypeError, "drawable should be a GdkDrawable or None"); - return NULL; - } - if (pyg_boxed_check(py_fg, GDK_TYPE_COLOR)) - fg = pyg_boxed_get(py_fg, GdkColor); - else { - PyErr_SetString(PyExc_TypeError, "fg should be a GdkColor"); - return NULL; - } - if (pyg_boxed_check(py_bg, GDK_TYPE_COLOR)) - bg = pyg_boxed_get(py_bg, GdkColor); - else { - PyErr_SetString(PyExc_TypeError, "bg should be a GdkColor"); - return NULL; - } - - if (data_len < width*height*(depth>>3)) { - PyErr_SetString(PyExc_ValueError, "data size is insufficient for the given width, height, and depth"); - return NULL; - } - - ret = gdk_pixmap_create_from_data((GdkDrawable *) drawable, data, width, height, depth, fg, bg); - - /* pygobject_new handles NULL checking */ - return pygobject_new((GObject *)ret); -} -%% -override gdk_screen_get_font_options noargs -static PyObject * -_wrap_gdk_screen_get_font_options(PyGObject *self) -{ - const cairo_font_options_t *options; - - options = gdk_screen_get_font_options(GDK_SCREEN(self->obj)); - if (!options) { - Py_INCREF(Py_None); - return Py_None; - } - return PycairoFontOptions_FromFontOptions(cairo_font_options_copy(options)); -} -%% -override gdk_screen_set_font_options kwargs -static PyObject * -_wrap_gdk_screen_set_font_options(PyGObject *self, PyObject *args, - PyObject *kwargs) -{ - static char *kwlist[] = { "options", NULL }; - PyGObject *py_options; - const cairo_font_options_t *options; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "O:GdkScreen.set_font_options", - kwlist, &py_options)) - return NULL; - if ((PyObject*)py_options == Py_None) - options = NULL; - else if (pygobject_check(py_options, &PycairoFontOptions_Type)) - options = ((PycairoFontOptions *)py_options)->font_options; - else { - PyErr_SetString(PyExc_TypeError, - "options must be a cairo.FontOptions or None"); - return NULL; - } - - gdk_screen_set_font_options(GDK_SCREEN(self->obj), options); - Py_INCREF(Py_None); - return Py_None; -} - -%% -override gdk_display_close noargs -static PyObject * -_wrap_gdk_display_close(PyGObject *self) -{ - GdkDisplay *display = GDK_DISPLAY(self->obj); - if (self->obj && !display->closed) { - g_object_ref(self->obj); - gdk_display_close(display); - } - Py_INCREF(Py_None); - return Py_None; -} |