Remove repeat sfree(state->nosehoover_xi)
[alexxy/gromacs.git] / src / ngmx / Xstuff.h
1 /*
2  *
3  *                This source code is part of
4  *
5  *                 G   R   O   M   A   C   S
6  *
7  *          GROningen MAchine for Chemical Simulations
8  *
9  *                        VERSION 3.2.0
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.
14
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.
19  *
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.
26  *
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.
29  *
30  * For more info, check our website at http://www.gromacs.org
31  *
32  * And Hey:
33  * Gyas ROwers Mature At Cryogenic Speed
34  */
35
36 #ifndef _Xstuff_h
37 #define _Xstuff_h
38
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.
42  */
43 #ifdef __VEC__
44 #undef pixel
45 #endif
46
47 #include <X11/Xlib.h>
48 #include <X11/Xutil.h>
49 #include <X11/keysym.h>
50 #include <X11/cursorfont.h>
51 #include <X11/Xresource.h>
52
53 #ifdef _acc_
54 typedef unsigned char bmchar;
55 #else
56 typedef char bmchar;
57 #endif /* _acc */
58
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)
64
65 #ifdef NEED_XSTUFF
66
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,
84                          int angle2);
85 extern  void    XFillArc(Display *display, Drawable d, GC gc, int x, int y,
86                          unsigned int width, unsigned int height, int angle1,
87                          int angle2);
88 extern  void    XDrawLine(Display *display, Drawable d, GC gc, int x1, int y1,
89                           int x2, int y2);
90 extern  void    XDrawLines(Display *display, Drawable d, GC gc, XPoint *points,
91                            int npoints, int mode);
92
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);
97
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,
106                            Bool exposures);
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,
118                                        XSizeHints *hints);
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,
130                                        XSizeHints *hints);
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);
135
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);
143
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,
150                         GC dest);
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);
159
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 */
172
173 #endif /* _Xstuff_h */