gii_pmove_event man page on Cygwin

Man page or keyword search:  
man Server   22533 pages
apropos Keyword Search (all sections)
Output format
Cygwin logo
[printable version]

gii_pmove_event(3)		      GGI		    gii_pmove_event(3)

NAME
       gii_pmove_event : LibGII pointer movement events

SYNOPSIS
       #include <ggi/events.h>

       typedef struct gii_pmove_event {

	   COMMON_DATA;

	   int32_t  x, y;	    /* absolute/relative position   */
	   int32_t  z, wheel;

       } gii_pmove_event;

DESCRIPTION
       The gii_pmove_event structure is used to report change of pointer posi‐
       tion. Depending on the event type, the values are  either  absolute  or
       relative.

GENERATED EVENTS
       This structure is used for evPtrRelative and evPtrAbsolute events.

STRUCTURE MEMBERS
       The  gii_pmove_event structure describes pointer (mice, etc.) motion in
       terms of the x, y, z coordinates and the wheel values  of  the  device.
       The motion described may be relative (offset from the current location)
       or absolute (a specific location on the 'screen'), depending on whether
       the event is of type evPtrRelative or evPtrAbsolute, respectively.

       LibGII  does  not  attempt  to interpolate or keep track of the current
       pointer position.  (This is the application's responsibility.)	LibGII
       may  also report both relative and absolute pointer motion for the same
       input, which may happen when the mouse is being emulated using  a  key‐
       board on an input/target that is normally reports absolute motion.

EXAMPLES
       Input handling for applications expecting absolute pointer position:

       {
	   static int mousex,mousey;

	   ggiEventPoll(vis, emKey|emPointer, NULL);
	   events = ggiEventsQueued(vis, emKey|emPointer);

	   while (events--) {
	       ggiEventRead(vis, &event, emKey|emPointer);

	       switch(event.any.type) {
	       case evPtrButtonPress:
		       switch(event.pbutton.button) {
		       case GII_PBUTTON_FIRST:
			   do_something_as_appropriate(mousex,mousey);
			   break;
		       case GII_PBUTTON_SECOND:
			   /* ... */
		       }
		       break;
	       case evPtrButtonRelease:
		   /* ... if needed ... */
		   break;
	       case evPtrAbsolute:
		   mousex = event.pmove.x;
		   mousey = event.pmove.y;
		   break;
	       case evPtrRelative:
		   mousex += event.pmove.x;
		   mousey += event.pmove.y;
		   break;
	       }

	       /* Constrain mouse in any case */
	       if (mousex < 0) mousex = 0;
	       if (mousey < 0) mousey = 0;
	       if (mousex > xmax) mousex = xmax;
	       if (mousey > ymax) mousey = ymax;

	   } /* while */
       }

SEE ALSO
       gii_event(3)

libgii-1.0.x			  2006-12-30		    gii_pmove_event(3)
[top]

List of man pages available for Cygwin

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net