1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
%{
typedef struct {
PyObject_HEAD
GtkObject *go;
} PyGtk_Object;
PyTypeObject *PyGtk_Type;
#define PyGtk_Check(op) ((op)->ob_type == PyGtk_Type)
static PyObject *(*PyGtk_New)(GtkObject *go);
static PyObject * gdk__imlib_init(PyObject *self, PyObject *args) {
static called = 0;
PyObject *gtkbase, *dict;
if (called) {
Py_INCREF(Py_None);
return Py_None;
}
called = 1;
if (!PyArg_ParseTuple(args, ":gdk_imlib_init"))
return NULL;
gtkbase = PyImport_ImportModule("_gtkbase");
dict = PyModule_GetDict(gtkbase);
Py_DECREF(gtkbase);
/* make sure gtk_init was called */
PyGtk_Type = (PyTypeObject *)PyDict_GetItemString(dict, "GtkObjectType");
Py_INCREF(PyGtk_Type);
dict = PyDict_GetItemString(dict, "_private");
PyGtk_New = PyCObject_AsVoidPtr(PyDict_GetItemString(dict, "PyGtk_New"));
/* now actually initialise imlib */
gdk_imlib_init();
Py_INCREF(Py_None);
return Py_None;
}
%}
%native(gdk_imlib_init) PyObject *gdk__imlib_init(PyObject *s, PyObject *a);
|