[PATCH xserver 06/17] Input: Export SpriteRec for use in public API

Peter Hutterer peter.hutterer at who-t.net
Tue Jan 4 19:57:51 PST 2011


On Tue, Dec 28, 2010 at 05:57:57PM +0000, Daniel Stone wrote:
> Change its definition to be more in line with other structs, so we can
> use it from input.h.
> 
> Signed-off-by: Daniel Stone <daniel at fooishbar.org>

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>


> ---
>  include/input.h    |    1 +
>  include/inputstr.h |   82 ++++++++++++++++++++++++++--------------------------
>  2 files changed, 42 insertions(+), 41 deletions(-)
> 
> diff --git a/include/input.h b/include/input.h
> index 9f3227f..76f646f 100644
> --- a/include/input.h
> +++ b/include/input.h
> @@ -103,6 +103,7 @@ typedef struct _OtherClients *OtherClientsPtr;
>  typedef struct _InputClients *InputClientsPtr;
>  typedef struct _DeviceIntRec *DeviceIntPtr;
>  typedef struct _ClassesRec *ClassesPtr;
> +typedef struct _SpriteRec *SpritePtr;
>  typedef union _GrabMask GrabMask;
>  
>  typedef struct _EventList {
> diff --git a/include/inputstr.h b/include/inputstr.h
> index 44de9c4..159d7f6 100644
> --- a/include/inputstr.h
> +++ b/include/inputstr.h
> @@ -203,6 +203,47 @@ typedef struct _GrabRec {
>      unsigned char       xi2mask[EMASKSIZE][XI2MASKSIZE];
>  } GrabRec;
>  
> +/**
> + * Sprite information for a device.
> + */
> +typedef struct _SpriteRec {
> +    CursorPtr	current;
> +    BoxRec	hotLimits;	/* logical constraints of hot spot */
> +    Bool	confined;	/* confined to screen */
> +    RegionPtr	hotShape;	/* additional logical shape constraint */
> +    BoxRec	physLimits;	/* physical constraints of hot spot */
> +    WindowPtr	win;		/* window of logical position */
> +    HotSpot	hot;		/* logical pointer position */
> +    HotSpot	hotPhys;	/* physical pointer position */
> +#ifdef PANORAMIX
> +    ScreenPtr	screen;		/* all others are in Screen 0 coordinates */
> +    RegionRec   Reg1;	        /* Region 1 for confining motion */
> +    RegionRec   Reg2;		/* Region 2 for confining virtual motion */
> +    WindowPtr   windows[MAXSCREENS];
> +    WindowPtr	confineWin;	/* confine window */ 
> +#endif
> +    /* The window trace information is used at dix/events.c to avoid having
> +     * to compute all the windows between the root and the current pointer
> +     * window each time a button or key goes down. The grabs on each of those
> +     * windows must be checked.
> +     * spriteTraces should only be used at dix/events.c! */
> +    WindowPtr *spriteTrace;
> +    int spriteTraceSize;
> +    int spriteTraceGood;
> +
> +    /* Due to delays between event generation and event processing, it is
> +     * possible that the pointer has crossed screen boundaries between the
> +     * time in which it begins generating events and the time when
> +     * those events are processed.
> +     *
> +     * pEnqueueScreen: screen the pointer was on when the event was generated
> +     * pDequeueScreen: screen the pointer was on when the event is processed
> +     */
> +    ScreenPtr pEnqueueScreen;
> +    ScreenPtr pDequeueScreen;
> +
> +} SpriteRec;
> +
>  typedef struct _KeyClassRec {
>      int			sourceid;
>      CARD8		down[DOWN_LENGTH];
> @@ -360,47 +401,6 @@ typedef struct _ClassesRec {
>  } ClassesRec;
>  
>  
> -/**
> - * Sprite information for a device.
> - */
> -typedef struct {
> -    CursorPtr	current;
> -    BoxRec	hotLimits;	/* logical constraints of hot spot */
> -    Bool	confined;	/* confined to screen */
> -    RegionPtr	hotShape;	/* additional logical shape constraint */
> -    BoxRec	physLimits;	/* physical constraints of hot spot */
> -    WindowPtr	win;		/* window of logical position */
> -    HotSpot	hot;		/* logical pointer position */
> -    HotSpot	hotPhys;	/* physical pointer position */
> -#ifdef PANORAMIX
> -    ScreenPtr	screen;		/* all others are in Screen 0 coordinates */
> -    RegionRec   Reg1;	        /* Region 1 for confining motion */
> -    RegionRec   Reg2;		/* Region 2 for confining virtual motion */
> -    WindowPtr   windows[MAXSCREENS];
> -    WindowPtr	confineWin;	/* confine window */ 
> -#endif
> -    /* The window trace information is used at dix/events.c to avoid having
> -     * to compute all the windows between the root and the current pointer
> -     * window each time a button or key goes down. The grabs on each of those
> -     * windows must be checked.
> -     * spriteTraces should only be used at dix/events.c! */
> -    WindowPtr *spriteTrace;
> -    int spriteTraceSize;
> -    int spriteTraceGood;
> -
> -    /* Due to delays between event generation and event processing, it is
> -     * possible that the pointer has crossed screen boundaries between the
> -     * time in which it begins generating events and the time when
> -     * those events are processed.
> -     *
> -     * pEnqueueScreen: screen the pointer was on when the event was generated
> -     * pDequeueScreen: screen the pointer was on when the event is processed
> -     */
> -    ScreenPtr pEnqueueScreen;
> -    ScreenPtr pDequeueScreen;
> -
> -} SpriteRec, *SpritePtr;
> -
>  /* Device properties */
>  typedef struct _XIPropertyValue
>  {
> -- 
> 1.7.2.3
> 


More information about the xorg-devel mailing list