Ncurses 函数
在线手册:中文  英文

ncurses_wrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wrefreshRefresh window on terminal screen

说明

int ncurses_wrefresh ( resource $window )
Warning

此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。

Warning

本函数还未编写文档,仅有参数列表。

参数

window


Ncurses 函数
在线手册:中文  英文

用户评论:

php at kormoc dot com (2005-11-28 09:08:39)

Keep in mind, you need to do a ncurses_refresh before any window drawing options to display the window correctly.
for example
ncurses_wclear($window);
ncurses_wborder($window, 0, 0, 0, 0, 0, 0, 0, 0);
ncurses_wrefresh($window);
won't work correctly the first time though the loop (not sure why),
but throw on a ncruses_refresh at the top and it displays correctly

joeldegan AT yahoo.com (2002-12-15 12:24:10)

Here is a functional example of drawing dynamic windows and refreshing them using ncurses_wrefresh.

This draws the main window, borders it, creates a small window borders it, creates a lower window and borders it as well. it also shows an example of doing a little backgrounding..

<?php
/*
the window will look somewhat like this...
+--------------------------------------+
|+---+                                  |
||   |                                  | 
|+---+                                 | 
|                                        |
|+------------------------------------+|
||                                      ||
|+------------------------------------+|
+--------------------------------------+
*/

$n=0;
$a ncurses_init();
ncurses_border(0,00,00,00,0);
$z ncurses_newwin 15151010);

if(
ncurses_has_colors()){
    
ncurses_start_color();
        
ncurses_init_pair(1,NCURSES_COLOR_RED,NCURSES_COLOR_BLACK);
        
ncurses_init_pair(2,NCURSES_COLOR_BLUE,NCURSES_COLOR_BLACK);
        
ncurses_init_pair(3,NCURSES_COLOR_YELLOW,NCURSES_COLOR_BLACK);
        
ncurses_init_pair(4,NCURSES_COLOR_BLUE,NCURSES_COLOR_BLACK);
        
ncurses_init_pair(5,NCURSES_COLOR_MAGENTA,NCURSES_COLOR_BLACK);
        
ncurses_init_pair(6,NCURSES_COLOR_CYAN,NCURSES_COLOR_BLACK);
        
ncurses_init_pair(7,NCURSES_COLOR_WHITE,NCURSES_COLOR_BLACK);
}
//fi

while(1){
  for (
$x=1$x<80$x++) {
    for (
$y=1$y<24$y++) {
          
$n++;
          
ncurses_move($y,$x);
          
ncurses_addch($n+64);
          
ncurses_color_set($n%8);
          if(
$n>26)$n=0;
    }
//rof
  
}//rof

// border the main window
ncurses_border(0,00,00,00,0);
ncurses_refresh();

// create a new little window and border it.
$z ncurses_newwin 101022);
ncurses_wborder($z,0,00,00,00,0); // undocumented function, border the window
ncurses_wrefresh($z); // show it

// get our maximum y and x values 
$current getmaxxy();
$lines $current[1];
$cols $current[0];

// create a lower window which is dynamically sized...
$c ncurses_newwin (10$cols-4$lines-112);
ncurses_wborder($c,0,00,00,00,0); // border it
ncurses_wrefresh($c); // show it
ncurses_getch(); // wait for user to press key
ncurses_clear();// clear and then redraw..

}//wend

function getmaxxy(){
    
$rez = `/usr/X11R6/bin/resize`;
    
$rez explode("\n",$rez);
    while(list(
$key,$val)=each($rez)){
        
$a=explode("=",$val);
        if(
trim($a[0])=="COLUMNS"){ $COLUMNS $a[1]; }
        if(
trim($a[0])=="LINES"){ $LINES $a[1]; }
    }
//
    
$retval[0]=$COLUMNS;
    
$retval[1]=$LINES;
   return 
$retval;
}

?>

易百教程