The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 [Cписок руководств | Печать]

curs_mouse (3)
  • >> curs_mouse (3) ( Solaris man: Библиотечные вызовы )
  • curs_mouse (3) ( FreeBSD man: Библиотечные вызовы )
  • curs_mouse (3) ( Разные man: Библиотечные вызовы )
         getmouse,  ungetmouse,  mousemask,  wenclose,   mouse_trafo,
         wmouse_trafo, mouseinterval - mouse interface through curses
         #include <curses.h>
         typedef unsigned long mmask_t;
         typedef struct
             short id;         /* ID to distinguish multiple devices */
             int x, y, z;      /* event coordinates */
             mmask_t bstate;   /* button state bits */
         int getmouse(MEVENT *event);
         int ungetmouse(MEVENT *event);
         mmask_t mousemask(mmask_t newmask, mmask_t *oldmask);
         bool wenclose(WINDOW *win, int y, int x);
         bool mouse_trafo(int* pY, int* pX, bool to_screen);
         bool wmouse_trafo(const WINDOW* win, int* pY, int* pX,
              bool to_screen);
         int mouseinterval(int erval);
         These functions provide an interface to  mouse  events  from
         ncurses(3X).   Mouse  events  are  represented  by KEY_MOUSE
         pseudo-key values in the wgetch input stream.
         To make mouse events visible, use  the  mousemask  function.
         This  will set the mouse events to be reported.  By default,
         no mouse events are reported.  The function  will  return  a
         mask  to indicate which of the specified mouse events can be
         reported; on complete failure it returns 0.  If  oldmask  is
         non-NULL,  this  function  fills the indicated location with
         the previous value of the given window's mouse event mask.
         As a side effect, setting a zero mousemask may turn off  the
         mouse  pointer;  setting  a  nonzero  mask  may  turn it on.
         Whether this happens is device-dependent.
         Here are the mouse event type masks:
         Name                     Description
         BUTTON1_PRESSED          mouse button 1 down
         BUTTON1_RELEASED         mouse button 1 up
         BUTTON1_CLICKED          mouse button 1 clicked
         BUTTON1_DOUBLE_CLICKED   mouse button 1 double clicked
         BUTTON1_TRIPLE_CLICKED   mouse button 1 triple clicked
         BUTTON2_PRESSED          mouse button 2 down
         BUTTON2_RELEASED         mouse button 2 up
         BUTTON2_CLICKED          mouse button 2 clicked
         BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
         BUTTON2_TRIPLE_CLICKED   mouse button 2 triple clicked
         BUTTON3_PRESSED          mouse button 3 down
         BUTTON3_RELEASED         mouse button 3 up
         BUTTON3_CLICKED          mouse button 3 clicked
         BUTTON3_DOUBLE_CLICKED   mouse button 3 double clicked
         BUTTON3_TRIPLE_CLICKED   mouse button 3 triple clicked
         BUTTON4_PRESSED          mouse button 4 down
         BUTTON4_RELEASED         mouse button 4 up
         BUTTON4_CLICKED          mouse button 4 clicked
         BUTTON4_DOUBLE_CLICKED   mouse button 4 double clicked
         BUTTON4_TRIPLE_CLICKED   mouse button 4 triple clicked
         BUTTON_SHIFT             shift was down during button state change
         BUTTON_CTRL              control was down during button state change
         BUTTON_ALT               alt was down during button state change
         ALL_MOUSE_EVENTS         report all button state changes
         REPORT_MOUSE_POSITION    report mouse movement
         Once a class of mouse events have been  made  visible  in  a
         window,  calling  the  wgetch  function  on  that window may
         return KEY_MOUSE as an indicator that a mouse event has been
         queued.   To  read  the event data and pop the event off the
         queue, call getmouse.  This function will  return  OK  if  a
         mouse  event  is  actually  visible in the given window, ERR
         otherwise.  When getmouse returns OK, the data deposited  as
         y  and  x in the event structure coordinates will be screen-
         relative character-cell  coordinates.   The  returned  state
         mask  will  have  exactly  one bit set to indicate the event
         The ungetmouse function behaves analogously to ungetch.   It
         pushes  a  KEY_MOUSE event onto the input queue, and associ-
         ates with that  event  the  given  state  data  and  screen-
         relative character-cell coordinates.
         The wenclose function tests whether a given pair of  screen-
         relative  character-cell  coordinates is enclosed by a given
         window, returning TRUE if it is and FALSE otherwise.  It  is
         useful  for  determining  what  subset of the screen windows
         enclose the location of a mouse event.
         The wmouse_trafo function transforms a given pair of coordi-
         nates  from  stdscr-relative  coordinates to screen-relative
         coordinates or vice versa.  Please  remember,  that  stdscr-
         relative  coordinates  are  not  always identical to screen-
         relative coordinates due to the mechanism to  reserve  lines
         on  top or bottom of the screen for other purposes (ripoff()
         call,  see  also  slk_...   functions).  If  the   parameter
         to_screen  is  TRUE,  the pointers pY, pX must reference the
         coordinates of a location inside the window  win.  They  are
         converted   to   screen-relative  coordinates  and  returned
         through the pointers. If the conversion was successful,  the
         function  returns TRUE. If one of the parameters was NULL or
         the location is not inside the window, FALSE is returned. If
         to_screen  is  FALSE,  the  pointers  pY,  pX must reference
         screen-relative coordinates. They are converted  to  stdscr-
         relative  coordinates if the window win encloses this point.
         In this case the function returns TRUE. If one of the param-
         eters  is  NULL or the point is not inside the window, FALSE
         is returned. Please notice, that the referenced  coordinates
         are  only  replaced  by  the  converted  coordinates  if the
         transformation was successful.
         The  mouseinterval  function  sets  the  maximum  time   (in
         thousands  of  a  second)  that can elapse between press and
         release events in order for  them  to  be  recognized  as  a
         click.   This  function returns the previous interval value.
         The default is one fifth of a second.
         Note that mouse events will be  ignored  when  input  is  in
         cooked  mode,  and will cause an error beep when cooked mode
         is being simulated in a window by a function such as  getstr
         that expects a linefeed for input-loop termination.
         getmouse, ungetmouse and mouseinterval  return  the  integer
         ERR upon failure or OK upon successful completion. mousemask
         returns  the  mask  of  reportable  events.   wenclose   and
         wmouse_trafo  are  boolean functions returning TRUE or FALSE
         depending on their test result.
         These calls were designed for ncurses(3X), and are not found
         in SVr4 curses, 4.4BSD curses, or any other previous version
         of curses.
         The feature macro NCURSES_MOUSE_VERSION is provided  so  the
         preprocessor  can be used to test whether these features are
         present (its value is 1).  If the interface is changed,  the
         value of NCURSES_MOUSE_VERSION will be incremented.
         The order of the MEVENT structure members is not guaranteed.
         Additional  fields  may  be  added  to  the structure in the
         Under ncurses(3X), these calls are implemented using  either
         xterm's  built-in  mouse-tracking API or Alessandro Rubini's
         gpm server.  If you are using something other than xterm and
         there is no gpm daemon running on your machine, mouse events
         will not be visible to ncurses(3X) (and the wmousemask func-
         tion will always return 0).
         The z member in the event structure is not  presently  used.
         It  is  intended  for  use  with touch screens (which may be
         pressure-sensitive) or with 3D-mice/trackballs/power gloves.
         Mouse events under xterm will not in fact be ignored  during
         cooked  mode,  if  they  have  been  enabled  by wmousemask.
         Instead, the xterm mouse report sequence will appear in  the
         string read.
         Mouse events under xterm will not be detected correctly in a
         window  with  its keypad bit off, since they are interpreted
         as a variety of function  key.   Your  terminfo  description
         must have kmous set to "\E[M" (the beginning of the response
         from xterm for mouse clicks).
         Because there are no standard terminal responses that  would
         serve  to  identify  terminals which support the xterm mouse
         protocol, ncurses assumes that if your $DISPLAY  environment
         variable  is  set,  and  kmous  is  defined  in the terminal
         description, then the terminal may send mouse events.

    Поиск по тексту MAN-ов: 

    Inferno Solutions
    Hosting by

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру