diff options
author | Georg Richter <georg@php.net> | 2001-12-29 11:48:30 +0000 |
---|---|---|
committer | Georg Richter <georg@php.net> | 2001-12-29 11:48:30 +0000 |
commit | df9dc889e02319a20fb6aaec83089c5acd0a2b1e (patch) | |
tree | 85453e00b30c7d7ccc96f19d705051fb279ca139 /ext/ncurses/ncurses.c | |
parent | c6f1e68e75e12119006e85b6e2fc090dba9c40cb (diff) | |
download | php-git-df9dc889e02319a20fb6aaec83089c5acd0a2b1e.tar.gz |
1) fixed bugs in soft label key functions
2) insert new slk-functions
3) defined new key-constants
Diffstat (limited to 'ext/ncurses/ncurses.c')
-rw-r--r-- | ext/ncurses/ncurses.c | 128 |
1 files changed, 125 insertions, 3 deletions
diff --git a/ext/ncurses/ncurses.c b/ext/ncurses/ncurses.c index 775dc9787d..6e79507b56 100644 --- a/ext/ncurses/ncurses.c +++ b/ext/ncurses/ncurses.c @@ -74,6 +74,8 @@ PHP_INI_END() /* }}} */ #define PHP_NCURSES_CONST(x) REGISTER_LONG_CONSTANT("NCURSES_"#x, x, CONST_CS | CONST_PERSISTENT) +#define PHP_NCURSES_FKEY_CONST(x) REGISTER_LONG_CONSTANT("NCURSES_KEY_F"#x, KEY_F0 + x, CONST_CS | CONST_PERSISTENT) + /* {{{ PHP_MINIT_FUNCTION */ @@ -88,13 +90,128 @@ PHP_MINIT_FUNCTION(ncurses) PHP_NCURSES_CONST(COLOR_MAGENTA); PHP_NCURSES_CONST(COLOR_CYAN); PHP_NCURSES_CONST(COLOR_WHITE); - + /* keyboard constants */ PHP_NCURSES_CONST(KEY_DOWN); PHP_NCURSES_CONST(KEY_UP); PHP_NCURSES_CONST(KEY_LEFT); PHP_NCURSES_CONST(KEY_RIGHT); PHP_NCURSES_CONST(KEY_BACKSPACE); + PHP_NCURSES_CONST(KEY_MOUSE); + PHP_NCURSES_CONST(KEY_F0); + + + /* TODO:this macro sux, we have 65 function key, + so we need a little loop */ + PHP_NCURSES_FKEY_CONST(1); + PHP_NCURSES_FKEY_CONST(2); + PHP_NCURSES_FKEY_CONST(3); + PHP_NCURSES_FKEY_CONST(4); + PHP_NCURSES_FKEY_CONST(5); + PHP_NCURSES_FKEY_CONST(6); + PHP_NCURSES_FKEY_CONST(7); + PHP_NCURSES_FKEY_CONST(8); + PHP_NCURSES_FKEY_CONST(9); + PHP_NCURSES_FKEY_CONST(10); + PHP_NCURSES_FKEY_CONST(11); + PHP_NCURSES_FKEY_CONST(12); + + PHP_NCURSES_CONST(KEY_DL); + PHP_NCURSES_CONST(KEY_IL); + PHP_NCURSES_CONST(KEY_DC); + PHP_NCURSES_CONST(KEY_IC); + PHP_NCURSES_CONST(KEY_EIC); + PHP_NCURSES_CONST(KEY_CLEAR); + PHP_NCURSES_CONST(KEY_EOS); + PHP_NCURSES_CONST(KEY_EOL); + PHP_NCURSES_CONST(KEY_SF); + PHP_NCURSES_CONST(KEY_SR); + PHP_NCURSES_CONST(KEY_NPAGE); + PHP_NCURSES_CONST(KEY_PPAGE); + PHP_NCURSES_CONST(KEY_STAB); + PHP_NCURSES_CONST(KEY_CTAB); + PHP_NCURSES_CONST(KEY_CATAB); + PHP_NCURSES_CONST(KEY_ENTER); + PHP_NCURSES_CONST(KEY_SRESET); + PHP_NCURSES_CONST(KEY_RESET); + PHP_NCURSES_CONST(KEY_PRINT); + PHP_NCURSES_CONST(KEY_LL); + PHP_NCURSES_CONST(KEY_A1); + PHP_NCURSES_CONST(KEY_A3); + PHP_NCURSES_CONST(KEY_B2); + PHP_NCURSES_CONST(KEY_C1); + PHP_NCURSES_CONST(KEY_C3); + PHP_NCURSES_CONST(KEY_BTAB); + PHP_NCURSES_CONST(KEY_BEG); + PHP_NCURSES_CONST(KEY_CANCEL); + PHP_NCURSES_CONST(KEY_CLOSE); + PHP_NCURSES_CONST(KEY_COMMAND); + PHP_NCURSES_CONST(KEY_COPY); + PHP_NCURSES_CONST(KEY_CREATE); + PHP_NCURSES_CONST(KEY_END); + PHP_NCURSES_CONST(KEY_EXIT); + PHP_NCURSES_CONST(KEY_FIND); + PHP_NCURSES_CONST(KEY_HELP); + PHP_NCURSES_CONST(KEY_MARK); + PHP_NCURSES_CONST(KEY_MESSAGE); + PHP_NCURSES_CONST(KEY_MOVE); + PHP_NCURSES_CONST(KEY_NEXT); + PHP_NCURSES_CONST(KEY_OPEN); + PHP_NCURSES_CONST(KEY_OPTIONS); + PHP_NCURSES_CONST(KEY_PREVIOUS); + PHP_NCURSES_CONST(KEY_REDO); + PHP_NCURSES_CONST(KEY_REFERENCE); + PHP_NCURSES_CONST(KEY_REFRESH); + PHP_NCURSES_CONST(KEY_REPLACE); + PHP_NCURSES_CONST(KEY_RESTART); + PHP_NCURSES_CONST(KEY_RESUME); + PHP_NCURSES_CONST(KEY_SAVE); + PHP_NCURSES_CONST(KEY_SBEG); + PHP_NCURSES_CONST(KEY_SCANCEL); + PHP_NCURSES_CONST(KEY_SCOMMAND); + PHP_NCURSES_CONST(KEY_SCOPY); + PHP_NCURSES_CONST(KEY_SCREATE); + PHP_NCURSES_CONST(KEY_SDC); + PHP_NCURSES_CONST(KEY_SDL); + PHP_NCURSES_CONST(KEY_SELECT); + PHP_NCURSES_CONST(KEY_SEND); + PHP_NCURSES_CONST(KEY_SEOL); + PHP_NCURSES_CONST(KEY_SEXIT); + PHP_NCURSES_CONST(KEY_SFIND); + PHP_NCURSES_CONST(KEY_SHELP); + PHP_NCURSES_CONST(KEY_SHOME); + PHP_NCURSES_CONST(KEY_SIC); + PHP_NCURSES_CONST(KEY_SLEFT); + PHP_NCURSES_CONST(KEY_SMESSAGE); + PHP_NCURSES_CONST(KEY_SMOVE); + PHP_NCURSES_CONST(KEY_SNEXT); + PHP_NCURSES_CONST(KEY_SOPTIONS); + PHP_NCURSES_CONST(KEY_SPREVIOUS); + PHP_NCURSES_CONST(KEY_SPRINT); + PHP_NCURSES_CONST(KEY_SREDO); + PHP_NCURSES_CONST(KEY_SREPLACE); + PHP_NCURSES_CONST(KEY_SRIGHT); + PHP_NCURSES_CONST(KEY_SRSUME); + PHP_NCURSES_CONST(KEY_SSAVE); + PHP_NCURSES_CONST(KEY_SSUSPEND); + PHP_NCURSES_CONST(KEY_SUNDO); + PHP_NCURSES_CONST(KEY_SUSPEND); + PHP_NCURSES_CONST(KEY_UNDO); + PHP_NCURSES_CONST(KEY_MOUSE); + PHP_NCURSES_CONST(KEY_RESIZE); + + /* screen attribute constants */ + PHP_NCURSES_CONST(A_NORMAL); + PHP_NCURSES_CONST(A_STANDOUT); + PHP_NCURSES_CONST(A_UNDERLINE); + PHP_NCURSES_CONST(A_REVERSE); + PHP_NCURSES_CONST(A_BLINK); + PHP_NCURSES_CONST(A_DIM); + PHP_NCURSES_CONST(A_BOLD); + PHP_NCURSES_CONST(A_PROTECT); + PHP_NCURSES_CONST(A_INVIS); + PHP_NCURSES_CONST(A_ALTCHARSET); + PHP_NCURSES_CONST(A_CHARTEXT); /* mouse constants */ PHP_NCURSES_CONST(BUTTON1_PRESSED); @@ -123,8 +240,7 @@ PHP_MINIT_FUNCTION(ncurses) PHP_NCURSES_CONST(ALL_MOUSE_EVENTS); PHP_NCURSES_CONST(REPORT_MOUSE_POSITION); - - le_ncurses = zend_register_list_destructors_ex(ncurses_destruct, NULL, "ncurses_handle", module_number); + le_ncurses = zend_register_list_destructors_ex(ncurses_destruct, NULL, "ncurses_handle", module_number); return SUCCESS; } @@ -162,6 +278,12 @@ PHP_MINFO_FUNCTION(ncurses) { php_info_print_table_start(); php_info_print_table_header(2, "ncurses support", "enabled"); + php_info_print_table_row(2, "ncurses library version", NCURSES_VERSION); +#ifdef HAVE_NCURSES_COLOR_SET + php_info_print_table_row(2, "color support", "yes"); +#else + php_info_print_table_row(2, "color support", "no"); +#endif php_info_print_table_end(); /* Remove comments if you have entries in php.ini |