Lines Matching full:window
35 * This file provides support for window-related functions. */
60 /** Initialize the private area for the window functions. */
71 Window
77 Window parent; in dmxCreateRootWindow()
84 /* Create root window */ in dmxCreateRootWindow()
86 parent = dmxScreen->scrnWin; /* This is our "Screen" window */ in dmxCreateRootWindow()
116 /** Change the location and size of the "screen" window. Called from
139 /** Change the location and size of the "root" window. Called from
157 XConfigureWindow(dmxScreen->beDisplay, pWinPriv->window, m, &c); in dmxResizeRootWindow()
163 XUnmapWindow(dmxScreen->beDisplay, pWinPriv->window); in dmxResizeRootWindow()
169 XMapWindow(dmxScreen->beDisplay, pWinPriv->window); in dmxResizeRootWindow()
210 static Window
216 Window parent; in dmxCreateNonRootWindow()
221 /* Create window on back-end server */ in dmxCreateNonRootWindow()
223 parent = pParentPriv->window; in dmxCreateNonRootWindow()
226 from ReparentWindow and the grandparent window has not yet been in dmxCreateNonRootWindow()
230 parent = pParentPriv->window; in dmxCreateNonRootWindow()
255 order -- if current window has a previous sibling, then it cannot in dmxCreateNonRootWindow()
271 /** This function handles lazy window creation and realization. Window
273 * any stacking changes that have occured since the window was
274 * originally created by calling #dmxDoRestackWindow(). If the window
276 * #dmxDoSetShape(), and if the window has pictures (from RENDER)
290 pWinPriv->window = dmxCreateNonRootWindow(pWindow); in dmxCreateAndRealizeWindow()
298 XMapWindow(dmxScreen->beDisplay, pWinPriv->window); in dmxCreateAndRealizeWindow()
303 /** Create \a pWindow on the back-end server. If the lazy window
305 * realization of the window is handled by
322 pWinPriv->window = (Window) 0; in dmxCreateWindow()
335 /* Only create the root window at this stage -- non-root windows are in dmxCreateWindow()
338 dmxScreen->rootWin = pWinPriv->window in dmxCreateWindow()
370 pWinPriv->window = dmxCreateNonRootWindow(pWindow); in dmxCreateWindow()
390 if (pWinPriv->window) { in dmxBEDestroyWindow()
391 XDestroyWindow(dmxScreen->beDisplay, pWinPriv->window); in dmxBEDestroyWindow()
392 pWinPriv->window = (Window) 0; in dmxBEDestroyWindow()
415 /* Destroy any picture list associated with this window */ in dmxDestroyWindow()
418 /* Destroy window on back-end server */ in dmxDestroyWindow()
453 /* Determine if the window is completely off the visible portion of in dmxPositionWindow()
457 /* If the window is now on-screen and it is mapped and it has not in dmxPositionWindow()
459 if (!pWinPriv->window && pWinPriv->mapped && !pWinPriv->offscreen) { in dmxPositionWindow()
462 else if (pWinPriv->window) { in dmxPositionWindow()
463 /* Position window on back-end server */ in dmxPositionWindow()
474 XConfigureWindow(dmxScreen->beDisplay, pWinPriv->window, m, &c); in dmxPositionWindow()
574 /** Change the window attributes of \a pWindow. */
590 /* Change window attribs on back-end server */ in dmxChangeWindowAttributes()
593 /* Save mask for lazy window creation optimization */ in dmxChangeWindowAttributes()
596 if (mask && pWinPriv->window) { in dmxChangeWindowAttributes()
597 XChangeWindowAttributes(dmxScreen->beDisplay, pWinPriv->window, in dmxChangeWindowAttributes()
608 /** Realize \a pWindow on the back-end server. If the lazy window
609 * creation optimization is enabled, the window is only realized when
625 /* Determine if the window is completely off the visible portion of in dmxRealizeWindow()
629 /* If the window hasn't been created and it's not offscreen, then in dmxRealizeWindow()
631 if (!pWinPriv->window && !pWinPriv->offscreen) { in dmxRealizeWindow()
635 if (pWinPriv->window) { in dmxRealizeWindow()
636 /* Realize window on back-end server */ in dmxRealizeWindow()
637 XMapWindow(dmxScreen->beDisplay, pWinPriv->window); in dmxRealizeWindow()
641 /* Let the other functions know that the window is now mapped */ in dmxRealizeWindow()
665 if (pWinPriv->window) { in dmxUnrealizeWindow()
666 /* Unrealize window on back-end server */ in dmxUnrealizeWindow()
667 XUnmapWindow(dmxScreen->beDisplay, pWinPriv->window); in dmxUnrealizeWindow()
671 /* When unrealized (i.e., unmapped), the window is always considered in dmxUnrealizeWindow()
698 /* Window is at the bottom of the stack */ in dmxDoRestackWindow()
700 c.sibling = (Window) 0; in dmxDoRestackWindow()
702 XConfigureWindow(dmxScreen->beDisplay, pWinPriv->window, m, &c); in dmxDoRestackWindow()
705 /* Window is not at the bottom of the stack */ in dmxDoRestackWindow()
709 lazy window creation optimization by first finding the next in dmxDoRestackWindow()
711 and then putting the current window just above that sibling, in dmxDoRestackWindow()
715 while (!pNextSibPriv->window) { in dmxDoRestackWindow()
718 /* Window is at the bottom of the stack */ in dmxDoRestackWindow()
720 c.sibling = (Window) 0; in dmxDoRestackWindow()
722 XConfigureWindow(dmxScreen->beDisplay, pWinPriv->window, m, &c); in dmxDoRestackWindow()
729 c.sibling = pNextSibPriv->window; in dmxDoRestackWindow()
731 XConfigureWindow(dmxScreen->beDisplay, pWinPriv->window, m, &c); in dmxDoRestackWindow()
735 /** Handle window restacking. The actual restacking occurs in
751 /* Track restacking for lazy window creation optimization */ in dmxRestackWindow()
754 /* Restack window on back-end server */ in dmxRestackWindow()
755 if (pWinPriv->window) { in dmxRestackWindow()
768 return (ev->type == Expose && ev->xexpose.window == *(Window *) ptr); in dmxWindowExposurePredicate()
771 /** Handle exposures on \a pWindow. Since window exposures are handled
786 if (pWinPriv->window) { in dmxWindowExposures()
789 (XPointer) &pWinPriv->window)) { in dmxWindowExposures()
791 since the base window in which the root window was in dmxWindowExposures()
794 reason the window is not on top, then we'd need to in dmxWindowExposures()
809 * lazy window creation optimization is enabled. */
825 /* Determine if the window is completely off the visible portion of in dmxCopyWindow()
829 /* If the window is now on-screen and it is mapped and it has not in dmxCopyWindow()
831 if (!pWinPriv->window && pWinPriv->mapped && !pWinPriv->offscreen) { in dmxCopyWindow()
834 else if (pWinPriv->window) { in dmxCopyWindow()
835 /* Move window on back-end server */ in dmxCopyWindow()
842 XConfigureWindow(dmxScreen->beDisplay, pWinPriv->window, m, &c); in dmxCopyWindow()
852 * the lazy window creation optimization is enabled. */
869 /* Determine if the window is completely off the visible portion of in dmxResizeWindow()
873 /* If the window is now on-screen and it is mapped and it has not in dmxResizeWindow()
875 if (!pWinPriv->window && pWinPriv->mapped && !pWinPriv->offscreen) { in dmxResizeWindow()
878 else if (pWinPriv->window) { in dmxResizeWindow()
886 XConfigureWindow(dmxScreen->beDisplay, pWinPriv->window, m, &c); in dmxResizeWindow()
909 if (pWinPriv->window) { in dmxReparentWindow()
910 if (!pParentPriv->window) { in dmxReparentWindow()
915 XReparentWindow(dmxScreen->beDisplay, pWinPriv->window, in dmxReparentWindow()
916 pParentPriv->window, in dmxReparentWindow()
944 if (pWinPriv->window) { in dmxChangeBorderWidth()
949 XConfigureWindow(dmxScreen->beDisplay, pWinPriv->window, m, &c); in dmxChangeBorderWidth()
981 XShapeCombineRectangles(dmxScreen->beDisplay, pWinPriv->window, in dmxDoSetShape()
987 XShapeCombineMask(dmxScreen->beDisplay, pWinPriv->window, in dmxDoSetShape()
1004 XShapeCombineRectangles(dmxScreen->beDisplay, pWinPriv->window, in dmxDoSetShape()
1010 XShapeCombineMask(dmxScreen->beDisplay, pWinPriv->window, in dmxDoSetShape()
1014 if (XShapeInputSelected(dmxScreen->beDisplay, pWinPriv->window)) { in dmxDoSetShape()
1015 ErrorF("Input selected for window %x on Screen %d\n", in dmxDoSetShape()
1016 (unsigned int) pWinPriv->window, pScreen->myNum); in dmxDoSetShape()
1034 if (pWinPriv->window) { in dmxSetShape()