Xcomposite.h revision 52b01e16
14b0ead49Smrg/*
24b0ead49Smrg * Copyright © 2006 Sun Microsystems
34b0ead49Smrg *
44b0ead49Smrg * Permission to use, copy, modify, distribute, and sell this software and its
54b0ead49Smrg * documentation for any purpose is hereby granted without fee, provided that
64b0ead49Smrg * the above copyright notice appear in all copies and that both that
74b0ead49Smrg * copyright notice and this permission notice appear in supporting
84b0ead49Smrg * documentation, and that the name of Sun Microsystems not be used in
94b0ead49Smrg * advertising or publicity pertaining to distribution of the software without
104b0ead49Smrg * specific, written prior permission.  Sun Microsystems makes no
114b0ead49Smrg * representations about the suitability of this software for any purpose.  It
124b0ead49Smrg * is provided "as is" without express or implied warranty.
134b0ead49Smrg *
144b0ead49Smrg * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
154b0ead49Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
164b0ead49Smrg * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
174b0ead49Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
184b0ead49Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
194b0ead49Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
204b0ead49Smrg * PERFORMANCE OF THIS SOFTWARE.
214b0ead49Smrg *
224b0ead49Smrg * Copyright © 2003 Keith Packard
234b0ead49Smrg *
244b0ead49Smrg * Permission to use, copy, modify, distribute, and sell this software and its
254b0ead49Smrg * documentation for any purpose is hereby granted without fee, provided that
264b0ead49Smrg * the above copyright notice appear in all copies and that both that
274b0ead49Smrg * copyright notice and this permission notice appear in supporting
284b0ead49Smrg * documentation, and that the name of Keith Packard not be used in
294b0ead49Smrg * advertising or publicity pertaining to distribution of the software without
304b0ead49Smrg * specific, written prior permission.  Keith Packard makes no
314b0ead49Smrg * representations about the suitability of this software for any purpose.  It
324b0ead49Smrg * is provided "as is" without express or implied warranty.
334b0ead49Smrg *
344b0ead49Smrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
354b0ead49Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
364b0ead49Smrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
374b0ead49Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
384b0ead49Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
394b0ead49Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
404b0ead49Smrg * PERFORMANCE OF THIS SOFTWARE.
414b0ead49Smrg */
424b0ead49Smrg
434b0ead49Smrg#ifndef _XCOMPOSITE_H_
444b0ead49Smrg#define _XCOMPOSITE_H_
454b0ead49Smrg
464b0ead49Smrg#include <X11/extensions/composite.h>
474b0ead49Smrg#include <X11/extensions/Xfixes.h>
484b0ead49Smrg#include <X11/Xfuncproto.h>
494b0ead49Smrg
504b0ead49Smrg/*
514b0ead49Smrg * This revision number also appears in configure.ac, they have
524b0ead49Smrg * to be manually synchronized
534b0ead49Smrg */
544b0ead49Smrg#define XCOMPOSITE_MAJOR	COMPOSITE_MAJOR
554b0ead49Smrg#define XCOMPOSITE_MINOR	COMPOSITE_MINOR
564b0ead49Smrg#define XCOMPOSITE_REVISION	2
574b0ead49Smrg#define XCOMPOSITE_VERSION	((XCOMPOSITE_MAJOR * 10000) + (XCOMPOSITE_MINOR * 100) + (XCOMPOSITE_REVISION))
584b0ead49Smrg
594b0ead49Smrg_XFUNCPROTOBEGIN
604b0ead49Smrg
6152b01e16SmrgBool XCompositeQueryExtension (Display *dpy,
6252b01e16Smrg                               int *event_base_return,
6352b01e16Smrg                               int *error_base_return);
644b0ead49Smrg
654b0ead49SmrgStatus XCompositeQueryVersion (Display *dpy,
6652b01e16Smrg                               int     *major_version_return,
6752b01e16Smrg                               int     *minor_version_return);
684b0ead49Smrg
694b0ead49Smrgint XCompositeVersion (void);
704b0ead49Smrg
714b0ead49Smrgvoid
724b0ead49SmrgXCompositeRedirectWindow (Display *dpy, Window window, int update);
734b0ead49Smrg
744b0ead49Smrgvoid
754b0ead49SmrgXCompositeRedirectSubwindows (Display *dpy, Window window, int update);
764b0ead49Smrg
774b0ead49Smrgvoid
784b0ead49SmrgXCompositeUnredirectWindow (Display *dpy, Window window, int update);
794b0ead49Smrg
804b0ead49Smrgvoid
814b0ead49SmrgXCompositeUnredirectSubwindows (Display *dpy, Window window, int update);
824b0ead49Smrg
834b0ead49SmrgXserverRegion
844b0ead49SmrgXCompositeCreateRegionFromBorderClip (Display *dpy, Window window);
854b0ead49Smrg
864b0ead49SmrgPixmap
874b0ead49SmrgXCompositeNameWindowPixmap (Display *dpy, Window window);
884b0ead49Smrg
894b0ead49SmrgWindow
904b0ead49SmrgXCompositeGetOverlayWindow (Display *dpy, Window window);
914b0ead49Smrg
924b0ead49Smrgvoid
934b0ead49SmrgXCompositeReleaseOverlayWindow (Display *dpy, Window window);
944b0ead49Smrg
954b0ead49Smrg_XFUNCPROTOEND
964b0ead49Smrg
974b0ead49Smrg#endif /* _XCOMPOSITE_H_ */
98