Tagged files with gromacs 3.0 header and added some license info
[alexxy/gromacs.git] / src / ngmx / Xstuff.h
1 /*
2  * $Id$
3  * 
4  *                This source code is part of
5  * 
6  *                 G   R   O   M   A   C   S
7  * 
8  *          GROningen MAchine for Chemical Simulations
9  * 
10  *                        VERSION 3.0
11  * 
12  * Copyright (c) 1991-2001
13  * BIOSON Research Institute, Dept. of Biophysical Chemistry
14  * University of Groningen, The Netherlands
15  * 
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.
20  * 
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.
27  * 
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.
30  * 
31  * Do check out http://www.gromacs.org , or mail us at gromacs@gromacs.org .
32  * 
33  * And Hey:
34  * Giving Russians Opium May Alter Current Situation
35  */
36
37 #ifndef _Xstuff_h
38 #define _Xstuff_h
39
40 static char *SRCID_Xstuff_h = "$Id$";
41 #ifdef HAVE_IDENT
42 #ident  "@(#) Xstuff.h 1.16 11/23/92"
43 #endif /* HAVE_IDENT */
44
45 #include <X11/Xlib.h>
46 #include <X11/Xutil.h>
47 #include <X11/keysym.h>
48 #include <X11/cursorfont.h>
49 #include <X11/Xresource.h>
50
51 #ifdef _acc_
52 typedef unsigned char bmchar;
53 #else
54 typedef char bmchar;
55 #endif /* _acc */
56
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)
62
63 #ifdef NEED_XSTUFF
64
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,
82                          int angle2);
83 extern  void    XFillArc(Display *display,Drawable d,GC gc,int x,int y,
84                          unsigned int width,unsigned int height,int angle1,
85                          int angle2);
86 extern  void    XDrawLine(Display *display,Drawable d,GC gc,int x1,int y1,
87                           int x2,int y2);
88 extern  void    XDrawLines(Display *display,Drawable d,GC gc,XPoint *points,
89                            int npoints, int mode);
90
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);
95
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,
104                            Bool exposures);
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,
116                                        XSizeHints *hints);
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,
128                                        XSizeHints *hints);
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);
133
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);
141
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,
148                         GC dest);
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);
157
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 */
170
171 #endif  /* _Xstuff_h */