3 * This source code is part of
7 * GROningen MAchine for Chemical Simulations
10 * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
11 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
12 * Copyright (c) 2001-2004, The GROMACS development team,
13 * check out http://www.gromacs.org for more information.
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version 2
18 * of the License, or (at your option) any later version.
20 * If you want to redistribute modifications, please consider that
21 * scientific software is very special. Version control is crucial -
22 * bugs must be traceable. We will be happy to consider code for
23 * inclusion in the official distribution, but derived work must not
24 * be called official GROMACS. Details are found in the README & COPYING
25 * files - if they are missing, get the official version at www.gromacs.org.
27 * To help us fund GROMACS development, we humbly ask that you cite
28 * the papers on the package - you can find them in the top README file.
30 * For more info, check our website at http://www.gromacs.org
33 * Gyas ROwers Mature At Cryogenic Speed
39 /* The altivec extensions for ppc define some stupid overlapping
40 * macros like pixel and vector - turn them off here, we only
41 * need them in the inner loops.
48 #include <X11/Xutil.h>
49 #include <X11/keysym.h>
50 #include <X11/cursorfont.h>
51 #include <X11/Xresource.h>
54 typedef unsigned char bmchar
;
59 #define XTextHeight(font) ((font)->max_bounds.ascent+(font)->max_bounds.descent)
60 #define XDrawCircle(disp,win,gc,x,y,rad) \
61 XDrawArc(disp,win,gc,x-rad,y-rad,2*rad,2*rad,0,64*360)
62 #define XFillCircle(disp,win,gc,x,y,rad) \
63 XFillArc(disp,win,gc,x-rad,y-rad,2*rad,2*rad,0,64*360)
67 extern void XSelectInput(Display
*display
,Window w
,long event_mask
);
68 extern void XChangeWindowAttributes(Display
*display
,Window w
,
69 unsigned long valuemask
,
70 XSetWindowAttributes
*attributes
);
71 extern void XSetWindowBackgroundPixmap(Display
*disp
,Drawable d
,Pixmap pm
);
72 extern Status
XMatchVisualInfo(Display
*display
,int screen
,int depth
,
73 int class,XVisualInfo
*vinfo_return
);
74 extern Status
XParseColor(Display
*display
,Colormap colormap
,char *spec
,
75 XColor
*exact_def_return
);
76 extern Status
XAllocColor(Display
*display
,Colormap colormap
,
77 XColor
*screen_in_out
);
78 extern Status
XAllocNamedColor(Display
*disp
, Colormap cmap
, char *colorname
,
79 XColor
*colorcell_def
, XColor
*rgb_db_def
);
80 extern Status
XQueryColor(Display
*disp
, Colormap cmap
,
81 XColor
*colorcell_def
);
82 extern void XDrawArc(Display
*display
,Drawable d
,GC gc
,int x
,int y
,
83 unsigned int width
,unsigned int height
,int angle1
,
85 extern void XFillArc(Display
*display
,Drawable d
,GC gc
,int x
,int y
,
86 unsigned int width
,unsigned int height
,int angle1
,
88 extern void XDrawLine(Display
*display
,Drawable d
,GC gc
,int x1
,int y1
,
90 extern void XDrawLines(Display
*display
,Drawable d
,GC gc
,XPoint
*points
,
91 int npoints
, int mode
);
93 extern void XMapWindow(Display
*display
,Window w
);
94 extern void XMapSubwindows(Display
*display
,Window w
);
95 extern void XUnmapSubwindows(Display
*display
, Window w
);
96 extern void XUnmapWindow(Display
*display
, Window w
);
98 extern void XNextEvent(Display
*display
,XEvent
*report
);
99 extern Bool
XCheckTypedEvent(Display
*display
,int event_type
,
100 XEvent
*event_return
);
101 extern void XSetForeground(Display
*display
,GC gc
,
102 unsigned long foreground
);
103 extern void XClearWindow(Display
*disp
,Window w
);
104 extern void XClearArea(Display
*display
,Window w
,int x
,int y
,
105 unsigned int width
,unsigned int height
,
107 extern void XDrawRectangle(Display
*display
,Drawable d
,GC gc
,
108 int x
, int y
, int width
, int height
);
109 extern void XDrawRectangles(Display
*display
,Drawable d
,GC gc
,
110 XRectangle rectangles
[],int nrectangles
);
111 extern void XDrawString(Display
*display
,Drawable d
,GC gc
,int x
,int y
,
112 char *string
,int length
);
113 extern void XDrawLine(Display
*display
,Drawable d
,GC gc
,
114 int x1
,int y1
,int x2
,int y2
);
115 extern void XSetStandardProperties(Display
*display
,Window w
,
116 char *window_name
,char *icon_name
,
117 Pixmap icon_pixmap
,char **argv
,int argc
,
119 extern int XLookupString(XKeyEvent
*event_struct
,char *buffer_return
,
120 int bytes_buffer
,KeySym
*keysym_return
,
121 XComposeStatus
*status_in_out
);
122 extern void XSetGraphicsExposures(Display
*display
,GC gc
,
123 Bool graphics_exposures
);
124 extern void XMapRaised(Display
*display
,Window w
);
125 extern void XSync(Display
*display
,Bool discard
);
126 extern void XFlush(Display
*display
);
127 extern void XSetStandardProperties(Display
*display
,Window w
,
128 char *window_name
,char *icon_name
,
129 Pixmap icon_pixmap
,char **argv
,int argc
,
131 extern Status
XSendEvent(Display
*display
,Window w
,Bool propagate
,
132 long event_mask
,XEvent
*event_send
);
133 extern void XFreeGC(Display
*display
,GC gc
);
134 extern void XCloseDisplay(Display
*display
);
136 extern void XNextEvent(Display
*display
,XEvent
*report
);
137 extern Bool
XCheckTypedEvent(Display
*display
,int event_type
,
138 XEvent
*event_return
);
139 extern void XSetForeground(Display
*display
,GC gc
,
140 unsigned long foreground
);
141 extern Bool
XCheckMaskEvent(Display
*display
,long event_mask
,
142 XEvent
*event_return
);
144 extern int XResizeWindow(Display
*display
, Window w
,
145 unsigned int width
, unsigned int height
);
146 extern int XMoveWindow(Display
*display
, Window w
,
147 unsigned int x
, unsigned int y
);
148 extern void XFreePixmap(Display
*display
,Pixmap pixmap
);
149 extern void XCopyGC(Display
*display
, GC src
, long valuemask
,
151 extern int XTextWidth(XFontStruct
*font_struct
, char *string
, int count
);
152 extern void XSetDashes(Display
*display
, GC gc
, int dash_offset
,
153 unsigned char dash_list
[], int n
);
154 extern void XBell(Display
*disp
,int volume
);
155 extern void XDrawRectangle(Display
*disp
,Drawable d
, GC gc
,
156 int x
,int y
, int w
,int h
);
157 extern void XFillRectangle(Display
*disp
,Drawable d
, GC gc
,
158 int x
,int y
, int w
,int h
);
160 extern void XDestroySubwindows(Display
*disp
, Window Win
);
161 extern void XDestroyWindow(Display
*disp
, Window Win
);
162 extern void XQueryPointer(Display
*disp
,Window Win
,Window
*root
,
163 Window
*child
,int *root_x
,int *root_y
,
164 int *win_x
,int *win_y
, unsigned int *keybut
);
165 extern void XWarpPointer(Display
*disp
, Window src
, Window dest
,
166 int src_x
, int src_y
, unsigned int src_w
, unsigned int src_h
,
167 int dest_x
, int dest_y
);
168 extern void XGetGeometry(Display
*disp
, Window w
,Window
*root
,
169 int *x
, int *y
, unsigned int *width
, unsigned int *height
,
170 unsigned int *border_width
, unsigned int *depth
);
171 #endif /* NEED_XSTUFF */
173 #endif /* _Xstuff_h */