note 27683 added to function.ncurses-wrefresh

From: Date: Sun, 15 Dec 2002 18:24:10 +0000
Subject: note 27683 added to function.ncurses-wrefresh
Groups: php.notes 
Request: Send a blank email to php-notes+get-40936@lists.php.net to get a copy of this message
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,0, 0,0, 0,0, 0,0); $z = ncurses_newwin ( 15, 15, 10, 10); 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,0, 0,0, 0,0, 0,0); ncurses_refresh(); // create a new little window and border it. $z = ncurses_newwin ( 10, 10, 2, 2); ncurses_wborder($z,0,0, 0,0, 0,0, 0,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-11, 2); ncurses_wborder($c,0,0, 0,0, 0,0, 0,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; } ?> -- http://www.php.net/manual/en/function.ncurses-wrefresh.php http://master.php.net/manage/user-notes.php?action=edit+27683 http://master.php.net/manage/user-notes.php?action=delete+27683 http://master.php.net/manage/user-notes.php?action=reject+27683

« previous php.notes (#40936) next »