Lines Matching refs:pWindow

53 static void dmxDoRestackWindow(WindowPtr pWindow);
54 static void dmxDoChangeWindowAttributes(WindowPtr pWindow,
58 static void dmxDoSetShape(WindowPtr pWindow);
70 Window dmxCreateRootWindow(WindowPtr pWindow)
72 ScreenPtr pScreen = pWindow->drawable.pScreen;
74 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
87 dixLookupResourceByType((pointer*) &pCmap, wColormap(pWindow),
99 dmxDoChangeWindowAttributes(pWindow, &pWinPriv->attribMask, &attribs);
105 pWindow->origin.x - wBorderWidth(pWindow),
106 pWindow->origin.y - wBorderWidth(pWindow),
107 pWindow->drawable.width,
108 pWindow->drawable.height,
109 pWindow->borderWidth,
110 pWindow->drawable.depth,
111 pWindow->drawable.class,
177 void dmxGetDefaultWindowAttributes(WindowPtr pWindow,
181 ScreenPtr pScreen = pWindow->drawable.pScreen;
183 if (pWindow->drawable.class != InputOnly &&
184 pWindow->optional &&
185 pWindow->optional->visual != wVisual(pWindow->parent)) {
188 *visual = dmxLookupVisualFromID(pScreen, wVisual(pWindow));
191 if (pWindow->optional->colormap) {
195 dixLookupResourceByType((pointer*) &pCmap, wColormap(pWindow),
208 static Window dmxCreateNonRootWindow(WindowPtr pWindow)
210 ScreenPtr pScreen = pWindow->drawable.pScreen;
212 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
216 dmxWinPrivPtr pParentPriv = DMX_GET_WINDOW_PRIV(pWindow->parent);
226 dmxCreateAndRealizeWindow(pWindow->parent, FALSE);
232 dmxDoChangeWindowAttributes(pWindow, &pWinPriv->attribMask, &attribs);
237 if (pWindow->drawable.class != InputOnly) {
254 pWinPriv->restacked = (pWindow->prevSib != NullWindow);
258 pWindow->origin.x - wBorderWidth(pWindow),
259 pWindow->origin.y - wBorderWidth(pWindow),
260 pWindow->drawable.width,
261 pWindow->drawable.height,
262 pWindow->borderWidth,
263 pWindow->drawable.depth,
264 pWindow->drawable.class,
279 void dmxCreateAndRealizeWindow(WindowPtr pWindow, Bool doSync)
281 ScreenPtr pScreen = pWindow->drawable.pScreen;
283 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
287 pWinPriv->window = dmxCreateNonRootWindow(pWindow);
288 if (pWinPriv->restacked) dmxDoRestackWindow(pWindow);
289 if (pWinPriv->isShaped) dmxDoSetShape(pWindow);
290 if (pWinPriv->hasPict) dmxCreatePictureList(pWindow);
296 /** Create \a pWindow on the back-end server. If the lazy window
300 Bool dmxCreateWindow(WindowPtr pWindow)
302 ScreenPtr pScreen = pWindow->drawable.pScreen;
304 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
310 ret = pScreen->CreateWindow(pWindow);
329 if (!pWindow->parent) {
331 = dmxCreateRootWindow(pWindow);
336 dmxResizeRootWindow(pWindow,
346 pWindow->origin.x = dmxScreen->rootX;
347 pWindow->origin.y = dmxScreen->rootY;
350 dmxGetDefaultWindowAttributes(pWindow,
359 wVisual(pWindow->parent));
361 pWinPriv->window = dmxCreateNonRootWindow(pWindow);
373 /** Destroy \a pWindow on the back-end server. */
374 Bool dmxBEDestroyWindow(WindowPtr pWindow)
376 ScreenPtr pScreen = pWindow->drawable.pScreen;
378 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
389 /** Destroy \a pWindow on the back-end server. If any RENDER pictures
391 Bool dmxDestroyWindow(WindowPtr pWindow)
393 ScreenPtr pScreen = pWindow->drawable.pScreen;
398 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
404 needSync |= dmxDestroyPictureList(pWindow);
407 needSync |= dmxBEDestroyWindow(pWindow);
412 pWinPriv->windowDestroyed(pWindow);
416 ret = pScreen->DestroyWindow(pWindow);
423 /** Change the position of \a pWindow to be \a x, \a y. */
424 Bool dmxPositionWindow(WindowPtr pWindow, int x, int y)
426 ScreenPtr pScreen = pWindow->drawable.pScreen;
429 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
436 ret = pScreen->PositionWindow(pWindow, x, y);
441 pWinPriv->offscreen = DMX_WINDOW_OFFSCREEN(pWindow);
446 dmxCreateAndRealizeWindow(pWindow, TRUE);
450 c.x = pWindow->origin.x - wBorderWidth(pWindow);
451 c.y = pWindow->origin.y - wBorderWidth(pWindow);
452 c.width = pWindow->drawable.width;
453 c.height = pWindow->drawable.height;
454 if (pWindow->drawable.class != InputOnly) {
456 c.border_width = pWindow->borderWidth;
468 static void dmxDoChangeWindowAttributes(WindowPtr pWindow,
475 switch (pWindow->backgroundState) {
485 pPixPriv = DMX_GET_PIXMAP_PRIV(pWindow->background.pixmap);
496 if (pWindow->backgroundState == BackgroundPixel)
497 attribs->background_pixel = pWindow->background.pixel;
503 if (pWindow->borderIsPixel)
506 pPixPriv = DMX_GET_PIXMAP_PRIV(pWindow->border.pixmap);
512 if (pWindow->borderIsPixel)
513 attribs->border_pixel = pWindow->border.pixel;
519 attribs->bit_gravity = pWindow->bitGravity;
534 attribs->override_redirect = pWindow->overrideRedirect;
549 dixLookupResourceByType((pointer*) &pCmap, wColormap(pWindow),
559 /** Change the window attributes of \a pWindow. */
560 Bool dmxChangeWindowAttributes(WindowPtr pWindow, unsigned long mask)
562 ScreenPtr pScreen = pWindow->drawable.pScreen;
565 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
571 ret = pScreen->ChangeWindowAttributes(pWindow, mask);
575 dmxDoChangeWindowAttributes(pWindow, &mask, &attribs);
592 /** Realize \a pWindow on the back-end server. If the lazy window
595 Bool dmxRealizeWindow(WindowPtr pWindow)
597 ScreenPtr pScreen = pWindow->drawable.pScreen;
600 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
605 ret = pScreen->RealizeWindow(pWindow);
610 pWinPriv->offscreen = DMX_WINDOW_OFFSCREEN(pWindow);
615 dmxCreateAndRealizeWindow(pWindow, FALSE);
629 dmxUpdateWindowInfo(DMX_UPDATE_REALIZE, pWindow);
633 /** Unrealize \a pWindow on the back-end server. */
634 Bool dmxUnrealizeWindow(WindowPtr pWindow)
636 ScreenPtr pScreen = pWindow->drawable.pScreen;
639 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
644 ret = pScreen->UnrealizeWindow(pWindow);
660 pWinPriv->windowUnmapped(pWindow);
665 dmxUpdateWindowInfo(DMX_UPDATE_UNREALIZE, pWindow);
669 static void dmxDoRestackWindow(WindowPtr pWindow)
671 ScreenPtr pScreen = pWindow->drawable.pScreen;
673 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
674 WindowPtr pNextSib = pWindow->nextSib;
717 void dmxRestackWindow(WindowPtr pWindow, WindowPtr pOldNextSib)
719 ScreenPtr pScreen = pWindow->drawable.pScreen;
721 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
726 pScreen->RestackWindow(pWindow, pOldNextSib);
729 if (pOldNextSib != pWindow->nextSib) {
735 dmxDoRestackWindow(pWindow);
741 dmxUpdateWindowInfo(DMX_UPDATE_RESTACK, pWindow);
749 /** Handle exposures on \a pWindow. Since window exposures are handled
752 void dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn,
755 ScreenPtr pScreen = pWindow->drawable.pScreen;
757 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
780 pScreen->WindowExposures(pWindow, prgn, other_exposed);
785 /** Move \a pWindow on the back-end server. Determine whether or not it
788 void dmxCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
790 ScreenPtr pScreen = pWindow->drawable.pScreen;
792 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
799 pScreen->CopyWindow(pWindow, ptOldOrg, prgnSrc);
804 pWinPriv->offscreen = DMX_WINDOW_OFFSCREEN(pWindow);
809 dmxCreateAndRealizeWindow(pWindow, TRUE);
813 c.x = pWindow->origin.x - wBorderWidth(pWindow);
814 c.y = pWindow->origin.y - wBorderWidth(pWindow);
815 c.width = pWindow->drawable.width;
816 c.height = pWindow->drawable.height;
823 dmxUpdateWindowInfo(DMX_UPDATE_COPY, pWindow);
826 /** Resize \a pWindow on the back-end server. Determine whether or not
829 void dmxResizeWindow(WindowPtr pWindow, int x, int y,
832 ScreenPtr pScreen = pWindow->drawable.pScreen;
834 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
845 pScreen->ResizeWindow(pWindow, x, y, w, h, pSib);
850 pWinPriv->offscreen = DMX_WINDOW_OFFSCREEN(pWindow);
855 dmxCreateAndRealizeWindow(pWindow, TRUE);
859 c.x = pWindow->origin.x - wBorderWidth(pWindow);
860 c.y = pWindow->origin.y - wBorderWidth(pWindow);
861 c.width = pWindow->drawable.width;
862 c.height = pWindow->drawable.height;
869 dmxUpdateWindowInfo(DMX_UPDATE_RESIZE, pWindow);
872 /** Reparent \a pWindow on the back-end server. */
873 void dmxReparentWindow(WindowPtr pWindow, WindowPtr pPriorParent)
875 ScreenPtr pScreen = pWindow->drawable.pScreen;
877 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
878 dmxWinPrivPtr pParentPriv = DMX_GET_WINDOW_PRIV(pWindow->parent);
883 pScreen->ReparentWindow(pWindow, pPriorParent);
888 dmxCreateAndRealizeWindow(pWindow->parent, FALSE);
894 pWindow->origin.x - wBorderWidth(pWindow),
895 pWindow->origin.x - wBorderWidth(pWindow));
900 dmxUpdateWindowInfo(DMX_UPDATE_REPARENT, pWindow);
903 /** Change border width for \a pWindow to \a width pixels. */
904 void dmxChangeBorderWidth(WindowPtr pWindow, unsigned int width)
906 ScreenPtr pScreen = pWindow->drawable.pScreen;
908 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
915 pScreen->ChangeBorderWidth(pWindow, width);
932 static void dmxDoSetShape(WindowPtr pWindow)
934 ScreenPtr pScreen = pWindow->drawable.pScreen;
936 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
944 if (wBoundingShape(pWindow)) {
945 pBox = RegionRects(wBoundingShape(pWindow));
946 nRect = nBox = RegionNumRects(wBoundingShape(pWindow));
967 if (wClipShape(pWindow)) {
968 pBox = RegionRects(wClipShape(pWindow));
969 nRect = nBox = RegionNumRects(wClipShape(pWindow));
995 /** Set shape of \a pWindow on the back-end server. */
996 void dmxSetShape(WindowPtr pWindow, int kind)
998 ScreenPtr pScreen = pWindow->drawable.pScreen;
1000 dmxWinPrivPtr pWinPriv = DMX_GET_WINDOW_PRIV(pWindow);
1005 pScreen->SetShape(pWindow, kind);
1010 dmxDoSetShape(pWindow);