xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

xf86Cursor.h (3491B)


      1 
      2 #ifndef _XF86CURSOR_H
      3 #define _XF86CURSOR_H
      4 
      5 #include "xf86str.h"
      6 #include "mipointer.h"
      7 
      8 typedef struct _xf86CursorInfoRec {
      9     ScrnInfoPtr pScrn;
     10     int Flags;
     11     int MaxWidth;
     12     int MaxHeight;
     13     void (*SetCursorColors) (ScrnInfoPtr pScrn, int bg, int fg);
     14     void (*SetCursorPosition) (ScrnInfoPtr pScrn, int x, int y);
     15     void (*LoadCursorImage) (ScrnInfoPtr pScrn, unsigned char *bits);
     16     Bool (*LoadCursorImageCheck) (ScrnInfoPtr pScrn, unsigned char *bits);
     17     void (*HideCursor) (ScrnInfoPtr pScrn);
     18     void (*ShowCursor) (ScrnInfoPtr pScrn);
     19     Bool (*ShowCursorCheck) (ScrnInfoPtr pScrn);
     20     unsigned char *(*RealizeCursor) (struct _xf86CursorInfoRec *, CursorPtr);
     21     Bool (*UseHWCursor) (ScreenPtr, CursorPtr);
     22 
     23     Bool (*UseHWCursorARGB) (ScreenPtr, CursorPtr);
     24     void (*LoadCursorARGB) (ScrnInfoPtr, CursorPtr);
     25     Bool (*LoadCursorARGBCheck) (ScrnInfoPtr, CursorPtr);
     26 
     27 } xf86CursorInfoRec, *xf86CursorInfoPtr;
     28 
     29 static inline Bool
     30 xf86DriverHasLoadCursorImage(xf86CursorInfoPtr infoPtr)
     31 {
     32     return infoPtr->LoadCursorImageCheck || infoPtr->LoadCursorImage;
     33 }
     34 
     35 static inline Bool
     36 xf86DriverLoadCursorImage(xf86CursorInfoPtr infoPtr, unsigned char *bits)
     37 {
     38     if(infoPtr->LoadCursorImageCheck)
     39         return infoPtr->LoadCursorImageCheck(infoPtr->pScrn, bits);
     40     infoPtr->LoadCursorImage(infoPtr->pScrn, bits);
     41     return TRUE;
     42 }
     43 
     44 static inline Bool
     45 xf86DriverHasShowCursor(xf86CursorInfoPtr infoPtr)
     46 {
     47     return infoPtr->ShowCursorCheck || infoPtr->ShowCursor;
     48 }
     49 
     50 static inline Bool
     51 xf86DriverShowCursor(xf86CursorInfoPtr infoPtr)
     52 {
     53     if(infoPtr->ShowCursorCheck)
     54         return infoPtr->ShowCursorCheck(infoPtr->pScrn);
     55     infoPtr->ShowCursor(infoPtr->pScrn);
     56     return TRUE;
     57 }
     58 
     59 static inline Bool
     60 xf86DriverHasLoadCursorARGB(xf86CursorInfoPtr infoPtr)
     61 {
     62     return infoPtr->LoadCursorARGBCheck || infoPtr->LoadCursorARGB;
     63 }
     64 
     65 static inline Bool
     66 xf86DriverLoadCursorARGB(xf86CursorInfoPtr infoPtr, CursorPtr pCursor)
     67 {
     68     if(infoPtr->LoadCursorARGBCheck)
     69         return infoPtr->LoadCursorARGBCheck(infoPtr->pScrn, pCursor);
     70     infoPtr->LoadCursorARGB(infoPtr->pScrn, pCursor);
     71     return TRUE;
     72 }
     73 
     74 extern _X_EXPORT Bool xf86InitCursor(ScreenPtr pScreen,
     75                                      xf86CursorInfoPtr infoPtr);
     76 extern _X_EXPORT xf86CursorInfoPtr xf86CreateCursorInfoRec(void);
     77 extern _X_EXPORT void xf86DestroyCursorInfoRec(xf86CursorInfoPtr);
     78 extern _X_EXPORT void xf86CursorResetCursor(ScreenPtr pScreen);
     79 extern _X_EXPORT void xf86ForceHWCursor(ScreenPtr pScreen, Bool on);
     80 extern _X_EXPORT CursorPtr xf86CurrentCursor(ScreenPtr pScreen);
     81 
     82 #define HARDWARE_CURSOR_INVERT_MASK 			0x00000001
     83 #define HARDWARE_CURSOR_AND_SOURCE_WITH_MASK		0x00000002
     84 #define HARDWARE_CURSOR_SWAP_SOURCE_AND_MASK		0x00000004
     85 #define HARDWARE_CURSOR_SOURCE_MASK_NOT_INTERLEAVED	0x00000008
     86 #define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_1	0x00000010
     87 #define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_8	0x00000020
     88 #define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_16	0x00000040
     89 #define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_32	0x00000080
     90 #define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_64	0x00000100
     91 #define HARDWARE_CURSOR_TRUECOLOR_AT_8BPP		0x00000200
     92 #define HARDWARE_CURSOR_BIT_ORDER_MSBFIRST		0x00000400
     93 #define HARDWARE_CURSOR_NIBBLE_SWAPPED			0x00000800
     94 #define HARDWARE_CURSOR_SHOW_TRANSPARENT		0x00001000
     95 #define HARDWARE_CURSOR_UPDATE_UNHIDDEN			0x00002000
     96 #define HARDWARE_CURSOR_ARGB				0x00004000
     97 
     98 #endif                          /* _XF86CURSOR_H */