Staging
v0.5.1
https://github.com/python/cpython
Revision 4d0296649a48ff9dbc290394ff656cf3dea86107 authored by Eric V. Smith on 28 January 2018, 14:25:45 UTC, committed by GitHub on 28 January 2018, 14:25:45 UTC
1 parent f0a95f2
Raw File
Tip revision: 4d0296649a48ff9dbc290394ff656cf3dea86107 authored by Eric V. Smith on 28 January 2018, 14:25:45 UTC
Add example for PEP 557. (GH-5383)
Tip revision: 4d02966
_cursesmodule.c.h
/*[clinic input]
preserve
[clinic start generated code]*/

PyDoc_STRVAR(curses_window_addch__doc__,
"addch([y, x,] ch, [attr])\n"
"Paint character ch at (y, x) with attributes attr.\n"
"\n"
"  y\n"
"    Y-coordinate.\n"
"  x\n"
"    X-coordinate.\n"
"  ch\n"
"    Character to add.\n"
"  attr\n"
"    Attributes for the character.\n"
"\n"
"Paint character ch at (y, x) with attributes attr,\n"
"overwriting any character previously painted at that location.\n"
"By default, the character position and attributes are the\n"
"current settings for the window object.");

#define CURSES_WINDOW_ADDCH_METHODDEF    \
    {"addch", (PyCFunction)curses_window_addch, METH_VARARGS, curses_window_addch__doc__},

static PyObject *
curses_window_addch_impl(PyCursesWindowObject *self, int group_left_1, int y,
                         int x, PyObject *ch, int group_right_1, long attr);

static PyObject *
curses_window_addch(PyCursesWindowObject *self, PyObject *args)
{
    PyObject *return_value = NULL;
    int group_left_1 = 0;
    int y = 0;
    int x = 0;
    PyObject *ch;
    int group_right_1 = 0;
    long attr = 0;

    switch (PyTuple_GET_SIZE(args)) {
        case 1:
            if (!PyArg_ParseTuple(args, "O:addch", &ch)) {
                goto exit;
            }
            break;
        case 2:
            if (!PyArg_ParseTuple(args, "Ol:addch", &ch, &attr)) {
                goto exit;
            }
            group_right_1 = 1;
            break;
        case 3:
            if (!PyArg_ParseTuple(args, "iiO:addch", &y, &x, &ch)) {
                goto exit;
            }
            group_left_1 = 1;
            break;
        case 4:
            if (!PyArg_ParseTuple(args, "iiOl:addch", &y, &x, &ch, &attr)) {
                goto exit;
            }
            group_right_1 = 1;
            group_left_1 = 1;
            break;
        default:
            PyErr_SetString(PyExc_TypeError, "curses.window.addch requires 1 to 4 arguments");
            goto exit;
    }
    return_value = curses_window_addch_impl(self, group_left_1, y, x, ch, group_right_1, attr);

exit:
    return return_value;
}
/*[clinic end generated code: output=13ffc5f8d79cbfbf input=a9049054013a1b77]*/
back to top