diff options
author | Matt Wilson <msw@redhat.com> | 1999-08-04 06:49:35 +0000 |
---|---|---|
committer | Matt Wilson <msw@src.gnome.org> | 1999-08-04 06:49:35 +0000 |
commit | 14d3f7b03cb3df32ba92e9b8f24475a421888c47 (patch) | |
tree | bbc4a1331b981fed602c6689078f27c37fd54570 | |
parent | f19bac550846ef455704840f97711989bc640f62 (diff) | |
download | pygtk-14d3f7b03cb3df32ba92e9b8f24475a421888c47.tar.gz |
new wrapper for creating imlib images from xpm data
1999-08-04 Matt Wilson <msw@redhat.com>
* GdkImlib.py (create_image_from_xpm): new wrapper for creating
imlib images from xpm data
* gdkimlibmodule.c (_wrap_gdk_imlib_create_image_from_xpm): New
wrapper
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | GdkImlib.py | 3 | ||||
-rw-r--r-- | gdkimlibmodule.c | 24 |
3 files changed, 35 insertions, 0 deletions
@@ -1,3 +1,11 @@ +1999-08-04 Matt Wilson <msw@redhat.com> + + * GdkImlib.py (create_image_from_xpm): new wrapper for creating + imlib images from xpm data + + * gdkimlibmodule.c (_wrap_gdk_imlib_create_image_from_xpm): New + wrapper + 1999-08-03 James Henstridge <james@daa.com.au> * description.py (GdkWindow): added descriptions of the new routines. diff --git a/GdkImlib.py b/GdkImlib.py index 213928f9..fb7ecccf 100644 --- a/GdkImlib.py +++ b/GdkImlib.py @@ -127,6 +127,9 @@ def create_image_from_data(data, alpha, width, height): return Image(_obj=_gdkimlib.gdk_imlib_create_image_from_data( data, alpha, width, height)) +def create_image_from_xpm(data): + return Image(_obj=_gdkimlib.gdk_imlib_create_image_from_xpm(data)) + if hasattr(_gdkimlib, 'gdk_imlib_create_image_from_array'): def create_image_from_array(data, alpha=None): if alpha: diff --git a/gdkimlibmodule.c b/gdkimlibmodule.c index 74544cf1..7a341078 100644 --- a/gdkimlibmodule.c +++ b/gdkimlibmodule.c @@ -582,6 +582,29 @@ static PyObject *_wrap_gdk_imlib_create_image_from_data(PyObject *self, PyObject data, alpha, w, h)); } +static PyObject *_wrap_gdk_imlib_create_image_from_xpm(PyObject *self, PyObject *args) { + PyObject *lines; + int len, i; + char **data; + + if (!PyArg_ParseTuple(args, "O!:gdk_imlib_create_image_from_data", + &PyList_Type, &lines)) + return NULL; + + len = PyList_Size(lines); + data = g_new(char *, len); + for (i = 0; i < len; i++) { + PyObject *item = PyList_GetItem(lines, i); + if (!PyString_Check(item)) { + PyErr_SetString(PyExc_TypeError, "list items must be strings"); + g_free(data); + return NULL; + } + data[i] = PyString_AsString(item); + } + return PyGdkImlibImage_New(gdk_imlib_create_image_from_xpm_data(data)); +} + static PyObject *_wrap_gdk_imlib_clone_image(PyObject *self, PyObject *args) { PyObject *image; @@ -800,6 +823,7 @@ static PyMethodDef _gdkimlibMethods[] = { { "gdk_imlib_clone_scaled_image", _wrap_gdk_imlib_clone_scaled_image, 1 }, { "gdk_imlib_clone_image", _wrap_gdk_imlib_clone_image, 1 }, { "gdk_imlib_create_image_from_data", _wrap_gdk_imlib_create_image_from_data, 1 }, + { "gdk_imlib_create_image_from_xpm", _wrap_gdk_imlib_create_image_from_xpm, 1 }, { "gdk_imlib_rotate_image", _wrap_gdk_imlib_rotate_image, 1 }, { "gdk_imlib_flip_image_vertical", _wrap_gdk_imlib_flip_image_vertical, 1 }, { "gdk_imlib_flip_image_horizontal", _wrap_gdk_imlib_flip_image_horizontal, 1 }, |