annotate Modules/_cursesmodule.c @ 67467:abe201dfd3dc 3.1

Merged revisions 87861,87863 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r87861 | antoine.pitrou | 2011-01-08 11:23:29 +0100 (sam., 08 janv. 2011) | 3 lines Fix test_ssl after r87849 ........ r87863 | antoine.pitrou | 2011-01-08 11:28:11 +0100 (sam., 08 janv. 2011) | 3 lines Add EHOSTUNREACH ('No route to host') to the errnos trapped by transient_internet(). ........
author Antoine Pitrou <solipsis@pitrou.net>
date Sat, 08 Jan 2011 10:31:09 +0000
parents 9e4385db370e
children 3c9232a684ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1 /*
12738
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
2 * This is a curses module for Python.
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
3 *
12738
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
4 * Based on prior work by Lance Ellinghaus and Oliver Andrich
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
5 * Version 1.2 of this module: Copyright 1994 by Lance Ellinghouse,
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
6 * Cathedral City, California Republic, United States of America.
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
7 *
12738
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
8 * Version 1.5b1, heavily extended for ncurses by Oliver Andrich:
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
9 * Copyright 1996,1997 by Oliver Andrich, Koblenz, Germany.
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
10 *
25966
5b828ffe1b35 Use personal e-mail address
Andrew M. Kuchling <amk@amk.ca>
parents: 25922
diff changeset
11 * Tidied for Python 1.6, and currently maintained by <amk@amk.ca>.
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
12 *
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
13 * Permission is hereby granted, free of charge, to any person obtaining
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
14 * a copy of this source file to use, copy, modify, merge, or publish it
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
15 * subject to the following conditions:
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
16 *
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
17 * The above copyright notice and this permission notice shall be included
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
18 * in all copies or in any new file that contains a substantial portion of
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
19 * this file.
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
20 *
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
21 * THE AUTHOR MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
22 * THE SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
23 * EXPRESS OR IMPLIED WARRANTY. THE AUTHOR DISCLAIMS ALL WARRANTIES
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
24 * WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
25 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
26 * NON-INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
27 * AUTHOR BE LIABLE TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL,
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
28 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
29 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE, STRICT LIABILITY OR
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
30 * ANY OTHER ACTION ARISING OUT OF OR IN CONNECTION WITH THE USE OR
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
31 * PERFORMANCE OF THIS SOFTWARE.
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
32 */
1858
0b08196e9ff6 Release 1.0 by Lance
Guido van Rossum <guido@python.org>
parents: 1855
diff changeset
33
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
34 /* CVS: $Id$ */
1858
0b08196e9ff6 Release 1.0 by Lance
Guido van Rossum <guido@python.org>
parents: 1855
diff changeset
35
13728
b769e2dd6a51 Added list of missing functions as a comment
Andrew M. Kuchling <amk@amk.ca>
parents: 13721
diff changeset
36 /*
b769e2dd6a51 Added list of missing functions as a comment
Andrew M. Kuchling <amk@amk.ca>
parents: 13721
diff changeset
37
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
38 A number of SysV or ncurses functions don't have wrappers yet; if you
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
39 need a given function, add it and send a patch. See
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
40 http://www.python.org/dev/patches/ for instructions on how to submit
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
41 patches to Python.
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
42
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
43 Here's a list of currently unsupported functions:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
44
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
45 addchnstr addchstr color_set define_key
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
46 del_curterm delscreen dupwin inchnstr inchstr innstr keyok
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
47 mcprint mvaddchnstr mvaddchstr mvcur mvinchnstr
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
48 mvinchstr mvinnstr mmvwaddchnstr mvwaddchstr
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
49 mvwinchnstr mvwinchstr mvwinnstr newterm
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
50 restartterm ripoffline scr_dump
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
51 scr_init scr_restore scr_set scrl set_curterm set_term setterm
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
52 tgetent tgetflag tgetnum tgetstr tgoto timeout tputs
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
53 vidattr vidputs waddchnstr waddchstr
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
54 wcolor_set winchnstr winchstr winnstr wmouse_trafo wscrl
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
55
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
56 Low-priority:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
57 slk_attr slk_attr_off slk_attr_on slk_attr_set slk_attroff
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
58 slk_attron slk_attrset slk_clear slk_color slk_init slk_label
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
59 slk_noutrefresh slk_refresh slk_restore slk_set slk_touch
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
60
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
61 Menu extension (ncurses and probably SYSV):
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
62 current_item free_item free_menu item_count item_description
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
63 item_index item_init item_name item_opts item_opts_off
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
64 item_opts_on item_term item_userptr item_value item_visible
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
65 menu_back menu_driver menu_fore menu_format menu_grey
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
66 menu_init menu_items menu_mark menu_opts menu_opts_off
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
67 menu_opts_on menu_pad menu_pattern menu_request_by_name
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
68 menu_request_name menu_spacing menu_sub menu_term menu_userptr
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
69 menu_win new_item new_menu pos_menu_cursor post_menu
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
70 scale_menu set_current_item set_item_init set_item_opts
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
71 set_item_term set_item_userptr set_item_value set_menu_back
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
72 set_menu_fore set_menu_format set_menu_grey set_menu_init
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
73 set_menu_items set_menu_mark set_menu_opts set_menu_pad
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
74 set_menu_pattern set_menu_spacing set_menu_sub set_menu_term
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
75 set_menu_userptr set_menu_win set_top_row top_row unpost_menu
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
76
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
77 Form extension (ncurses and probably SYSV):
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
78 current_field data_ahead data_behind dup_field
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
79 dynamic_fieldinfo field_arg field_back field_buffer
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
80 field_count field_fore field_index field_info field_init
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
81 field_just field_opts field_opts_off field_opts_on field_pad
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
82 field_status field_term field_type field_userptr form_driver
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
83 form_fields form_init form_opts form_opts_off form_opts_on
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
84 form_page form_request_by_name form_request_name form_sub
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
85 form_term form_userptr form_win free_field free_form
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
86 link_field link_fieldtype move_field new_field new_form
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
87 new_page pos_form_cursor post_form scale_form
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
88 set_current_field set_field_back set_field_buffer
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
89 set_field_fore set_field_init set_field_just set_field_opts
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
90 set_field_pad set_field_status set_field_term set_field_type
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
91 set_field_userptr set_fieldtype_arg set_fieldtype_choice
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
92 set_form_fields set_form_init set_form_opts set_form_page
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
93 set_form_sub set_form_term set_form_userptr set_form_win
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
94 set_max_field set_new_page unpost_form
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
95
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
96
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
97 */
13728
b769e2dd6a51 Added list of missing functions as a comment
Andrew M. Kuchling <amk@amk.ca>
parents: 13721
diff changeset
98
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
99 /* Release Number */
1858
0b08196e9ff6 Release 1.0 by Lance
Guido van Rossum <guido@python.org>
parents: 1855
diff changeset
100
20583
b5ca0687ba6a Add two forgotten 'break' statements
Andrew M. Kuchling <amk@amk.ca>
parents: 20412
diff changeset
101 char *PyCursesVersion = "2.2";
1858
0b08196e9ff6 Release 1.0 by Lance
Guido van Rossum <guido@python.org>
parents: 1855
diff changeset
102
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
103 /* Includes */
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
104
1888
be956b1efb97 * various modules: #include "Python.h" and remove most remporary
Guido van Rossum <guido@python.org>
parents: 1867
diff changeset
105 #include "Python.h"
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
106
53816
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents: 52781
diff changeset
107
13040
12ac2c267b93 Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents: 13039
diff changeset
108 #ifdef __osf__
13708
fe89ea1c9108 Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents: 13706
diff changeset
109 #define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
13040
12ac2c267b93 Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents: 13039
diff changeset
110 #endif
12ac2c267b93 Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents: 13039
diff changeset
111
20647
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
112 #ifdef __hpux
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
113 #define STRICT_SYSV_CURSES
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
114 #endif
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
115
17387
0ec06b4755db Include py_curses.h *after* defining _XOPEN_SOURCE_EXTENDED.
Guido van Rossum <guido@python.org>
parents: 16351
diff changeset
116 #define CURSES_MODULE
0ec06b4755db Include py_curses.h *after* defining _XOPEN_SOURCE_EXTENDED.
Guido van Rossum <guido@python.org>
parents: 16351
diff changeset
117 #include "py_curses.h"
0ec06b4755db Include py_curses.h *after* defining _XOPEN_SOURCE_EXTENDED.
Guido van Rossum <guido@python.org>
parents: 16351
diff changeset
118
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
119 /* These prototypes are in <term.h>, but including this header
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
120 #defines many common symbols (such as "lines") which breaks the
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
121 curses module in other ways. So the code will just specify
15418
06465ed81826 Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents: 15384
diff changeset
122 explicit prototypes here. */
06465ed81826 Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents: 15384
diff changeset
123 extern int setupterm(char *,int,int *);
18749
c6ef71e943dd Remove warnings from the SGI compiler.
Fred Drake <fdrake@acm.org>
parents: 18602
diff changeset
124 #ifdef __sgi
c6ef71e943dd Remove warnings from the SGI compiler.
Fred Drake <fdrake@acm.org>
parents: 18602
diff changeset
125 #include <term.h>
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
126 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
127
25497
b526e12b941b Patch #615069: Fix build problems on SCO Open Server 5. Backported to 2.2.
Martin v. Löwis <martin@v.loewis.de>
parents: 24471
diff changeset
128 #if !defined(HAVE_NCURSES_H) && (defined(sgi) || defined(__sun) || defined(SCO5))
13708
fe89ea1c9108 Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents: 13706
diff changeset
129 #define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
13040
12ac2c267b93 Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents: 13039
diff changeset
130 typedef chtype attr_t; /* No attr_t type is available */
3417
e1df90205a33 Include ncurses.h where needed
Guido van Rossum <guido@python.org>
parents: 2569
diff changeset
131 #endif
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
132
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
133 #if defined(_AIX)
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
134 #define STRICT_SYSV_CURSES
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
135 #endif
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
136
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
137 /* Definition of exception curses.error */
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
138
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
139 static PyObject *PyCursesError;
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
140
15418
06465ed81826 Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents: 15384
diff changeset
141 /* Tells whether setupterm() has been called to initialise terminfo. */
06465ed81826 Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents: 15384
diff changeset
142 static int initialised_setupterm = FALSE;
06465ed81826 Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents: 15384
diff changeset
143
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
144 /* Tells whether initscr() has been called to initialise curses. */
2423
73eeff4d43f8 more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2358
diff changeset
145 static int initialised = FALSE;
73eeff4d43f8 more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2358
diff changeset
146
15646
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
147 /* Tells whether start_color() has been called to initialise color usage. */
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
148 static int initialisedcolors = FALSE;
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
149
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
150 /* Utility Macros */
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
151 #define PyCursesSetupTermCalled \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
152 if (initialised_setupterm != TRUE) { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
153 PyErr_SetString(PyCursesError, \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
154 "must call (at least) setupterm() first"); \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
155 return 0; }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
156
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
157 #define PyCursesInitialised \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
158 if (initialised != TRUE) { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
159 PyErr_SetString(PyCursesError, \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
160 "must call initscr() first"); \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
161 return 0; }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
162
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
163 #define PyCursesInitialisedColor \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
164 if (initialisedcolors != TRUE) { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
165 PyErr_SetString(PyCursesError, \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
166 "must call start_color() first"); \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
167 return 0; }
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
168
35056
ee99db06c0eb [Bug #1200134] Fix buffer overflow by constraining size of .getstr(), .instr() to size of allocated buffer
Andrew M. Kuchling <amk@amk.ca>
parents: 32959
diff changeset
169 #ifndef MIN
ee99db06c0eb [Bug #1200134] Fix buffer overflow by constraining size of .getstr(), .instr() to size of allocated buffer
Andrew M. Kuchling <amk@amk.ca>
parents: 32959
diff changeset
170 #define MIN(x,y) ((x) < (y) ? (x) : (y))
ee99db06c0eb [Bug #1200134] Fix buffer overflow by constraining size of .getstr(), .instr() to size of allocated buffer
Andrew M. Kuchling <amk@amk.ca>
parents: 32959
diff changeset
171 #endif
ee99db06c0eb [Bug #1200134] Fix buffer overflow by constraining size of .getstr(), .instr() to size of allocated buffer
Andrew M. Kuchling <amk@amk.ca>
parents: 32959
diff changeset
172
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
173 /* Utility Functions */
1858
0b08196e9ff6 Release 1.0 by Lance
Guido van Rossum <guido@python.org>
parents: 1855
diff changeset
174
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
175 /*
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
176 * Check the return code from a curses function and return None
15646
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
177 * or raise an exception as appropriate. These are exported using the
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
178 * capsule API.
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
179 */
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
180
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
181 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
182 PyCursesCheckERR(int code, char *fname)
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
183 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
184 if (code != ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
185 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
186 return Py_None;
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
187 } else {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
188 if (fname == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
189 PyErr_SetString(PyCursesError, catchall_ERR);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
190 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
191 PyErr_Format(PyCursesError, "%s() returned ERR", fname);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
192 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
193 return NULL;
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
194 }
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
195 }
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
196
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
197 static int
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
198 PyCurses_ConvertToChtype(PyObject *obj, chtype *ch)
2423
73eeff4d43f8 more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2358
diff changeset
199 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
200 if (PyLong_CheckExact(obj)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
201 int overflow;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
202 /* XXX should the truncation by the cast also be reported
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
203 as an error? */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
204 *ch = (chtype) PyLong_AsLongAndOverflow(obj, &overflow);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
205 if (overflow)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
206 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
207 } else if(PyBytes_Check(obj)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
208 && (PyBytes_Size(obj) == 1)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
209 *ch = (chtype) *PyBytes_AsString(obj);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
210 } else if (PyUnicode_Check(obj) && PyUnicode_GetSize(obj) == 1) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
211 *ch = (chtype) *PyUnicode_AS_UNICODE(obj);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
212 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
213 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
214 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
215 return 1;
2423
73eeff4d43f8 more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2358
diff changeset
216 }
73eeff4d43f8 more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2358
diff changeset
217
15646
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
218 /* Function versions of the 3 functions for tested whether curses has been
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
219 initialised or not. */
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
220
15646
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
221 static int func_PyCursesSetupTermCalled(void)
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
222 {
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
223 PyCursesSetupTermCalled;
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
224 return 1;
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
225 }
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
226
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
227 static int func_PyCursesInitialised(void)
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
228 {
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
229 PyCursesInitialised;
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
230 return 1;
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
231 }
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
232
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
233 static int func_PyCursesInitialisedColor(void)
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
234 {
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
235 PyCursesInitialisedColor;
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
236 return 1;
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
237 }
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
238
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
239 /*****************************************************************************
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
240 The Window Object
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
241 ******************************************************************************/
2423
73eeff4d43f8 more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2358
diff changeset
242
15646
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
243 /* Definition of the window type */
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
244
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
245 PyTypeObject PyCursesWindow_Type;
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
246
15646
5b158fc0ed55 Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents: 15638
diff changeset
247 /* Function prototype macros for Window object
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
248
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
249 X - function name
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
250 TYPE - parameter Type
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
251 ERGSTR - format string for construction of the return value
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
252 PARSESTR - format string for argument parsing
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
253 */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
254
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
255 #define Window_NoArgNoReturnFunction(X) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
256 static PyObject *PyCursesWindow_ ## X (PyCursesWindowObject *self, PyObject *args) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
257 { return PyCursesCheckERR(X(self->win), # X); }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
258
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
259 #define Window_NoArgTrueFalseFunction(X) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
260 static PyObject * PyCursesWindow_ ## X (PyCursesWindowObject *self) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
261 { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
262 if (X (self->win) == FALSE) { Py_INCREF(Py_False); return Py_False; } \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
263 else { Py_INCREF(Py_True); return Py_True; } }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
264
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
265 #define Window_NoArgNoReturnVoidFunction(X) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
266 static PyObject * PyCursesWindow_ ## X (PyCursesWindowObject *self) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
267 { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
268 X(self->win); Py_INCREF(Py_None); return Py_None; }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
269
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
270 #define Window_NoArg2TupleReturnFunction(X, TYPE, ERGSTR) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
271 static PyObject * PyCursesWindow_ ## X (PyCursesWindowObject *self) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
272 { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
273 TYPE arg1, arg2; \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
274 X(self->win,arg1,arg2); return Py_BuildValue(ERGSTR, arg1, arg2); }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
275
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
276 #define Window_OneArgNoReturnVoidFunction(X, TYPE, PARSESTR) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
277 static PyObject * PyCursesWindow_ ## X (PyCursesWindowObject *self, PyObject *args) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
278 { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
279 TYPE arg1; \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
280 if (!PyArg_ParseTuple(args, PARSESTR, &arg1)) return NULL; \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
281 X(self->win,arg1); Py_INCREF(Py_None); return Py_None; }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
282
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
283 #define Window_OneArgNoReturnFunction(X, TYPE, PARSESTR) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
284 static PyObject * PyCursesWindow_ ## X (PyCursesWindowObject *self, PyObject *args) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
285 { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
286 TYPE arg1; \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
287 if (!PyArg_ParseTuple(args,PARSESTR, &arg1)) return NULL; \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
288 return PyCursesCheckERR(X(self->win, arg1), # X); }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
289
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
290 #define Window_TwoArgNoReturnFunction(X, TYPE, PARSESTR) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
291 static PyObject * PyCursesWindow_ ## X (PyCursesWindowObject *self, PyObject *args) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
292 { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
293 TYPE arg1, arg2; \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
294 if (!PyArg_ParseTuple(args,PARSESTR, &arg1, &arg2)) return NULL; \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
295 return PyCursesCheckERR(X(self->win, arg1, arg2), # X); }
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
296
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
297 /* ------------- WINDOW routines --------------- */
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
298
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
299 Window_NoArgNoReturnFunction(untouchwin)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
300 Window_NoArgNoReturnFunction(touchwin)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
301 Window_NoArgNoReturnFunction(redrawwin)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
302 Window_NoArgNoReturnFunction(winsertln)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
303 Window_NoArgNoReturnFunction(werase)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
304 Window_NoArgNoReturnFunction(wdeleteln)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
305
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
306 Window_NoArgTrueFalseFunction(is_wintouched)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
307
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
308 Window_NoArgNoReturnVoidFunction(wsyncup)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
309 Window_NoArgNoReturnVoidFunction(wsyncdown)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
310 Window_NoArgNoReturnVoidFunction(wstandend)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
311 Window_NoArgNoReturnVoidFunction(wstandout)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
312 Window_NoArgNoReturnVoidFunction(wcursyncup)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
313 Window_NoArgNoReturnVoidFunction(wclrtoeol)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
314 Window_NoArgNoReturnVoidFunction(wclrtobot)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
315 Window_NoArgNoReturnVoidFunction(wclear)
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
316
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
317 Window_OneArgNoReturnVoidFunction(idcok, int, "i;True(1) or False(0)")
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
318 Window_OneArgNoReturnVoidFunction(immedok, int, "i;True(1) or False(0)")
12974
e7992d0d6808 Added .timeout() method and .typeahead() function
Andrew M. Kuchling <amk@amk.ca>
parents: 12913
diff changeset
319 Window_OneArgNoReturnVoidFunction(wtimeout, int, "i;delay")
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
320
21756
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
321 Window_NoArg2TupleReturnFunction(getyx, int, "ii")
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
322 Window_NoArg2TupleReturnFunction(getbegyx, int, "ii")
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
323 Window_NoArg2TupleReturnFunction(getmaxyx, int, "ii")
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
324 Window_NoArg2TupleReturnFunction(getparyx, int, "ii")
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
325
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
326 Window_OneArgNoReturnFunction(clearok, int, "i;True(1) or False(0)")
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
327 Window_OneArgNoReturnFunction(idlok, int, "i;True(1) or False(0)")
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
328 #if defined(__NetBSD__)
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
329 Window_OneArgNoReturnVoidFunction(keypad, int, "i;True(1) or False(0)")
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
330 #else
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
331 Window_OneArgNoReturnFunction(keypad, int, "i;True(1) or False(0)")
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
332 #endif
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
333 Window_OneArgNoReturnFunction(leaveok, int, "i;True(1) or False(0)")
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
334 #if defined(__NetBSD__)
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
335 Window_OneArgNoReturnVoidFunction(nodelay, int, "i;True(1) or False(0)")
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
336 #else
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
337 Window_OneArgNoReturnFunction(nodelay, int, "i;True(1) or False(0)")
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
338 #endif
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
339 Window_OneArgNoReturnFunction(notimeout, int, "i;True(1) or False(0)")
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
340 Window_OneArgNoReturnFunction(scrollok, int, "i;True(1) or False(0)")
12738
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
341 Window_OneArgNoReturnFunction(winsdelln, int, "i;nlines")
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
342 Window_OneArgNoReturnFunction(syncok, int, "i;True(1) or False(0)")
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
343
21756
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
344 Window_TwoArgNoReturnFunction(mvwin, int, "ii;y,x")
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
345 Window_TwoArgNoReturnFunction(mvderwin, int, "ii;y,x")
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
346 Window_TwoArgNoReturnFunction(wmove, int, "ii;y,x")
13040
12ac2c267b93 Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents: 13039
diff changeset
347 #ifndef STRICT_SYSV_CURSES
21756
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
348 Window_TwoArgNoReturnFunction(wresize, int, "ii;lines,columns")
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
349 #endif
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
350
12738
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
351 /* Allocation and deallocation of Window Objects */
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
352
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
353 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
354 PyCursesWindow_New(WINDOW *win)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
355 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
356 PyCursesWindowObject *wo;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
357
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
358 wo = PyObject_NEW(PyCursesWindowObject, &PyCursesWindow_Type);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
359 if (wo == NULL) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
360 wo->win = win;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
361 return (PyObject *)wo;
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
362 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
363
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
364 static void
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
365 PyCursesWindow_Dealloc(PyCursesWindowObject *wo)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
366 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
367 if (wo->win != stdscr) delwin(wo->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
368 PyObject_DEL(wo);
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
369 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
370
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
371 /* Addch, Addstr, Addnstr */
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
372
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
373 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
374 PyCursesWindow_AddCh(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
375 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
376 int rtn, x, y, use_xy = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
377 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
378 chtype ch = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
379 attr_t attr = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
380 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
381
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
382 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
383 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
384 if (!PyArg_ParseTuple(args, "O;ch or int", &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
385 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
386 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
387 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
388 if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &temp, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
389 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
390 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
391 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
392 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
393 if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
394 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
395 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
396 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
397 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
398 if (!PyArg_ParseTuple(args,"iiOl;y,x,ch or int, attr",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
399 &y, &x, &temp, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
400 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
401 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
402 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
403 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
404 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
405 PyErr_SetString(PyExc_TypeError, "addch requires 1 to 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
406 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
407 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
408
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
409 if (!PyCurses_ConvertToChtype(temp, &ch)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
410 PyErr_SetString(PyExc_TypeError, "argument 1 or 3 must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
411 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
412 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
413
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
414 if (use_xy == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
415 rtn = mvwaddch(self->win,y,x, ch | attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
416 else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
417 rtn = waddch(self->win, ch | attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
418 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
419 return PyCursesCheckERR(rtn, "addch");
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
420 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
421
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
422 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
423 PyCursesWindow_AddStr(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
424 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
425 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
426 int x, y;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
427 char *str;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
428 attr_t attr = A_NORMAL , attr_old = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
429 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
430 int use_xy = FALSE, use_attr = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
431
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
432 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
433 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
434 if (!PyArg_ParseTuple(args,"s;str", &str))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
435 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
436 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
437 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
438 if (!PyArg_ParseTuple(args,"sl;str,attr", &str, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
439 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
440 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
441 use_attr = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
442 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
443 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
444 if (!PyArg_ParseTuple(args,"iis;int,int,str", &y, &x, &str))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
445 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
446 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
447 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
448 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
449 if (!PyArg_ParseTuple(args,"iisl;int,int,str,attr", &y, &x, &str, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
450 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
451 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
452 use_xy = use_attr = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
453 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
454 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
455 PyErr_SetString(PyExc_TypeError, "addstr requires 1 to 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
456 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
457 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
458
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
459 if (use_attr == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
460 attr_old = getattrs(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
461 (void)wattrset(self->win,attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
462 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
463 if (use_xy == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
464 rtn = mvwaddstr(self->win,y,x,str);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
465 else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
466 rtn = waddstr(self->win,str);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
467 if (use_attr == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
468 (void)wattrset(self->win,attr_old);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
469 return PyCursesCheckERR(rtn, "addstr");
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
470 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
471
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
472 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
473 PyCursesWindow_AddNStr(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
474 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
475 int rtn, x, y, n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
476 char *str;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
477 attr_t attr = A_NORMAL , attr_old = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
478 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
479 int use_xy = FALSE, use_attr = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
480
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
481 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
482 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
483 if (!PyArg_ParseTuple(args,"si;str,n", &str, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
484 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
485 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
486 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
487 if (!PyArg_ParseTuple(args,"sil;str,n,attr", &str, &n, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
488 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
489 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
490 use_attr = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
491 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
492 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
493 if (!PyArg_ParseTuple(args,"iisi;y,x,str,n", &y, &x, &str, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
494 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
495 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
496 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
497 case 5:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
498 if (!PyArg_ParseTuple(args,"iisil;y,x,str,n,attr", &y, &x, &str, &n, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
499 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
500 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
501 use_xy = use_attr = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
502 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
503 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
504 PyErr_SetString(PyExc_TypeError, "addnstr requires 2 to 5 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
505 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
506 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
507
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
508 if (use_attr == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
509 attr_old = getattrs(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
510 (void)wattrset(self->win,attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
511 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
512 if (use_xy == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
513 rtn = mvwaddnstr(self->win,y,x,str,n);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
514 else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
515 rtn = waddnstr(self->win,str,n);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
516 if (use_attr == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
517 (void)wattrset(self->win,attr_old);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
518 return PyCursesCheckERR(rtn, "addnstr");
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
519 }
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
520
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
521 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
522 PyCursesWindow_Bkgd(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
523 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
524 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
525 chtype bkgd;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
526 attr_t attr = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
527 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
528
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
529 switch (PyTuple_Size(args)) {
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
530 case 1:
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
531 if (!PyArg_ParseTuple(args, "O;ch or int", &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
532 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
533 break;
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
534 case 2:
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
535 if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
536 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
537 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
538 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
539 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
540 PyErr_SetString(PyExc_TypeError, "bkgd requires 1 or 2 arguments");
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
541 return NULL;
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
542 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
543
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
544 if (!PyCurses_ConvertToChtype(temp, &bkgd)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
545 PyErr_SetString(PyExc_TypeError, "argument 1 or 3 must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
546 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
547 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
548
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
549 return PyCursesCheckERR(wbkgd(self->win, bkgd | attr), "bkgd");
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
550 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
551
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
552 static PyObject *
44604
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
553 PyCursesWindow_AttrOff(PyCursesWindowObject *self, PyObject *args)
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
554 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
555 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
556 if (!PyArg_ParseTuple(args,"l;attr", &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
557 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
558 return PyCursesCheckERR(wattroff(self->win, (attr_t)lattr), "attroff");
44604
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
559 }
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
560
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
561 static PyObject *
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
562 PyCursesWindow_AttrOn(PyCursesWindowObject *self, PyObject *args)
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
563 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
564 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
565 if (!PyArg_ParseTuple(args,"l;attr", &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
566 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
567 return PyCursesCheckERR(wattron(self->win, (attr_t)lattr), "attron");
44604
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
568 }
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
569
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
570 static PyObject *
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
571 PyCursesWindow_AttrSet(PyCursesWindowObject *self, PyObject *args)
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
572 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
573 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
574 if (!PyArg_ParseTuple(args,"l;attr", &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
575 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
576 return PyCursesCheckERR(wattrset(self->win, (attr_t)lattr), "attrset");
44604
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
577 }
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
578
94ab572ed6dd Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44441
diff changeset
579 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
580 PyCursesWindow_BkgdSet(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
581 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
582 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
583 chtype bkgd;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
584 attr_t attr = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
585 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
586
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
587 switch (PyTuple_Size(args)) {
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
588 case 1:
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
589 if (!PyArg_ParseTuple(args, "O;ch or int", &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
590 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
591 break;
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
592 case 2:
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
593 if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
594 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
595 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
596 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
597 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
598 PyErr_SetString(PyExc_TypeError, "bkgdset requires 1 or 2 arguments");
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
599 return NULL;
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
600 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
601
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
602 if (!PyCurses_ConvertToChtype(temp, &bkgd)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
603 PyErr_SetString(PyExc_TypeError, "argument 1 must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
604 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
605 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
606
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
607 wbkgdset(self->win, bkgd | attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
608 return PyCursesCheckERR(0, "bkgdset");
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
609 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
610
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
611 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
612 PyCursesWindow_Border(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
613 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
614 PyObject *temp[8];
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
615 chtype ch[8];
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
616 int i;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
617
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
618 /* Clear the array of parameters */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
619 for(i=0; i<8; i++) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
620 temp[i] = NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
621 ch[i] = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
622 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
623
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
624 if (!PyArg_ParseTuple(args,"|OOOOOOOO;ls,rs,ts,bs,tl,tr,bl,br",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
625 &temp[0], &temp[1], &temp[2], &temp[3],
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
626 &temp[4], &temp[5], &temp[6], &temp[7]))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
627 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
628
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
629 for(i=0; i<8; i++) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
630 if (temp[i] != NULL && !PyCurses_ConvertToChtype(temp[i], &ch[i])) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
631 PyErr_Format(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
632 "argument %i must be a ch or an int", i+1);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
633 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
634 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
635 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
636
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
637 wborder(self->win,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
638 ch[0], ch[1], ch[2], ch[3],
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
639 ch[4], ch[5], ch[6], ch[7]);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
640 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
641 return Py_None;
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
642 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
643
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
644 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
645 PyCursesWindow_Box(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
646 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
647 chtype ch1=0,ch2=0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
648 switch(PyTuple_Size(args)){
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
649 case 0: break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
650 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
651 if (!PyArg_ParseTuple(args,"ll;vertint,horint", &ch1, &ch2))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
652 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
653 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
654 box(self->win,ch1,ch2);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
655 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
656 return Py_None;
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
657 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
658
20647
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
659 #if defined(HAVE_NCURSES_H) || defined(MVWDELCH_IS_EXPRESSION)
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
660 #define py_mvwdelch mvwdelch
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
661 #else
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
662 int py_mvwdelch(WINDOW *w, int y, int x)
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
663 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
664 mvwdelch(w,y,x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
665 /* On HP/UX, mvwdelch already returns. On other systems,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
666 we may well run into this return statement. */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
667 return 0;
20647
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
668 }
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
669 #endif
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
670
41554
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
671 /* chgat, added by Fabian Kreutz <fabian.kreutz at gmx.net> */
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
672
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
673 static PyObject *
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
674 PyCursesWindow_ChgAt(PyCursesWindowObject *self, PyObject *args)
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
675 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
676 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
677 int x, y;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
678 int num = -1;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
679 short color;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
680 attr_t attr = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
681 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
682 int use_xy = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
683
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
684 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
685 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
686 if (!PyArg_ParseTuple(args,"l;attr", &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
687 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
688 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
689 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
690 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
691 if (!PyArg_ParseTuple(args,"il;n,attr", &num, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
692 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
693 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
694 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
695 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
696 if (!PyArg_ParseTuple(args,"iil;int,int,attr", &y, &x, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
697 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
698 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
699 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
700 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
701 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
702 if (!PyArg_ParseTuple(args,"iiil;int,int,n,attr", &y, &x, &num, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
703 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
704 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
705 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
706 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
707 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
708 PyErr_SetString(PyExc_TypeError, "chgat requires 1 to 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
709 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
710 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
711
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
712 color = (short)((attr >> 8) & 0xff);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
713 attr = attr - (color << 8);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
714
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
715 if (use_xy == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
716 rtn = mvwchgat(self->win,y,x,num,attr,color,NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
717 touchline(self->win,y,1);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
718 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
719 getyx(self->win,y,x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
720 rtn = wchgat(self->win,num,attr,color,NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
721 touchline(self->win,y,1);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
722 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
723 return PyCursesCheckERR(rtn, "chgat");
41554
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
724 }
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
725
20647
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
726
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
727 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
728 PyCursesWindow_DelCh(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
729 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
730 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
731 int x, y;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
732
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
733 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
734 case 0:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
735 rtn = wdelch(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
736 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
737 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
738 if (!PyArg_ParseTuple(args,"ii;y,x", &y, &x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
739 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
740 rtn = py_mvwdelch(self->win,y,x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
741 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
742 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
743 PyErr_SetString(PyExc_TypeError, "delch requires 0 or 2 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
744 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
745 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
746 return PyCursesCheckERR(rtn, "[mv]wdelch");
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
747 }
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
748
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
749 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
750 PyCursesWindow_DerWin(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
751 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
752 WINDOW *win;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
753 int nlines, ncols, begin_y, begin_x;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
754
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
755 nlines = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
756 ncols = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
757 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
758 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
759 if (!PyArg_ParseTuple(args,"ii;begin_y,begin_x",&begin_y,&begin_x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
760 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
761 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
762 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
763 if (!PyArg_ParseTuple(args, "iiii;nlines,ncols,begin_y,begin_x",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
764 &nlines,&ncols,&begin_y,&begin_x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
765 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
766 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
767 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
768 PyErr_SetString(PyExc_TypeError, "derwin requires 2 or 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
769 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
770 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
771
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
772 win = derwin(self->win,nlines,ncols,begin_y,begin_x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
773
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
774 if (win == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
775 PyErr_SetString(PyCursesError, catchall_NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
776 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
777 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
778
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
779 return (PyObject *)PyCursesWindow_New(win);
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
780 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
781
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
782 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
783 PyCursesWindow_EchoChar(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
784 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
785 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
786 chtype ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
787 attr_t attr = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
788 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
789
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
790 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
791 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
792 if (!PyArg_ParseTuple(args,"O;ch or int", &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
793 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
794 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
795 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
796 if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
797 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
798 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
799 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
800 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
801 PyErr_SetString(PyExc_TypeError, "echochar requires 1 or 2 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
802
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
803
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
804 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
805 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
806
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
807 if (!PyCurses_ConvertToChtype(temp, &ch)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
808 PyErr_SetString(PyExc_TypeError, "argument 1 must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
809 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
810 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
811
20647
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
812 #ifdef WINDOW_HAS_FLAGS
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
813 if (self->win->_flags & _ISPAD)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
814 return PyCursesCheckERR(pechochar(self->win, ch | attr),
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
815 "echochar");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
816 else
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
817 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
818 return PyCursesCheckERR(wechochar(self->win, ch | attr),
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
819 "echochar");
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
820 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
821
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
822 #ifdef NCURSES_MOUSE_VERSION
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
823 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
824 PyCursesWindow_Enclose(PyCursesWindowObject *self, PyObject *args)
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
825 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
826 int x, y;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
827 if (!PyArg_ParseTuple(args,"ii;y,x", &y, &x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
828 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
829
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
830 return PyLong_FromLong( wenclose(self->win,y,x) );
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
831 }
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
832 #endif
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
833
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
834 static PyObject *
21756
d60350d71b60 Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents: 21741
diff changeset
835 PyCursesWindow_GetBkgd(PyCursesWindowObject *self)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
836 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
837 return PyLong_FromLong((long) getbkgd(self->win));
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
838 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
839
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
840 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
841 PyCursesWindow_GetCh(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
842 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
843 int x, y;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
844 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
845
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
846 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
847 case 0:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
848 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
849 rtn = wgetch(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
850 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
851 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
852 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
853 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
854 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
855 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
856 rtn = mvwgetch(self->win,y,x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
857 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
858 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
859 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
860 PyErr_SetString(PyExc_TypeError, "getch requires 0 or 2 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
861 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
862 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
863 return PyLong_FromLong((long)rtn);
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
864 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
865
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
866 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
867 PyCursesWindow_GetKey(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
868 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
869 int x, y;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
870 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
871
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
872 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
873 case 0:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
874 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
875 rtn = wgetch(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
876 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
877 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
878 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
879 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
880 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
881 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
882 rtn = mvwgetch(self->win,y,x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
883 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
884 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
885 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
886 PyErr_SetString(PyExc_TypeError, "getkey requires 0 or 2 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
887 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
888 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
889 if (rtn == ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
890 /* getch() returns ERR in nodelay mode */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
891 PyErr_SetString(PyCursesError, "no input");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
892 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
893 } else if (rtn<=255) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
894 return Py_BuildValue("C", rtn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
895 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
896 const char *knp;
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
897 #if defined(__NetBSD__)
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
898 knp = unctrl(rtn);
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
899 #else
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
900 knp = keyname(rtn);
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
901 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
902 return PyUnicode_FromString((knp == NULL) ? "" : knp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
903 }
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
904 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
905
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
906 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
907 PyCursesWindow_GetStr(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
908 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
909 int x, y, n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
910 char rtn[1024]; /* This should be big enough.. I hope */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
911 int rtn2;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
912
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
913 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
914 case 0:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
915 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
916 rtn2 = wgetnstr(self->win,rtn, 1023);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
917 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
918 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
919 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
920 if (!PyArg_ParseTuple(args,"i;n", &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
921 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
922 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
923 rtn2 = wgetnstr(self->win,rtn,MIN(n, 1023));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
924 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
925 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
926 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
927 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
928 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
929 Py_BEGIN_ALLOW_THREADS
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
930 #ifdef STRICT_SYSV_CURSES
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
931 rtn2 = wmove(self->win,y,x)==ERR ? ERR : wgetnstr(self->win, rtn, 1023);
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
932 #else
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
933 rtn2 = mvwgetnstr(self->win,y,x,rtn, 1023);
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
934 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
935 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
936 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
937 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
938 if (!PyArg_ParseTuple(args,"iii;y,x,n", &y, &x, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
939 return NULL;
13040
12ac2c267b93 Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents: 13039
diff changeset
940 #ifdef STRICT_SYSV_CURSES
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
941 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
942 rtn2 = wmove(self->win,y,x)==ERR ? ERR :
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
943 wgetnstr(self->win, rtn, MIN(n, 1023));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
944 Py_END_ALLOW_THREADS
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
945 #else
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
946 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
947 rtn2 = mvwgetnstr(self->win, y, x, rtn, MIN(n, 1023));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
948 Py_END_ALLOW_THREADS
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
949 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
950 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
951 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
952 PyErr_SetString(PyExc_TypeError, "getstr requires 0 to 3 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
953 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
954 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
955 if (rtn2 == ERR)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
956 rtn[0] = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
957 return PyBytes_FromString(rtn);
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
958 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
959
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
960 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
961 PyCursesWindow_Hline(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
962 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
963 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
964 chtype ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
965 int n, x, y, code = OK;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
966 attr_t attr = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
967 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
968
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
969 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
970 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
971 if (!PyArg_ParseTuple(args, "Oi;ch or int,n", &temp, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
972 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
973 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
974 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
975 if (!PyArg_ParseTuple(args, "Oil;ch or int,n,attr", &temp, &n, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
976 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
977 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
978 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
979 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
980 if (!PyArg_ParseTuple(args, "iiOi;y,x,ch or int,n", &y, &x, &temp, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
981 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
982 code = wmove(self->win, y, x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
983 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
984 case 5:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
985 if (!PyArg_ParseTuple(args, "iiOil; y,x,ch or int,n,attr",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
986 &y, &x, &temp, &n, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
987 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
988 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
989 code = wmove(self->win, y, x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
990 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
991 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
992 PyErr_SetString(PyExc_TypeError, "hline requires 2 to 5 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
993 return NULL;
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
994 }
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
995
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
996 if (code != ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
997 if (!PyCurses_ConvertToChtype(temp, &ch)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
998 PyErr_SetString(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
999 "argument 1 or 3 must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1000 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1001 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1002 return PyCursesCheckERR(whline(self->win, ch | attr, n), "hline");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1003 } else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1004 return PyCursesCheckERR(code, "wmove");
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1005 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1006
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1007 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
1008 PyCursesWindow_InsCh(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1009 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1010 int rtn, x, y, use_xy = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1011 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1012 chtype ch = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1013 attr_t attr = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1014 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1015
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1016 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1017 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1018 if (!PyArg_ParseTuple(args, "O;ch or int", &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1019 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1020 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1021 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1022 if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &temp, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1023 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1024 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1025 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1026 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1027 if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1028 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1029 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1030 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1031 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1032 if (!PyArg_ParseTuple(args,"iiOl;y,x,ch or int, attr", &y, &x, &temp, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1033 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1034 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1035 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1036 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1037 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1038 PyErr_SetString(PyExc_TypeError, "insch requires 1 or 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1039 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1040 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1041
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1042 if (!PyCurses_ConvertToChtype(temp, &ch)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1043 PyErr_SetString(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1044 "argument 1 or 3 must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1045 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1046 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1047
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1048 if (use_xy == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1049 rtn = mvwinsch(self->win,y,x, ch | attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1050 else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1051 rtn = winsch(self->win, ch | attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1052 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1053 return PyCursesCheckERR(rtn, "insch");
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1054 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1055
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1056 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
1057 PyCursesWindow_InCh(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1058 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1059 int x, y, rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1060
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1061 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1062 case 0:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1063 rtn = winch(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1064 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1065 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1066 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1067 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1068 rtn = mvwinch(self->win,y,x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1069 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1070 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1071 PyErr_SetString(PyExc_TypeError, "inch requires 0 or 2 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1072 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1073 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1074 return PyLong_FromLong((long) rtn);
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1075 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1076
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1077 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
1078 PyCursesWindow_InStr(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1079 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1080 int x, y, n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1081 char rtn[1024]; /* This should be big enough.. I hope */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1082 int rtn2;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1083
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1084 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1085 case 0:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1086 rtn2 = winnstr(self->win,rtn, 1023);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1087 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1088 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1089 if (!PyArg_ParseTuple(args,"i;n", &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1090 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1091 rtn2 = winnstr(self->win,rtn,MIN(n,1023));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1092 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1093 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1094 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1095 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1096 rtn2 = mvwinnstr(self->win,y,x,rtn,1023);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1097 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1098 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1099 if (!PyArg_ParseTuple(args, "iii;y,x,n", &y, &x, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1100 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1101 rtn2 = mvwinnstr(self->win, y, x, rtn, MIN(n,1023));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1102 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1103 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1104 PyErr_SetString(PyExc_TypeError, "instr requires 0 or 3 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1105 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1106 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1107 if (rtn2 == ERR)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1108 rtn[0] = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1109 return PyBytes_FromString(rtn);
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1110 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1111
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1112 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
1113 PyCursesWindow_InsStr(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1114 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1115 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1116 int x, y;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1117 char *str;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1118 attr_t attr = A_NORMAL , attr_old = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1119 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1120 int use_xy = FALSE, use_attr = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1121
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1122 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1123 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1124 if (!PyArg_ParseTuple(args,"s;str", &str))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1125 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1126 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1127 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1128 if (!PyArg_ParseTuple(args,"sl;str,attr", &str, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1129 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1130 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1131 use_attr = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1132 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1133 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1134 if (!PyArg_ParseTuple(args,"iis;y,x,str", &y, &x, &str))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1135 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1136 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1137 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1138 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1139 if (!PyArg_ParseTuple(args,"iisl;y,x,str,attr", &y, &x, &str, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1140 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1141 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1142 use_xy = use_attr = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1143 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1144 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1145 PyErr_SetString(PyExc_TypeError, "insstr requires 1 to 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1146 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1147 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1148
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1149 if (use_attr == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1150 attr_old = getattrs(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1151 (void)wattrset(self->win,attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1152 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1153 if (use_xy == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1154 rtn = mvwinsstr(self->win,y,x,str);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1155 else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1156 rtn = winsstr(self->win,str);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1157 if (use_attr == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1158 (void)wattrset(self->win,attr_old);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1159 return PyCursesCheckERR(rtn, "insstr");
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1160 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1161
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1162 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
1163 PyCursesWindow_InsNStr(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1164 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1165 int rtn, x, y, n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1166 char *str;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1167 attr_t attr = A_NORMAL , attr_old = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1168 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1169 int use_xy = FALSE, use_attr = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1170
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1171 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1172 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1173 if (!PyArg_ParseTuple(args,"si;str,n", &str, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1174 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1175 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1176 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1177 if (!PyArg_ParseTuple(args,"sil;str,n,attr", &str, &n, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1178 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1179 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1180 use_attr = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1181 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1182 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1183 if (!PyArg_ParseTuple(args,"iisi;y,x,str,n", &y, &x, &str, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1184 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1185 use_xy = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1186 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1187 case 5:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1188 if (!PyArg_ParseTuple(args,"iisil;y,x,str,n,attr", &y, &x, &str, &n, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1189 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1190 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1191 use_xy = use_attr = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1192 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1193 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1194 PyErr_SetString(PyExc_TypeError, "insnstr requires 2 to 5 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1195 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1196 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1197
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1198 if (use_attr == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1199 attr_old = getattrs(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1200 (void)wattrset(self->win,attr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1201 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1202 if (use_xy == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1203 rtn = mvwinsnstr(self->win,y,x,str,n);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1204 else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1205 rtn = winsnstr(self->win,str,n);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1206 if (use_attr == TRUE)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1207 (void)wattrset(self->win,attr_old);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1208 return PyCursesCheckERR(rtn, "insnstr");
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1209 }
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1210
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1211 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
1212 PyCursesWindow_Is_LineTouched(PyCursesWindowObject *self, PyObject *args)
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1213 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1214 int line, erg;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1215 if (!PyArg_ParseTuple(args,"i;line", &line))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1216 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1217 erg = is_linetouched(self->win, line);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1218 if (erg == ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1219 PyErr_SetString(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1220 "is_linetouched: line number outside of boundaries");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1221 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1222 } else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1223 if (erg == FALSE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1224 Py_INCREF(Py_False);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1225 return Py_False;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1226 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1227 Py_INCREF(Py_True);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1228 return Py_True;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1229 }
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1230 }
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1231
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1232 static PyObject *
13465
8e92d941e07f Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents: 13388
diff changeset
1233 PyCursesWindow_NoOutRefresh(PyCursesWindowObject *self, PyObject *args)
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1234 {
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1235 int pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1236 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1237
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1238 #ifndef WINDOW_HAS_FLAGS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1239 if (0) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1240 #else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1241 if (self->win->_flags & _ISPAD) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1242 #endif
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1243 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1244 case 6:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1245 if (!PyArg_ParseTuple(args,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1246 "iiiiii;" \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1247 "pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1248 &pminrow, &pmincol, &sminrow,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1249 &smincol, &smaxrow, &smaxcol))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1250 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1251 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1252 rtn = pnoutrefresh(self->win,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1253 pminrow, pmincol, sminrow,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1254 smincol, smaxrow, smaxcol);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1255 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1256 return PyCursesCheckERR(rtn, "pnoutrefresh");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1257 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1258 PyErr_SetString(PyCursesError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1259 "noutrefresh() called for a pad "
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1260 "requires 6 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1261 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1262 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1263 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1264 if (!PyArg_ParseTuple(args, ":noutrefresh"))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1265 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1266
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1267 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1268 rtn = wnoutrefresh(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1269 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1270 return PyCursesCheckERR(rtn, "wnoutrefresh");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1271 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1272 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1273
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1274 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1275 PyCursesWindow_Overlay(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1276 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1277 PyCursesWindowObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1278 int use_copywin = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1279 int sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1280 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1281
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1282 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1283 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1284 if (!PyArg_ParseTuple(args, "O!;window object",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1285 &PyCursesWindow_Type, &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1286 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1287 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1288 case 7:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1289 if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1290 &PyCursesWindow_Type, &temp, &sminrow, &smincol,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1291 &dminrow, &dmincol, &dmaxrow, &dmaxcol))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1292 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1293 use_copywin = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1294 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1295 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1296 PyErr_SetString(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1297 "overlay requires one or seven arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1298 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1299 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1300
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1301 if (use_copywin == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1302 rtn = copywin(self->win, temp->win, sminrow, smincol,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1303 dminrow, dmincol, dmaxrow, dmaxcol, TRUE);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1304 return PyCursesCheckERR(rtn, "copywin");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1305 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1306 else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1307 rtn = overlay(self->win, temp->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1308 return PyCursesCheckERR(rtn, "overlay");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1309 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1310 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1311
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1312 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1313 PyCursesWindow_Overwrite(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1314 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1315 PyCursesWindowObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1316 int use_copywin = FALSE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1317 int sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1318 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1319
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1320 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1321 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1322 if (!PyArg_ParseTuple(args, "O!;window object",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1323 &PyCursesWindow_Type, &temp))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1324 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1325 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1326 case 7:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1327 if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1328 &PyCursesWindow_Type, &temp, &sminrow, &smincol,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1329 &dminrow, &dmincol, &dmaxrow, &dmaxcol))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1330 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1331 use_copywin = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1332 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1333 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1334 PyErr_SetString(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1335 "overwrite requires one or seven arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1336 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1337 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1338
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1339 if (use_copywin == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1340 rtn = copywin(self->win, temp->win, sminrow, smincol,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1341 dminrow, dmincol, dmaxrow, dmaxcol, FALSE);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1342 return PyCursesCheckERR(rtn, "copywin");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1343 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1344 else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1345 rtn = overwrite(self->win, temp->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1346 return PyCursesCheckERR(rtn, "overwrite");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1347 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1348 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1349
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1350 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1351 PyCursesWindow_PutWin(PyCursesWindowObject *self, PyObject *stream)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1352 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1353 /* We have to simulate this by writing to a temporary FILE*,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1354 then reading back, then writing to the argument stream. */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1355 char fn[100];
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1356 int fd;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1357 FILE *fp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1358 PyObject *res;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1359
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1360 strcpy(fn, "/tmp/py.curses.putwin.XXXXXX");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1361 fd = mkstemp(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1362 if (fd < 0)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1363 return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1364 fp = fdopen(fd, "wb+");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1365 if (fp == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1366 close(fd);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1367 remove(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1368 return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1369 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1370 res = PyCursesCheckERR(putwin(self->win, fp), "putwin");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1371 if (res == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1372 fclose(fp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1373 remove(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1374 return res;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1375 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1376 fseek(fp, 0, 0);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1377 while (1) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1378 char buf[BUFSIZ];
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1379 int n = fread(buf, 1, BUFSIZ, fp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1380 if (n <= 0)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1381 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1382 Py_DECREF(res);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1383 res = PyObject_CallMethod(stream, "write", "y#", buf, n);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1384 if (res == NULL)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1385 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1386 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1387 fclose(fp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1388 remove(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1389 return res;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1390 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1391
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1392 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1393 PyCursesWindow_RedrawLine(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1394 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1395 int beg, num;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1396 if (!PyArg_ParseTuple(args, "ii;beg,num", &beg, &num))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1397 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1398 return PyCursesCheckERR(wredrawln(self->win,beg,num), "redrawln");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1399 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1400
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1401 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1402 PyCursesWindow_Refresh(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1403 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1404 int pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1405 int rtn;
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1406
20647
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
1407 #ifndef WINDOW_HAS_FLAGS
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1408 if (0) {
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
1409 #else
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1410 if (self->win->_flags & _ISPAD) {
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
1411 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1412 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1413 case 6:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1414 if (!PyArg_ParseTuple(args,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1415 "iiiiii;" \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1416 "pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1417 &pminrow, &pmincol, &sminrow,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1418 &smincol, &smaxrow, &smaxcol))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1419 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1420
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1421 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1422 rtn = prefresh(self->win,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1423 pminrow, pmincol, sminrow,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1424 smincol, smaxrow, smaxcol);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1425 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1426 return PyCursesCheckERR(rtn, "prefresh");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1427 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1428 PyErr_SetString(PyCursesError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1429 "refresh() for a pad requires 6 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1430 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1431 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1432 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1433 if (!PyArg_ParseTuple(args, ":refresh"))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1434 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1435 Py_BEGIN_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1436 rtn = wrefresh(self->win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1437 Py_END_ALLOW_THREADS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1438 return PyCursesCheckERR(rtn, "prefresh");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1439 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1440 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1441
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1442 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1443 PyCursesWindow_SetScrollRegion(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1444 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1445 int x, y;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1446 if (!PyArg_ParseTuple(args,"ii;top, bottom",&y,&x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1447 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1448 return PyCursesCheckERR(wsetscrreg(self->win,y,x), "wsetscrreg");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1449 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1450
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1451 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1452 PyCursesWindow_SubWin(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1453 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1454 WINDOW *win;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1455 int nlines, ncols, begin_y, begin_x;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1456
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1457 nlines = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1458 ncols = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1459 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1460 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1461 if (!PyArg_ParseTuple(args,"ii;begin_y,begin_x",&begin_y,&begin_x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1462 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1463 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1464 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1465 if (!PyArg_ParseTuple(args, "iiii;nlines,ncols,begin_y,begin_x",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1466 &nlines,&ncols,&begin_y,&begin_x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1467 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1468 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1469 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1470 PyErr_SetString(PyExc_TypeError, "subwin requires 2 or 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1471 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1472 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1473
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1474 /* printf("Subwin: %i %i %i %i \n", nlines, ncols, begin_y, begin_x); */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1475 #ifdef WINDOW_HAS_FLAGS
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1476 if (self->win->_flags & _ISPAD)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1477 win = subpad(self->win, nlines, ncols, begin_y, begin_x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1478 else
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
1479 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1480 win = subwin(self->win, nlines, ncols, begin_y, begin_x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1481
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1482 if (win == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1483 PyErr_SetString(PyCursesError, catchall_NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1484 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1485 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1486
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1487 return (PyObject *)PyCursesWindow_New(win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1488 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1489
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1490 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1491 PyCursesWindow_Scroll(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1492 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1493 int nlines;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1494 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1495 case 0:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1496 return PyCursesCheckERR(scroll(self->win), "scroll");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1497 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1498 if (!PyArg_ParseTuple(args, "i;nlines", &nlines))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1499 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1500 return PyCursesCheckERR(wscrl(self->win, nlines), "scroll");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1501 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1502 PyErr_SetString(PyExc_TypeError, "scroll requires 0 or 1 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1503 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1504 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1505 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1506
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1507 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1508 PyCursesWindow_TouchLine(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1509 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1510 int st, cnt, val;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1511 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1512 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1513 if (!PyArg_ParseTuple(args,"ii;start,count",&st,&cnt))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1514 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1515 return PyCursesCheckERR(touchline(self->win,st,cnt), "touchline");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1516 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1517 if (!PyArg_ParseTuple(args, "iii;start,count,val", &st, &cnt, &val))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1518 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1519 return PyCursesCheckERR(wtouchln(self->win, st, cnt, val), "touchline");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1520 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1521 PyErr_SetString(PyExc_TypeError, "touchline requires 2 or 3 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1522 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1523 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1524 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1525
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1526 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1527 PyCursesWindow_Vline(PyCursesWindowObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1528 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1529 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1530 chtype ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1531 int n, x, y, code = OK;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1532 attr_t attr = A_NORMAL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1533 long lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1534
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1535 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1536 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1537 if (!PyArg_ParseTuple(args, "Oi;ch or int,n", &temp, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1538 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1539 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1540 case 3:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1541 if (!PyArg_ParseTuple(args, "Oil;ch or int,n,attr", &temp, &n, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1542 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1543 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1544 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1545 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1546 if (!PyArg_ParseTuple(args, "iiOi;y,x,ch or int,n", &y, &x, &temp, &n))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1547 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1548 code = wmove(self->win, y, x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1549 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1550 case 5:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1551 if (!PyArg_ParseTuple(args, "iiOil; y,x,ch or int,n,attr",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1552 &y, &x, &temp, &n, &lattr))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1553 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1554 attr = lattr;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1555 code = wmove(self->win, y, x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1556 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1557 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1558 PyErr_SetString(PyExc_TypeError, "vline requires 2 to 5 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1559 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1560 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1561
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1562 if (code != ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1563 if (!PyCurses_ConvertToChtype(temp, &ch)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1564 PyErr_SetString(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1565 "argument 1 or 3 must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1566 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1567 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1568 return PyCursesCheckERR(wvline(self->win, ch | attr, n), "vline");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1569 } else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1570 return PyCursesCheckERR(code, "wmove");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1571 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1572
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1573 static PyMethodDef PyCursesWindow_Methods[] = {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1574 {"addch", (PyCFunction)PyCursesWindow_AddCh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1575 {"addnstr", (PyCFunction)PyCursesWindow_AddNStr, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1576 {"addstr", (PyCFunction)PyCursesWindow_AddStr, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1577 {"attroff", (PyCFunction)PyCursesWindow_AttrOff, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1578 {"attron", (PyCFunction)PyCursesWindow_AttrOn, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1579 {"attrset", (PyCFunction)PyCursesWindow_AttrSet, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1580 {"bkgd", (PyCFunction)PyCursesWindow_Bkgd, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1581 {"chgat", (PyCFunction)PyCursesWindow_ChgAt, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1582 {"bkgdset", (PyCFunction)PyCursesWindow_BkgdSet, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1583 {"border", (PyCFunction)PyCursesWindow_Border, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1584 {"box", (PyCFunction)PyCursesWindow_Box, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1585 {"clear", (PyCFunction)PyCursesWindow_wclear, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1586 {"clearok", (PyCFunction)PyCursesWindow_clearok, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1587 {"clrtobot", (PyCFunction)PyCursesWindow_wclrtobot, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1588 {"clrtoeol", (PyCFunction)PyCursesWindow_wclrtoeol, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1589 {"cursyncup", (PyCFunction)PyCursesWindow_wcursyncup, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1590 {"delch", (PyCFunction)PyCursesWindow_DelCh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1591 {"deleteln", (PyCFunction)PyCursesWindow_wdeleteln, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1592 {"derwin", (PyCFunction)PyCursesWindow_DerWin, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1593 {"echochar", (PyCFunction)PyCursesWindow_EchoChar, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1594 #ifdef NCURSES_MOUSE_VERSION
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1595 {"enclose", (PyCFunction)PyCursesWindow_Enclose, METH_VARARGS},
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
1596 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1597 {"erase", (PyCFunction)PyCursesWindow_werase, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1598 {"getbegyx", (PyCFunction)PyCursesWindow_getbegyx, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1599 {"getbkgd", (PyCFunction)PyCursesWindow_GetBkgd, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1600 {"getch", (PyCFunction)PyCursesWindow_GetCh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1601 {"getkey", (PyCFunction)PyCursesWindow_GetKey, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1602 {"getmaxyx", (PyCFunction)PyCursesWindow_getmaxyx, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1603 {"getparyx", (PyCFunction)PyCursesWindow_getparyx, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1604 {"getstr", (PyCFunction)PyCursesWindow_GetStr, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1605 {"getyx", (PyCFunction)PyCursesWindow_getyx, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1606 {"hline", (PyCFunction)PyCursesWindow_Hline, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1607 {"idcok", (PyCFunction)PyCursesWindow_idcok, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1608 {"idlok", (PyCFunction)PyCursesWindow_idlok, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1609 {"immedok", (PyCFunction)PyCursesWindow_immedok, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1610 {"inch", (PyCFunction)PyCursesWindow_InCh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1611 {"insch", (PyCFunction)PyCursesWindow_InsCh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1612 {"insdelln", (PyCFunction)PyCursesWindow_winsdelln, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1613 {"insertln", (PyCFunction)PyCursesWindow_winsertln, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1614 {"insnstr", (PyCFunction)PyCursesWindow_InsNStr, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1615 {"insstr", (PyCFunction)PyCursesWindow_InsStr, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1616 {"instr", (PyCFunction)PyCursesWindow_InStr, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1617 {"is_linetouched", (PyCFunction)PyCursesWindow_Is_LineTouched, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1618 {"is_wintouched", (PyCFunction)PyCursesWindow_is_wintouched, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1619 {"keypad", (PyCFunction)PyCursesWindow_keypad, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1620 {"leaveok", (PyCFunction)PyCursesWindow_leaveok, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1621 {"move", (PyCFunction)PyCursesWindow_wmove, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1622 {"mvderwin", (PyCFunction)PyCursesWindow_mvderwin, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1623 {"mvwin", (PyCFunction)PyCursesWindow_mvwin, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1624 {"nodelay", (PyCFunction)PyCursesWindow_nodelay, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1625 {"notimeout", (PyCFunction)PyCursesWindow_notimeout, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1626 {"noutrefresh", (PyCFunction)PyCursesWindow_NoOutRefresh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1627 /* Backward compatibility alias -- remove in Python 2.3 */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1628 {"nooutrefresh", (PyCFunction)PyCursesWindow_NoOutRefresh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1629 {"overlay", (PyCFunction)PyCursesWindow_Overlay, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1630 {"overwrite", (PyCFunction)PyCursesWindow_Overwrite,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1631 METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1632 {"putwin", (PyCFunction)PyCursesWindow_PutWin, METH_O},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1633 {"redrawln", (PyCFunction)PyCursesWindow_RedrawLine, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1634 {"redrawwin", (PyCFunction)PyCursesWindow_redrawwin, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1635 {"refresh", (PyCFunction)PyCursesWindow_Refresh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1636 #ifndef STRICT_SYSV_CURSES
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1637 {"resize", (PyCFunction)PyCursesWindow_wresize, METH_VARARGS},
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
1638 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1639 {"scroll", (PyCFunction)PyCursesWindow_Scroll, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1640 {"scrollok", (PyCFunction)PyCursesWindow_scrollok, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1641 {"setscrreg", (PyCFunction)PyCursesWindow_SetScrollRegion, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1642 {"standend", (PyCFunction)PyCursesWindow_wstandend, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1643 {"standout", (PyCFunction)PyCursesWindow_wstandout, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1644 {"subpad", (PyCFunction)PyCursesWindow_SubWin, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1645 {"subwin", (PyCFunction)PyCursesWindow_SubWin, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1646 {"syncdown", (PyCFunction)PyCursesWindow_wsyncdown, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1647 {"syncok", (PyCFunction)PyCursesWindow_syncok, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1648 {"syncup", (PyCFunction)PyCursesWindow_wsyncup, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1649 {"timeout", (PyCFunction)PyCursesWindow_wtimeout, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1650 {"touchline", (PyCFunction)PyCursesWindow_TouchLine, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1651 {"touchwin", (PyCFunction)PyCursesWindow_touchwin, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1652 {"untouchwin", (PyCFunction)PyCursesWindow_untouchwin, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1653 {"vline", (PyCFunction)PyCursesWindow_Vline, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1654 {NULL, NULL} /* sentinel */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1655 };
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1656
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1657 /* -------------------------------------------------------*/
2357
1740fd76fc33 Steve Clifts version
Guido van Rossum <guido@python.org>
parents: 2296
diff changeset
1658
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1659 PyTypeObject PyCursesWindow_Type = {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1660 PyVarObject_HEAD_INIT(NULL, 0)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1661 "_curses.curses window", /*tp_name*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1662 sizeof(PyCursesWindowObject), /*tp_basicsize*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1663 0, /*tp_itemsize*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1664 /* methods */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1665 (destructor)PyCursesWindow_Dealloc, /*tp_dealloc*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1666 0, /*tp_print*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1667 (getattrfunc)0, /*tp_getattr*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1668 (setattrfunc)0, /*tp_setattr*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1669 0, /*tp_reserved*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1670 0, /*tp_repr*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1671 0, /*tp_as_number*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1672 0, /*tp_as_sequence*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1673 0, /*tp_as_mapping*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1674 0, /*tp_hash*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1675 0, /*tp_call*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1676 0, /*tp_str*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1677 0, /*tp_getattro*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1678 0, /*tp_setattro*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1679 0, /*tp_as_buffer*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1680 Py_TPFLAGS_DEFAULT, /*tp_flags*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1681 0, /*tp_doc*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1682 0, /*tp_traverse*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1683 0, /*tp_clear*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1684 0, /*tp_richcompare*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1685 0, /*tp_weaklistoffset*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1686 0, /*tp_iter*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1687 0, /*tp_iternext*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1688 PyCursesWindow_Methods, /*tp_methods*/
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1689 };
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1690
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1691 /*********************************************************************
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1692 Global Functions
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1693 **********************************************************************/
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1694
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1695 NoArgNoReturnFunction(beep)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1696 NoArgNoReturnFunction(def_prog_mode)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1697 NoArgNoReturnFunction(def_shell_mode)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1698 NoArgNoReturnFunction(doupdate)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1699 NoArgNoReturnFunction(endwin)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1700 NoArgNoReturnFunction(flash)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1701 NoArgNoReturnFunction(nocbreak)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1702 NoArgNoReturnFunction(noecho)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1703 NoArgNoReturnFunction(nonl)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1704 NoArgNoReturnFunction(noraw)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1705 NoArgNoReturnFunction(reset_prog_mode)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1706 NoArgNoReturnFunction(reset_shell_mode)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1707 NoArgNoReturnFunction(resetty)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1708 NoArgNoReturnFunction(savetty)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1709
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1710 NoArgOrFlagNoReturnFunction(cbreak)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1711 NoArgOrFlagNoReturnFunction(echo)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1712 NoArgOrFlagNoReturnFunction(nl)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1713 NoArgOrFlagNoReturnFunction(raw)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1714
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1715 NoArgReturnIntFunction(baudrate)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1716 NoArgReturnIntFunction(termattrs)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1717
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1718 NoArgReturnStringFunction(termname)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1719 NoArgReturnStringFunction(longname)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1720
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1721 NoArgTrueFalseFunction(can_change_color)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1722 NoArgTrueFalseFunction(has_colors)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1723 NoArgTrueFalseFunction(has_ic)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1724 NoArgTrueFalseFunction(has_il)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1725 NoArgTrueFalseFunction(isendwin)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1726 NoArgNoReturnVoidFunction(flushinp)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1727 NoArgNoReturnVoidFunction(noqiflush)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1728
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1729 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1730 PyCurses_filter(PyObject *self)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1731 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1732 /* not checking for PyCursesInitialised here since filter() must
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1733 be called before initscr() */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1734 filter();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1735 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1736 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1737 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1738
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1739 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1740 PyCurses_Color_Content(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1741 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1742 short color,r,g,b;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1743
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1744 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1745 PyCursesInitialisedColor
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1746
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1747 if (!PyArg_ParseTuple(args, "h:color_content", &color)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1748
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1749 if (color_content(color, &r, &g, &b) != ERR)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1750 return Py_BuildValue("(iii)", r, g, b);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1751 else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1752 PyErr_SetString(PyCursesError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1753 "Argument 1 was out of range. Check value of COLORS.");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1754 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1755 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1756 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1757
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1758 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1759 PyCurses_color_pair(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1760 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1761 int n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1762
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1763 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1764 PyCursesInitialisedColor
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1765
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1766 if (!PyArg_ParseTuple(args, "i:color_pair", &n)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1767 return PyLong_FromLong((long) (n << 8));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1768 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1769
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1770 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1771 PyCurses_Curs_Set(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1772 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1773 int vis,erg;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1774
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1775 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1776
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1777 if (!PyArg_ParseTuple(args, "i:curs_set", &vis)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1778
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1779 erg = curs_set(vis);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1780 if (erg == ERR) return PyCursesCheckERR(erg, "curs_set");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1781
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1782 return PyLong_FromLong((long) erg);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1783 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1784
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1785 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1786 PyCurses_Delay_Output(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1787 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1788 int ms;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1789
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1790 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1791
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1792 if (!PyArg_ParseTuple(args, "i:delay_output", &ms)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1793
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1794 return PyCursesCheckERR(delay_output(ms), "delay_output");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1795 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1796
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1797 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1798 PyCurses_EraseChar(PyObject *self)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1799 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1800 char ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1801
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1802 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1803
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1804 ch = erasechar();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1805
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1806 return PyBytes_FromStringAndSize(&ch, 1);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1807 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1808
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1809 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1810 PyCurses_getsyx(PyObject *self)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1811 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1812 int x = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1813 int y = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1814
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1815 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1816
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1817 getsyx(y, x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1818
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1819 return Py_BuildValue("(ii)", y, x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1820 }
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1821
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
1822 #ifdef NCURSES_MOUSE_VERSION
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1823 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1824 PyCurses_GetMouse(PyObject *self)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1825 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1826 int rtn;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1827 MEVENT event;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1828
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1829 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1830
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1831 rtn = getmouse( &event );
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1832 if (rtn == ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1833 PyErr_SetString(PyCursesError, "getmouse() returned ERR");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1834 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1835 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1836 return Py_BuildValue("(hiiil)",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1837 (short)event.id,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1838 event.x, event.y, event.z,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1839 (long) event.bstate);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1840 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1841
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1842 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1843 PyCurses_UngetMouse(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1844 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1845 MEVENT event;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1846
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1847 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1848 if (!PyArg_ParseTuple(args, "hiiil",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1849 &event.id,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1850 &event.x, &event.y, &event.z,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1851 (int *) &event.bstate))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1852 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1853
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1854 return PyCursesCheckERR(ungetmouse(&event), "ungetmouse");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1855 }
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
1856 #endif
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
1857
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1858 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1859 PyCurses_GetWin(PyCursesWindowObject *self, PyObject *stream)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1860 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1861 char fn[100];
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1862 int fd;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1863 FILE *fp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1864 PyObject *data;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1865 size_t datalen;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1866 WINDOW *win;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1867
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1868 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1869
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1870 strcpy(fn, "/tmp/py.curses.getwin.XXXXXX");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1871 fd = mkstemp(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1872 if (fd < 0)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1873 return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1874 fp = fdopen(fd, "wb+");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1875 if (fp == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1876 close(fd);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1877 remove(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1878 return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1879 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1880 data = PyObject_CallMethod(stream, "read", "");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1881 if (data == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1882 fclose(fp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1883 remove(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1884 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1885 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1886 if (!PyBytes_Check(data)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1887 PyErr_Format(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1888 "f.read() returned %.100s instead of bytes",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1889 data->ob_type->tp_name);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1890 Py_DECREF(data);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1891 fclose(fp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1892 remove(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1893 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1894 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1895 datalen = PyBytes_GET_SIZE(data);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1896 if (fwrite(PyBytes_AS_STRING(data), 1, datalen, fp) != datalen) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1897 Py_DECREF(data);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1898 fclose(fp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1899 remove(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1900 return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1901 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1902 Py_DECREF(data);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1903 fseek(fp, 0, 0);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1904 win = getwin(fp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1905 fclose(fp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1906 remove(fn);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1907 if (win == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1908 PyErr_SetString(PyCursesError, catchall_NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1909 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1910 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1911 return PyCursesWindow_New(win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1912 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1913
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1914 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1915 PyCurses_HalfDelay(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1916 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1917 unsigned char tenths;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1918
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1919 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1920
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1921 if (!PyArg_ParseTuple(args, "b:halfdelay", &tenths)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1922
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1923 return PyCursesCheckERR(halfdelay(tenths), "halfdelay");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1924 }
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
1925
13708
fe89ea1c9108 Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents: 13706
diff changeset
1926 #ifndef STRICT_SYSV_CURSES
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1927 /* No has_key! */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1928 static PyObject * PyCurses_has_key(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1929 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1930 int ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1931
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1932 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1933
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1934 if (!PyArg_ParseTuple(args,"i",&ch)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1935
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1936 if (has_key(ch) == FALSE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1937 Py_INCREF(Py_False);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1938 return Py_False;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1939 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1940 Py_INCREF(Py_True);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1941 return Py_True;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1942 }
13708
fe89ea1c9108 Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents: 13706
diff changeset
1943 #endif /* STRICT_SYSV_CURSES */
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
1944
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1945 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1946 PyCurses_Init_Color(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1947 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1948 short color, r, g, b;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1949
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1950 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1951 PyCursesInitialisedColor
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1952
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1953 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1954 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1955 if (!PyArg_ParseTuple(args, "hhhh;color,r,g,b", &color, &r, &g, &b)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1956 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1957 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1958 PyErr_SetString(PyExc_TypeError, "init_color requires 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1959 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1960 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1961
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1962 return PyCursesCheckERR(init_color(color, r, g, b), "init_color");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1963 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1964
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1965 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1966 PyCurses_Init_Pair(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1967 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1968 short pair, f, b;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1969
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1970 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1971 PyCursesInitialisedColor
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1972
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1973 if (PyTuple_Size(args) != 3) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1974 PyErr_SetString(PyExc_TypeError, "init_pair requires 3 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1975 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1976 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1977
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1978 if (!PyArg_ParseTuple(args, "hhh;pair, f, b", &pair, &f, &b)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1979
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1980 return PyCursesCheckERR(init_pair(pair, f, b), "init_pair");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1981 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1982
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1983 static PyObject *ModDict;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1984
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1985 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1986 PyCurses_InitScr(PyObject *self)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1987 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1988 WINDOW *win;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1989
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1990 if (initialised == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1991 wrefresh(stdscr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1992 return (PyObject *)PyCursesWindow_New(stdscr);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1993 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1994
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1995 win = initscr();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1996
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1997 if (win == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1998 PyErr_SetString(PyCursesError, catchall_NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
1999 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2000 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2001
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2002 initialised = initialised_setupterm = TRUE;
1859
54fdc9a95f48 Lance's release 1.1 -- fixes some problems with 1.0
Guido van Rossum <guido@python.org>
parents: 1858
diff changeset
2003
12738
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
2004 /* This was moved from initcurses() because it core dumped on SGI,
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
2005 where they're not defined until you've called initscr() */
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2006 #define SetDictInt(string,ch) \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2007 do { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2008 PyObject *o = PyLong_FromLong((long) (ch)); \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2009 if (o && PyDict_SetItemString(ModDict, string, o) == 0) { \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2010 Py_DECREF(o); \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2011 } \
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2012 } while (0)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2013
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2014 /* Here are some graphic symbols you can use */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2015 SetDictInt("ACS_ULCORNER", (ACS_ULCORNER));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2016 SetDictInt("ACS_LLCORNER", (ACS_LLCORNER));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2017 SetDictInt("ACS_URCORNER", (ACS_URCORNER));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2018 SetDictInt("ACS_LRCORNER", (ACS_LRCORNER));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2019 SetDictInt("ACS_LTEE", (ACS_LTEE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2020 SetDictInt("ACS_RTEE", (ACS_RTEE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2021 SetDictInt("ACS_BTEE", (ACS_BTEE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2022 SetDictInt("ACS_TTEE", (ACS_TTEE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2023 SetDictInt("ACS_HLINE", (ACS_HLINE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2024 SetDictInt("ACS_VLINE", (ACS_VLINE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2025 SetDictInt("ACS_PLUS", (ACS_PLUS));
20647
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
2026 #if !defined(__hpux) || defined(HAVE_NCURSES_H)
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2027 /* On HP/UX 11, these are of type cchar_t, which is not an
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2028 integral type. If this is a problem on more platforms, a
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2029 configure test should be added to determine whether ACS_S1
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2030 is of integral type. */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2031 SetDictInt("ACS_S1", (ACS_S1));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2032 SetDictInt("ACS_S9", (ACS_S9));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2033 SetDictInt("ACS_DIAMOND", (ACS_DIAMOND));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2034 SetDictInt("ACS_CKBOARD", (ACS_CKBOARD));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2035 SetDictInt("ACS_DEGREE", (ACS_DEGREE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2036 SetDictInt("ACS_PLMINUS", (ACS_PLMINUS));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2037 SetDictInt("ACS_BULLET", (ACS_BULLET));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2038 SetDictInt("ACS_LARROW", (ACS_LARROW));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2039 SetDictInt("ACS_RARROW", (ACS_RARROW));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2040 SetDictInt("ACS_DARROW", (ACS_DARROW));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2041 SetDictInt("ACS_UARROW", (ACS_UARROW));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2042 SetDictInt("ACS_BOARD", (ACS_BOARD));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2043 SetDictInt("ACS_LANTERN", (ACS_LANTERN));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2044 SetDictInt("ACS_BLOCK", (ACS_BLOCK));
20647
dd78b1a71f3e Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents: 20583
diff changeset
2045 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2046 SetDictInt("ACS_BSSB", (ACS_ULCORNER));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2047 SetDictInt("ACS_SSBB", (ACS_LLCORNER));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2048 SetDictInt("ACS_BBSS", (ACS_URCORNER));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2049 SetDictInt("ACS_SBBS", (ACS_LRCORNER));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2050 SetDictInt("ACS_SBSS", (ACS_RTEE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2051 SetDictInt("ACS_SSSB", (ACS_LTEE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2052 SetDictInt("ACS_SSBS", (ACS_BTEE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2053 SetDictInt("ACS_BSSS", (ACS_TTEE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2054 SetDictInt("ACS_BSBS", (ACS_HLINE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2055 SetDictInt("ACS_SBSB", (ACS_VLINE));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2056 SetDictInt("ACS_SSSS", (ACS_PLUS));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2057
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2058 /* The following are never available with strict SYSV curses */
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2059 #ifdef ACS_S3
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2060 SetDictInt("ACS_S3", (ACS_S3));
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2061 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2062 #ifdef ACS_S7
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2063 SetDictInt("ACS_S7", (ACS_S7));
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2064 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2065 #ifdef ACS_LEQUAL
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2066 SetDictInt("ACS_LEQUAL", (ACS_LEQUAL));
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2067 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2068 #ifdef ACS_GEQUAL
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2069 SetDictInt("ACS_GEQUAL", (ACS_GEQUAL));
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2070 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2071 #ifdef ACS_PI
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2072 SetDictInt("ACS_PI", (ACS_PI));
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2073 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2074 #ifdef ACS_NEQUAL
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2075 SetDictInt("ACS_NEQUAL", (ACS_NEQUAL));
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2076 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2077 #ifdef ACS_STERLING
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2078 SetDictInt("ACS_STERLING", (ACS_STERLING));
12738
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
2079 #endif
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
2080
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2081 SetDictInt("LINES", LINES);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2082 SetDictInt("COLS", COLS);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2083
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2084 return (PyObject *)PyCursesWindow_New(win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2085 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2086
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2087 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2088 PyCurses_setupterm(PyObject* self, PyObject *args, PyObject* keywds)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2089 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2090 int fd = -1;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2091 int err;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2092 char* termstr = NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2093
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2094 static char *kwlist[] = {"term", "fd", NULL};
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2095
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2096 if (!PyArg_ParseTupleAndKeywords(
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2097 args, keywds, "|zi:setupterm", kwlist, &termstr, &fd)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2098 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2099 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2100
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2101 if (fd == -1) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2102 PyObject* sys_stdout;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2103
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2104 sys_stdout = PySys_GetObject("stdout");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2105
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2106 if (sys_stdout == NULL || sys_stdout == Py_None) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2107 PyErr_SetString(
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2108 PyCursesError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2109 "lost sys.stdout");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2110 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2111 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2112
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2113 fd = PyObject_AsFileDescriptor(sys_stdout);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2114
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2115 if (fd == -1) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2116 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2117 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2118 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2119
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2120 if (setupterm(termstr,fd,&err) == ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2121 char* s = "setupterm: unknown error";
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2122
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2123 if (err == 0) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2124 s = "setupterm: could not find terminal";
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2125 } else if (err == -1) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2126 s = "setupterm: could not find terminfo database";
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2127 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2128
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2129 PyErr_SetString(PyCursesError,s);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2130 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2131 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2132
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2133 initialised_setupterm = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2134
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2135 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2136 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2137 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2138
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2139 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2140 PyCurses_IntrFlush(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2141 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2142 int ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2143
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2144 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2145
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2146 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2147 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2148 if (!PyArg_ParseTuple(args,"i;True(1), False(0)",&ch)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2149 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2150 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2151 PyErr_SetString(PyExc_TypeError, "intrflush requires 1 argument");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2152 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2153 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2154
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2155 return PyCursesCheckERR(intrflush(NULL,ch), "intrflush");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2156 }
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2157
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2158 #ifdef HAVE_CURSES_IS_TERM_RESIZED
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2159 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2160 PyCurses_Is_Term_Resized(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2161 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2162 int lines;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2163 int columns;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2164 int result;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2165
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2166 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2167
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2168 if (!PyArg_ParseTuple(args,"ii:is_term_resized", &lines, &columns))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2169 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2170 result = is_term_resized(lines, columns);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2171 if (result == TRUE) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2172 Py_INCREF(Py_True);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2173 return Py_True;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2174 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2175 Py_INCREF(Py_False);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2176 return Py_False;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2177 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2178 }
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2179 #endif /* HAVE_CURSES_IS_TERM_RESIZED */
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2180
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
2181 #if !defined(__NetBSD__)
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2182 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2183 PyCurses_KeyName(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2184 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2185 const char *knp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2186 int ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2187
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2188 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2189
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2190 if (!PyArg_ParseTuple(args,"i",&ch)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2191
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2192 if (ch < 0) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2193 PyErr_SetString(PyExc_ValueError, "invalid key number");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2194 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2195 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2196 knp = keyname(ch);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2197
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2198 return PyBytes_FromString((knp == NULL) ? "" : (char *)knp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2199 }
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
2200 #endif
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
2201
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2202 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2203 PyCurses_KillChar(PyObject *self)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2204 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2205 char ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2206
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2207 ch = killchar();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2208
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2209 return PyBytes_FromStringAndSize(&ch, 1);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2210 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2211
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2212 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2213 PyCurses_Meta(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2214 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2215 int ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2216
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2217 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2218
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2219 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2220 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2221 if (!PyArg_ParseTuple(args,"i;True(1), False(0)",&ch)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2222 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2223 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2224 PyErr_SetString(PyExc_TypeError, "meta requires 1 argument");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2225 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2226 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2227
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2228 return PyCursesCheckERR(meta(stdscr, ch), "meta");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2229 }
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
2230
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2231 #ifdef NCURSES_MOUSE_VERSION
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2232 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2233 PyCurses_MouseInterval(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2234 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2235 int interval;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2236 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2237
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2238 if (!PyArg_ParseTuple(args,"i;interval",&interval))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2239 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2240 return PyCursesCheckERR(mouseinterval(interval), "mouseinterval");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2241 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2242
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2243 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2244 PyCurses_MouseMask(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2245 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2246 int newmask;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2247 mmask_t oldmask, availmask;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2248
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2249 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2250 if (!PyArg_ParseTuple(args,"i;mousemask",&newmask))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2251 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2252 availmask = mousemask(newmask, &oldmask);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2253 return Py_BuildValue("(ll)", (long)availmask, (long)oldmask);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2254 }
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2255 #endif
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2256
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2257 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2258 PyCurses_Napms(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2259 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2260 int ms;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2261
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2262 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2263 if (!PyArg_ParseTuple(args, "i;ms", &ms)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2264
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2265 return Py_BuildValue("i", napms(ms));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2266 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2267
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2268
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2269 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2270 PyCurses_NewPad(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2271 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2272 WINDOW *win;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2273 int nlines, ncols;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2274
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2275 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2276
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2277 if (!PyArg_ParseTuple(args,"ii;nlines,ncols",&nlines,&ncols)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2278
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2279 win = newpad(nlines, ncols);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2280
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2281 if (win == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2282 PyErr_SetString(PyCursesError, catchall_NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2283 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2284 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2285
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2286 return (PyObject *)PyCursesWindow_New(win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2287 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2288
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2289 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2290 PyCurses_NewWindow(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2291 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2292 WINDOW *win;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2293 int nlines, ncols, begin_y=0, begin_x=0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2294
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2295 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2296
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2297 switch (PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2298 case 2:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2299 if (!PyArg_ParseTuple(args,"ii;nlines,ncols",&nlines,&ncols))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2300 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2301 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2302 case 4:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2303 if (!PyArg_ParseTuple(args, "iiii;nlines,ncols,begin_y,begin_x",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2304 &nlines,&ncols,&begin_y,&begin_x))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2305 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2306 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2307 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2308 PyErr_SetString(PyExc_TypeError, "newwin requires 2 or 4 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2309 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2310 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2311
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2312 win = newwin(nlines,ncols,begin_y,begin_x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2313 if (win == NULL) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2314 PyErr_SetString(PyCursesError, catchall_NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2315 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2316 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2317
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2318 return (PyObject *)PyCursesWindow_New(win);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2319 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2320
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2321 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2322 PyCurses_Pair_Content(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2323 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2324 short pair,f,b;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2325
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2326 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2327 PyCursesInitialisedColor
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2328
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2329 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2330 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2331 if (!PyArg_ParseTuple(args, "h;pair", &pair)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2332 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2333 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2334 PyErr_SetString(PyExc_TypeError, "pair_content requires 1 argument");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2335 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2336 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2337
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2338 if (pair_content(pair, &f, &b)==ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2339 PyErr_SetString(PyCursesError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2340 "Argument 1 was out of range. (1..COLOR_PAIRS-1)");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2341 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2342 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2343
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2344 return Py_BuildValue("(ii)", f, b);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2345 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2346
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2347 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2348 PyCurses_pair_number(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2349 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2350 int n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2351
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2352 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2353 PyCursesInitialisedColor
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2354
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2355 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2356 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2357 if (!PyArg_ParseTuple(args, "i;pairvalue", &n)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2358 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2359 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2360 PyErr_SetString(PyExc_TypeError,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2361 "pair_number requires 1 argument");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2362 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2363 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2364
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2365 return PyLong_FromLong((long) ((n & A_COLOR) >> 8));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2366 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2367
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2368 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2369 PyCurses_Putp(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2370 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2371 char *str;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2372
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2373 if (!PyArg_ParseTuple(args,"s;str", &str)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2374 return PyCursesCheckERR(putp(str), "putp");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2375 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2376
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2377 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2378 PyCurses_QiFlush(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2379 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2380 int flag = 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2381
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2382 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2383
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2384 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2385 case 0:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2386 qiflush();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2387 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2388 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2389 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2390 if (!PyArg_ParseTuple(args, "i;True(1) or False(0)", &flag)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2391 if (flag) qiflush();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2392 else noqiflush();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2393 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2394 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2395 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2396 PyErr_SetString(PyExc_TypeError, "qiflush requires 0 or 1 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2397 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2398 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2399 }
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
2400
41554
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
2401 /* Internal helper used for updating curses.LINES, curses.COLS, _curses.LINES
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
2402 * and _curses.COLS */
48407
e22deaeb6c1b Merged revisions 64365,64370,64406,64408-64409,64412,64416-64417,64420-64421,64425-64428 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47580
diff changeset
2403 #if defined(HAVE_CURSES_RESIZETERM) || defined(HAVE_CURSES_RESIZE_TERM)
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2404 static int
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2405 update_lines_cols(void)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2406 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2407 PyObject *o;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2408 PyObject *m = PyImport_ImportModuleNoBlock("curses");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2409
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2410 if (!m)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2411 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2412
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2413 o = PyLong_FromLong(LINES);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2414 if (!o) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2415 Py_DECREF(m);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2416 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2417 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2418 if (PyObject_SetAttrString(m, "LINES", o)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2419 Py_DECREF(m);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2420 Py_DECREF(o);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2421 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2422 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2423 if (PyDict_SetItemString(ModDict, "LINES", o)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2424 Py_DECREF(m);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2425 Py_DECREF(o);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2426 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2427 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2428 Py_DECREF(o);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2429 o = PyLong_FromLong(COLS);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2430 if (!o) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2431 Py_DECREF(m);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2432 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2433 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2434 if (PyObject_SetAttrString(m, "COLS", o)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2435 Py_DECREF(m);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2436 Py_DECREF(o);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2437 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2438 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2439 if (PyDict_SetItemString(ModDict, "COLS", o)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2440 Py_DECREF(m);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2441 Py_DECREF(o);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2442 return 0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2443 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2444 Py_DECREF(o);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2445 Py_DECREF(m);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2446 return 1;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2447 }
48407
e22deaeb6c1b Merged revisions 64365,64370,64406,64408-64409,64412,64416-64417,64420-64421,64425-64428 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47580
diff changeset
2448 #endif
41554
06145fbc7ab9 Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40626
diff changeset
2449
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2450 #ifdef HAVE_CURSES_RESIZETERM
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2451 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2452 PyCurses_ResizeTerm(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2453 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2454 int lines;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2455 int columns;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2456 PyObject *result;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2457
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2458 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2459
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2460 if (!PyArg_ParseTuple(args,"ii:resizeterm", &lines, &columns))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2461 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2462
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2463 result = PyCursesCheckERR(resizeterm(lines, columns), "resizeterm");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2464 if (!result)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2465 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2466 if (!update_lines_cols())
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2467 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2468 return result;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2469 }
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2470
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2471 #endif
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2472
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2473 #ifdef HAVE_CURSES_RESIZE_TERM
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2474 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2475 PyCurses_Resize_Term(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2476 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2477 int lines;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2478 int columns;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2479
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2480 PyObject *result;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2481
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2482 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2483
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2484 if (!PyArg_ParseTuple(args,"ii:resize_term", &lines, &columns))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2485 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2486
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2487 result = PyCursesCheckERR(resize_term(lines, columns), "resize_term");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2488 if (!result)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2489 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2490 if (!update_lines_cols())
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2491 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2492 return result;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2493 }
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2494 #endif /* HAVE_CURSES_RESIZE_TERM */
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2495
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2496 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2497 PyCurses_setsyx(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2498 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2499 int y,x;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2500
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2501 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2502
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2503 if (PyTuple_Size(args)!=2) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2504 PyErr_SetString(PyExc_TypeError, "setsyx requires 2 arguments");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2505 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2506 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2507
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2508 if (!PyArg_ParseTuple(args, "ii;y, x", &y, &x)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2509
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2510 setsyx(y,x);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2511
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2512 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2513 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2514 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2515
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2516 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2517 PyCurses_Start_Color(PyObject *self)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2518 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2519 int code;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2520 PyObject *c, *cp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2521
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2522 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2523
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2524 code = start_color();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2525 if (code != ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2526 initialisedcolors = TRUE;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2527 c = PyLong_FromLong((long) COLORS);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2528 PyDict_SetItemString(ModDict, "COLORS", c);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2529 Py_DECREF(c);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2530 cp = PyLong_FromLong((long) COLOR_PAIRS);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2531 PyDict_SetItemString(ModDict, "COLOR_PAIRS", cp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2532 Py_DECREF(cp);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2533 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2534 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2535 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2536 PyErr_SetString(PyCursesError, "start_color() returned ERR");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2537 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2538 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2539 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2540
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2541 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2542 PyCurses_tigetflag(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2543 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2544 char *capname;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2545
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2546 PyCursesSetupTermCalled;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2547
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2548 if (!PyArg_ParseTuple(args, "s", &capname))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2549 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2550
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2551 return PyLong_FromLong( (long) tigetflag( capname ) );
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2552 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2553
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2554 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2555 PyCurses_tigetnum(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2556 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2557 char *capname;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2558
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2559 PyCursesSetupTermCalled;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2560
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2561 if (!PyArg_ParseTuple(args, "s", &capname))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2562 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2563
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2564 return PyLong_FromLong( (long) tigetnum( capname ) );
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2565 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2566
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2567 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2568 PyCurses_tigetstr(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2569 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2570 char *capname;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2571
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2572 PyCursesSetupTermCalled;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2573
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2574 if (!PyArg_ParseTuple(args, "s", &capname))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2575 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2576
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2577 capname = tigetstr( capname );
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2578 if (capname == 0 || capname == (char*) -1) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2579 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2580 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2581 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2582 return PyBytes_FromString( capname );
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2583 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2584
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2585 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2586 PyCurses_tparm(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2587 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2588 char* fmt;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2589 char* result = NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2590 int i1=0,i2=0,i3=0,i4=0,i5=0,i6=0,i7=0,i8=0,i9=0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2591
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2592 PyCursesSetupTermCalled;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2593
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2594 if (!PyArg_ParseTuple(args, "s|iiiiiiiii:tparm",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2595 &fmt, &i1, &i2, &i3, &i4,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2596 &i5, &i6, &i7, &i8, &i9)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2597 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2598 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2599
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2600 result = tparm(fmt,i1,i2,i3,i4,i5,i6,i7,i8,i9);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2601 if (!result) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2602 PyErr_SetString(PyCursesError, "tparm() returned NULL");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2603 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2604 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2605
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2606 return PyBytes_FromString(result);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2607 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2608
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2609 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2610 PyCurses_TypeAhead(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2611 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2612 int fd;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2613
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2614 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2615
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2616 if (!PyArg_ParseTuple(args,"i;fd",&fd)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2617
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2618 return PyCursesCheckERR(typeahead( fd ), "typeahead");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2619 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2620
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2621 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2622 PyCurses_UnCtrl(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2623 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2624 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2625 chtype ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2626
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2627 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2628
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2629 if (!PyArg_ParseTuple(args,"O;ch or int",&temp)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2630
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2631 if (!PyCurses_ConvertToChtype(temp, &ch)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2632 PyErr_SetString(PyExc_TypeError, "argument must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2633 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2634 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2635
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2636 return PyBytes_FromString(unctrl(ch));
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2637 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2638
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2639 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2640 PyCurses_UngetCh(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2641 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2642 PyObject *temp;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2643 chtype ch;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2644
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2645 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2646
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2647 if (!PyArg_ParseTuple(args,"O;ch or int",&temp)) return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2648
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2649 if (!PyCurses_ConvertToChtype(temp, &ch)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2650 PyErr_SetString(PyExc_TypeError, "argument must be a ch or an int");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2651 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2652 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2653
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2654 return PyCursesCheckERR(ungetch(ch), "ungetch");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2655 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2656
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2657 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2658 PyCurses_Use_Env(PyObject *self, PyObject *args)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2659 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2660 int flag;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2661
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2662 switch(PyTuple_Size(args)) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2663 case 1:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2664 if (!PyArg_ParseTuple(args,"i;True(1), False(0)",&flag))
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2665 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2666 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2667 default:
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2668 PyErr_SetString(PyExc_TypeError, "use_env requires 1 argument");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2669 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2670 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2671 use_env(flag);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2672 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2673 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2674 }
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2675
30140
f3654c5ada94 [Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents: 26313
diff changeset
2676 #ifndef STRICT_SYSV_CURSES
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2677 static PyObject *
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2678 PyCurses_Use_Default_Colors(PyObject *self)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2679 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2680 int code;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2681
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2682 PyCursesInitialised
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2683 PyCursesInitialisedColor
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2684
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2685 code = use_default_colors();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2686 if (code != ERR) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2687 Py_INCREF(Py_None);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2688 return Py_None;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2689 } else {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2690 PyErr_SetString(PyCursesError, "use_default_colors() returned ERR");
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2691 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2692 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2693 }
30140
f3654c5ada94 [Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents: 26313
diff changeset
2694 #endif /* STRICT_SYSV_CURSES */
f3654c5ada94 [Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents: 26313
diff changeset
2695
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2696 /* List of functions defined in the module */
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2697
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2698 static PyMethodDef PyCurses_methods[] = {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2699 {"baudrate", (PyCFunction)PyCurses_baudrate, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2700 {"beep", (PyCFunction)PyCurses_beep, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2701 {"can_change_color", (PyCFunction)PyCurses_can_change_color, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2702 {"cbreak", (PyCFunction)PyCurses_cbreak, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2703 {"color_content", (PyCFunction)PyCurses_Color_Content, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2704 {"color_pair", (PyCFunction)PyCurses_color_pair, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2705 {"curs_set", (PyCFunction)PyCurses_Curs_Set, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2706 {"def_prog_mode", (PyCFunction)PyCurses_def_prog_mode, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2707 {"def_shell_mode", (PyCFunction)PyCurses_def_shell_mode, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2708 {"delay_output", (PyCFunction)PyCurses_Delay_Output, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2709 {"doupdate", (PyCFunction)PyCurses_doupdate, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2710 {"echo", (PyCFunction)PyCurses_echo, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2711 {"endwin", (PyCFunction)PyCurses_endwin, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2712 {"erasechar", (PyCFunction)PyCurses_EraseChar, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2713 {"filter", (PyCFunction)PyCurses_filter, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2714 {"flash", (PyCFunction)PyCurses_flash, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2715 {"flushinp", (PyCFunction)PyCurses_flushinp, METH_NOARGS},
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2716 #ifdef NCURSES_MOUSE_VERSION
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2717 {"getmouse", (PyCFunction)PyCurses_GetMouse, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2718 {"ungetmouse", (PyCFunction)PyCurses_UngetMouse, METH_VARARGS},
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2719 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2720 {"getsyx", (PyCFunction)PyCurses_getsyx, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2721 {"getwin", (PyCFunction)PyCurses_GetWin, METH_O},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2722 {"has_colors", (PyCFunction)PyCurses_has_colors, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2723 {"has_ic", (PyCFunction)PyCurses_has_ic, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2724 {"has_il", (PyCFunction)PyCurses_has_il, METH_NOARGS},
13708
fe89ea1c9108 Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents: 13706
diff changeset
2725 #ifndef STRICT_SYSV_CURSES
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2726 {"has_key", (PyCFunction)PyCurses_has_key, METH_VARARGS},
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2727 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2728 {"halfdelay", (PyCFunction)PyCurses_HalfDelay, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2729 {"init_color", (PyCFunction)PyCurses_Init_Color, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2730 {"init_pair", (PyCFunction)PyCurses_Init_Pair, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2731 {"initscr", (PyCFunction)PyCurses_InitScr, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2732 {"intrflush", (PyCFunction)PyCurses_IntrFlush, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2733 {"isendwin", (PyCFunction)PyCurses_isendwin, METH_NOARGS},
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2734 #ifdef HAVE_CURSES_IS_TERM_RESIZED
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2735 {"is_term_resized", (PyCFunction)PyCurses_Is_Term_Resized, METH_VARARGS},
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2736 #endif
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
2737 #if !defined(__NetBSD__)
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2738 {"keyname", (PyCFunction)PyCurses_KeyName, METH_VARARGS},
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
2739 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2740 {"killchar", (PyCFunction)PyCurses_KillChar, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2741 {"longname", (PyCFunction)PyCurses_longname, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2742 {"meta", (PyCFunction)PyCurses_Meta, METH_VARARGS},
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2743 #ifdef NCURSES_MOUSE_VERSION
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2744 {"mouseinterval", (PyCFunction)PyCurses_MouseInterval, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2745 {"mousemask", (PyCFunction)PyCurses_MouseMask, METH_VARARGS},
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2746 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2747 {"napms", (PyCFunction)PyCurses_Napms, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2748 {"newpad", (PyCFunction)PyCurses_NewPad, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2749 {"newwin", (PyCFunction)PyCurses_NewWindow, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2750 {"nl", (PyCFunction)PyCurses_nl, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2751 {"nocbreak", (PyCFunction)PyCurses_nocbreak, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2752 {"noecho", (PyCFunction)PyCurses_noecho, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2753 {"nonl", (PyCFunction)PyCurses_nonl, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2754 {"noqiflush", (PyCFunction)PyCurses_noqiflush, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2755 {"noraw", (PyCFunction)PyCurses_noraw, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2756 {"pair_content", (PyCFunction)PyCurses_Pair_Content, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2757 {"pair_number", (PyCFunction)PyCurses_pair_number, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2758 {"putp", (PyCFunction)PyCurses_Putp, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2759 {"qiflush", (PyCFunction)PyCurses_QiFlush, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2760 {"raw", (PyCFunction)PyCurses_raw, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2761 {"reset_prog_mode", (PyCFunction)PyCurses_reset_prog_mode, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2762 {"reset_shell_mode", (PyCFunction)PyCurses_reset_shell_mode, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2763 {"resetty", (PyCFunction)PyCurses_resetty, METH_NOARGS},
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2764 #ifdef HAVE_CURSES_RESIZETERM
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2765 {"resizeterm", (PyCFunction)PyCurses_ResizeTerm, METH_VARARGS},
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2766 #endif
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2767 #ifdef HAVE_CURSES_RESIZE_TERM
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2768 {"resize_term", (PyCFunction)PyCurses_Resize_Term, METH_VARARGS},
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 36675
diff changeset
2769 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2770 {"savetty", (PyCFunction)PyCurses_savetty, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2771 {"setsyx", (PyCFunction)PyCurses_setsyx, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2772 {"setupterm", (PyCFunction)PyCurses_setupterm,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2773 METH_VARARGS|METH_KEYWORDS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2774 {"start_color", (PyCFunction)PyCurses_Start_Color, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2775 {"termattrs", (PyCFunction)PyCurses_termattrs, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2776 {"termname", (PyCFunction)PyCurses_termname, METH_NOARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2777 {"tigetflag", (PyCFunction)PyCurses_tigetflag, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2778 {"tigetnum", (PyCFunction)PyCurses_tigetnum, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2779 {"tigetstr", (PyCFunction)PyCurses_tigetstr, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2780 {"tparm", (PyCFunction)PyCurses_tparm, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2781 {"typeahead", (PyCFunction)PyCurses_TypeAhead, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2782 {"unctrl", (PyCFunction)PyCurses_UnCtrl, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2783 {"ungetch", (PyCFunction)PyCurses_UngetCh, METH_VARARGS},
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2784 {"use_env", (PyCFunction)PyCurses_Use_Env, METH_VARARGS},
30140
f3654c5ada94 [Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents: 26313
diff changeset
2785 #ifndef STRICT_SYSV_CURSES
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2786 {"use_default_colors", (PyCFunction)PyCurses_Use_Default_Colors, METH_NOARGS},
30140
f3654c5ada94 [Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents: 26313
diff changeset
2787 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2788 {NULL, NULL} /* sentinel */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2789 };
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2790
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2791 /* Initialization function for the module */
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2792
47580
94f64f11fdd0 Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents: 47301
diff changeset
2793
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2794 static struct PyModuleDef _cursesmodule = {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2795 PyModuleDef_HEAD_INIT,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2796 "_curses",
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2797 NULL,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2798 -1,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2799 PyCurses_methods,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2800 NULL,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2801 NULL,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2802 NULL,
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2803 NULL
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2804 };
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2805
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2806 PyMODINIT_FUNC
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2807 PyInit__curses(void)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2808 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2809 PyObject *m, *d, *v, *c_api_object;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2810 static void *PyCurses_API[PyCurses_API_pointers];
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2811
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2812 /* Initialize object type */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2813 if (PyType_Ready(&PyCursesWindow_Type) < 0)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2814 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2815
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2816 /* Initialize the C API pointer array */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2817 PyCurses_API[0] = (void *)&PyCursesWindow_Type;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2818 PyCurses_API[1] = (void *)func_PyCursesSetupTermCalled;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2819 PyCurses_API[2] = (void *)func_PyCursesInitialised;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2820 PyCurses_API[3] = (void *)func_PyCursesInitialisedColor;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2821
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2822 /* Create the module and add the functions */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2823 m = PyModule_Create(&_cursesmodule);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2824 if (m == NULL)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2825 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2826
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2827 /* Add some symbolic constants to the module */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2828 d = PyModule_GetDict(m);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2829 if (d == NULL)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2830 return NULL;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2831 ModDict = d; /* For PyCurses_InitScr to use later */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2832
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2833 /* Add a capsule for the C API */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2834 c_api_object = PyCapsule_New(PyCurses_API, PyCurses_CAPSULE_NAME, NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2835 PyDict_SetItemString(d, "_C_API", c_api_object);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2836 Py_DECREF(c_api_object);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2837
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2838 /* For exception curses.error */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2839 PyCursesError = PyErr_NewException("_curses.error", NULL, NULL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2840 PyDict_SetItemString(d, "error", PyCursesError);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2841
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2842 /* Make the version available */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2843 v = PyBytes_FromString(PyCursesVersion);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2844 PyDict_SetItemString(d, "version", v);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2845 PyDict_SetItemString(d, "__version__", v);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2846 Py_DECREF(v);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2847
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2848 SetDictInt("ERR", ERR);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2849 SetDictInt("OK", OK);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2850
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2851 /* Here are some attributes you can add to chars to print */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2852
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2853 SetDictInt("A_ATTRIBUTES", A_ATTRIBUTES);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2854 SetDictInt("A_NORMAL", A_NORMAL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2855 SetDictInt("A_STANDOUT", A_STANDOUT);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2856 SetDictInt("A_UNDERLINE", A_UNDERLINE);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2857 SetDictInt("A_REVERSE", A_REVERSE);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2858 SetDictInt("A_BLINK", A_BLINK);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2859 SetDictInt("A_DIM", A_DIM);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2860 SetDictInt("A_BOLD", A_BOLD);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2861 SetDictInt("A_ALTCHARSET", A_ALTCHARSET);
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
2862 #if !defined(__NetBSD__)
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2863 SetDictInt("A_INVIS", A_INVIS);
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
2864 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2865 SetDictInt("A_PROTECT", A_PROTECT);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2866 SetDictInt("A_CHARTEXT", A_CHARTEXT);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2867 SetDictInt("A_COLOR", A_COLOR);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2868
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2869 /* The following are never available with strict SYSV curses */
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2870 #ifdef A_HORIZONTAL
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2871 SetDictInt("A_HORIZONTAL", A_HORIZONTAL);
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2872 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2873 #ifdef A_LEFT
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2874 SetDictInt("A_LEFT", A_LEFT);
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2875 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2876 #ifdef A_LOW
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2877 SetDictInt("A_LOW", A_LOW);
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2878 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2879 #ifdef A_RIGHT
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2880 SetDictInt("A_RIGHT", A_RIGHT);
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2881 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2882 #ifdef A_TOP
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2883 SetDictInt("A_TOP", A_TOP);
15369
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2884 #endif
3abcb6966617 Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents: 14334
diff changeset
2885 #ifdef A_VERTICAL
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2886 SetDictInt("A_VERTICAL", A_VERTICAL);
12737
77a5a14695b3 Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents: 12576
diff changeset
2887 #endif
12738
3d26cb3808a7 Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents: 12737
diff changeset
2888
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2889 SetDictInt("COLOR_BLACK", COLOR_BLACK);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2890 SetDictInt("COLOR_RED", COLOR_RED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2891 SetDictInt("COLOR_GREEN", COLOR_GREEN);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2892 SetDictInt("COLOR_YELLOW", COLOR_YELLOW);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2893 SetDictInt("COLOR_BLUE", COLOR_BLUE);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2894 SetDictInt("COLOR_MAGENTA", COLOR_MAGENTA);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2895 SetDictInt("COLOR_CYAN", COLOR_CYAN);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2896 SetDictInt("COLOR_WHITE", COLOR_WHITE);
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff changeset
2897
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2898 #ifdef NCURSES_MOUSE_VERSION
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2899 /* Mouse-related constants */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2900 SetDictInt("BUTTON1_PRESSED", BUTTON1_PRESSED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2901 SetDictInt("BUTTON1_RELEASED", BUTTON1_RELEASED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2902 SetDictInt("BUTTON1_CLICKED", BUTTON1_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2903 SetDictInt("BUTTON1_DOUBLE_CLICKED", BUTTON1_DOUBLE_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2904 SetDictInt("BUTTON1_TRIPLE_CLICKED", BUTTON1_TRIPLE_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2905
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2906 SetDictInt("BUTTON2_PRESSED", BUTTON2_PRESSED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2907 SetDictInt("BUTTON2_RELEASED", BUTTON2_RELEASED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2908 SetDictInt("BUTTON2_CLICKED", BUTTON2_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2909 SetDictInt("BUTTON2_DOUBLE_CLICKED", BUTTON2_DOUBLE_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2910 SetDictInt("BUTTON2_TRIPLE_CLICKED", BUTTON2_TRIPLE_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2911
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2912 SetDictInt("BUTTON3_PRESSED", BUTTON3_PRESSED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2913 SetDictInt("BUTTON3_RELEASED", BUTTON3_RELEASED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2914 SetDictInt("BUTTON3_CLICKED", BUTTON3_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2915 SetDictInt("BUTTON3_DOUBLE_CLICKED", BUTTON3_DOUBLE_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2916 SetDictInt("BUTTON3_TRIPLE_CLICKED", BUTTON3_TRIPLE_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2917
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2918 SetDictInt("BUTTON4_PRESSED", BUTTON4_PRESSED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2919 SetDictInt("BUTTON4_RELEASED", BUTTON4_RELEASED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2920 SetDictInt("BUTTON4_CLICKED", BUTTON4_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2921 SetDictInt("BUTTON4_DOUBLE_CLICKED", BUTTON4_DOUBLE_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2922 SetDictInt("BUTTON4_TRIPLE_CLICKED", BUTTON4_TRIPLE_CLICKED);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2923
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2924 SetDictInt("BUTTON_SHIFT", BUTTON_SHIFT);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2925 SetDictInt("BUTTON_CTRL", BUTTON_CTRL);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2926 SetDictInt("BUTTON_ALT", BUTTON_ALT);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2927
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2928 SetDictInt("ALL_MOUSE_EVENTS", ALL_MOUSE_EVENTS);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2929 SetDictInt("REPORT_MOUSE_POSITION", REPORT_MOUSE_POSITION);
13036
c09a570eb6eb Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents: 12988
diff changeset
2930 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2931 /* Now set everything up for KEY_ variables */
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2932 {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2933 int key;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2934 char *key_n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2935 char *key_n2;
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
2936 #if !defined(__NetBSD__)
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2937 for (key=KEY_MIN;key < KEY_MAX; key++) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2938 key_n = (char *)keyname(key);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2939 if (key_n == NULL || strcmp(key_n,"UNKNOWN KEY")==0)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2940 continue;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2941 if (strncmp(key_n,"KEY_F(",6)==0) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2942 char *p1, *p2;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2943 key_n2 = malloc(strlen(key_n)+1);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2944 if (!key_n2) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2945 PyErr_NoMemory();
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2946 break;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2947 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2948 p1 = key_n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2949 p2 = key_n2;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2950 while (*p1) {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2951 if (*p1 != '(' && *p1 != ')') {
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2952 *p2 = *p1;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2953 p2++;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2954 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2955 p1++;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2956 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2957 *p2 = (char)0;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2958 } else
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2959 key_n2 = key_n;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2960 SetDictInt(key_n2,key);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2961 if (key_n2 != key_n)
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2962 free(key_n2);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2963 }
16351
ef32bfa5f5c6 Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents: 16350
diff changeset
2964 #endif
61619
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2965 SetDictInt("KEY_MIN", KEY_MIN);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2966 SetDictInt("KEY_MAX", KEY_MAX);
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2967 }
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2968 return m;
9e4385db370e Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60000
diff changeset
2969 }