4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
12 * Copyright (c) 1991-2001
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
16 * This program is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License
18 * as published by the Free Software Foundation; either version 2
19 * of the License, or (at your option) any later version.
21 * If you want to redistribute modifications, please consider that
22 * scientific software is very special. Version control is crucial -
23 * bugs must be traceable. We will be happy to consider code for
24 * inclusion in the official distribution, but derived work must not
25 * be called official GROMACS. Details are found in the README & COPYING
26 * files - if they are missing, get the official version at www.gromacs.org.
28 * To help us fund GROMACS development, we humbly ask that you cite
29 * the papers on the package - you can find them in the top README file.
31 * Do check out http://www.gromacs.org , or mail us at gromacs@gromacs.org .
34 * Giving Russians Opium May Alter Current Situation
40 static char *SRCID_Xstuff_h = "$Id$";
42 #ident "@(#) Xstuff.h 1.16 11/23/92"
43 #endif /* HAVE_IDENT */
46 #include <X11/Xutil.h>
47 #include <X11/keysym.h>
48 #include <X11/cursorfont.h>
49 #include <X11/Xresource.h>
52 typedef unsigned char bmchar;
57 #define XTextHeight(font) ((font)->max_bounds.ascent+(font)->max_bounds.descent)
58 #define XDrawCircle(disp,win,gc,x,y,rad) \
59 XDrawArc(disp,win,gc,x-rad,y-rad,2*rad,2*rad,0,64*360)
60 #define XFillCircle(disp,win,gc,x,y,rad) \
61 XFillArc(disp,win,gc,x-rad,y-rad,2*rad,2*rad,0,64*360)
65 extern void XSelectInput(Display *display,Window w,long event_mask);
66 extern void XChangeWindowAttributes(Display *display,Window w,
67 unsigned long valuemask,
68 XSetWindowAttributes *attributes);
69 extern void XSetWindowBackgroundPixmap(Display *disp,Drawable d,Pixmap pm);
70 extern Status XMatchVisualInfo(Display *display,int screen,int depth,
71 int class,XVisualInfo *vinfo_return);
72 extern Status XParseColor(Display *display,Colormap colormap,char *spec,
73 XColor *exact_def_return);
74 extern Status XAllocColor(Display *display,Colormap colormap,
75 XColor *screen_in_out);
76 extern Status XAllocNamedColor(Display *disp, Colormap cmap, char *colorname,
77 XColor *colorcell_def, XColor *rgb_db_def);
78 extern Status XQueryColor(Display *disp, Colormap cmap,
79 XColor *colorcell_def);
80 extern void XDrawArc(Display *display,Drawable d,GC gc,int x,int y,
81 unsigned int width,unsigned int height,int angle1,
83 extern void XFillArc(Display *display,Drawable d,GC gc,int x,int y,
84 unsigned int width,unsigned int height,int angle1,
86 extern void XDrawLine(Display *display,Drawable d,GC gc,int x1,int y1,
88 extern void XDrawLines(Display *display,Drawable d,GC gc,XPoint *points,
89 int npoints, int mode);
91 extern void XMapWindow(Display *display,Window w);
92 extern void XMapSubwindows(Display *display,Window w);
93 extern void XUnmapSubwindows(Display *display, Window w);
94 extern void XUnmapWindow(Display *display, Window w);
96 extern void XNextEvent(Display *display,XEvent *report);
97 extern Bool XCheckTypedEvent(Display *display,int event_type,
98 XEvent *event_return);
99 extern void XSetForeground(Display *display,GC gc,
100 unsigned long foreground);
101 extern void XClearWindow(Display *disp,Window w);
102 extern void XClearArea(Display *display,Window w,int x,int y,
103 unsigned int width,unsigned int height,
105 extern void XDrawRectangle(Display *display,Drawable d,GC gc,
106 int x, int y, int width, int height);
107 extern void XDrawRectangles(Display *display,Drawable d,GC gc,
108 XRectangle rectangles[],int nrectangles);
109 extern void XDrawString(Display *display,Drawable d,GC gc,int x,int y,
110 char *string,int length);
111 extern void XDrawLine(Display *display,Drawable d,GC gc,
112 int x1,int y1,int x2,int y2);
113 extern void XSetStandardProperties(Display *display,Window w,
114 char *window_name,char *icon_name,
115 Pixmap icon_pixmap,char **argv,int argc,
117 extern int XLookupString(XKeyEvent *event_struct,char *buffer_return,
118 int bytes_buffer,KeySym *keysym_return,
119 XComposeStatus *status_in_out);
120 extern void XSetGraphicsExposures(Display *display,GC gc,
121 Bool graphics_exposures);
122 extern void XMapRaised(Display *display,Window w);
123 extern void XSync(Display *display,Bool discard);
124 extern void XFlush(Display *display);
125 extern void XSetStandardProperties(Display *display,Window w,
126 char *window_name,char *icon_name,
127 Pixmap icon_pixmap,char **argv,int argc,
129 extern Status XSendEvent(Display *display,Window w,Bool propagate,
130 long event_mask,XEvent *event_send);
131 extern void XFreeGC(Display *display,GC gc);
132 extern void XCloseDisplay(Display *display);
134 extern void XNextEvent(Display *display,XEvent *report);
135 extern Bool XCheckTypedEvent(Display *display,int event_type,
136 XEvent *event_return);
137 extern void XSetForeground(Display *display,GC gc,
138 unsigned long foreground);
139 extern Bool XCheckMaskEvent(Display *display,long event_mask,
140 XEvent *event_return);
142 extern int XResizeWindow(Display *display, Window w,
143 unsigned int width, unsigned int height);
144 extern int XMoveWindow(Display *display, Window w,
145 unsigned int x, unsigned int y);
146 extern void XFreePixmap(Display *display,Pixmap pixmap);
147 extern void XCopyGC(Display *display, GC src, long valuemask,
149 extern int XTextWidth(XFontStruct *font_struct, char *string, int count);
150 extern void XSetDashes(Display *display, GC gc, int dash_offset,
151 unsigned char dash_list[], int n);
152 extern void XBell(Display *disp,int volume);
153 extern void XDrawRectangle(Display *disp,Drawable d, GC gc,
154 int x,int y, int w,int h);
155 extern void XFillRectangle(Display *disp,Drawable d, GC gc,
156 int x,int y, int w,int h);
158 extern void XDestroySubwindows(Display *disp, Window Win);
159 extern void XDestroyWindow(Display *disp, Window Win);
160 extern void XQueryPointer(Display *disp,Window Win,Window *root,
161 Window *child,int *root_x,int *root_y,
162 int *win_x,int *win_y, unsigned int *keybut);
163 extern void XWarpPointer(Display *disp, Window src, Window dest,
164 int src_x, int src_y, unsigned int src_w, unsigned int src_h,
165 int dest_x, int dest_y);
166 extern void XGetGeometry(Display *disp, Window w,Window *root,
167 int *x, int *y, unsigned int *width, unsigned int *height,
168 unsigned int *border_width, unsigned int *depth);
169 #endif /* NEED_XSTUFF */
171 #endif /* _Xstuff_h */