diff options
Diffstat (limited to 'uxa/uxa-priv.h')
-rw-r--r-- | uxa/uxa-priv.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h index 3d2b7764..d469474d 100644 --- a/uxa/uxa-priv.h +++ b/uxa/uxa-priv.h @@ -42,9 +42,13 @@ #define NEED_EVENTS #include <X11/Xproto.h> #ifdef MITSHM +#ifdef HAVE_XEXTPROTO_71 +#include <X11/extensions/shm.h> +#else #define _XSHM_SERVER_ #include <X11/extensions/shmstr.h> #endif +#endif #include "scrnintstr.h" #include "pixmapstr.h" #include "windowstr.h" @@ -321,9 +325,34 @@ uxa_get_image (DrawablePtr pDrawable, int x, int y, int w, int h, extern const GCOps uxa_ops; #ifdef MITSHM +/* XXX these come from shmint.h, which isn't exported by the server */ + +#ifdef HAVE_XEXTPROTO_71 +/* Up to xextproto 7.1, these were provided in shmstr.h */ +typedef struct _ShmFuncs { + PixmapPtr (* CreatePixmap)(ScreenPtr pScreen, + int width, + int height, + int depth, + char *addr); + void (* PutImage)(DrawablePtr dst, + GCPtr pGC, + int depth, + unsigned int format, + int w, + int h, + int sx, + int sy, + int sw, + int sh, + int dx, + int dy, + char *data); +} ShmFuncs, *ShmFuncsPtr; +#endif + extern ShmFuncs uxa_shm_funcs; -/* XXX these come from shmint.h, which isn't exported by the server */ void ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs); |