Xi: Adding ChangeDeviceCursor request

This commit is contained in:
Peter Hutterer 2007-01-08 12:31:18 +10:30 committed by Peter Hutterer
commit 95e1a88050
9 changed files with 456 additions and 5 deletions

View file

@ -67,6 +67,10 @@ SOFTWARE.
#define WT_NOMATCH 3
#define NullWindow ((WindowPtr) 0)
/* Forward declaration, we can't include input.h here */
struct _DeviceIntRec;
struct _Cursor;
typedef struct _BackingStore *BackingStorePtr;
typedef struct _Window *WindowPtr;
@ -143,6 +147,15 @@ extern int ChangeWindowAttributes(
XID* /*vlist*/,
ClientPtr /*client*/);
extern int ChangeWindowDeviceCursor(
WindowPtr /*pWin*/,
struct _DeviceIntRec* /*pDev*/,
struct _Cursor* /*pCursor*/);
extern struct _Cursor* WindowGetDeviceCursor(
WindowPtr /*pWin*/,
struct _DeviceIntRec* /*pDev*/);
/* Quartz support on Mac OS X uses the HIToolbox
framework whose GetWindowAttributes function conflicts here. */
#ifdef __DARWIN__

View file

@ -70,6 +70,13 @@ SOFTWARE.
#define SameBorder(as, a, bs, b) \
EqualPixUnion(as, a, bs, b)
/* used as NULL-terminated list */
typedef struct _DevCursorNode {
CursorPtr cursor;
DeviceIntPtr dev;
struct _DevCursorNode* next;
} DevCursNodeRec, *DevCursNodePtr, *DevCursorList;
typedef struct _WindowOpt {
VisualID visual; /* default: same as parent */
CursorPtr cursor; /* default: window.cursorNone */
@ -89,6 +96,7 @@ typedef struct _WindowOpt {
#ifdef XINPUT
struct _OtherInputMasks *inputMasks; /* default: NULL */
#endif
DevCursorList deviceCursors; /* default: NULL */
} WindowOptRec, *WindowOptPtr;
#define BackgroundPixel 2L