xserver-multidpi/hw/xfree86/ramdac/xf86Cursor.h
Paulo Cesar Pereira de Andrade 49f77fff14 Rework symbol visibility for easier maintenance
Save in a few special cases, _X_EXPORT should not be used in C source
files. Instead, it should be used in headers, and the proper C source
include that header. Some special cases are symbols that need to be
shared between modules, but not expected to be used by external drivers,
and symbols that are accessible via LoaderSymbol/dlopen.

  This patch also adds conditionally some new sdk header files, depending
on extensions enabled. These files were added to match pattern for
other extensions/modules, that is, have the headers "deciding" symbol
visibility in the sdk. These headers are:
o Xext/panoramiXsrv.h, Xext/panoramiX.h
o fbpict.h (unconditionally)
o vidmodeproc.h
o mioverlay.h (unconditionally, used only by xaa)
o xfixes.h (unconditionally, symbols required by dri2)

  LoaderSymbol and similar functions now don't have different prototypes,
in loaderProcs.h and xf86Module.h, so that both headers can be included,
without the need of defining IN_LOADER.

  xf86NewInputDevice() device prototype readded to xf86Xinput.h, but
not exported (and with a comment about it).
2008-12-03 05:43:34 -02:00

52 lines
1.9 KiB
C

#ifndef _XF86CURSOR_H
#define _XF86CURSOR_H
#include "xf86str.h"
#include "mipointer.h"
typedef struct _xf86CursorInfoRec {
ScrnInfoPtr pScrn;
int Flags;
int MaxWidth;
int MaxHeight;
void (*SetCursorColors)(ScrnInfoPtr pScrn, int bg, int fg);
void (*SetCursorPosition)(ScrnInfoPtr pScrn, int x, int y);
void (*LoadCursorImage)(ScrnInfoPtr pScrn, unsigned char *bits);
void (*HideCursor)(ScrnInfoPtr pScrn);
void (*ShowCursor)(ScrnInfoPtr pScrn);
unsigned char* (*RealizeCursor)(struct _xf86CursorInfoRec *, CursorPtr);
Bool (*UseHWCursor)(ScreenPtr, CursorPtr);
#ifdef ARGB_CURSOR
Bool (*UseHWCursorARGB) (ScreenPtr, CursorPtr);
void (*LoadCursorARGB) (ScrnInfoPtr, CursorPtr);
#endif
} xf86CursorInfoRec, *xf86CursorInfoPtr;
extern _X_EXPORT Bool xf86InitCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr);
extern _X_EXPORT xf86CursorInfoPtr xf86CreateCursorInfoRec(void);
extern _X_EXPORT void xf86DestroyCursorInfoRec(xf86CursorInfoPtr);
extern _X_EXPORT void xf86ForceHWCursor (ScreenPtr pScreen, Bool on);
#define HARDWARE_CURSOR_INVERT_MASK 0x00000001
#define HARDWARE_CURSOR_AND_SOURCE_WITH_MASK 0x00000002
#define HARDWARE_CURSOR_SWAP_SOURCE_AND_MASK 0x00000004
#define HARDWARE_CURSOR_SOURCE_MASK_NOT_INTERLEAVED 0x00000008
#define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_1 0x00000010
#define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_8 0x00000020
#define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_16 0x00000040
#define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_32 0x00000080
#define HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_64 0x00000100
#define HARDWARE_CURSOR_TRUECOLOR_AT_8BPP 0x00000200
#define HARDWARE_CURSOR_BIT_ORDER_MSBFIRST 0x00000400
#define HARDWARE_CURSOR_NIBBLE_SWAPPED 0x00000800
#define HARDWARE_CURSOR_SHOW_TRANSPARENT 0x00001000
#define HARDWARE_CURSOR_UPDATE_UNHIDDEN 0x00002000
#ifdef ARGB_CURSOR
#define HARDWARE_CURSOR_ARGB 0x00004000
#endif
#endif /* _XF86CURSOR_H */