summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>1999-08-04 06:49:35 +0000
committerMatt Wilson <msw@src.gnome.org>1999-08-04 06:49:35 +0000
commit14d3f7b03cb3df32ba92e9b8f24475a421888c47 (patch)
treebbc4a1331b981fed602c6689078f27c37fd54570
parentf19bac550846ef455704840f97711989bc640f62 (diff)
downloadpygtk-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--ChangeLog8
-rw-r--r--GdkImlib.py3
-rw-r--r--gdkimlibmodule.c24
3 files changed, 35 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4208478e..18d7235f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 },