home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1930 / PreR4Icccm.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-28  |  2.8 KB  |  194 lines

  1. /*
  2.   These routines are compatibility routines for pre-X11R4 ICCCM.
  3. */
  4.  
  5. typedef struct _XTextProperty
  6. {
  7.   unsigned char
  8.     *value;
  9.  
  10.   Atom
  11.     encoding;
  12.  
  13.   int
  14.     format;
  15.  
  16.   unsigned long
  17.     nitems;
  18. } XTextProperty;
  19.  
  20. XClassHint *XAllocClassHint()
  21. {
  22.   return((XClassHint *) malloc(sizeof(XClassHint)));
  23. }
  24.  
  25. XIconSize *XAllocIconSize()
  26. {
  27.   return((XIconSize *) malloc(sizeof(XIconSize)));
  28. }
  29.  
  30. XSizeHints *XAllocSizeHints()
  31. {
  32.   return((XSizeHints *) malloc(sizeof(XSizeHints)));
  33. }
  34.  
  35. XStandardColormap *XAllocStandardColormap()
  36. {
  37.   return((XStandardColormap *) malloc(sizeof(XStandardColormap)));
  38. }
  39.  
  40. XWMHints *XAllocWMHints()
  41. {
  42.   return((XWMHints *) malloc(sizeof(XWMHints)));
  43. }
  44.  
  45. Status XGetRGBColormaps(display,window,colormap,count,property)
  46. Display
  47.   *display;
  48.  
  49. Window
  50.   window;
  51.  
  52. XStandardColormap
  53.   **colormap;
  54.  
  55. int
  56.   *count;
  57.  
  58. Atom
  59.   property;
  60. {
  61.   *count=1;
  62.   return(XGetStandardColormap(display,window,colormap,property));
  63. }
  64.  
  65. Status XGetWMName(display,window,text_property)
  66. Display
  67.   *display;
  68.  
  69. Window
  70.   window;
  71.  
  72. XTextProperty
  73.   *text_property;
  74. {
  75.   char
  76.     *window_name;
  77.  
  78.   if (XFetchName(display,window,&window_name) == 0)
  79.     return(False);
  80.   text_property->value=(unsigned char *) window_name;
  81.   text_property->encoding=XA_STRING;
  82.   text_property->format=8;
  83.   text_property->nitems=strlen(window_name);
  84.   return(True);
  85. }
  86.  
  87. void XSetWMProperties(display,window,window_name,icon_name,argv,argc,
  88.   size_hints,manager_hints,class_hint)
  89. Display
  90.   *display;
  91.  
  92. Window
  93.   window;
  94.  
  95. XTextProperty
  96.   *window_name,
  97.   *icon_name;
  98.  
  99. char
  100.   **argv;
  101.  
  102. int
  103.   argc;
  104.  
  105. XSizeHints
  106.   *size_hints;
  107.  
  108. XWMHints *manager_hints;
  109.  
  110. XClassHint
  111.   *class_hint;
  112. {
  113.   XSetStandardProperties(display,window,window_name->value,icon_name,None,
  114.     argv,argc,size_hints);
  115.   XSetWMHints(display,window,manager_hints);
  116.   XSetClassHint(display,window,class_hint);
  117. }
  118.  
  119. Status XSetWMProtocols(display,window,protocols,count)
  120. Display
  121.   *display;
  122.  
  123. Window
  124.   window;
  125.  
  126. Atom
  127.   *protocols;
  128.  
  129. int
  130.   count;
  131. {
  132.   Atom
  133.     protocols_property;
  134.  
  135.   protocols_property=XInternAtom(display,"WM_PROTOCOLS",False);
  136.   XChangeProperty(display,window,protocols_property,XA_ATOM,32,PropModeReplace,
  137.     (unsigned char *) protocols, count);
  138.   return(True);
  139. }
  140.  
  141. VisualID XVisualIDFromVisual(visual)
  142. Visual
  143.   *visual;
  144. {
  145.   return(visual->visualid);
  146. }
  147.  
  148. Status XWithdrawWindow(display,window,screen)
  149. Display
  150.   *display;
  151.  
  152. Window
  153.   window;
  154.  
  155. int
  156.   screen;
  157. {
  158.   return(XUnmapWindow(display,window));
  159. }
  160.  
  161. int XWMGeometry(display,screen,user_geometry,default_geometry,border_width,
  162.   size_hints,x,y,width,height,gravity)
  163. Display
  164.   *display;
  165.  
  166. int
  167.   screen;
  168.  
  169. char
  170.   *user_geometry,
  171.   *default_geometry;
  172.  
  173. unsigned int
  174.   border_width;
  175.  
  176. XSizeHints
  177.   *size_hints;
  178.  
  179. int
  180.   *x,
  181.   *y,
  182.   *width,
  183.   *height,
  184.   *gravity;
  185. {
  186.   int
  187.     status;
  188.  
  189.   status=XGeometry(display,screen,user_geometry,default_geometry,border_width,
  190.     0,0,0,0,x,y,width,height);
  191.   *gravity=NorthWestGravity;
  192.   return(status);
  193. }
  194.