040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Copyright © 2006 Sun Microsystems
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * documentation for any purpose is hereby granted without fee, provided that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * the above copyright notice appear in all copies and that both that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * copyright notice and this permission notice appear in supporting
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * documentation, and that the name of Sun Microsystems not be used in
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * advertising or publicity pertaining to distribution of the software without
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * specific, written prior permission. Sun Microsystems makes no
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * representations about the suitability of this software for any purpose. It
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * is provided "as is" without express or implied warranty.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * PERFORMANCE OF THIS SOFTWARE.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Copyright © 2003 Keith Packard
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * documentation for any purpose is hereby granted without fee, provided that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * the above copyright notice appear in all copies and that both that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * copyright notice and this permission notice appear in supporting
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * documentation, and that the name of Keith Packard not be used in
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * advertising or publicity pertaining to distribution of the software without
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * specific, written prior permission. Keith Packard makes no
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * representations about the suitability of this software for any purpose. It
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * is provided "as is" without express or implied warranty.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * PERFORMANCE OF THIS SOFTWARE.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifdef HAVE_DIX_CONFIG_H
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include <dix-config.h>
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifndef _COMPINT_H_
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define _COMPINT_H_
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "misc.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "scrnintstr.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "os.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "regionstr.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "validate.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "windowstr.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "input.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "resource.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "colormapst.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "cursorstr.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "dixstruct.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "gcstruct.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "servermd.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "dixevents.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "globals.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "picturestr.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "extnsionst.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "privates.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "mi.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "damage.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "damageextint.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "xfixes.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include <X11/extensions/compositeproto.h>
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include <assert.h>
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * enable this for debugging
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync #define COMPOSITE_DEBUG
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _CompClientWindow {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync struct _CompClientWindow *next;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int update;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} CompClientWindowRec, *CompClientWindowPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _CompWindow {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionRec borderClip;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DamagePtr damage; /* for automatic update mode */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool damageRegistered;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool damaged;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int update;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CompClientWindowPtr clients;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int oldx;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int oldy;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapPtr pOldPixmap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int borderClipX, borderClipY;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} CompWindowRec, *CompWindowPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define COMP_ORIGIN_INVALID 0x80000000
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _CompSubwindows {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int update;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CompClientWindowPtr clients;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} CompSubwindowsRec, *CompSubwindowsPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifndef COMP_INCLUDE_RGB24_VISUAL
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define COMP_INCLUDE_RGB24_VISUAL 0
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _CompOverlayClientRec *CompOverlayClientPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _CompOverlayClientRec {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CompOverlayClientPtr pNext;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ClientPtr pClient;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr pScreen;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID resource;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} CompOverlayClientRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _CompScreen {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PositionWindowProcPtr PositionWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CopyWindowProcPtr CopyWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CreateWindowProcPtr CreateWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DestroyWindowProcPtr DestroyWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RealizeWindowProcPtr RealizeWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync UnrealizeWindowProcPtr UnrealizeWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ClipNotifyProcPtr ClipNotify;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Called from ConfigureWindow, these
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * three track changes to the offscreen storage
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * geometry
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync MoveWindowProcPtr MoveWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ResizeWindowProcPtr ResizeWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangeBorderWidthProcPtr ChangeBorderWidth;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Reparenting has an effect on Subwindows redirect
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ReparentWindowProcPtr ReparentWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Colormaps for new visuals better not get installed
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync InstallColormapProcPtr InstallColormap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Fake backing store via automatic redirection
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangeWindowAttributesProcPtr ChangeWindowAttributes;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenBlockHandlerProcPtr BlockHandler;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CloseScreenProcPtr CloseScreen;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool damaged;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int numAlternateVisuals;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VisualID *alternateVisuals;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr pOverlayWin;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CompOverlayClientPtr pOverlayClients;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} CompScreenRec, *CompScreenPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern DevPrivateKey CompScreenPrivateKey;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern DevPrivateKey CompWindowPrivateKey;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern DevPrivateKey CompSubwindowsPrivateKey;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetCompScreen(s) ((CompScreenPtr) \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync dixLookupPrivate(&(s)->devPrivates, CompScreenPrivateKey))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetCompWindow(w) ((CompWindowPtr) \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync dixLookupPrivate(&(w)->devPrivates, CompWindowPrivateKey))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetCompSubwindows(w) ((CompSubwindowsPtr) \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync dixLookupPrivate(&(w)->devPrivates, CompSubwindowsPrivateKey))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern RESTYPE CompositeClientWindowType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern RESTYPE CompositeClientSubwindowsType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * compalloc.c
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompRedirectWindow (ClientPtr pClient, WindowPtr pWin, int update);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompFreeClientWindow (WindowPtr pWin, XID id);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompUnredirectWindow (ClientPtr pClient, WindowPtr pWin, int update);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompRedirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompFreeClientSubwindows (WindowPtr pWin, XID id);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompUnredirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompRedirectOneSubwindow (WindowPtr pParent, WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompUnredirectOneSubwindow (WindowPtr pParent, WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompAllocPixmap (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompFreePixmap (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompReallocPixmap (WindowPtr pWin, int x, int y,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int w, unsigned int h, int bw);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * compext.c
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeExtensionInit (void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * compinit.c
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeRegisterAlternateVisuals (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VisualID *vids, int nVisuals);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompScreenInit (ScreenPtr pScreen);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * compwindow.c
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifdef COMPOSITE_DEBUG
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompCheckTree (ScreenPtr pScreen);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#else
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define compCheckTree(s)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictFormatPtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompWindowFormat (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompSetPixmap (WindowPtr pWin, PixmapPtr pPixmap);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompCheckRedirect (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompPositionWindow (WindowPtr pWin, int x, int y);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompRealizeWindow (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompUnrealizeWindow (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompClipNotify (WindowPtr pWin, int dx, int dy);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompMoveWindow (WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompResizeWindow (WindowPtr pWin, int x, int y,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int w, unsigned int h, WindowPtr pSib);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompChangeBorderWidth (WindowPtr pWin, unsigned int border_width);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompReparentWindow (WindowPtr pWin, WindowPtr pPriorParent);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompCreateWindow (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompDestroyWindow (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompSetRedirectBorderClip (WindowPtr pWin, RegionPtr pRegion);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncRegionPtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompGetRedirectBorderClip (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccompWindowUpdate (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncdeleteCompOverlayClientsForScreen (ScreenPtr pScreen);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncWindowPtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeRealChildHead (WindowPtr pWin);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncDeleteWindowNoInputDevices(pointer value, XID wid);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* _COMPINT_H_ */