home *** CD-ROM | disk | FTP | other *** search
/ PC Shareware 1999 March / PCShareware-3-99.iso / IMPLE / DJGPP.RAR / DJGPP2 / XLIB-SR0.ZIP / SRC / XLIBEMU / LOWERWI.C < prev    next >
C/C++ Source or Header  |  1994-02-20  |  1KB  |  40 lines

  1. /* $Id: lowerwi.c 1.1 1994/02/20 17:37:27 ulrich Exp $ */
  2. /*
  3.  * X library function XLowerWindow.
  4.  */
  5. #include "Xlibemu.h"
  6.  
  7. int
  8. XLowerWindow (Display *dpy, Window window)
  9. {
  10.   if (0 == _WCheckWindow (dpy, window, X_ConfigureWindow))
  11.     return 0;
  12.   if (window == DefaultRootWindow (dpy))
  13.     return 0;
  14.  
  15.   if (window->lower_sibling) {
  16.     Window sibling, parent;
  17.  
  18.     parent = window->parent;
  19.     _WTreeDelete (window);
  20.     _WTreeInsertBot (parent, window);
  21.  
  22.     if (window->mapped && window->class == InputOutput) {
  23.       for (sibling = window->upper_sibling;
  24.        sibling != None;
  25.        sibling = sibling->upper_sibling) {
  26.     if (! sibling->mapped) continue;
  27.     if (! EXTENTCHECK (&sibling->border_port,
  28.                &window->border_port)) continue;
  29.     _WSetVisibleRegion (sibling);
  30.     _WSetVisibleSubwindows (sibling);
  31.     _WDrawWindow (dpy, sibling, &window->border_port, True);
  32.     _WDrawSubwindows (dpy, sibling, &window->border_port, True);
  33.       }
  34.       _WSetVisibleRegion (window);
  35.       _WSetVisibleSubwindows (window);
  36.     }
  37.   }
  38.   return 1;
  39. }
  40.