X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utils%2Fxshm.h;h=6159b36aab791c302f9e08b7de4d1125999732dc;hb=HEAD;hp=54e492e28e4cdd8e973ec9b9f0d8dedf208fd4c5;hpb=ce3185de9d9705e259f2b60dd4b5509007fa17d4;p=xscreensaver diff --git a/utils/xshm.h b/utils/xshm.h index 54e492e2..6159b36a 100644 --- a/utils/xshm.h +++ b/utils/xshm.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998 +/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 2001 * by Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its @@ -17,6 +17,7 @@ */ #ifndef __XSCREENSAVER_XSHM_H__ +#define __XSCREENSAVER_XSHM_H__ #ifdef HAVE_XSHM_EXTENSION @@ -24,12 +25,30 @@ # include # include -extern XImage *create_xshm_image (Display *dpy, Visual *visual, - unsigned int depth, - int format, char *data, - XShmSegmentInfo *shm_info, - unsigned int width, unsigned int height); +#else /* !HAVE_XSHM_EXTENSION */ + +typedef struct { + int shmid; /* Always -1. */ +} dummy_segment_info; + +/* In case XShmSegmentInfo */ +#undef XShmSegmentInfo +#define XShmSegmentInfo dummy_segment_info -#endif /* HAVE_XSHM_EXTENSION */ +#endif + +extern XImage *create_xshm_image (Display *dpy, Visual *visual, + unsigned int depth, + int format, XShmSegmentInfo *shm_info, + unsigned int width, unsigned int height); +extern Bool put_xshm_image (Display *dpy, Drawable d, GC gc, XImage *image, + int src_x, int src_y, int dest_x, int dest_y, + unsigned int width, unsigned int height, + XShmSegmentInfo *shm_info); +extern Bool get_xshm_image (Display *dpy, Drawable d, XImage *image, + int x, int y, unsigned long plane_mask, + XShmSegmentInfo *shm_info); +extern void destroy_xshm_image (Display *dpy, XImage *image, + XShmSegmentInfo *shm_info); #endif /* __XSCREENSAVER_XSHM_H__ */