Add COMPOSITE change to fbCopyWindow (not needed yet)

Xnest was half-using midispcur and doing a bad job of it. Replace all of
    that code with mipointer which does a lot of the work.
Support DDXen which don't provide GetWindowPixmap, or which return NULL for
    the root pixmap.
This commit is contained in:
Keith Packard 2004-08-11 22:40:14 +00:00
commit fd439afdfe
8 changed files with 134 additions and 133 deletions

View file

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/fb/fbwindow.c,v 1.2 2004/04/23 19:05:14 eich Exp $ */
/*
* Id: fbwindow.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
@ -123,6 +123,9 @@ fbCopyWindow(WindowPtr pWin,
RegionRec rgnDst;
int dx, dy;
WindowPtr pwinRoot;
#ifdef COMPOSITE
PixmapPtr pPixmap = fbGetWindowPixmap (pWin);
#endif
pwinRoot = WindowTable[pWin->drawable.pScreen->myNum];
@ -134,6 +137,12 @@ fbCopyWindow(WindowPtr pWin,
REGION_INTERSECT(pWin->drawable.pScreen, &rgnDst, &pWin->borderClip, prgnSrc);
#ifdef COMPOSITE
if (pPixmap->screen_x || pPixmap->screen_y)
REGION_TRANSLATE (pWin->drawable.pScreen, &rgnDst,
-pPixmap->screen_x, -pPixmap->screen_y);
#endif
fbCopyRegion ((DrawablePtr)pwinRoot, (DrawablePtr)pwinRoot,
0,
&rgnDst, dx, dy, fbCopyWindowProc, 0, 0);