Commit | Line | Data |
---|---|---|
a09e091a JB |
1 | /* |
2 | ||
3 | Copyright 1987, 1998 The Open Group | |
4 | ||
5 | Permission to use, copy, modify, distribute, and sell this software and its | |
6 | documentation for any purpose is hereby granted without fee, provided that | |
7 | the above copyright notice appear in all copies and that both that | |
8 | copyright notice and this permission notice appear in supporting | |
9 | documentation. | |
10 | ||
11 | The above copyright notice and this permission notice shall be included in | |
12 | all copies or substantial portions of the Software. | |
13 | ||
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
17 | OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | |
18 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |
19 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
20 | ||
21 | Except as contained in this notice, the name of The Open Group shall not be | |
22 | used in advertising or otherwise to promote the sale, use or other dealings | |
23 | in this Software without prior written authorization from The Open Group. | |
24 | ||
25 | Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. | |
26 | ||
27 | All Rights Reserved | |
28 | ||
29 | Permission to use, copy, modify, and distribute this software and its | |
30 | documentation for any purpose and without fee is hereby granted, | |
31 | provided that the above copyright notice appear in all copies and that | |
32 | both that copyright notice and this permission notice appear in | |
33 | supporting documentation, and that the name of Digital not be | |
34 | used in advertising or publicity pertaining to distribution of the | |
35 | software without specific, written prior permission. | |
36 | ||
37 | DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING | |
38 | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL | |
39 | DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR | |
40 | ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, | |
41 | WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, | |
42 | ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS | |
43 | SOFTWARE. | |
44 | ||
45 | */ | |
46 | ||
47 | #ifndef CMAP_H | |
48 | #define CMAP_H 1 | |
49 | ||
50 | #include <X11/Xproto.h> | |
51 | #include "screenint.h" | |
52 | #include "window.h" | |
53 | ||
54 | /* these follow X.h's AllocNone and AllocAll */ | |
55 | #define CM_PSCREEN 2 | |
56 | #define CM_PWIN 3 | |
57 | /* Passed internally in colormap.c */ | |
58 | #define REDMAP 0 | |
59 | #define GREENMAP 1 | |
60 | #define BLUEMAP 2 | |
61 | #define PSEUDOMAP 3 | |
62 | #define AllocPrivate (-1) | |
63 | #define AllocTemporary (-2) | |
64 | #define DynamicClass 1 | |
65 | ||
66 | /* Values for the flags field of a colormap. These should have 1 bit set | |
67 | * and not overlap */ | |
68 | #define IsDefault 1 | |
69 | #define AllAllocated 2 | |
70 | #define BeingCreated 4 | |
71 | ||
72 | typedef CARD32 Pixel; | |
73 | typedef struct _CMEntry *EntryPtr; | |
74 | ||
75 | /* moved to screenint.h: typedef struct _ColormapRec *ColormapPtr */ | |
76 | typedef struct _colorResource *colorResourcePtr; | |
77 | ||
78 | extern _X_EXPORT int CreateColormap(Colormap /*mid */ , | |
79 | ScreenPtr /*pScreen */ , | |
80 | VisualPtr /*pVisual */ , | |
81 | ColormapPtr * /*ppcmap */ , | |
82 | int /*alloc */ , | |
83 | int /*client */ ); | |
84 | ||
85 | extern _X_EXPORT int FreeColormap(pointer /*pmap */ , | |
86 | XID /*mid */ ); | |
87 | ||
88 | extern _X_EXPORT int TellLostMap(WindowPtr /*pwin */ , | |
89 | pointer /* Colormap *pmid */ ); | |
90 | ||
91 | extern _X_EXPORT int TellGainedMap(WindowPtr /*pwin */ , | |
92 | pointer /* Colormap *pmid */ ); | |
93 | ||
94 | extern _X_EXPORT int CopyColormapAndFree(Colormap /*mid */ , | |
95 | ColormapPtr /*pSrc */ , | |
96 | int /*client */ ); | |
97 | ||
98 | extern _X_EXPORT int AllocColor(ColormapPtr /*pmap */ , | |
99 | unsigned short * /*pred */ , | |
100 | unsigned short * /*pgreen */ , | |
101 | unsigned short * /*pblue */ , | |
102 | Pixel * /*pPix */ , | |
103 | int /*client */ ); | |
104 | ||
105 | extern _X_EXPORT void FakeAllocColor(ColormapPtr /*pmap */ , | |
106 | xColorItem * /*item */ ); | |
107 | ||
108 | extern _X_EXPORT void FakeFreeColor(ColormapPtr /*pmap */ , | |
109 | Pixel /*pixel */ ); | |
110 | ||
111 | typedef int (*ColorCompareProcPtr) (EntryPtr /*pent */ , | |
112 | xrgb * /*prgb */ ); | |
113 | ||
114 | extern _X_EXPORT int FindColor(ColormapPtr /*pmap */ , | |
115 | EntryPtr /*pentFirst */ , | |
116 | int /*size */ , | |
117 | xrgb * /*prgb */ , | |
118 | Pixel * /*pPixel */ , | |
119 | int /*channel */ , | |
120 | int /*client */ , | |
121 | ColorCompareProcPtr /*comp */ ); | |
122 | ||
123 | extern _X_EXPORT int QueryColors(ColormapPtr /*pmap */ , | |
124 | int /*count */ , | |
125 | Pixel * /*ppixIn */ , | |
126 | xrgb * /*prgbList */ , | |
127 | ClientPtr client); | |
128 | ||
129 | extern _X_EXPORT int FreeClientPixels(pointer /*pcr */ , | |
130 | XID /*fakeid */ ); | |
131 | ||
132 | extern _X_EXPORT int AllocColorCells(int /*client */ , | |
133 | ColormapPtr /*pmap */ , | |
134 | int /*colors */ , | |
135 | int /*planes */ , | |
136 | Bool /*contig */ , | |
137 | Pixel * /*ppix */ , | |
138 | Pixel * /*masks */ ); | |
139 | ||
140 | extern _X_EXPORT int AllocColorPlanes(int /*client */ , | |
141 | ColormapPtr /*pmap */ , | |
142 | int /*colors */ , | |
143 | int /*r */ , | |
144 | int /*g */ , | |
145 | int /*b */ , | |
146 | Bool /*contig */ , | |
147 | Pixel * /*pixels */ , | |
148 | Pixel * /*prmask */ , | |
149 | Pixel * /*pgmask */ , | |
150 | Pixel * /*pbmask */ ); | |
151 | ||
152 | extern _X_EXPORT int FreeColors(ColormapPtr /*pmap */ , | |
153 | int /*client */ , | |
154 | int /*count */ , | |
155 | Pixel * /*pixels */ , | |
156 | Pixel /*mask */ ); | |
157 | ||
158 | extern _X_EXPORT int StoreColors(ColormapPtr /*pmap */ , | |
159 | int /*count */ , | |
160 | xColorItem * /*defs */ , | |
161 | ClientPtr client); | |
162 | ||
163 | extern _X_EXPORT int IsMapInstalled(Colormap /*map */ , | |
164 | WindowPtr /*pWin */ ); | |
165 | ||
166 | extern _X_EXPORT Bool ResizeVisualArray(ScreenPtr /* pScreen */ , | |
167 | int /* new_vis_count */ , | |
168 | DepthPtr /* depth */ ); | |
169 | ||
170 | #endif /* CMAP_H */ |