45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Permission is hereby granted, free of charge, to any person obtaining a
45e9809aff7304721fddb95654901b32195c9c7avboxsync * copy of this software and associated documentation files (the "Software"),
45e9809aff7304721fddb95654901b32195c9c7avboxsync * to deal in the Software without restriction, including without limitation
45e9809aff7304721fddb95654901b32195c9c7avboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
45e9809aff7304721fddb95654901b32195c9c7avboxsync * and/or sell copies of the Software, and to permit persons to whom the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Software is furnished to do so, subject to the following conditions:
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * The above copyright notice and this permission notice (including the next
45e9809aff7304721fddb95654901b32195c9c7avboxsync * paragraph) shall be included in all copies or substantial portions of the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Software.
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
45e9809aff7304721fddb95654901b32195c9c7avboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45e9809aff7304721fddb95654901b32195c9c7avboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
45e9809aff7304721fddb95654901b32195c9c7avboxsync * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
45e9809aff7304721fddb95654901b32195c9c7avboxsync * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45e9809aff7304721fddb95654901b32195c9c7avboxsync * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
45e9809aff7304721fddb95654901b32195c9c7avboxsync * DEALINGS IN THE SOFTWARE.
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Copyright © 2003 Keith Packard
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Permission to use, copy, modify, distribute, and sell this software and its
45e9809aff7304721fddb95654901b32195c9c7avboxsync * documentation for any purpose is hereby granted without fee, provided that
45e9809aff7304721fddb95654901b32195c9c7avboxsync * the above copyright notice appear in all copies and that both that
45e9809aff7304721fddb95654901b32195c9c7avboxsync * copyright notice and this permission notice appear in supporting
45e9809aff7304721fddb95654901b32195c9c7avboxsync * documentation, and that the name of Keith Packard not be used in
45e9809aff7304721fddb95654901b32195c9c7avboxsync * advertising or publicity pertaining to distribution of the software without
45e9809aff7304721fddb95654901b32195c9c7avboxsync * specific, written prior permission. Keith Packard makes no
45e9809aff7304721fddb95654901b32195c9c7avboxsync * representations about the suitability of this software for any purpose. It
45e9809aff7304721fddb95654901b32195c9c7avboxsync * is provided "as is" without express or implied warranty.
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
45e9809aff7304721fddb95654901b32195c9c7avboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
45e9809aff7304721fddb95654901b32195c9c7avboxsync * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
45e9809aff7304721fddb95654901b32195c9c7avboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
45e9809aff7304721fddb95654901b32195c9c7avboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
45e9809aff7304721fddb95654901b32195c9c7avboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
45e9809aff7304721fddb95654901b32195c9c7avboxsync * PERFORMANCE OF THIS SOFTWARE.
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifdef HAVE_DIX_CONFIG_H
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include <dix-config.h>
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifndef _COMPINT_H_
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _COMPINT_H_
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "misc.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "scrnintstr.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "os.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "regionstr.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "validate.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "windowstr.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "input.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "resource.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "colormapst.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "cursorstr.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "dixstruct.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "gcstruct.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "servermd.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "dixevents.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "globals.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "picturestr.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "extnsionst.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "privates.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "mi.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "damage.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "damageextint.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "xfixes.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include <X11/extensions/compositeproto.h>
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include <assert.h>
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * enable this for debugging
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync #define COMPOSITE_DEBUG
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _CompClientWindow {
45e9809aff7304721fddb95654901b32195c9c7avboxsync struct _CompClientWindow *next;
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID id;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int update;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} CompClientWindowRec, *CompClientWindowPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _CompWindow {
45e9809aff7304721fddb95654901b32195c9c7avboxsync RegionRec borderClip;
45e9809aff7304721fddb95654901b32195c9c7avboxsync DamagePtr damage; /* for automatic update mode */
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool damageRegistered;
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool damaged;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int update;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CompClientWindowPtr clients;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int oldx;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int oldy;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PixmapPtr pOldPixmap;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int borderClipX, borderClipY;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} CompWindowRec, *CompWindowPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define COMP_ORIGIN_INVALID 0x80000000
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _CompSubwindows {
45e9809aff7304721fddb95654901b32195c9c7avboxsync int update;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CompClientWindowPtr clients;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} CompSubwindowsRec, *CompSubwindowsPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifndef COMP_INCLUDE_RGB24_VISUAL
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define COMP_INCLUDE_RGB24_VISUAL 0
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _CompOverlayClientRec *CompOverlayClientPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _CompOverlayClientRec {
45e9809aff7304721fddb95654901b32195c9c7avboxsync CompOverlayClientPtr pNext;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr pClient;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ScreenPtr pScreen;
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID resource;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} CompOverlayClientRec;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _CompScreen {
45e9809aff7304721fddb95654901b32195c9c7avboxsync PositionWindowProcPtr PositionWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CopyWindowProcPtr CopyWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CreateWindowProcPtr CreateWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync DestroyWindowProcPtr DestroyWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync RealizeWindowProcPtr RealizeWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync UnrealizeWindowProcPtr UnrealizeWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClipNotifyProcPtr ClipNotify;
45e9809aff7304721fddb95654901b32195c9c7avboxsync /*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Called from ConfigureWindow, these
45e9809aff7304721fddb95654901b32195c9c7avboxsync * three track changes to the offscreen storage
45e9809aff7304721fddb95654901b32195c9c7avboxsync * geometry
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync MoveWindowProcPtr MoveWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ResizeWindowProcPtr ResizeWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ChangeBorderWidthProcPtr ChangeBorderWidth;
45e9809aff7304721fddb95654901b32195c9c7avboxsync /*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Reparenting has an effect on Subwindows redirect
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync ReparentWindowProcPtr ReparentWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync /*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Colormaps for new visuals better not get installed
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync InstallColormapProcPtr InstallColormap;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync /*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Fake backing store via automatic redirection
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync ChangeWindowAttributesProcPtr ChangeWindowAttributes;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync ScreenBlockHandlerProcPtr BlockHandler;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CloseScreenProcPtr CloseScreen;
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool damaged;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int numAlternateVisuals;
45e9809aff7304721fddb95654901b32195c9c7avboxsync VisualID *alternateVisuals;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync WindowPtr pOverlayWin;
45e9809aff7304721fddb95654901b32195c9c7avboxsync Window overlayWid;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CompOverlayClientPtr pOverlayClients;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync} CompScreenRec, *CompScreenPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern DevPrivateKey CompScreenPrivateKey;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern DevPrivateKey CompWindowPrivateKey;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern DevPrivateKey CompSubwindowsPrivateKey;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define GetCompScreen(s) ((CompScreenPtr) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync dixLookupPrivate(&(s)->devPrivates, CompScreenPrivateKey))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define GetCompWindow(w) ((CompWindowPtr) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync dixLookupPrivate(&(w)->devPrivates, CompWindowPrivateKey))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define GetCompSubwindows(w) ((CompSubwindowsPtr) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync dixLookupPrivate(&(w)->devPrivates, CompSubwindowsPrivateKey))
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern RESTYPE CompositeClientWindowType;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern RESTYPE CompositeClientSubwindowsType;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern RESTYPE CompositeClientOverlayType;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * compalloc.c
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompRedirectWindow (ClientPtr pClient, WindowPtr pWin, int update);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompFreeClientWindow (WindowPtr pWin, XID id);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompUnredirectWindow (ClientPtr pClient, WindowPtr pWin, int update);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompRedirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompFreeClientSubwindows (WindowPtr pWin, XID id);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompUnredirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompRedirectOneSubwindow (WindowPtr pParent, WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompUnredirectOneSubwindow (WindowPtr pParent, WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompAllocPixmap (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompFreePixmap (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompReallocPixmap (WindowPtr pWin, int x, int y,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int w, unsigned int h, int bw);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * compext.c
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositeExtensionInit (void);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * compinit.c
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompScreenInit (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * compoverlay.c
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompFreeOverlayClient (CompOverlayClientPtr pOcToDel);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompOverlayClientPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompFindOverlayClient (ScreenPtr pScreen, ClientPtr pClient);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompOverlayClientPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompCreateOverlayClient (ScreenPtr pScreen, ClientPtr pClient);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompCreateOverlayWindow (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompDestroyOverlayWindow (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * compwindow.c
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifdef COMPOSITE_DEBUG
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompCheckTree (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync#else
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define compCheckTree(s)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictFormatPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompWindowFormat (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompSetPixmap (WindowPtr pWin, PixmapPtr pPixmap);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompCheckRedirect (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompPositionWindow (WindowPtr pWin, int x, int y);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompRealizeWindow (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompUnrealizeWindow (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompClipNotify (WindowPtr pWin, int dx, int dy);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompMoveWindow (WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompResizeWindow (WindowPtr pWin, int x, int y,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int w, unsigned int h, WindowPtr pSib);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompChangeBorderWidth (WindowPtr pWin, unsigned int border_width);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompReparentWindow (WindowPtr pWin, WindowPtr pPriorParent);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompCreateWindow (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompDestroyWindow (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompSetRedirectBorderClip (WindowPtr pWin, RegionPtr pRegion);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncRegionPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompGetRedirectBorderClip (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsynccompWindowUpdate (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncWindowPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositeRealChildHead (WindowPtr pWin);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncDeleteWindowNoInputDevices(pointer value, XID wid);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif /* _COMPINT_H_ */