PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ncurses_getyx> <ncurses_getmaxyx
Last updated: Fri, 22 Aug 2008

view this page in

ncurses_getmouse

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

ncurses_getmouseLee un evento del mouse

Descripción

bool ncurses_getmouse ( array &$evento_mouse )
Warning

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_getmouse() lee un evento de mouse desde la cola.

Lista de parámetros

evento_mouse

Las opciones del evento serán entregadas en este parámetro, el cual debe ser una matriz pasada por referencia (vea el ejemplo siguiente).

En caso de éxito, se entregará una matriz asociativa con las siguientes claves:

  • "id" : Id para distinguir múltiples dispositivos

  • "x" : posición x de pantalla relativa en celdas de caracter

  • "y" : posición y de pantalla relativa en celdas de caracter

  • "z" : no soportado por el momento

  • "mmask" : acción del mouse

Valores retornados

Devuelve FALSE si un evento del mouse es visible en la ventana dada, o TRUE de lo contrario.

Ejemplos

Example #1 Ejemplo de ncurses_getmouse()

<?php
switch (ncurses_getch()){
  case 
NCURSES_KEY_MOUSE:
    if (!
ncurses_getmouse(&$mevent)){
      if (
$mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
        
$mouse_x $mevent["x"]; // Guardar la posición del mouse
        
$mouse_y $mevent["y"];
      }
    }
  break;

  default:
    
/* .... */
}
?>

Ver también



add a note add a note User Contributed Notes
ncurses_getmouse
m dot quinton at gmail dot com
26-Sep-2005 01:05
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);

?>

ncurses_getyx> <ncurses_getmaxyx
Last updated: Fri, 22 Aug 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites