note 57178 added to function.ncurses-getmouse

From: Date: Mon, 26 Sep 2005 11:05:51 +0000
Subject: note 57178 added to function.ncurses-getmouse
Groups: php.notes 
Request: Send a blank email to php-notes+get-95792@lists.php.net to get a copy of this message
a working example with mouse, 3 windows (need to be completed, but it works) ... <?php error_reporting(E_ALL); function win($w, $h, $x, $y, $txt){ // now lets create a small window $win = ncurses_newwin($w, $h, $x, $y); // border our small window. ncurses_wborder($win,0,0, 0,0, 0,0, 0,0); # ncurses_wrefresh($win);// paint both windows ncurses_refresh();// paint both windows // move into the small window and write a string ncurses_mvwaddstr($win, 0, 1, " $txt "); ncurses_mvwaddstr($win, 1, 1, "($w, $h, $x, $y)"); // show our handiwork and refresh our small window ncurses_wrefresh($win); return $win; } // Initialie ncurses $ncurse = ncurses_init(); // A full screen window $win0 = win(0, 0, 0, 0, 'win0'); $win1 = win(10, 30, 7, 25, 'win1'); $win2 = win(10, 30, 20, 25, 'win2'); $info = win(15, 20, 2, 2, 'info'); // Draw everything so far // ncurses_refresh(); $newmask = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED; # $newmask = NCURSES_ALL_MOUSE_EVENTS; $mask = ncurses_mousemask($newmask, &$oldmask); $events = array(); while(1){ ncurses_wmove($info, 1,1); $ch = ncurses_getch(); ncurses_wclear($info); ncurses_refresh();// paint both windows ncurses_wborder($info,0,0, 0,0, 0,0, 0,0); ncurses_refresh();// paint both windows ncurses_mvwaddstr($win, 0, 1, " info "); ncurses_refresh();// paint both windows switch($ch){ case NCURSES_KEY_MOUSE: if(ncurses_getmouse($mevent)){ $events[] = $mevent; ncurses_mvwaddstr($info, 2, 1, " mouse event "); ncurses_mvwaddstr($info, 3, 1, " ({$mevent['x']}/{$mevent['y']}) "); ncurses_mvwaddstr($info, 4, 1, " ({$mevent['mmask']}) "); ncurses_wrefresh($info); } break; case chr('q'): break 2; default: if($ch > 0x40) $txt = chr($ch) . " $ch "; else $txt = '.' . " $ch"; ncurses_mvwaddstr($info, 1, 1, " $txt "); ncurses_wrefresh($info); } if(chr($ch) == 'q') break; } ncurses_end();// clean up our screen print_r($events); ?> ---- Manual Page -- http://www.php.net/manual/en/function.ncurses-getmouse.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+57178 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+57178&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+57178&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+57178&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+57178&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+57178&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+57178&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+57178&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+57178&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#95792) next »