4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
17 * GROMACS: A message-passing parallel molecular dynamics implementation
18 * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19 * Comp. Phys. Comm. 91, 43-56 (1995)
21 * Also check out our WWW page:
22 * http://md.chem.rug.nl/~gmx
27 * Great Red Oystrich Makes All Chemists Sane
33 static char *SRCID_Xstuff_h = "$Id$";
36 #ident "@(#) Xstuff.h 1.16 11/23/92"
37 #endif /* HAVE_IDENT */
40 #include <X11/Xutil.h>
41 #include <X11/keysym.h>
42 #include <X11/cursorfont.h>
43 #include <X11/Xresource.h>
46 typedef unsigned char bmchar;
51 #define XTextHeight(font) ((font)->max_bounds.ascent+(font)->max_bounds.descent)
52 #define XDrawCircle(disp,win,gc,x,y,rad) \
53 XDrawArc(disp,win,gc,x-rad,y-rad,2*rad,2*rad,0,64*360)
54 #define XFillCircle(disp,win,gc,x,y,rad) \
55 XFillArc(disp,win,gc,x-rad,y-rad,2*rad,2*rad,0,64*360)
59 extern void XSelectInput(Display *display,Window w,long event_mask);
60 extern void XChangeWindowAttributes(Display *display,Window w,
61 unsigned long valuemask,
62 XSetWindowAttributes *attributes);
63 extern void XSetWindowBackgroundPixmap(Display *disp,Drawable d,Pixmap pm);
64 extern Status XMatchVisualInfo(Display *display,int screen,int depth,
65 int class,XVisualInfo *vinfo_return);
66 extern Status XParseColor(Display *display,Colormap colormap,char *spec,
67 XColor *exact_def_return);
68 extern Status XAllocColor(Display *display,Colormap colormap,
69 XColor *screen_in_out);
70 extern Status XAllocNamedColor(Display *disp, Colormap cmap, char *colorname,
71 XColor *colorcell_def, XColor *rgb_db_def);
72 extern Status XQueryColor(Display *disp, Colormap cmap,
73 XColor *colorcell_def);
74 extern void XDrawArc(Display *display,Drawable d,GC gc,int x,int y,
75 unsigned int width,unsigned int height,int angle1,
77 extern void XFillArc(Display *display,Drawable d,GC gc,int x,int y,
78 unsigned int width,unsigned int height,int angle1,
80 extern void XDrawLine(Display *display,Drawable d,GC gc,int x1,int y1,
82 extern void XDrawLines(Display *display,Drawable d,GC gc,XPoint *points,
83 int npoints, int mode);
85 extern void XMapWindow(Display *display,Window w);
86 extern void XMapSubwindows(Display *display,Window w);
87 extern void XUnmapSubwindows(Display *display, Window w);
88 extern void XUnmapWindow(Display *display, Window w);
90 extern void XNextEvent(Display *display,XEvent *report);
91 extern Bool XCheckTypedEvent(Display *display,int event_type,
92 XEvent *event_return);
93 extern void XSetForeground(Display *display,GC gc,
94 unsigned long foreground);
95 extern void XClearWindow(Display *disp,Window w);
96 extern void XClearArea(Display *display,Window w,int x,int y,
97 unsigned int width,unsigned int height,
99 extern void XDrawRectangle(Display *display,Drawable d,GC gc,
100 int x, int y, int width, int height);
101 extern void XDrawRectangles(Display *display,Drawable d,GC gc,
102 XRectangle rectangles[],int nrectangles);
103 extern void XDrawString(Display *display,Drawable d,GC gc,int x,int y,
104 char *string,int length);
105 extern void XDrawLine(Display *display,Drawable d,GC gc,
106 int x1,int y1,int x2,int y2);
107 extern void XSetStandardProperties(Display *display,Window w,
108 char *window_name,char *icon_name,
109 Pixmap icon_pixmap,char **argv,int argc,
111 extern int XLookupString(XKeyEvent *event_struct,char *buffer_return,
112 int bytes_buffer,KeySym *keysym_return,
113 XComposeStatus *status_in_out);
114 extern void XSetGraphicsExposures(Display *display,GC gc,
115 Bool graphics_exposures);
116 extern void XMapRaised(Display *display,Window w);
117 extern void XSync(Display *display,Bool discard);
118 extern void XFlush(Display *display);
119 extern void XSetStandardProperties(Display *display,Window w,
120 char *window_name,char *icon_name,
121 Pixmap icon_pixmap,char **argv,int argc,
123 extern Status XSendEvent(Display *display,Window w,Bool propagate,
124 long event_mask,XEvent *event_send);
125 extern void XFreeGC(Display *display,GC gc);
126 extern void XCloseDisplay(Display *display);
128 extern void XNextEvent(Display *display,XEvent *report);
129 extern Bool XCheckTypedEvent(Display *display,int event_type,
130 XEvent *event_return);
131 extern void XSetForeground(Display *display,GC gc,
132 unsigned long foreground);
133 extern Bool XCheckMaskEvent(Display *display,long event_mask,
134 XEvent *event_return);
136 extern int XResizeWindow(Display *display, Window w,
137 unsigned int width, unsigned int height);
138 extern int XMoveWindow(Display *display, Window w,
139 unsigned int x, unsigned int y);
140 extern void XFreePixmap(Display *display,Pixmap pixmap);
141 extern void XCopyGC(Display *display, GC src, long valuemask,
143 extern int XTextWidth(XFontStruct *font_struct, char *string, int count);
144 extern void XSetDashes(Display *display, GC gc, int dash_offset,
145 unsigned char dash_list[], int n);
146 extern void XBell(Display *disp,int volume);
147 extern void XDrawRectangle(Display *disp,Drawable d, GC gc,
148 int x,int y, int w,int h);
149 extern void XFillRectangle(Display *disp,Drawable d, GC gc,
150 int x,int y, int w,int h);
152 extern void XDestroySubwindows(Display *disp, Window Win);
153 extern void XDestroyWindow(Display *disp, Window Win);
154 extern void XQueryPointer(Display *disp,Window Win,Window *root,
155 Window *child,int *root_x,int *root_y,
156 int *win_x,int *win_y, unsigned int *keybut);
157 extern void XWarpPointer(Display *disp, Window src, Window dest,
158 int src_x, int src_y, unsigned int src_w, unsigned int src_h,
159 int dest_x, int dest_y);
160 extern void XGetGeometry(Display *disp, Window w,Window *root,
161 int *x, int *y, unsigned int *width, unsigned int *height,
162 unsigned int *border_width, unsigned int *depth);
163 #endif /* NEED_XSTUFF */
165 #endif /* _Xstuff_h */