ncurses_wrefresh

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

ncurses_wrefreshRefresh window on terminal screen

Description

int ncurses_wrefresh ( resource $window )
Warning

This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk.

Warning

This function is currently not documented; only its argument list is available.

Parameters

window

Коментарии

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;
}

?>
2002-12-15 14:24:10
http://php5.kiev.ua/manual/ru/function.ncurses-wrefresh.html
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
2005-11-28 11:08:39
http://php5.kiev.ua/manual/ru/function.ncurses-wrefresh.html

    Поддержать сайт на родительском проекте КГБ