1/*
2
3Copyright 1988, 1998  The Open Group
4
5Permission to use, copy, modify, distribute, and sell this software and its
6documentation for any purpose is hereby granted without fee, provided that
7the above copyright notice appear in all copies and that both that
8copyright notice and this permission notice appear in supporting
9documentation.
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
17OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
21Except as contained in this notice, the name of The Open Group shall not be
22used in advertising or otherwise to promote the sale, use or other dealings
23in this Software without prior written authorization from The Open Group.
24
25*/
26
27/*
28 * The interfaces described by this header file are for miscellaneous utilities
29 * and are not part of the Xlib standard.
30 */
31
32#ifndef _XMU_DRAWING_H_
33#define _XMU_DRAWING_H_
34
35#include <X11/Xlib.h>
36#include <X11/Xfuncproto.h>
37
38#include <stdio.h>
39#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED)
40typedef unsigned long Pixel;
41#endif
42
43_XFUNCPROTOBEGIN
44
45void XmuDrawRoundedRectangle
46(
47 Display		*dpy,
48 Drawable	 	draw,
49 GC 			gc,
50 int			x,
51 int			y,
52 int			w,
53 int			h,
54 int			ew,
55 int			eh
56 );
57
58void XmuFillRoundedRectangle
59(
60 Display		*dpy,
61 Drawable 		draw,
62 GC 			gc,
63 int			x,
64 int			y,
65 int			w,
66 int			h,
67 int			ew,
68 int			eh
69 );
70
71void XmuDrawLogo
72(
73 Display		*dpy,
74 Drawable 		drawable,
75 GC			gcFore,
76 GC			gcBack,
77 int			x,
78 int			y,
79 unsigned int		width,
80 unsigned int		height
81 );
82
83Pixmap XmuCreatePixmapFromBitmap
84(
85 Display		*dpy,
86 Drawable 		d,
87 Pixmap 		bitmap,
88 unsigned int		width,
89 unsigned int		height,
90 unsigned int		depth,
91 unsigned long		fore,
92 unsigned long		back
93);
94
95Pixmap XmuCreateStippledPixmap
96(
97 Screen			*screen,
98 Pixel			fore,
99 Pixel			back,
100 unsigned int		depth
101 );
102
103void XmuReleaseStippledPixmap
104(
105 Screen			*screen,
106 Pixmap 		pixmap
107 );
108
109Pixmap XmuLocateBitmapFile
110(
111 Screen			*screen,
112 _Xconst char		*name,
113 char			*srcname_return,
114 int 			srcnamelen,
115 int			*width_return,
116 int			*height_return,
117 int			*xhot_return,
118 int			*yhot_return
119 );
120
121Pixmap XmuLocatePixmapFile
122(
123 Screen			*screen,
124 _Xconst char		*name,
125 unsigned long		fore,
126 unsigned long		back,
127 unsigned int		depth,
128 char			*srcname_return,
129 int 			srcnamelen,
130 int			*width_return,
131 int			*height_return,
132 int			*xhot_return,
133 int			*yhot_return
134 );
135
136int XmuReadBitmapData
137(
138 FILE			*fstream,
139 unsigned int		*width_return,
140 unsigned int		*height_return,
141 unsigned char		**datap_return,
142 int			*xhot_return,
143 int			*yhot_return
144);
145
146int XmuReadBitmapDataFromFile
147(
148 _Xconst char		*filename,
149 unsigned int		*width_return,
150 unsigned int		*height_return,
151 unsigned char		**datap_return,
152 int			*xhot_return,
153 int			*yhot_return
154 );
155
156_XFUNCPROTOEND
157
158#endif /* _XMU_DRAWING_H_ */
159