diff --git a/Xext/mbuf.c b/Xext/mbuf.c index 81b704f2f..827603204 100644 --- a/Xext/mbuf.c +++ b/Xext/mbuf.c @@ -1106,6 +1106,32 @@ SClobberNotifyEvent (from, to) to->state = from->state; } +RegionPtr +CreateUnclippedWinSize (WindowPtr pWin) +{ + RegionPtr pRgn; + BoxRec box; + + box.x1 = pWin->drawable.x; + box.y1 = pWin->drawable.y; + box.x2 = pWin->drawable.x + (int) pWin->drawable.width; + box.y2 = pWin->drawable.y + (int) pWin->drawable.height; + pRgn = REGION_CREATE(pWin->drawable.pScreen, &box, 1); + if (wBoundingShape (pWin) || wClipShape (pWin)) { + ScreenPtr pScreen; + pScreen = pWin->drawable.pScreen; + + REGION_TRANSLATE(pScreen, pRgn, - pWin->drawable.x, + - pWin->drawable.y); + if (wBoundingShape (pWin)) + REGION_INTERSECT(pScreen, pRgn, pRgn, wBoundingShape (pWin)); + if (wClipShape (pWin)) + REGION_INTERSECT(pScreen, pRgn, pRgn, wClipShape (pWin)); + REGION_TRANSLATE(pScreen, pRgn, pWin->drawable.x, pWin->drawable.y); + } + return pRgn; +} + static void PerformDisplayRequest (ppMultibuffers, pMultibuffer, nbuf) MultibufferPtr *pMultibuffer; diff --git a/dix/window.c b/dix/window.c index d750b3baa..92c5eff44 100644 --- a/dix/window.c +++ b/dix/window.c @@ -1588,32 +1588,6 @@ MoveWindowInStack(WindowPtr pWin, WindowPtr pNextSib) return( pFirstChange ); } -RegionPtr -CreateUnclippedWinSize (WindowPtr pWin) -{ - RegionPtr pRgn; - BoxRec box; - - box.x1 = pWin->drawable.x; - box.y1 = pWin->drawable.y; - box.x2 = pWin->drawable.x + (int) pWin->drawable.width; - box.y2 = pWin->drawable.y + (int) pWin->drawable.height; - pRgn = REGION_CREATE(pWin->drawable.pScreen, &box, 1); - if (wBoundingShape (pWin) || wClipShape (pWin)) { - ScreenPtr pScreen; - pScreen = pWin->drawable.pScreen; - - REGION_TRANSLATE(pScreen, pRgn, - pWin->drawable.x, - - pWin->drawable.y); - if (wBoundingShape (pWin)) - REGION_INTERSECT(pScreen, pRgn, pRgn, wBoundingShape (pWin)); - if (wClipShape (pWin)) - REGION_INTERSECT(pScreen, pRgn, pRgn, wClipShape (pWin)); - REGION_TRANSLATE(pScreen, pRgn, pWin->drawable.x, pWin->drawable.y); - } - return pRgn; -} - void SetWinSize (WindowPtr pWin) { diff --git a/include/window.h b/include/window.h index 4353adf33..8c25799f5 100644 --- a/include/window.h +++ b/include/window.h @@ -156,8 +156,7 @@ extern _X_EXPORT void GetWindowAttributes( ClientPtr /*client*/, xGetWindowAttributesReply* /* wa */); -extern _X_EXPORT RegionPtr CreateUnclippedWinSize( - WindowPtr /*pWin*/); +extern RegionPtr CreateUnclippedWinSize(WindowPtr); extern _X_EXPORT void GravityTranslate( int /*x*/,