dix: Moving SpriteRec into DeviceIntRec

removing global sprite structure
	beginning to remove MPX ifdefs

xnest:  Fix to make xnest compile again
This commit is contained in:
Peter Hutterer 2006-12-11 18:09:59 +10:30 committed by Peter Hutterer
commit ae3c24da34
14 changed files with 483 additions and 514 deletions

View file

@ -144,7 +144,7 @@ extern void GetSpritePosition(
int * /*py*/);
#ifdef PANORAMIX
extern int XineramaGetCursorScreen(void);
extern int XineramaGetCursorScreen(struct _DeviceIntRec* pDev);
#endif /* PANORAMIX */
#endif /* CURSOR_H */

View file

@ -649,6 +649,10 @@ extern int GrabDevice(
CARD8 * /* status */);
extern void InitEvents(void);
extern void InitSprite(
DeviceIntPtr /* pDev */,
Bool /* hasCursor */
);
extern void CloseDownEvents(void);

View file

@ -28,7 +28,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
extern void SetCriticalEvent(int /* event */);
extern CursorPtr GetSpriteCursor(void);
extern CursorPtr GetSpriteCursor(DeviceIntPtr /*pDev*/);
extern int ProcAllowEvents(ClientPtr /* client */);
@ -103,7 +103,11 @@ extern int ProcUngrabButton(ClientPtr /* client */);
extern int ProcRecolorCursor(ClientPtr /* client */);
#ifdef PANORAMIX
extern void PostSyntheticMotion(int x, int y, ScreenPtr pScreen, unsigned long time);
extern void PostSyntheticMotion(DeviceIntPtr pDev,
int x,
int y,
ScreenPtr pScreen,
unsigned long time);
#endif
#endif /* DIXEVENTS_H */

View file

@ -62,9 +62,6 @@ SOFTWARE.
#define POINTER_RELATIVE (1 << 1)
#define POINTER_ABSOLUTE (1 << 2)
#define POINTER_ACCELERATE (1 << 3)
#ifdef MPX
#define POINTER_MULTIPOINTER (1 << 4)
#endif
#define MAP_LENGTH 256
#define DOWN_LENGTH 32 /* 256/8 => number of bytes to hold 256 bits */
@ -422,6 +419,7 @@ extern int GetProximityEvents(
int *valuators);
extern void PostSyntheticMotion(
DeviceIntPtr pDev,
int x,
int y,
ScreenPtr pScreen,

View file

@ -52,6 +52,7 @@ SOFTWARE.
#include "input.h"
#include "window.h"
#include "dixstruct.h"
#include "cursorstr.h"
#define BitIsOn(ptr, bit) (((BYTE *) (ptr))[(bit)>>3] & (1 << ((bit) & 7)))
@ -264,6 +265,30 @@ typedef struct _LedFeedbackClassRec {
#endif
} LedFeedbackClassRec;
/**
* Sprite information for a device.
*/
typedef struct {
CursorPtr current;
BoxRec hotLimits; /* logical constraints of hot spot */
Bool confined; /* confined to screen */
#if defined(SHAPE) || defined(PANORAMIX)
RegionPtr hotShape; /* additional logical shape constraint */
#endif
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
} SpriteRec, *SpritePtr;
/* states for devices */
#define NOT_GRABBED 0
@ -329,9 +354,8 @@ typedef struct _DeviceIntRec {
DevUnion *devPrivates;
int nPrivates;
DeviceUnwrapProc unwrapProc;
#ifdef MPX
Bool isMPDev; /* TRUE if multipointer device */
#endif
SpritePtr pSprite; /* sprite information */
} DeviceIntRec;
typedef struct {