Lines Matching refs:pWin

153 static Bool WindowParentHasDeviceCursor(WindowPtr pWin,
157 WindowSeekDeviceCursor(WindowPtr pWin,
174 #define RedirectSend(pWin) \ argument
175 ((pWin->eventMask|wOtherEventMasks(pWin)) & SubstructureRedirectMask)
177 #define SubSend(pWin) \ argument
178 ((pWin->eventMask|wOtherEventMasks(pWin)) & SubstructureNotifyMask)
180 #define StrSend(pWin) \ argument
181 ((pWin->eventMask|wOtherEventMasks(pWin)) & StructureNotifyMask)
183 #define SubStrSend(pWin,pParent) (StrSend(pWin) || SubSend(pParent)) argument
190 get_window_name(WindowPtr pWin) in get_window_name() argument
198 CompScreenPtr comp_screen = GetCompScreen(pWin->drawable.pScreen); in get_window_name()
200 if (comp_screen && pWin == comp_screen->pOverlayWin) in get_window_name()
204 for (prop = wUserProps(pWin); prop; prop = prop->next) { in get_window_name()
219 log_window_info(WindowPtr pWin, int depth) in log_window_info() argument
228 win_name = get_window_name(pWin); in log_window_info()
230 (unsigned) pWin->drawable.id, in log_window_info()
232 pWin->drawable.x, pWin->drawable.y, in log_window_info()
233 pWin->drawable.x + pWin->drawable.width, in log_window_info()
234 pWin->drawable.y + pWin->drawable.height); in log_window_info()
236 if (pWin->overrideRedirect) in log_window_info()
239 if (pWin->redirectDraw) in log_window_info()
241 (pWin->redirectDraw == RedirectDrawAutomatic) ? in log_window_info()
243 (unsigned) pWin->drawable.pScreen->GetWindowPixmap(pWin)->drawable.id); in log_window_info()
246 switch (pWin->visibility) { in log_window_info()
262 if (RegionNotEmpty(&pWin->clipList)) { in log_window_info()
264 rects = RegionRects(&pWin->clipList); in log_window_info()
265 for (i = 0; i < RegionNumRects(&pWin->clipList); i++) in log_window_info()
269 pWin->clipList.extents.x1, pWin->clipList.extents.y1, in log_window_info()
270 pWin->clipList.extents.x2, pWin->clipList.extents.y2); in log_window_info()
406 WindowPtr pWin; in PrintWindowTree() local
412 pWin = pScreen->root; in PrintWindowTree()
414 while (pWin) { in PrintWindowTree()
415 log_window_info(pWin, depth); in PrintWindowTree()
416 if (pWin->firstChild) { in PrintWindowTree()
417 pWin = pWin->firstChild; in PrintWindowTree()
421 while (pWin && !pWin->nextSib) { in PrintWindowTree()
422 pWin = pWin->parent; in PrintWindowTree()
425 if (!pWin) in PrintWindowTree()
427 pWin = pWin->nextSib; in PrintWindowTree()
433 TraverseTree(WindowPtr pWin, VisitWindowProcPtr func, void *data) in TraverseTree() argument
438 if (!(pChild = pWin)) in TraverseTree()
448 while (!pChild->nextSib && (pChild != pWin)) in TraverseTree()
450 if (pChild == pWin) in TraverseTree()
479 SetWindowToDefaults(WindowPtr pWin) in SetWindowToDefaults() argument
481 pWin->prevSib = NullWindow; in SetWindowToDefaults()
482 pWin->firstChild = NullWindow; in SetWindowToDefaults()
483 pWin->lastChild = NullWindow; in SetWindowToDefaults()
485 pWin->valdata = NULL; in SetWindowToDefaults()
486 pWin->optional = NULL; in SetWindowToDefaults()
487 pWin->cursorIsNone = TRUE; in SetWindowToDefaults()
489 pWin->backingStore = NotUseful; in SetWindowToDefaults()
490 pWin->backStorage = 0; in SetWindowToDefaults()
492 pWin->mapped = FALSE; /* off */ in SetWindowToDefaults()
493 pWin->realized = FALSE; /* off */ in SetWindowToDefaults()
494 pWin->viewable = FALSE; in SetWindowToDefaults()
495 pWin->visibility = VisibilityNotViewable; in SetWindowToDefaults()
496 pWin->overrideRedirect = FALSE; in SetWindowToDefaults()
497 pWin->saveUnder = FALSE; in SetWindowToDefaults()
499 pWin->bitGravity = ForgetGravity; in SetWindowToDefaults()
500 pWin->winGravity = NorthWestGravity; in SetWindowToDefaults()
502 pWin->eventMask = 0; in SetWindowToDefaults()
503 pWin->deliverableEvents = 0; in SetWindowToDefaults()
504 pWin->dontPropagate = 0; in SetWindowToDefaults()
505 pWin->forcedBS = FALSE; in SetWindowToDefaults()
506 pWin->redirectDraw = RedirectDrawNone; in SetWindowToDefaults()
507 pWin->forcedBG = FALSE; in SetWindowToDefaults()
508 pWin->unhittable = FALSE; in SetWindowToDefaults()
511 pWin->damagedDescendants = FALSE; in SetWindowToDefaults()
516 MakeRootTile(WindowPtr pWin) in MakeRootTile() argument
518 ScreenPtr pScreen = pWin->drawable.pScreen; in MakeRootTile()
525 pWin->background.pixmap = (*pScreen->CreatePixmap) (pScreen, 4, 4, in MakeRootTile()
528 pWin->backgroundState = BackgroundPixmap; in MakeRootTile()
530 if (!pWin->background.pixmap || !pGC) in MakeRootTile()
543 ValidateGC((DrawablePtr) pWin->background.pixmap, pGC); in MakeRootTile()
552 (*pGC->ops->PutImage) ((DrawablePtr) pWin->background.pixmap, pGC, 1, in MakeRootTile()
567 WindowPtr pWin; in CreateRootWindow() local
571 pWin = dixAllocateScreenObjectWithPrivates(pScreen, WindowRec, PRIVATE_WINDOW); in CreateRootWindow()
572 if (!pWin) in CreateRootWindow()
580 pScreen->root = pWin; in CreateRootWindow()
582 pWin->drawable.pScreen = pScreen; in CreateRootWindow()
583 pWin->drawable.type = DRAWABLE_WINDOW; in CreateRootWindow()
585 pWin->drawable.depth = pScreen->rootDepth; in CreateRootWindow()
588 pWin->drawable.bitsPerPixel = format->bitsPerPixel; in CreateRootWindow()
590 pWin->drawable.serialNumber = NEXT_SERIAL_NUMBER; in CreateRootWindow()
592 pWin->parent = NullWindow; in CreateRootWindow()
593 SetWindowToDefaults(pWin); in CreateRootWindow()
595 pWin->optional = malloc(sizeof(WindowOptRec)); in CreateRootWindow()
596 if (!pWin->optional) in CreateRootWindow()
599 pWin->optional->dontPropagateMask = 0; in CreateRootWindow()
600 pWin->optional->otherEventMasks = 0; in CreateRootWindow()
601 pWin->optional->otherClients = NULL; in CreateRootWindow()
602 pWin->optional->passiveGrabs = NULL; in CreateRootWindow()
603 pWin->optional->userProps = NULL; in CreateRootWindow()
604 pWin->optional->backingBitPlanes = ~0L; in CreateRootWindow()
605 pWin->optional->backingPixel = 0; in CreateRootWindow()
606 pWin->optional->boundingShape = NULL; in CreateRootWindow()
607 pWin->optional->clipShape = NULL; in CreateRootWindow()
608 pWin->optional->inputShape = NULL; in CreateRootWindow()
609 pWin->optional->inputMasks = NULL; in CreateRootWindow()
610 pWin->optional->deviceCursors = NULL; in CreateRootWindow()
611 pWin->optional->colormap = pScreen->defColormap; in CreateRootWindow()
612 pWin->optional->visual = pScreen->rootVisual; in CreateRootWindow()
614 pWin->nextSib = NullWindow; in CreateRootWindow()
616 pWin->drawable.id = FakeClientID(0); in CreateRootWindow()
618 pWin->origin.x = pWin->origin.y = 0; in CreateRootWindow()
619 pWin->drawable.height = pScreen->height; in CreateRootWindow()
620 pWin->drawable.width = pScreen->width; in CreateRootWindow()
621 pWin->drawable.x = pWin->drawable.y = 0; in CreateRootWindow()
627 RegionInit(&pWin->clipList, &box, 1); in CreateRootWindow()
628 RegionInit(&pWin->winSize, &box, 1); in CreateRootWindow()
629 RegionInit(&pWin->borderSize, &box, 1); in CreateRootWindow()
630 RegionInit(&pWin->borderClip, &box, 1); in CreateRootWindow()
632 pWin->drawable.class = InputOutput; in CreateRootWindow()
633 pWin->optional->visual = pScreen->rootVisual; in CreateRootWindow()
635 pWin->backgroundState = BackgroundPixel; in CreateRootWindow()
636 pWin->background.pixel = pScreen->whitePixel; in CreateRootWindow()
638 pWin->borderIsPixel = TRUE; in CreateRootWindow()
639 pWin->border.pixel = pScreen->blackPixel; in CreateRootWindow()
640 pWin->borderWidth = 0; in CreateRootWindow()
644 if (XaceHook(XACE_RESOURCE_ACCESS, serverClient, pWin->drawable.id, in CreateRootWindow()
645 RT_WINDOW, pWin, RT_NONE, NULL, DixCreateAccess)) in CreateRootWindow()
648 if (!AddResource(pWin->drawable.id, RT_WINDOW, (void *) pWin)) in CreateRootWindow()
666 InitRootWindow(WindowPtr pWin) in InitRootWindow() argument
668 ScreenPtr pScreen = pWin->drawable.pScreen; in InitRootWindow()
671 if (!(*pScreen->CreateWindow) (pWin)) in InitRootWindow()
673 (*pScreen->PositionWindow) (pWin, 0, 0); in InitRootWindow()
675 pWin->cursorIsNone = FALSE; in InitRootWindow()
676 pWin->optional->cursor = RefCursor(rootCursor); in InitRootWindow()
679 MakeRootTile(pWin); in InitRootWindow()
683 pWin->backgroundState = XaceBackgroundNoneState(pWin); in InitRootWindow()
684 pWin->background.pixel = pScreen->whitePixel; in InitRootWindow()
688 pWin->backgroundState = BackgroundPixel; in InitRootWindow()
690 pWin->background.pixel = pScreen->whitePixel; in InitRootWindow()
692 pWin->background.pixel = pScreen->blackPixel; in InitRootWindow()
696 pWin->backingStore = defaultBackingStore; in InitRootWindow()
697 pWin->forcedBS = (defaultBackingStore != NotUseful); in InitRootWindow()
699 (*pScreen->ChangeWindowAttributes) (pWin, backFlag); in InitRootWindow()
701 MapWindow(pWin, serverClient); in InitRootWindow()
710 ClippedRegionFromBox(WindowPtr pWin, RegionPtr Rgn, int x, int y, int w, int h) in ClippedRegionFromBox() argument
712 BoxRec box = *RegionExtents(&pWin->winSize); in ClippedRegionFromBox()
730 RegionIntersect(Rgn, Rgn, &pWin->winSize); in ClippedRegionFromBox()
742 RealChildHead(WindowPtr pWin) in RealChildHead() argument
745 return realChildHeadProc(pWin); in RealChildHead()
748 if (!pWin->parent && in RealChildHead()
750 (HasSaverWindow(pWin->drawable.pScreen))) in RealChildHead()
751 return pWin->firstChild; in RealChildHead()
766 WindowPtr pWin; in CreateWindow() local
837 pWin = dixAllocateScreenObjectWithPrivates(pScreen, WindowRec, PRIVATE_WINDOW); in CreateWindow()
838 if (!pWin) { in CreateWindow()
842 pWin->drawable = pParent->drawable; in CreateWindow()
843 pWin->drawable.depth = depth; in CreateWindow()
845 pWin->drawable.bitsPerPixel = pParent->drawable.bitsPerPixel; in CreateWindow()
848 pWin->drawable.bitsPerPixel = format->bitsPerPixel; in CreateWindow()
851 pWin->drawable.type = (short) UNDRAWABLE_WINDOW; in CreateWindow()
852 pWin->drawable.serialNumber = NEXT_SERIAL_NUMBER; in CreateWindow()
854 pWin->drawable.id = wid; in CreateWindow()
855 pWin->drawable.class = class; in CreateWindow()
857 pWin->parent = pParent; in CreateWindow()
858 SetWindowToDefaults(pWin); in CreateWindow()
861 if (!MakeWindowOptional(pWin)) { in CreateWindow()
862 dixFreeObjectWithPrivates(pWin, PRIVATE_WINDOW); in CreateWindow()
866 pWin->optional->visual = visual; in CreateWindow()
867 pWin->optional->colormap = None; in CreateWindow()
870 pWin->borderWidth = bw; in CreateWindow()
874 *error = XaceHook(XACE_RESOURCE_ACCESS, client, wid, RT_WINDOW, pWin, in CreateWindow()
875 RT_WINDOW, pWin->parent, in CreateWindow()
878 dixFreeObjectWithPrivates(pWin, PRIVATE_WINDOW); in CreateWindow()
882 pWin->backgroundState = XaceBackgroundNoneState(pWin); in CreateWindow()
883 pWin->background.pixel = pScreen->whitePixel; in CreateWindow()
885 pWin->borderIsPixel = pParent->borderIsPixel; in CreateWindow()
886 pWin->border = pParent->border; in CreateWindow()
887 if (pWin->borderIsPixel == FALSE) in CreateWindow()
888 pWin->border.pixmap->refcnt++; in CreateWindow()
890 pWin->origin.x = x + (int) bw; in CreateWindow()
891 pWin->origin.y = y + (int) bw; in CreateWindow()
892 pWin->drawable.width = w; in CreateWindow()
893 pWin->drawable.height = h; in CreateWindow()
894 pWin->drawable.x = pParent->drawable.x + x + (int) bw; in CreateWindow()
895 pWin->drawable.y = pParent->drawable.y + y + (int) bw; in CreateWindow()
898 RegionNull(&pWin->clipList); in CreateWindow()
899 RegionNull(&pWin->borderClip); in CreateWindow()
900 RegionNull(&pWin->winSize); in CreateWindow()
901 RegionNull(&pWin->borderSize); in CreateWindow()
905 pWin->nextSib = pHead->nextSib; in CreateWindow()
907 pHead->nextSib->prevSib = pWin; in CreateWindow()
909 pParent->lastChild = pWin; in CreateWindow()
910 pHead->nextSib = pWin; in CreateWindow()
911 pWin->prevSib = pHead; in CreateWindow()
914 pWin->nextSib = pParent->firstChild; in CreateWindow()
916 pParent->firstChild->prevSib = pWin; in CreateWindow()
918 pParent->lastChild = pWin; in CreateWindow()
919 pParent->firstChild = pWin; in CreateWindow()
922 SetWinSize(pWin); in CreateWindow()
923 SetBorderSize(pWin); in CreateWindow()
926 if (!(*pScreen->CreateWindow) (pWin)) { in CreateWindow()
928 DeleteWindow(pWin, None); in CreateWindow()
932 (*pScreen->PositionWindow) (pWin, pWin->drawable.x, pWin->drawable.y); in CreateWindow()
935 RecalculateDeliverableEvents(pWin); in CreateWindow()
938 *error = ChangeWindowAttributes(pWin, vmask, vlist, wClient(pWin)); in CreateWindow()
943 DeleteWindow(pWin, None); in CreateWindow()
949 (void) ChangeWindowAttributes(pWin, CWBackingStore, &value, in CreateWindow()
950 wClient(pWin)); in CreateWindow()
951 pWin->forcedBS = TRUE; in CreateWindow()
963 .u.createNotify.override = pWin->overrideRedirect in CreateWindow()
968 return pWin; in CreateWindow()
972 DisposeWindowOptional(WindowPtr pWin) in DisposeWindowOptional() argument
974 if (!pWin->optional) in DisposeWindowOptional()
980 if (pWin->optional->cursor) { in DisposeWindowOptional()
981 FreeCursor(pWin->optional->cursor, (Cursor) 0); in DisposeWindowOptional()
982 pWin->cursorIsNone = FALSE; in DisposeWindowOptional()
985 pWin->cursorIsNone = TRUE; in DisposeWindowOptional()
987 if (pWin->optional->deviceCursors) { in DisposeWindowOptional()
991 pList = pWin->optional->deviceCursors; in DisposeWindowOptional()
999 pWin->optional->deviceCursors = NULL; in DisposeWindowOptional()
1002 free(pWin->optional); in DisposeWindowOptional()
1003 pWin->optional = NULL; in DisposeWindowOptional()
1007 FreeWindowResources(WindowPtr pWin) in FreeWindowResources() argument
1009 ScreenPtr pScreen = pWin->drawable.pScreen; in FreeWindowResources()
1011 DeleteWindowFromAnySaveSet(pWin); in FreeWindowResources()
1012 DeleteWindowFromAnySelections(pWin); in FreeWindowResources()
1013 DeleteWindowFromAnyEvents(pWin, TRUE); in FreeWindowResources()
1014 RegionUninit(&pWin->clipList); in FreeWindowResources()
1015 RegionUninit(&pWin->winSize); in FreeWindowResources()
1016 RegionUninit(&pWin->borderClip); in FreeWindowResources()
1017 RegionUninit(&pWin->borderSize); in FreeWindowResources()
1018 if (wBoundingShape(pWin)) in FreeWindowResources()
1019 RegionDestroy(wBoundingShape(pWin)); in FreeWindowResources()
1020 if (wClipShape(pWin)) in FreeWindowResources()
1021 RegionDestroy(wClipShape(pWin)); in FreeWindowResources()
1022 if (wInputShape(pWin)) in FreeWindowResources()
1023 RegionDestroy(wInputShape(pWin)); in FreeWindowResources()
1024 if (pWin->borderIsPixel == FALSE) in FreeWindowResources()
1025 (*pScreen->DestroyPixmap) (pWin->border.pixmap); in FreeWindowResources()
1026 if (pWin->backgroundState == BackgroundPixmap) in FreeWindowResources()
1027 (*pScreen->DestroyPixmap) (pWin->background.pixmap); in FreeWindowResources()
1029 DeleteAllWindowProperties(pWin); in FreeWindowResources()
1031 (*pScreen->DestroyWindow) (pWin); in FreeWindowResources()
1032 DisposeWindowOptional(pWin); in FreeWindowResources()
1036 CrushTree(WindowPtr pWin) in CrushTree() argument
1041 if (!(pChild = pWin->firstChild)) in CrushTree()
1043 UnrealizeWindow = pWin->drawable.pScreen->UnrealizeWindow; in CrushTree()
1070 if (pChild == pWin) in CrushTree()
1086 WindowPtr pWin = (WindowPtr) value; in DeleteWindow() local
1088 UnmapWindow(pWin, FALSE); in DeleteWindow()
1090 CrushTree(pWin); in DeleteWindow()
1092 pParent = pWin->parent; in DeleteWindow()
1093 if (wid && pParent && SubStrSend(pWin, pParent)) { in DeleteWindow()
1095 event.u.destroyNotify.window = pWin->drawable.id; in DeleteWindow()
1096 DeliverEvents(pWin, &event, 1, NullWindow); in DeleteWindow()
1099 FreeWindowResources(pWin); in DeleteWindow()
1101 if (pParent->firstChild == pWin) in DeleteWindow()
1102 pParent->firstChild = pWin->nextSib; in DeleteWindow()
1103 if (pParent->lastChild == pWin) in DeleteWindow()
1104 pParent->lastChild = pWin->prevSib; in DeleteWindow()
1105 if (pWin->nextSib) in DeleteWindow()
1106 pWin->nextSib->prevSib = pWin->prevSib; in DeleteWindow()
1107 if (pWin->prevSib) in DeleteWindow()
1108 pWin->prevSib->nextSib = pWin->nextSib; in DeleteWindow()
1111 pWin->drawable.pScreen->root = NULL; in DeleteWindow()
1112 dixFreeObjectWithPrivates(pWin, PRIVATE_WINDOW); in DeleteWindow()
1117 DestroySubwindows(WindowPtr pWin, ClientPtr client) in DestroySubwindows() argument
1127 UnmapSubwindows(pWin); in DestroySubwindows()
1128 while (pWin->lastChild) { in DestroySubwindows()
1130 pWin->lastChild->drawable.id, RT_WINDOW, in DestroySubwindows()
1131 pWin->lastChild, RT_NONE, NULL, DixDestroyAccess); in DestroySubwindows()
1135 FreeResource(pWin->lastChild->drawable.id, RT_NONE); in DestroySubwindows()
1141 SetRootWindowBackground(WindowPtr pWin, ScreenPtr pScreen, Mask *index2) in SetRootWindowBackground() argument
1146 pWin->backgroundState = XaceBackgroundNoneState(pWin); in SetRootWindowBackground()
1147 pWin->background.pixel = pScreen->whitePixel; in SetRootWindowBackground()
1150 MakeRootTile(pWin); in SetRootWindowBackground()
1152 pWin->backgroundState = BackgroundPixel; in SetRootWindowBackground()
1154 pWin->background.pixel = pScreen->whitePixel; in SetRootWindowBackground()
1156 pWin->background.pixel = pScreen->blackPixel; in SetRootWindowBackground()
1170 ChangeWindowAttributes(WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client) in ChangeWindowAttributes() argument
1187 if ((pWin->drawable.class == InputOnly) && in ChangeWindowAttributes()
1192 pScreen = pWin->drawable.pScreen; in ChangeWindowAttributes()
1202 if (pWin->backgroundState == ParentRelative) in ChangeWindowAttributes()
1205 if (pWin->backgroundState == BackgroundPixmap) in ChangeWindowAttributes()
1206 (*pScreen->DestroyPixmap) (pWin->background.pixmap); in ChangeWindowAttributes()
1207 if (!pWin->parent) in ChangeWindowAttributes()
1208 SetRootWindowBackground(pWin, pScreen, &index2); in ChangeWindowAttributes()
1210 pWin->backgroundState = XaceBackgroundNoneState(pWin); in ChangeWindowAttributes()
1211 pWin->background.pixel = pScreen->whitePixel; in ChangeWindowAttributes()
1215 if (pWin->parent && in ChangeWindowAttributes()
1216 pWin->drawable.depth != pWin->parent->drawable.depth) { in ChangeWindowAttributes()
1220 if (pWin->backgroundState == BackgroundPixmap) in ChangeWindowAttributes()
1221 (*pScreen->DestroyPixmap) (pWin->background.pixmap); in ChangeWindowAttributes()
1222 if (!pWin->parent) in ChangeWindowAttributes()
1223 SetRootWindowBackground(pWin, pScreen, &index2); in ChangeWindowAttributes()
1225 pWin->backgroundState = ParentRelative; in ChangeWindowAttributes()
1234 if ((pPixmap->drawable.depth != pWin->drawable.depth) || in ChangeWindowAttributes()
1239 if (pWin->backgroundState == BackgroundPixmap) in ChangeWindowAttributes()
1240 (*pScreen->DestroyPixmap) (pWin->background.pixmap); in ChangeWindowAttributes()
1241 pWin->backgroundState = BackgroundPixmap; in ChangeWindowAttributes()
1242 pWin->background.pixmap = pPixmap; in ChangeWindowAttributes()
1253 if (pWin->backgroundState == ParentRelative) in ChangeWindowAttributes()
1255 if (pWin->backgroundState == BackgroundPixmap) in ChangeWindowAttributes()
1256 (*pScreen->DestroyPixmap) (pWin->background.pixmap); in ChangeWindowAttributes()
1257 pWin->backgroundState = BackgroundPixel; in ChangeWindowAttributes()
1258 pWin->background.pixel = (CARD32) *pVlist; in ChangeWindowAttributes()
1268 if (!pWin->parent || in ChangeWindowAttributes()
1269 (pWin->drawable.depth != pWin->parent->drawable.depth)) { in ChangeWindowAttributes()
1273 if (pWin->parent->borderIsPixel == TRUE) { in ChangeWindowAttributes()
1274 if (pWin->borderIsPixel == FALSE) in ChangeWindowAttributes()
1275 (*pScreen->DestroyPixmap) (pWin->border.pixmap); in ChangeWindowAttributes()
1276 pWin->border = pWin->parent->border; in ChangeWindowAttributes()
1277 pWin->borderIsPixel = TRUE; in ChangeWindowAttributes()
1282 pixID = pWin->parent->border.pixmap->drawable.id; in ChangeWindowAttributes()
1288 if ((pPixmap->drawable.depth != pWin->drawable.depth) || in ChangeWindowAttributes()
1293 if (pWin->borderIsPixel == FALSE) in ChangeWindowAttributes()
1294 (*pScreen->DestroyPixmap) (pWin->border.pixmap); in ChangeWindowAttributes()
1295 pWin->borderIsPixel = FALSE; in ChangeWindowAttributes()
1296 pWin->border.pixmap = pPixmap; in ChangeWindowAttributes()
1306 if (pWin->borderIsPixel == FALSE) in ChangeWindowAttributes()
1307 (*pScreen->DestroyPixmap) (pWin->border.pixmap); in ChangeWindowAttributes()
1308 pWin->borderIsPixel = TRUE; in ChangeWindowAttributes()
1309 pWin->border.pixel = (CARD32) *pVlist; in ChangeWindowAttributes()
1323 pWin->bitGravity = val; in ChangeWindowAttributes()
1333 pWin->winGravity = val; in ChangeWindowAttributes()
1343 pWin->backingStore = val; in ChangeWindowAttributes()
1344 pWin->forcedBS = FALSE; in ChangeWindowAttributes()
1347 if (pWin->optional || ((CARD32) *pVlist != (CARD32) ~0L)) { in ChangeWindowAttributes()
1348 if (!pWin->optional && !MakeWindowOptional(pWin)) { in ChangeWindowAttributes()
1352 pWin->optional->backingBitPlanes = (CARD32) *pVlist; in ChangeWindowAttributes()
1359 if (pWin->optional || (CARD32) *pVlist) { in ChangeWindowAttributes()
1360 if (!pWin->optional && !MakeWindowOptional(pWin)) { in ChangeWindowAttributes()
1364 pWin->optional->backingPixel = (CARD32) *pVlist; in ChangeWindowAttributes()
1378 pWin->saveUnder = val; in ChangeWindowAttributes()
1381 rc = EventSelectForWindow(pWin, client, (Mask) *pVlist); in ChangeWindowAttributes()
1389 rc = EventSuppressForWindow(pWin, client, (Mask) *pVlist, in ChangeWindowAttributes()
1406 rc = XaceHook(XACE_RESOURCE_ACCESS, client, pWin->drawable.id, in ChangeWindowAttributes()
1407 RT_WINDOW, pWin, RT_NONE, NULL, DixGrabAccess); in ChangeWindowAttributes()
1410 client->errorValue = pWin->drawable.id; in ChangeWindowAttributes()
1414 pWin->overrideRedirect = val; in ChangeWindowAttributes()
1420 if (pWin->parent && in ChangeWindowAttributes()
1421 (!pWin->optional || in ChangeWindowAttributes()
1422 pWin->optional->visual == wVisual(pWin->parent))) { in ChangeWindowAttributes()
1423 cmap = wColormap(pWin->parent); in ChangeWindowAttributes()
1439 if (pCmap->pVisual->vid != wVisual(pWin) || in ChangeWindowAttributes()
1444 if (cmap != wColormap(pWin)) { in ChangeWindowAttributes()
1445 if (!pWin->optional) { in ChangeWindowAttributes()
1446 if (!MakeWindowOptional(pWin)) { in ChangeWindowAttributes()
1451 else if (pWin->parent && cmap == wColormap(pWin->parent)) in ChangeWindowAttributes()
1459 for (pChild = pWin->firstChild; pChild; in ChangeWindowAttributes()
1467 pWin->optional->colormap = cmap; in ChangeWindowAttributes()
1473 for (pChild = pWin->firstChild; pChild; in ChangeWindowAttributes()
1480 .u.colormap.window = pWin->drawable.id, in ChangeWindowAttributes()
1483 .u.colormap.state = IsMapInstalled(cmap, pWin) in ChangeWindowAttributes()
1486 DeliverEvents(pWin, &xE, 1, NullWindow); in ChangeWindowAttributes()
1496 if (pWin == pWin->drawable.pScreen->root) in ChangeWindowAttributes()
1511 if (pCursor != wCursor(pWin)) { in ChangeWindowAttributes()
1516 for (pChild = pWin->firstChild; pChild; in ChangeWindowAttributes()
1527 pWin->cursorIsNone = TRUE; in ChangeWindowAttributes()
1528 if (pWin->optional) { in ChangeWindowAttributes()
1529 pOldCursor = pWin->optional->cursor; in ChangeWindowAttributes()
1530 pWin->optional->cursor = (CursorPtr) None; in ChangeWindowAttributes()
1535 if (!pWin->optional) { in ChangeWindowAttributes()
1536 if (!MakeWindowOptional(pWin)) { in ChangeWindowAttributes()
1541 else if (pWin->parent && pCursor == wCursor(pWin->parent)) in ChangeWindowAttributes()
1543 pOldCursor = pWin->optional->cursor; in ChangeWindowAttributes()
1544 pWin->optional->cursor = RefCursor(pCursor); in ChangeWindowAttributes()
1545 pWin->cursorIsNone = FALSE; in ChangeWindowAttributes()
1550 for (pChild = pWin->firstChild; pChild; in ChangeWindowAttributes()
1560 if (pWin->realized) in ChangeWindowAttributes()
1561 WindowHasNewCursor(pWin); in ChangeWindowAttributes()
1579 CheckWindowOptionalNeed(pWin); in ChangeWindowAttributes()
1582 (*pScreen->ChangeWindowAttributes) (pWin, vmaskCopy); in ChangeWindowAttributes()
1590 && pWin->viewable && HasBorder(pWin)) { in ChangeWindowAttributes()
1594 RegionSubtract(&exposed, &pWin->borderClip, &pWin->winSize); in ChangeWindowAttributes()
1595 pWin->drawable.pScreen->PaintWindow(pWin, &exposed, PW_BORDER); in ChangeWindowAttributes()
1607 GetWindowAttributes(WindowPtr pWin, ClientPtr client, in GetWindowAttributes() argument
1611 wa->bitGravity = pWin->bitGravity; in GetWindowAttributes()
1612 wa->winGravity = pWin->winGravity; in GetWindowAttributes()
1613 if (pWin->forcedBS && pWin->backingStore != Always) in GetWindowAttributes()
1616 wa->backingStore = pWin->backingStore; in GetWindowAttributes()
1620 wa->backingBitPlanes = wBackingBitPlanes(pWin); in GetWindowAttributes()
1621 wa->backingPixel = wBackingPixel(pWin); in GetWindowAttributes()
1622 wa->saveUnder = (BOOL) pWin->saveUnder; in GetWindowAttributes()
1623 wa->override = pWin->overrideRedirect; in GetWindowAttributes()
1624 if (!pWin->mapped) in GetWindowAttributes()
1626 else if (pWin->realized) in GetWindowAttributes()
1631 wa->colormap = wColormap(pWin); in GetWindowAttributes()
1633 : IsMapInstalled(wa->colormap, pWin); in GetWindowAttributes()
1635 wa->yourEventMask = EventMaskForClient(pWin, client); in GetWindowAttributes()
1636 wa->allEventMasks = pWin->eventMask | wOtherEventMasks(pWin); in GetWindowAttributes()
1637 wa->doNotPropagateMask = wDontPropagateMask(pWin); in GetWindowAttributes()
1638 wa->class = pWin->drawable.class; in GetWindowAttributes()
1639 wa->visualID = wVisual(pWin); in GetWindowAttributes()
1643 MoveWindowInStack(WindowPtr pWin, WindowPtr pNextSib) in MoveWindowInStack() argument
1645 WindowPtr pParent = pWin->parent; in MoveWindowInStack()
1646 WindowPtr pFirstChange = pWin; /* highest window where list changes */ in MoveWindowInStack()
1648 if (pWin->nextSib != pNextSib) { in MoveWindowInStack()
1649 WindowPtr pOldNextSib = pWin->nextSib; in MoveWindowInStack()
1652 if (pParent->firstChild == pWin) in MoveWindowInStack()
1653 pParent->firstChild = pWin->nextSib; in MoveWindowInStack()
1657 pFirstChange = pWin->nextSib; in MoveWindowInStack()
1658 pWin->nextSib->prevSib = pWin->prevSib; in MoveWindowInStack()
1659 if (pWin->prevSib) in MoveWindowInStack()
1660 pWin->prevSib->nextSib = pWin->nextSib; in MoveWindowInStack()
1661 pParent->lastChild->nextSib = pWin; in MoveWindowInStack()
1662 pWin->prevSib = pParent->lastChild; in MoveWindowInStack()
1663 pWin->nextSib = NullWindow; in MoveWindowInStack()
1664 pParent->lastChild = pWin; in MoveWindowInStack()
1667 pFirstChange = pWin; in MoveWindowInStack()
1668 if (pParent->lastChild == pWin) in MoveWindowInStack()
1669 pParent->lastChild = pWin->prevSib; in MoveWindowInStack()
1670 if (pWin->nextSib) in MoveWindowInStack()
1671 pWin->nextSib->prevSib = pWin->prevSib; in MoveWindowInStack()
1672 if (pWin->prevSib) in MoveWindowInStack()
1673 pWin->prevSib->nextSib = pWin->nextSib; in MoveWindowInStack()
1674 pWin->nextSib = pParent->firstChild; in MoveWindowInStack()
1675 pWin->prevSib = NULL; in MoveWindowInStack()
1676 pNextSib->prevSib = pWin; in MoveWindowInStack()
1677 pParent->firstChild = pWin; in MoveWindowInStack()
1681 WindowPtr pOldNext = pWin->nextSib; in MoveWindowInStack()
1684 if (pParent->firstChild == pWin) in MoveWindowInStack()
1685 pFirstChange = pParent->firstChild = pWin->nextSib; in MoveWindowInStack()
1686 if (pParent->lastChild == pWin) { in MoveWindowInStack()
1687 pFirstChange = pWin; in MoveWindowInStack()
1688 pParent->lastChild = pWin->prevSib; in MoveWindowInStack()
1690 if (pWin->nextSib) in MoveWindowInStack()
1691 pWin->nextSib->prevSib = pWin->prevSib; in MoveWindowInStack()
1692 if (pWin->prevSib) in MoveWindowInStack()
1693 pWin->prevSib->nextSib = pWin->nextSib; in MoveWindowInStack()
1694 pWin->nextSib = pNextSib; in MoveWindowInStack()
1695 pWin->prevSib = pNextSib->prevSib; in MoveWindowInStack()
1697 pNextSib->prevSib->nextSib = pWin; in MoveWindowInStack()
1698 pNextSib->prevSib = pWin; in MoveWindowInStack()
1701 while ((pFirstChange != pWin) && (pFirstChange != pOldNext)) in MoveWindowInStack()
1705 if (pWin->drawable.pScreen->RestackWindow) in MoveWindowInStack()
1706 (*pWin->drawable.pScreen->RestackWindow) (pWin, pOldNextSib); in MoveWindowInStack()
1716 else if (pWin->drawable.pScreen->RestackWindow) in MoveWindowInStack()
1717 (*pWin->drawable.pScreen->RestackWindow) (pWin, pWin->nextSib); in MoveWindowInStack()
1724 SetWinSize(WindowPtr pWin) in SetWinSize() argument
1727 if (pWin->redirectDraw != RedirectDrawNone) { in SetWinSize()
1734 box.x1 = pWin->drawable.x; in SetWinSize()
1735 box.y1 = pWin->drawable.y; in SetWinSize()
1736 box.x2 = pWin->drawable.x + pWin->drawable.width; in SetWinSize()
1737 box.y2 = pWin->drawable.y + pWin->drawable.height; in SetWinSize()
1738 RegionReset(&pWin->winSize, &box); in SetWinSize()
1742 ClippedRegionFromBox(pWin->parent, &pWin->winSize, in SetWinSize()
1743 pWin->drawable.x, pWin->drawable.y, in SetWinSize()
1744 (int) pWin->drawable.width, in SetWinSize()
1745 (int) pWin->drawable.height); in SetWinSize()
1746 if (wBoundingShape(pWin) || wClipShape(pWin)) { in SetWinSize()
1747 RegionTranslate(&pWin->winSize, -pWin->drawable.x, -pWin->drawable.y); in SetWinSize()
1748 if (wBoundingShape(pWin)) in SetWinSize()
1749 RegionIntersect(&pWin->winSize, &pWin->winSize, in SetWinSize()
1750 wBoundingShape(pWin)); in SetWinSize()
1751 if (wClipShape(pWin)) in SetWinSize()
1752 RegionIntersect(&pWin->winSize, &pWin->winSize, wClipShape(pWin)); in SetWinSize()
1753 RegionTranslate(&pWin->winSize, pWin->drawable.x, pWin->drawable.y); in SetWinSize()
1758 SetBorderSize(WindowPtr pWin) in SetBorderSize() argument
1762 if (HasBorder(pWin)) { in SetBorderSize()
1763 bw = wBorderWidth(pWin); in SetBorderSize()
1765 if (pWin->redirectDraw != RedirectDrawNone) { in SetBorderSize()
1772 box.x1 = pWin->drawable.x - bw; in SetBorderSize()
1773 box.y1 = pWin->drawable.y - bw; in SetBorderSize()
1774 box.x2 = pWin->drawable.x + pWin->drawable.width + bw; in SetBorderSize()
1775 box.y2 = pWin->drawable.y + pWin->drawable.height + bw; in SetBorderSize()
1776 RegionReset(&pWin->borderSize, &box); in SetBorderSize()
1780 ClippedRegionFromBox(pWin->parent, &pWin->borderSize, in SetBorderSize()
1781 pWin->drawable.x - bw, pWin->drawable.y - bw, in SetBorderSize()
1782 (int) (pWin->drawable.width + (bw << 1)), in SetBorderSize()
1783 (int) (pWin->drawable.height + (bw << 1))); in SetBorderSize()
1784 if (wBoundingShape(pWin)) { in SetBorderSize()
1785 RegionTranslate(&pWin->borderSize, -pWin->drawable.x, in SetBorderSize()
1786 -pWin->drawable.y); in SetBorderSize()
1787 RegionIntersect(&pWin->borderSize, &pWin->borderSize, in SetBorderSize()
1788 wBoundingShape(pWin)); in SetBorderSize()
1789 RegionTranslate(&pWin->borderSize, pWin->drawable.x, in SetBorderSize()
1790 pWin->drawable.y); in SetBorderSize()
1791 RegionUnion(&pWin->borderSize, &pWin->borderSize, &pWin->winSize); in SetBorderSize()
1795 RegionCopy(&pWin->borderSize, &pWin->winSize); in SetBorderSize()
1856 ResizeChildrenWinSize(WindowPtr pWin, int dx, int dy, int dw, int dh) in ResizeChildrenWinSize() argument
1862 pScreen = pWin->drawable.pScreen; in ResizeChildrenWinSize()
1864 for (pSib = pWin->firstChild; pSib; pSib = pSib->nextSib) { in ResizeChildrenWinSize()
1884 pSib->drawable.x = pWin->drawable.x + pSib->origin.x; in ResizeChildrenWinSize()
1885 pSib->drawable.y = pWin->drawable.y + pSib->origin.y; in ResizeChildrenWinSize()
1945 WindowPtr pWin; in IsSiblingAboveMe() local
1947 pWin = pMe->parent->firstChild; in IsSiblingAboveMe()
1948 while (pWin) { in IsSiblingAboveMe()
1949 if (pWin == pSib) in IsSiblingAboveMe()
1951 else if (pWin == pMe) in IsSiblingAboveMe()
1953 pWin = pWin->nextSib; in IsSiblingAboveMe()
1959 WindowExtents(WindowPtr pWin, BoxPtr pBox) in WindowExtents() argument
1961 pBox->x1 = pWin->drawable.x - wBorderWidth(pWin); in WindowExtents()
1962 pBox->y1 = pWin->drawable.y - wBorderWidth(pWin); in WindowExtents()
1963 pBox->x2 = pWin->drawable.x + (int) pWin->drawable.width in WindowExtents()
1964 + wBorderWidth(pWin); in WindowExtents()
1965 pBox->y2 = pWin->drawable.y + (int) pWin->drawable.height in WindowExtents()
1966 + wBorderWidth(pWin); in WindowExtents()
1970 #define IS_SHAPED(pWin) (wBoundingShape (pWin) != NULL) argument
1973 MakeBoundingRegion(WindowPtr pWin, BoxPtr pBox) in MakeBoundingRegion() argument
1977 if (wBoundingShape(pWin)) { in MakeBoundingRegion()
1978 RegionTranslate(pRgn, -pWin->origin.x, -pWin->origin.y); in MakeBoundingRegion()
1979 RegionIntersect(pRgn, pRgn, wBoundingShape(pWin)); in MakeBoundingRegion()
1980 RegionTranslate(pRgn, pWin->origin.x, pWin->origin.y); in MakeBoundingRegion()
1986 ShapeOverlap(WindowPtr pWin, BoxPtr pWinBox, WindowPtr pSib, BoxPtr pSibBox) in ShapeOverlap() argument
1991 if (!IS_SHAPED(pWin) && !IS_SHAPED(pSib)) in ShapeOverlap()
1993 pWinRgn = MakeBoundingRegion(pWin, pWinBox); in ShapeOverlap()
2003 AnyWindowOverlapsMe(WindowPtr pWin, WindowPtr pHead, BoxPtr box) in AnyWindowOverlapsMe() argument
2009 for (pSib = pWin->prevSib; pSib != pHead; pSib = pSib->prevSib) { in AnyWindowOverlapsMe()
2013 && ShapeOverlap(pWin, box, pSib, sbox)) in AnyWindowOverlapsMe()
2021 IOverlapAnyWindow(WindowPtr pWin, BoxPtr box) in IOverlapAnyWindow() argument
2027 for (pSib = pWin->nextSib; pSib; pSib = pSib->nextSib) { in IOverlapAnyWindow()
2031 && ShapeOverlap(pWin, box, pSib, sbox)) in IOverlapAnyWindow()
2067 WhereDoIGoInTheStack(WindowPtr pWin, in WhereDoIGoInTheStack() argument
2075 if ((pWin == pWin->parent->firstChild) && (pWin == pWin->parent->lastChild)) in WhereDoIGoInTheStack()
2077 pHead = RealChildHead(pWin->parent); in WhereDoIGoInTheStack()
2078 pFirst = pHead ? pHead->nextSib : pWin->parent->firstChild; in WhereDoIGoInTheStack()
2087 else if (pWin == pFirst) in WhereDoIGoInTheStack()
2088 return pWin->nextSib; in WhereDoIGoInTheStack()
2093 if (pSib->nextSib != pWin) in WhereDoIGoInTheStack()
2096 return pWin->nextSib; in WhereDoIGoInTheStack()
2100 if ((!pWin->mapped || (pSib && !pSib->mapped))) in WhereDoIGoInTheStack()
2101 return pWin->nextSib; in WhereDoIGoInTheStack()
2103 if ((IsSiblingAboveMe(pWin, pSib) == Above) && in WhereDoIGoInTheStack()
2107 return pWin->nextSib; in WhereDoIGoInTheStack()
2109 else if (AnyWindowOverlapsMe(pWin, pHead, &box)) in WhereDoIGoInTheStack()
2112 return pWin->nextSib; in WhereDoIGoInTheStack()
2114 if ((!pWin->mapped || (pSib && !pSib->mapped))) in WhereDoIGoInTheStack()
2115 return pWin->nextSib; in WhereDoIGoInTheStack()
2117 if ((IsSiblingAboveMe(pWin, pSib) == Below) && in WhereDoIGoInTheStack()
2121 return pWin->nextSib; in WhereDoIGoInTheStack()
2123 else if (IOverlapAnyWindow(pWin, &box)) in WhereDoIGoInTheStack()
2126 return pWin->nextSib; in WhereDoIGoInTheStack()
2128 if ((!pWin->mapped || (pSib && !pSib->mapped))) in WhereDoIGoInTheStack()
2129 return pWin->nextSib; in WhereDoIGoInTheStack()
2132 if (IsSiblingAboveMe(pWin, pSib) == Above) in WhereDoIGoInTheStack()
2138 return pWin->nextSib; in WhereDoIGoInTheStack()
2140 else if (AnyWindowOverlapsMe(pWin, pHead, &box)) { in WhereDoIGoInTheStack()
2147 else if (IOverlapAnyWindow(pWin, &box)) in WhereDoIGoInTheStack()
2150 return pWin->nextSib; in WhereDoIGoInTheStack()
2154 return pWin->nextSib; in WhereDoIGoInTheStack()
2160 ReflectStackChange(WindowPtr pWin, WindowPtr pSib, VTKind kind) in ReflectStackChange() argument
2164 Bool WasViewable = (Bool) pWin->viewable; in ReflectStackChange()
2168 ScreenPtr pScreen = pWin->drawable.pScreen; in ReflectStackChange()
2171 if (!pWin->parent) in ReflectStackChange()
2174 pFirstChange = MoveWindowInStack(pWin, pSib); in ReflectStackChange()
2177 anyMarked = (*pScreen->MarkOverlappedWindows) (pWin, pFirstChange, in ReflectStackChange()
2179 if (pLayerWin != pWin) in ReflectStackChange()
2184 if (pWin->drawable.pScreen->PostValidateTree) in ReflectStackChange()
2189 if (pWin->realized) in ReflectStackChange()
2198 ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client) in ConfigureWindow() argument
2205 WindowPtr pParent = pWin->parent; in ConfigureWindow()
2210 unsigned short w = pWin->drawable.width, in ConfigureWindow()
2211 h = pWin->drawable.height, bw = pWin->borderWidth; in ConfigureWindow()
2214 if ((pWin->drawable.class == InputOnly) && (mask & CWBorderWidth)) in ConfigureWindow()
2223 x = pWin->drawable.x - pParent->drawable.x - (int) bw; in ConfigureWindow()
2224 y = pWin->drawable.y - pParent->drawable.y - (int) bw; in ConfigureWindow()
2227 x = pWin->drawable.x; in ConfigureWindow()
2228 y = pWin->drawable.y; in ConfigureWindow()
2268 if (pSib == pWin) in ConfigureWindow()
2292 pSib = WhereDoIGoInTheStack(pWin, pSib, pParent->drawable.x + x, in ConfigureWindow()
2296 pSib = pWin->nextSib; in ConfigureWindow()
2298 if ((!pWin->overrideRedirect) && (RedirectSend(pParent))) { in ConfigureWindow()
2300 .u.configureRequest.window = pWin->drawable.id, in ConfigureWindow()
2323 Bool size_change = (w != pWin->drawable.width) in ConfigureWindow()
2324 || (h != pWin->drawable.height); in ConfigureWindow()
2327 ((pWin->eventMask | wOtherEventMasks(pWin)) & ResizeRedirectMask)) { in ConfigureWindow()
2329 .u.resizeRequest.window = pWin->drawable.id, in ConfigureWindow()
2334 if (MaybeDeliverEventsToClient(pWin, &eventT, 1, in ConfigureWindow()
2337 w = pWin->drawable.width; in ConfigureWindow()
2338 h = pWin->drawable.height; in ConfigureWindow()
2359 if ((mask & CWBorderWidth) && (bw != wBorderWidth(pWin))) in ConfigureWindow()
2364 if (pWin->nextSib != pSib) in ConfigureWindow()
2371 if (pWin->drawable.pScreen->ConfigNotify) { in ConfigureWindow()
2375 (*pWin->drawable.pScreen->ConfigNotify) (pWin, x, y, w, h, bw, in ConfigureWindow()
2383 if (SubStrSend(pWin, pParent)) { in ConfigureWindow()
2385 .u.configureNotify.window = pWin->drawable.id, in ConfigureWindow()
2392 .u.configureNotify.override = pWin->overrideRedirect in ConfigureWindow()
2401 DeliverEvents(pWin, &event, 1, NullWindow); in ConfigureWindow()
2406 pWin->borderWidth = bw; in ConfigureWindow()
2409 (beforeX + wBorderWidth(pWin) == x + (int) bw) && in ConfigureWindow()
2410 (beforeY + wBorderWidth(pWin) == y + (int) bw)) { in ConfigureWindow()
2412 (*pWin->drawable.pScreen->ChangeBorderWidth) (pWin, bw); in ConfigureWindow()
2415 pWin->borderWidth = bw; in ConfigureWindow()
2418 (*pWin->drawable.pScreen->MoveWindow) (pWin, x, y, pSib, in ConfigureWindow()
2422 (*pWin->drawable.pScreen->ResizeWindow) (pWin, x, y, w, h, pSib); in ConfigureWindow()
2424 ReflectStackChange(pWin, pSib, VTOther); in ConfigureWindow()
2427 CheckCursorConfinement(pWin); in ConfigureWindow()
2448 WindowPtr pWin, pHead, pFirst; in CirculateWindow() local
2455 for (pWin = pParent->lastChild; in CirculateWindow()
2456 (pWin != pHead) && in CirculateWindow()
2457 !(pWin->mapped && in CirculateWindow()
2458 AnyWindowOverlapsMe(pWin, pHead, WindowExtents(pWin, &box))); in CirculateWindow()
2459 pWin = pWin->prevSib); in CirculateWindow()
2460 if (pWin == pHead) in CirculateWindow()
2464 for (pWin = pFirst; in CirculateWindow()
2465 pWin && in CirculateWindow()
2466 !(pWin->mapped && in CirculateWindow()
2467 IOverlapAnyWindow(pWin, WindowExtents(pWin, &box))); in CirculateWindow()
2468 pWin = pWin->nextSib); in CirculateWindow()
2469 if (!pWin) in CirculateWindow()
2474 .u.circulate.window = pWin->drawable.id, in CirculateWindow()
2489 DeliverEvents(pWin, &event, 1, NullWindow); in CirculateWindow()
2490 ReflectStackChange(pWin, in CirculateWindow()
2498 CompareWIDs(WindowPtr pWin, void *value) in CompareWIDs() argument
2502 if (pWin->drawable.id == *wid) in CompareWIDs()
2513 ReparentWindow(WindowPtr pWin, WindowPtr pParent, in ReparentWindow() argument
2517 Bool WasMapped = (Bool) (pWin->mapped); in ReparentWindow()
2519 int bw = wBorderWidth(pWin); in ReparentWindow()
2522 pScreen = pWin->drawable.pScreen; in ReparentWindow()
2523 if (TraverseTree(pWin, CompareWIDs, (void *) &pParent->drawable.id) == in ReparentWindow()
2526 if (!MakeWindowOptional(pWin)) in ReparentWindow()
2530 UnmapWindow(pWin, FALSE); in ReparentWindow()
2533 .u.reparent.window = pWin->drawable.id, in ReparentWindow()
2537 .u.reparent.override = pWin->overrideRedirect in ReparentWindow()
2546 DeliverEvents(pWin, &event, 1, pParent); in ReparentWindow()
2550 pPriorParent = pPrev = pWin->parent; in ReparentWindow()
2551 if (pPrev->firstChild == pWin) in ReparentWindow()
2552 pPrev->firstChild = pWin->nextSib; in ReparentWindow()
2553 if (pPrev->lastChild == pWin) in ReparentWindow()
2554 pPrev->lastChild = pWin->prevSib; in ReparentWindow()
2556 if (pWin->nextSib) in ReparentWindow()
2557 pWin->nextSib->prevSib = pWin->prevSib; in ReparentWindow()
2558 if (pWin->prevSib) in ReparentWindow()
2559 pWin->prevSib->nextSib = pWin->nextSib; in ReparentWindow()
2562 pWin->parent = pParent; in ReparentWindow()
2565 pWin->nextSib = pPrev->nextSib; in ReparentWindow()
2567 pPrev->nextSib->prevSib = pWin; in ReparentWindow()
2569 pParent->lastChild = pWin; in ReparentWindow()
2570 pPrev->nextSib = pWin; in ReparentWindow()
2571 pWin->prevSib = pPrev; in ReparentWindow()
2574 pWin->nextSib = pParent->firstChild; in ReparentWindow()
2575 pWin->prevSib = NullWindow; in ReparentWindow()
2577 pParent->firstChild->prevSib = pWin; in ReparentWindow()
2579 pParent->lastChild = pWin; in ReparentWindow()
2580 pParent->firstChild = pWin; in ReparentWindow()
2583 pWin->origin.x = x + bw; in ReparentWindow()
2584 pWin->origin.y = y + bw; in ReparentWindow()
2585 pWin->drawable.x = x + bw + pParent->drawable.x; in ReparentWindow()
2586 pWin->drawable.y = y + bw + pParent->drawable.y; in ReparentWindow()
2589 SetWinSize(pWin); in ReparentWindow()
2590 SetBorderSize(pWin); in ReparentWindow()
2593 (*pScreen->ReparentWindow) (pWin, pPriorParent); in ReparentWindow()
2594 (*pScreen->PositionWindow) (pWin, pWin->drawable.x, pWin->drawable.y); in ReparentWindow()
2595 ResizeChildrenWinSize(pWin, 0, 0, 0, 0); in ReparentWindow()
2597 CheckWindowOptionalNeed(pWin); in ReparentWindow()
2600 MapWindow(pWin, client); in ReparentWindow()
2601 RecalculateDeliverableEvents(pWin); in ReparentWindow()
2606 RealizeTree(WindowPtr pWin) in RealizeTree() argument
2611 Realize = pWin->drawable.pScreen->RealizeWindow; in RealizeTree()
2612 pChild = pWin; in RealizeTree()
2623 while (!pChild->nextSib && (pChild != pWin)) in RealizeTree()
2625 if (pChild == pWin) in RealizeTree()
2632 MaybeDeliverMapRequest(WindowPtr pWin, WindowPtr pParent, ClientPtr client) in MaybeDeliverMapRequest() argument
2635 .u.mapRequest.window = pWin->drawable.id, in MaybeDeliverMapRequest()
2646 DeliverMapNotify(WindowPtr pWin) in DeliverMapNotify() argument
2649 .u.mapNotify.window = pWin->drawable.id, in DeliverMapNotify()
2650 .u.mapNotify.override = pWin->overrideRedirect, in DeliverMapNotify()
2653 DeliverEvents(pWin, &event, 1, NullWindow); in DeliverMapNotify()
2665 MapWindow(WindowPtr pWin, ClientPtr client) in MapWindow() argument
2672 if (pWin->mapped) in MapWindow()
2676 if (XaceHook(XACE_RESOURCE_ACCESS, client, pWin->drawable.id, RT_WINDOW, in MapWindow()
2677 pWin, RT_NONE, NULL, DixShowAccess) != Success) in MapWindow()
2680 pScreen = pWin->drawable.pScreen; in MapWindow()
2681 if ((pParent = pWin->parent)) { in MapWindow()
2684 if ((!pWin->overrideRedirect) && (RedirectSend(pParent))) in MapWindow()
2685 if (MaybeDeliverMapRequest(pWin, pParent, client)) in MapWindow()
2688 pWin->mapped = TRUE; in MapWindow()
2689 if (SubStrSend(pWin, pParent)) in MapWindow()
2690 DeliverMapNotify(pWin); in MapWindow()
2694 RealizeTree(pWin); in MapWindow()
2695 if (pWin->viewable) { in MapWindow()
2696 anyMarked = (*pScreen->MarkOverlappedWindows) (pWin, pWin, in MapWindow()
2711 pWin->mapped = TRUE; in MapWindow()
2712 pWin->realized = TRUE; /* for roots */ in MapWindow()
2713 pWin->viewable = pWin->drawable.class == InputOutput; in MapWindow()
2715 (*pScreen->RealizeWindow) (pWin); in MapWindow()
2717 (*pScreen->ClipNotify) (pWin, 0, 0); in MapWindow()
2719 (*pScreen->PostValidateTree) (NullWindow, pWin, VTMap); in MapWindow()
2721 RegionCopy(&temp, &pWin->clipList); in MapWindow()
2722 (*pScreen->WindowExposures) (pWin, &temp); in MapWindow()
2738 WindowPtr pWin; in MapSubwindows() local
2750 for (pWin = pParent->firstChild; pWin; pWin = pWin->nextSib) { in MapSubwindows()
2751 if (!pWin->mapped) { in MapSubwindows()
2752 if (parentRedirect && !pWin->overrideRedirect) in MapSubwindows()
2753 if (MaybeDeliverMapRequest(pWin, pParent, client)) in MapSubwindows()
2756 pWin->mapped = TRUE; in MapSubwindows()
2757 if (parentNotify || StrSend(pWin)) in MapSubwindows()
2758 DeliverMapNotify(pWin); in MapSubwindows()
2761 pFirstMapped = pWin; in MapSubwindows()
2763 RealizeTree(pWin); in MapSubwindows()
2764 if (pWin->viewable) { in MapSubwindows()
2765 anyMarked |= (*pScreen->MarkOverlappedWindows) (pWin, pWin, in MapSubwindows()
2791 UnrealizeTree(WindowPtr pWin, Bool fromConfigure) in UnrealizeTree() argument
2797 Unrealize = pWin->drawable.pScreen->UnrealizeWindow; in UnrealizeTree()
2798 MarkUnrealizedWindow = pWin->drawable.pScreen->MarkUnrealizedWindow; in UnrealizeTree()
2799 pChild = pWin; in UnrealizeTree()
2820 (*MarkUnrealizedWindow) (pChild, pWin, fromConfigure); in UnrealizeTree()
2828 while (!pChild->nextSib && (pChild != pWin)) in UnrealizeTree()
2830 if (pChild == pWin) in UnrealizeTree()
2837 DeliverUnmapNotify(WindowPtr pWin, Bool fromConfigure) in DeliverUnmapNotify() argument
2840 .u.unmapNotify.window = pWin->drawable.id, in DeliverUnmapNotify()
2844 DeliverEvents(pWin, &event, 1, NullWindow); in DeliverUnmapNotify()
2855 UnmapWindow(WindowPtr pWin, Bool fromConfigure) in UnmapWindow() argument
2858 Bool wasRealized = (Bool) pWin->realized; in UnmapWindow()
2859 Bool wasViewable = (Bool) pWin->viewable; in UnmapWindow()
2860 ScreenPtr pScreen = pWin->drawable.pScreen; in UnmapWindow()
2861 WindowPtr pLayerWin = pWin; in UnmapWindow()
2863 if ((!pWin->mapped) || (!(pParent = pWin->parent))) in UnmapWindow()
2865 if (SubStrSend(pWin, pParent)) in UnmapWindow()
2866 DeliverUnmapNotify(pWin, fromConfigure); in UnmapWindow()
2868 pWin->valdata = UnmapValData; in UnmapWindow()
2869 (*pScreen->MarkOverlappedWindows) (pWin, pWin->nextSib, &pLayerWin); in UnmapWindow()
2872 pWin->mapped = FALSE; in UnmapWindow()
2874 UnrealizeTree(pWin, fromConfigure); in UnmapWindow()
2877 (*pScreen->ValidateTree) (pLayerWin->parent, pWin, VTUnmap); in UnmapWindow()
2880 (*pScreen->PostValidateTree) (pLayerWin->parent, pWin, VTUnmap); in UnmapWindow()
2885 WindowGone(pWin); in UnmapWindow()
2897 UnmapSubwindows(WindowPtr pWin) in UnmapSubwindows() argument
2900 Bool wasRealized = (Bool) pWin->realized; in UnmapSubwindows()
2901 Bool wasViewable = (Bool) pWin->viewable; in UnmapSubwindows()
2905 ScreenPtr pScreen = pWin->drawable.pScreen; in UnmapSubwindows()
2907 if (!pWin->firstChild) in UnmapSubwindows()
2909 parentNotify = SubSend(pWin); in UnmapSubwindows()
2910 pHead = RealChildHead(pWin); in UnmapSubwindows()
2913 pLayerWin = (*pScreen->GetLayerWindow) (pWin); in UnmapSubwindows()
2915 for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib) { in UnmapSubwindows()
2930 if (pLayerWin->parent == pWin) in UnmapSubwindows()
2931 (*pScreen->MarkWindow) (pWin); in UnmapSubwindows()
2935 (*pScreen->MarkOverlappedWindows) (pWin, pLayerWin, NULL); in UnmapSubwindows()
2939 ptmp = pWin; in UnmapSubwindows()
2945 pHead = pWin->firstChild; in UnmapSubwindows()
2956 WindowGone(pWin); in UnmapSubwindows()
2963 WindowPtr pParent, pWin; in HandleSaveSet() local
2967 pWin = SaveSetWindow(client->saveSet[j]); in HandleSaveSet()
2969 pParent = pWin->drawable.pScreen->root; in HandleSaveSet()
2972 pParent = pWin->parent; in HandleSaveSet()
2977 if (pParent != pWin->parent) { in HandleSaveSet()
2980 UnmapWindow(pWin, FALSE); in HandleSaveSet()
2981 ReparentWindow(pWin, pParent, in HandleSaveSet()
2982 pWin->drawable.x - wBorderWidth(pWin) - in HandleSaveSet()
2984 pWin->drawable.y - wBorderWidth(pWin) - in HandleSaveSet()
2986 if (!pWin->realized && pWin->mapped) in HandleSaveSet()
2987 pWin->mapped = FALSE; in HandleSaveSet()
2990 MapWindow(pWin, client); in HandleSaveSet()
3003 PointInWindowIsVisible(WindowPtr pWin, int x, int y) in PointInWindowIsVisible() argument
3007 if (!pWin->realized) in PointInWindowIsVisible()
3009 if (RegionContainsPoint(&pWin->borderClip, x, y, &box) in PointInWindowIsVisible()
3010 && (!wInputShape(pWin) || in PointInWindowIsVisible()
3011 RegionContainsPoint(wInputShape(pWin), in PointInWindowIsVisible()
3012 x - pWin->drawable.x, in PointInWindowIsVisible()
3013 y - pWin->drawable.y, &box))) in PointInWindowIsVisible()
3019 NotClippedByChildren(WindowPtr pWin) in NotClippedByChildren() argument
3023 if (pWin->parent || in NotClippedByChildren()
3025 !HasSaverWindow(pWin->drawable.pScreen)) { in NotClippedByChildren()
3026 RegionIntersect(pReg, &pWin->borderClip, &pWin->winSize); in NotClippedByChildren()
3032 SendVisibilityNotify(WindowPtr pWin) in SendVisibilityNotify() argument
3035 unsigned int visibility = pWin->visibility; in SendVisibilityNotify()
3044 Scrnum = pWin->drawable.pScreen->myNum; in SendVisibilityNotify()
3046 win = PanoramiXFindIDByScrnum(XRT_WINDOW, pWin->drawable.id, Scrnum); in SendVisibilityNotify()
3065 pWin = pWin2; in SendVisibilityNotify()
3074 pWin = pWin2; in SendVisibilityNotify()
3090 pWin = pWin2; in SendVisibilityNotify()
3101 .u.visibility.window = pWin->drawable.id, in SendVisibilityNotify()
3105 DeliverEvents(pWin, &event, 1, NullWindow); in SendVisibilityNotify()
3158 WindowPtr pWin = pScreen->screensaver.pWindow; in dixSaveScreens() local
3165 (*pWin->drawable.pScreen->MoveWindow) (pWin, in dixSaveScreens()
3172 pWin->nextSib, VTMove); in dixSaveScreens()
3230 WindowPtr pWin; in TileScreenSaver() local
3297 pWin = pScreen->screensaver.pWindow = in TileScreenSaver()
3309 if (!pWin) in TileScreenSaver()
3312 if (!AddResource(pWin->drawable.id, RT_WINDOW, in TileScreenSaver()
3317 MakeRootTile(pWin); in TileScreenSaver()
3318 (*pWin->drawable.pScreen->ChangeWindowAttributes) (pWin, CWBackPixmap); in TileScreenSaver()
3320 MapWindow(pWin, serverClient); in TileScreenSaver()
3409 MakeWindowOptional(WindowPtr pWin) in MakeWindowOptional() argument
3414 if (pWin->optional) in MakeWindowOptional()
3419 optional->dontPropagateMask = DontPropagateMasks[pWin->dontPropagate]; in MakeWindowOptional()
3432 parentOptional = FindWindowWithOptional(pWin)->optional; in MakeWindowOptional()
3434 if (!pWin->cursorIsNone) { in MakeWindowOptional()
3441 pWin->optional = optional; in MakeWindowOptional()
3460 ChangeWindowDeviceCursor(WindowPtr pWin, DeviceIntPtr pDev, CursorPtr pCursor) in ChangeWindowDeviceCursor() argument
3467 if (!pWin->optional && !MakeWindowOptional(pWin)) in ChangeWindowDeviceCursor()
3483 pScreen = pWin->drawable.pScreen; in ChangeWindowDeviceCursor()
3485 if (WindowSeekDeviceCursor(pWin, pDev, &pNode, &pPrev)) { in ChangeWindowDeviceCursor()
3498 pWin->optional->deviceCursors = pNode->next; in ChangeWindowDeviceCursor()
3514 pNewNode->next = pWin->optional->deviceCursors; in ChangeWindowDeviceCursor()
3515 pWin->optional->deviceCursors = pNewNode; in ChangeWindowDeviceCursor()
3520 if (pCursor && WindowParentHasDeviceCursor(pWin, pDev, pCursor)) in ChangeWindowDeviceCursor()
3528 for (pChild = pWin->firstChild; pChild; pChild = pChild->nextSib) { in ChangeWindowDeviceCursor()
3543 if (pWin->realized) in ChangeWindowDeviceCursor()
3544 WindowHasNewCursor(pWin); in ChangeWindowDeviceCursor()
3551 (*pScreen->ChangeWindowAttributes) (pWin, CWCursor); in ChangeWindowDeviceCursor()
3558 WindowGetDeviceCursor(WindowPtr pWin, DeviceIntPtr pDev) in WindowGetDeviceCursor() argument
3562 if (!pWin->optional || !pWin->optional->deviceCursors) in WindowGetDeviceCursor()
3565 pList = pWin->optional->deviceCursors; in WindowGetDeviceCursor()
3570 return WindowGetDeviceCursor(pWin->parent, pDev); in WindowGetDeviceCursor()
3585 WindowSeekDeviceCursor(WindowPtr pWin, in WindowSeekDeviceCursor() argument
3591 if (!pWin->optional) in WindowSeekDeviceCursor()
3594 pList = pWin->optional->deviceCursors; in WindowSeekDeviceCursor()
3619 WindowParentHasDeviceCursor(WindowPtr pWin, in WindowParentHasDeviceCursor() argument
3625 pParent = pWin->parent; in WindowParentHasDeviceCursor()
3652 WindowPtr pWin = pScreen->root; in SetRootClip() local
3660 if (!pWin) in SetRootClip()
3662 WasViewable = (Bool) (pWin->viewable); in SetRootClip()
3664 for (pChild = pWin->firstChild; pChild; pChild = pChild->nextSib) { in SetRootClip()
3668 (*pScreen->MarkWindow) (pWin); in SetRootClip()
3670 if (pWin->valdata) { in SetRootClip()
3671 if (HasBorder(pWin)) { in SetRootClip()
3676 &pWin->borderClip, &pWin->winSize); in SetRootClip()
3677 pWin->valdata->before.borderVisible = borderVisible; in SetRootClip()
3679 pWin->valdata->before.resized = TRUE; in SetRootClip()
3684 pWin->drawable.width = pScreen->width; in SetRootClip()
3685 pWin->drawable.height = pScreen->height; in SetRootClip()
3692 RegionInit(&pWin->winSize, &box, 1); in SetRootClip()
3693 RegionInit(&pWin->borderSize, &box, 1); in SetRootClip()
3700 RegionBreak(&pWin->clipList); in SetRootClip()
3706 RegionReset(&pWin->borderClip, &box); in SetRootClip()
3708 RegionEmpty(&pWin->borderClip); in SetRootClip()
3711 RegionEmpty(&pWin->borderClip); in SetRootClip()
3712 RegionBreak(&pWin->clipList); in SetRootClip()
3715 ResizeChildrenWinSize(pWin, 0, 0, 0, 0); in SetRootClip()
3718 if (pWin->firstChild) { in SetRootClip()
3719 anyMarked |= (*pScreen->MarkOverlappedWindows) (pWin->firstChild, in SetRootClip()
3720 pWin->firstChild, in SetRootClip()
3724 (*pScreen->MarkWindow) (pWin); in SetRootClip()
3729 (*pScreen->ValidateTree) (pWin, NullWindow, VTOther); in SetRootClip()
3730 (*pScreen->HandleExposures) (pWin); in SetRootClip()
3732 (*pScreen->PostValidateTree) (pWin, NullWindow, VTOther); in SetRootClip()
3735 if (pWin->realized) in SetRootClip()
3741 WindowGetVisual(WindowPtr pWin) in WindowGetVisual() argument
3743 ScreenPtr pScreen = pWin->drawable.pScreen; in WindowGetVisual()
3744 VisualID vid = wVisual(pWin); in WindowGetVisual()