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

  1. /* $Id: mapwind.c 1.1 1994/02/20 17:43:36 ulrich Exp $ */
  2. /*
  3.  * X library function XMapWindow.
  4.  */
  5. #include "Xlibemu.h"
  6.  
  7. int
  8. XMapWindow (Display* dpy, Window window)
  9. {
  10.   XEvent xe;
  11.  
  12.   if (0 == _WCheckWindow (dpy, window, X_MapWindow))
  13.     return 0;
  14.  
  15.   if (window->mapped)
  16.     return 1;
  17.  
  18.   if (window->override_redirect == False
  19.       && window->parent != NULL
  20.       && window->parent->event_mask & SubstructureRedirectMask) {
  21.     xe.xmaprequest.type = MapRequest;
  22.     xe.xmaprequest.send_event = False;
  23.     xe.xmaprequest.parent = window->parent;
  24.     xe.xmaprequest.window = window;
  25.     if (_WRedirectEvent (dpy, &xe))
  26.       return 0;
  27.   }
  28.  
  29.   _WMapWindow (dpy, window);
  30.  
  31.   if (window->event_mask & StructureNotifyMask) {
  32.     xe.xmap.type = MapNotify;
  33.     xe.xmap.send_event = 0;
  34.     xe.xmap.display = dpy;
  35.     xe.xmap.event = window;
  36.     xe.xmap.window = window;
  37.     xe.xmap.override_redirect = window->override_redirect;
  38.     _WDispatchEvent (&xe);
  39.   }
  40.   if (window->parent &&
  41.       window->parent->event_mask & SubstructureNotifyMask) {
  42.     xe.xmap.type = MapNotify;
  43.     xe.xmap.send_event= 0;
  44.     xe.xmap.display = dpy;
  45.     xe.xmap.event = window->parent;
  46.     xe.xmap.window = window;
  47.     xe.xmap.override_redirect = window->override_redirect;
  48.     _WDispatchEvent (&xe);
  49.   }
  50.   return 1;
  51. }
  52.