|
ncurses_getmouse
Reads mouse event
(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)
Warning:
This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk. ncurses_getmouse() reads mouse event out of queue. Parameters
Return Values
Returns ExamplesExample 1589. ncurses_getmouse() example<?php
See Also
Code Examples / Notes » ncurses_getmousem dot quinton
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); ?> |
Change Languagencurses_addch ncurses_addchnstr ncurses_addchstr ncurses_addnstr ncurses_addstr ncurses_assume_default_colors ncurses_attroff ncurses_attron ncurses_attrset ncurses_baudrate ncurses_beep ncurses_bkgd ncurses_bkgdset ncurses_border ncurses_bottom_panel ncurses_can_change_color ncurses_cbreak ncurses_clear ncurses_clrtobot ncurses_clrtoeol ncurses_color_content ncurses_color_set ncurses_curs_set ncurses_def_prog_mode ncurses_def_shell_mode ncurses_define_key ncurses_del_panel ncurses_delay_output ncurses_delch ncurses_deleteln ncurses_delwin ncurses_doupdate ncurses_echo ncurses_echochar ncurses_end ncurses_erase ncurses_erasechar ncurses_filter ncurses_flash ncurses_flushinp ncurses_getch ncurses_getmaxyx ncurses_getmouse ncurses_getyx ncurses_halfdelay ncurses_has_colors ncurses_has_ic ncurses_has_il ncurses_has_key ncurses_hide_panel ncurses_hline ncurses_inch ncurses_init_color ncurses_init_pair ncurses_init ncurses_insch ncurses_insdelln ncurses_insertln ncurses_insstr ncurses_instr ncurses_isendwin ncurses_keyok ncurses_keypad ncurses_killchar ncurses_longname ncurses_meta ncurses_mouse_trafo ncurses_mouseinterval ncurses_mousemask ncurses_move_panel ncurses_move ncurses_mvaddch ncurses_mvaddchnstr ncurses_mvaddchstr ncurses_mvaddnstr ncurses_mvaddstr ncurses_mvcur ncurses_mvdelch ncurses_mvgetch ncurses_mvhline ncurses_mvinch ncurses_mvvline ncurses_mvwaddstr ncurses_napms ncurses_new_panel ncurses_newpad ncurses_newwin ncurses_nl ncurses_nocbreak ncurses_noecho ncurses_nonl ncurses_noqiflush ncurses_noraw ncurses_pair_content ncurses_panel_above ncurses_panel_below ncurses_panel_window ncurses_pnoutrefresh ncurses_prefresh ncurses_putp ncurses_qiflush ncurses_raw ncurses_refresh ncurses_replace_panel ncurses_reset_prog_mode ncurses_reset_shell_mode ncurses_resetty ncurses_savetty ncurses_scr_dump ncurses_scr_init ncurses_scr_restore ncurses_scr_set ncurses_scrl ncurses_show_panel ncurses_slk_attr ncurses_slk_attroff ncurses_slk_attron ncurses_slk_attrset ncurses_slk_clear ncurses_slk_color ncurses_slk_init ncurses_slk_noutrefresh ncurses_slk_refresh ncurses_slk_restore ncurses_slk_set ncurses_slk_touch ncurses_standend ncurses_standout ncurses_start_color ncurses_termattrs ncurses_termname ncurses_timeout ncurses_top_panel ncurses_typeahead ncurses_ungetch ncurses_ungetmouse ncurses_update_panels ncurses_use_default_colors ncurses_use_env ncurses_use_extended_names ncurses_vidattr ncurses_vline ncurses_waddch ncurses_waddstr ncurses_wattroff ncurses_wattron ncurses_wattrset ncurses_wborder ncurses_wclear ncurses_wcolor_set ncurses_werase ncurses_wgetch ncurses_whline ncurses_wmouse_trafo ncurses_wmove ncurses_wnoutrefresh ncurses_wrefresh ncurses_wstandend ncurses_wstandout ncurses_wvline |