5c774a7f11ee32f172ea2cf616616714b3405f02
[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 2.0
11  * 
12  * Copyright (c) 1991-1999
13  * BIOSON Research Institute, Dept. of Biophysical Chemistry
14  * University of Groningen, The Netherlands
15  * 
16  * Please refer to:
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)
20  * 
21  * Also check out our WWW page:
22  * http://md.chem.rug.nl/~gmx
23  * or e-mail to:
24  * gromacs@chem.rug.nl
25  * 
26  * And Hey:
27  * Great Red Oystrich Makes All Chemists Sane
28  */
29
30 #ifndef _Xstuff_h
31 #define _Xstuff_h
32
33 static char *SRCID_Xstuff_h = "$Id$";
34
35 #ifdef HAVE_IDENT
36 #ident  "@(#) Xstuff.h 1.16 11/23/92"
37 #endif /* HAVE_IDENT */
38
39 #include <X11/Xlib.h>
40 #include <X11/Xutil.h>
41 #include <X11/keysym.h>
42 #include <X11/cursorfont.h>
43 #include <X11/Xresource.h>
44
45 #ifdef _acc_
46 typedef unsigned char bmchar;
47 #else
48 typedef char bmchar;
49 #endif /* _acc */
50
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)
56
57 #ifdef NEED_XSTUFF
58
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,
76                          int angle2);
77 extern  void    XFillArc(Display *display,Drawable d,GC gc,int x,int y,
78                          unsigned int width,unsigned int height,int angle1,
79                          int angle2);
80 extern  void    XDrawLine(Display *display,Drawable d,GC gc,int x1,int y1,
81                           int x2,int y2);
82 extern  void    XDrawLines(Display *display,Drawable d,GC gc,XPoint *points,
83                            int npoints, int mode);
84
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);
89
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,
98                            Bool exposures);
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,
110                                        XSizeHints *hints);
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,
122                                        XSizeHints *hints);
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);
127
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);
135
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,
142                         GC dest);
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);
151
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 */
164
165 #endif  /* _Xstuff_h */