X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=utils%2Fxshm.h;h=6159b36aab791c302f9e08b7de4d1125999732dc;hp=54e492e28e4cdd8e973ec9b9f0d8dedf208fd4c5;hb=4361b69d3178d7fc98d0388f9a223af6c2651aba;hpb=df7adbee81405e2849728a24b498ad2117784b1f 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__ */