Mercurial > pygame
diff src/pixelarray.c @ 2219:12d56393ec02
Allow [...] as a valid PixelArray subscript, consistent with NumPy
| author | Lenard Lindstrom <len-l@telus.net> |
|---|---|
| date | Sun, 29 May 2011 17:24:51 +0000 |
| parents | 7b81f1162a96 |
| children | 43fa96b3924d |
line wrap: on
line diff
--- a/src/pixelarray.c Sun May 29 02:50:01 2011 +0000 +++ b/src/pixelarray.c Sun May 29 17:24:51 2011 +0000 @@ -1504,6 +1504,10 @@ xstart, xstop, xstep, ystart, ystop, ystep); } + else if (op == Py_Ellipsis) { + Py_INCREF(array); + return (PyObject *)array; + } else if (PySlice_Check(op)) { /* A slice */ Py_ssize_t slicelen; @@ -1644,6 +1648,23 @@ Py_DECREF(tmparray); return retval; } + else if (op == Py_Ellipsis) { + /* A slice */ + PyPixelArray *tmparray = + (PyPixelArray *) _pxarray_subscript_internal(array, + 0, array->dim0, 1, + 0, array->dim1, 1); + int retval; + + if (!tmparray) { + return -1; + } + + retval = _pxarray_ass_slice(tmparray, 0, + (Py_ssize_t)tmparray->dim0, value); + Py_DECREF(tmparray); + return retval; + } else if (PySlice_Check(op)) { /* A slice */ PyPixelArray *tmparray;
