a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Permission is hereby granted, free of charge, to any person obtaining a
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * copy of this software and associated documentation files (the "Software"),
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * to deal in the Software without restriction, including without limitation
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * and/or sell copies of the Software, and to permit persons to whom the
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Software is furnished to do so, subject to the following conditions:
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * The above copyright notice and this permission notice (including the next
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * paragraph) shall be included in all copies or substantial portions of the
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Software.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * DEALINGS IN THE SOFTWARE.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Copyright © 2003 Keith Packard
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * documentation for any purpose is hereby granted without fee, provided that
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * the above copyright notice appear in all copies and that both that
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * copyright notice and this permission notice appear in supporting
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * documentation, and that the name of Keith Packard not be used in
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * advertising or publicity pertaining to distribution of the software without
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * specific, written prior permission. Keith Packard makes no
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * representations about the suitability of this software for any purpose. It
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * is provided "as is" without express or implied warranty.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * PERFORMANCE OF THIS SOFTWARE.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#ifdef HAVE_DIX_CONFIG_H
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include <dix-config.h>
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#endif
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#ifndef _COMPINT_H_
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define _COMPINT_H_
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "misc.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "scrnintstr.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "os.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "regionstr.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "validate.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "windowstr.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "input.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "resource.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "colormapst.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "cursorstr.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "dixstruct.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "gcstruct.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "servermd.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "dixevents.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "globals.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "picturestr.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "extnsionst.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "privates.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "mi.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "damage.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "damageextint.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "xfixes.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include <X11/extensions/compositeproto.h>
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "compositeext.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include <assert.h>
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * enable this for debugging
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync #define COMPOSITE_DEBUG
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct _CompClientWindow {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync struct _CompClientWindow *next;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync XID id;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int update;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} CompClientWindowRec, *CompClientWindowPtr;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct _CompWindow {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync RegionRec borderClip;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync DamagePtr damage; /* for automatic update mode */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync Bool damageRegistered;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync Bool damaged;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int update;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CompClientWindowPtr clients;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int oldx;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int oldy;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync PixmapPtr pOldPixmap;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int borderClipX, borderClipY;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} CompWindowRec, *CompWindowPtr;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define COMP_ORIGIN_INVALID 0x80000000
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct _CompSubwindows {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int update;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CompClientWindowPtr clients;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} CompSubwindowsRec, *CompSubwindowsPtr;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#ifndef COMP_INCLUDE_RGB24_VISUAL
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define COMP_INCLUDE_RGB24_VISUAL 0
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#endif
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct _CompOverlayClientRec *CompOverlayClientPtr;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct _CompOverlayClientRec {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CompOverlayClientPtr pNext;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ClientPtr pClient;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ScreenPtr pScreen;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync XID resource;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} CompOverlayClientRec;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct _CompScreen {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync PositionWindowProcPtr PositionWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CopyWindowProcPtr CopyWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CreateWindowProcPtr CreateWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync DestroyWindowProcPtr DestroyWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync RealizeWindowProcPtr RealizeWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync UnrealizeWindowProcPtr UnrealizeWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ClipNotifyProcPtr ClipNotify;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync /*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Called from ConfigureWindow, these
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * three track changes to the offscreen storage
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * geometry
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ConfigNotifyProcPtr ConfigNotify;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync MoveWindowProcPtr MoveWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ResizeWindowProcPtr ResizeWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ChangeBorderWidthProcPtr ChangeBorderWidth;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync /*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Reparenting has an effect on Subwindows redirect
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ReparentWindowProcPtr ReparentWindow;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync /*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Colormaps for new visuals better not get installed
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync InstallColormapProcPtr InstallColormap;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync /*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Fake backing store via automatic redirection
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ChangeWindowAttributesProcPtr ChangeWindowAttributes;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ScreenBlockHandlerProcPtr BlockHandler;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CloseScreenProcPtr CloseScreen;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int numAlternateVisuals;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync VisualID *alternateVisuals;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync WindowPtr pOverlayWin;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync Window overlayWid;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CompOverlayClientPtr pOverlayClients;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync GetImageProcPtr GetImage;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync SourceValidateProcPtr SourceValidate;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} CompScreenRec, *CompScreenPtr;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern DevPrivateKeyRec CompScreenPrivateKeyRec;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define CompScreenPrivateKey (&CompScreenPrivateKeyRec)
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern DevPrivateKeyRec CompWindowPrivateKeyRec;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define CompWindowPrivateKey (&CompWindowPrivateKeyRec)
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern DevPrivateKeyRec CompSubwindowsPrivateKeyRec;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define CompSubwindowsPrivateKey (&CompSubwindowsPrivateKeyRec)
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define GetCompScreen(s) ((CompScreenPtr) \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync dixLookupPrivate(&(s)->devPrivates, CompScreenPrivateKey))
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define GetCompWindow(w) ((CompWindowPtr) \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync dixLookupPrivate(&(w)->devPrivates, CompWindowPrivateKey))
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define GetCompSubwindows(w) ((CompSubwindowsPtr) \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync dixLookupPrivate(&(w)->devPrivates, CompSubwindowsPrivateKey))
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern RESTYPE CompositeClientSubwindowsType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern RESTYPE CompositeClientOverlayType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * compalloc.c
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compRedirectWindow(ClientPtr pClient, WindowPtr pWin, int update);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compFreeClientWindow(WindowPtr pWin, XID id);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncint
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compUnredirectWindow(ClientPtr pClient, WindowPtr pWin, int update);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncint
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compRedirectSubwindows(ClientPtr pClient, WindowPtr pWin, int update);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compFreeClientSubwindows(WindowPtr pWin, XID id);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncint
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compUnredirectSubwindows(ClientPtr pClient, WindowPtr pWin, int update);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncint
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compRedirectOneSubwindow(WindowPtr pParent, WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncint
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compUnredirectOneSubwindow(WindowPtr pParent, WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compAllocPixmap(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compSetParentPixmap(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compRestoreWindow(WindowPtr pWin, PixmapPtr pPixmap);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynccompReallocPixmap(WindowPtr pWin, int x, int y,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync unsigned int w, unsigned int h, int bw);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * compinit.c
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compScreenInit(ScreenPtr pScreen);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * compoverlay.c
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compFreeOverlayClient(CompOverlayClientPtr pOcToDel);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncCompOverlayClientPtr
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynccompFindOverlayClient(ScreenPtr pScreen, ClientPtr pClient);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncCompOverlayClientPtr
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynccompCreateOverlayClient(ScreenPtr pScreen, ClientPtr pClient);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compCreateOverlayWindow(ScreenPtr pScreen);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compDestroyOverlayWindow(ScreenPtr pScreen);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * compwindow.c
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#ifdef COMPOSITE_DEBUG
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compCheckTree(ScreenPtr pScreen);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#else
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define compCheckTree(s)
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#endif
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compSetPixmap(WindowPtr pWin, PixmapPtr pPixmap);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compCheckRedirect(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compPositionWindow(WindowPtr pWin, int x, int y);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compRealizeWindow(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compUnrealizeWindow(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compClipNotify(WindowPtr pWin, int dx, int dy);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compMoveWindow(WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynccompResizeWindow(WindowPtr pWin, int x, int y,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync unsigned int w, unsigned int h, WindowPtr pSib);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compChangeBorderWidth(WindowPtr pWin, unsigned int border_width);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compReparentWindow(WindowPtr pWin, WindowPtr pPriorParent);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compCreateWindow(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncBool
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compDestroyWindow(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compSetRedirectBorderClip(WindowPtr pWin, RegionPtr pRegion);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncRegionPtr
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compGetRedirectBorderClip(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync compPaintChildrenToWindow(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncWindowPtr
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CompositeRealChildHead(WindowPtr pWin);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncint
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync DeleteWindowNoInputDevices(pointer value, XID wid);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncint
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynccompConfigNotify(WindowPtr pWin, int x, int y, int w, int h,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync int bw, WindowPtr pSib);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid PanoramiXCompositeInit(void);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncvoid PanoramiXCompositeReset(void);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#endif /* _COMPINT_H_ */