diff options
author | marha <marha@users.sourceforge.net> | 2014-05-01 17:03:50 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-05-01 17:03:50 +0200 |
commit | aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa (patch) | |
tree | 37bc7921f864ead4f6eb357b31a1eb66d46aaef9 /xorg-server/hw/xfree86/ramdac/xf86Cursor.h | |
parent | 2e0adb33e03e3142f1412ed570415c5ce616dcef (diff) | |
parent | ea0cd87ecbe9fc3c5503ccad7f87a895a458d6d4 (diff) | |
download | vcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.tar.gz vcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.tar.bz2 vcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
libxcb/src/xcb_util.c
mesalib/src/mesa/drivers/dri/common/dri_util.c
xorg-server/os/utils.c
Diffstat (limited to 'xorg-server/hw/xfree86/ramdac/xf86Cursor.h')
-rw-r--r-- | xorg-server/hw/xfree86/ramdac/xf86Cursor.h | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/xorg-server/hw/xfree86/ramdac/xf86Cursor.h b/xorg-server/hw/xfree86/ramdac/xf86Cursor.h index 1ecbdcd8d..a389a9988 100644 --- a/xorg-server/hw/xfree86/ramdac/xf86Cursor.h +++ b/xorg-server/hw/xfree86/ramdac/xf86Cursor.h @@ -12,7 +12,8 @@ typedef struct _xf86CursorInfoRec { int MaxHeight; void (*SetCursorColors) (ScrnInfoPtr pScrn, int bg, int fg); void (*SetCursorPosition) (ScrnInfoPtr pScrn, int x, int y); - Bool (*LoadCursorImage) (ScrnInfoPtr pScrn, unsigned char *bits); + void (*LoadCursorImage) (ScrnInfoPtr pScrn, unsigned char *bits); + Bool (*LoadCursorImageCheck) (ScrnInfoPtr pScrn, unsigned char *bits); void (*HideCursor) (ScrnInfoPtr pScrn); void (*ShowCursor) (ScrnInfoPtr pScrn); unsigned char *(*RealizeCursor) (struct _xf86CursorInfoRec *, CursorPtr); @@ -20,11 +21,42 @@ typedef struct _xf86CursorInfoRec { #ifdef ARGB_CURSOR Bool (*UseHWCursorARGB) (ScreenPtr, CursorPtr); - Bool (*LoadCursorARGB) (ScrnInfoPtr, CursorPtr); + void (*LoadCursorARGB) (ScrnInfoPtr, CursorPtr); + Bool (*LoadCursorARGBCheck) (ScrnInfoPtr, CursorPtr); #endif } xf86CursorInfoRec, *xf86CursorInfoPtr; +static inline Bool +xf86DriverHasLoadCursorImage(xf86CursorInfoPtr infoPtr) +{ + return infoPtr->LoadCursorImageCheck || infoPtr->LoadCursorImage; +} + +static inline Bool +xf86DriverLoadCursorImage(xf86CursorInfoPtr infoPtr, unsigned char *bits) +{ + if(infoPtr->LoadCursorImageCheck) + return infoPtr->LoadCursorImageCheck(infoPtr->pScrn, bits); + infoPtr->LoadCursorImage(infoPtr->pScrn, bits); + return TRUE; +} + +static inline Bool +xf86DriverHasLoadCursorARGB(xf86CursorInfoPtr infoPtr) +{ + return infoPtr->LoadCursorARGBCheck || infoPtr->LoadCursorARGB; +} + +static inline Bool +xf86DriverLoadCursorARGB(xf86CursorInfoPtr infoPtr, CursorPtr pCursor) +{ + if(infoPtr->LoadCursorARGBCheck) + return infoPtr->LoadCursorARGBCheck(infoPtr->pScrn, pCursor); + infoPtr->LoadCursorARGB(infoPtr->pScrn, pCursor); + return TRUE; +} + extern _X_EXPORT Bool xf86InitCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr); extern _X_EXPORT xf86CursorInfoPtr xf86CreateCursorInfoRec(void); |