master
ブランチ master
ShaderPlayground / deps / xlibre / include / X11 / IntrinsicP.h
9.7 KB、334行 生 Blame 履歴
1/***********************************************************
2
3Copyright 1987, 1988, 1994, 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
26Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
27
28 All Rights Reserved
29
30Permission to use, copy, modify, and distribute this software and its
31documentation for any purpose and without fee is hereby granted,
32provided that the above copyright notice appear in all copies and that
33both that copyright notice and this permission notice appear in
34supporting documentation, and that the name of Digital not be
35used in advertising or publicity pertaining to distribution of the
36software without specific, written prior permission.
37
38DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
39ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
40DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
41ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
42WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
43ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
44SOFTWARE.
45
46******************************************************************/
47
48#ifndef _XtintrinsicP_h
49#define _XtintrinsicP_h
50
51#include <X11/Intrinsic.h>
52
53/*
54 * Field sizes and offsets of XrmResource must match those of XtResource.
55 * Type long is used instead of XrmQuark here because XrmQuark and String
56 * are not the same size on all systems.
57 */
58typedef struct {
59 XtIntPtr xrm_name; /* Resource name quark */
60 XtIntPtr xrm_class; /* Resource class quark */
61 XtIntPtr xrm_type; /* Resource representation type quark */
62 Cardinal xrm_size; /* Size in bytes of representation */
63 int xrm_offset; /* -offset-1 */
64 XtIntPtr xrm_default_type; /* Default representation type quark */
65 XtPointer xrm_default_addr; /* Default resource address */
66} XrmResource, *XrmResourceList;
67#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
68_Static_assert(XtOffsetOf(XrmResource, xrm_default_addr) ==
69 XtOffsetOf(XtResource, default_addr),
70 "Field offset mismatch");
71#endif
72
73typedef unsigned long XtVersionType;
74
75#define XT_VERSION 11
76#ifndef XT_REVISION
77#define XT_REVISION 6
78#endif
79#define XtVersion (XT_VERSION * 1000 + XT_REVISION)
80#define XtVersionDontCheck 0
81
82typedef void (*XtProc)(
83 void
84);
85
86typedef void (*XtWidgetClassProc)(
87 WidgetClass /* class */
88);
89
90typedef void (*XtWidgetProc)(
91 Widget /* widget */
92);
93
94typedef Boolean (*XtAcceptFocusProc)(
95 Widget /* widget */,
96 Time* /* time */
97);
98
99typedef void (*XtArgsProc)(
100 Widget /* widget */,
101 ArgList /* args */,
102 Cardinal* /* num_args */
103);
104
105typedef void (*XtInitProc)(
106 Widget /* request */,
107 Widget /* new */,
108 ArgList /* args */,
109 Cardinal* /* num_args */
110);
111
112typedef Boolean (*XtSetValuesFunc)(
113 Widget /* old */,
114 Widget /* request */,
115 Widget /* new */,
116 ArgList /* args */,
117 Cardinal* /* num_args */
118);
119
120typedef Boolean (*XtArgsFunc)(
121 Widget /* widget */,
122 ArgList /* args */,
123 Cardinal* /* num_args */
124);
125
126typedef void (*XtAlmostProc)(
127 Widget /* old */,
128 Widget /* new */,
129 XtWidgetGeometry* /* request */,
130 XtWidgetGeometry* /* reply */
131);
132
133typedef void (*XtExposeProc)(
134 Widget /* widget */,
135 XEvent* /* event */,
136 Region /* region */
137);
138
139/* compress_exposure options*/
140#define XtExposeNoCompress ((XtEnum)False)
141#define XtExposeCompressSeries ((XtEnum)True)
142#define XtExposeCompressMultiple 2
143#define XtExposeCompressMaximal 3
144
145/* modifiers */
146#define XtExposeGraphicsExpose 0x10
147#define XtExposeGraphicsExposeMerged 0x20
148#define XtExposeNoExpose 0x40
149#define XtExposeNoRegion 0x80
150
151typedef void (*XtRealizeProc)(
152 Widget /* widget */,
153 XtValueMask* /* mask */,
154 XSetWindowAttributes* /* attributes */
155);
156
157typedef XtGeometryResult (*XtGeometryHandler)(
158 Widget /* widget */,
159 XtWidgetGeometry* /* request */,
160 XtWidgetGeometry* /* reply */
161);
162
163typedef void (*XtStringProc)(
164 Widget /* widget */,
165 String /* str */
166);
167
168typedef struct {
169 String name; /* resource name */
170 String type; /* representation type name */
171 XtArgVal value; /* representation */
172 int size; /* size of representation */
173} XtTypedArg, *XtTypedArgList;
174
175typedef void (*XtAllocateProc)(
176 WidgetClass /* widget_class */,
177 Cardinal * /* constraint_size */,
178 Cardinal * /* more_bytes */,
179 ArgList /* args */,
180 Cardinal * /* num_args */,
181 XtTypedArgList /* typed_args */,
182 Cardinal * /* num_typed_args */,
183 Widget * /* widget_return */,
184 XtPointer * /* more_bytes_return */
185);
186
187typedef void (*XtDeallocateProc)(
188 Widget /* widget */,
189 XtPointer /* more_bytes */
190);
191
192struct _XtStateRec; /* Forward declare before use for C++ */
193
194typedef struct _XtTMRec {
195 XtTranslations translations; /* private to Translation Manager */
196 XtBoundActions proc_table; /* procedure bindings for actions */
197 struct _XtStateRec *current_state; /* Translation Manager state ptr */
198 unsigned long lastEventTime;
199} XtTMRec, *XtTM;
200
201#include <X11/CoreP.h>
202#include <X11/CompositeP.h>
203#include <X11/ConstrainP.h>
204#include <X11/ObjectP.h>
205#include <X11/RectObjP.h>
206
207#define XtDisplay(widget) DisplayOfScreen((widget)->core.screen)
208#define XtScreen(widget) ((widget)->core.screen)
209#define XtWindow(widget) ((widget)->core.window)
210
211#define XtClass(widget) ((widget)->core.widget_class)
212#define XtSuperclass(widget) (XtClass(widget)->core_class.superclass)
213#define XtIsRealized(object) (XtWindowOfObject(object) != None)
214#define XtParent(widget) ((widget)->core.parent)
215
216#undef XtIsRectObj
217extern Boolean XtIsRectObj(Widget);
218#define XtIsRectObj(obj) \
219 (((Object)(obj))->object.widget_class->core_class.class_inited & 0x02)
220
221#undef XtIsWidget
222extern Boolean XtIsWidget(Widget);
223#define XtIsWidget(obj) \
224 (((Object)(obj))->object.widget_class->core_class.class_inited & 0x04)
225
226#undef XtIsComposite
227extern Boolean XtIsComposite(Widget);
228#define XtIsComposite(obj) \
229 (((Object)(obj))->object.widget_class->core_class.class_inited & 0x08)
230
231#undef XtIsConstraint
232extern Boolean XtIsConstraint(Widget);
233#define XtIsConstraint(obj) \
234 (((Object)(obj))->object.widget_class->core_class.class_inited & 0x10)
235
236#undef XtIsShell
237extern Boolean XtIsShell(Widget);
238#define XtIsShell(obj) \
239 (((Object)(obj))->object.widget_class->core_class.class_inited & 0x20)
240
241#undef XtIsWMShell
242extern Boolean XtIsWMShell(Widget);
243#define XtIsWMShell(obj) \
244 (((Object)(obj))->object.widget_class->core_class.class_inited & 0x40)
245
246#undef XtIsTopLevelShell
247extern Boolean XtIsTopLevelShell(Widget);
248#define XtIsTopLevelShell(obj) \
249 (((Object)(obj))->object.widget_class->core_class.class_inited & 0x80)
250
251#ifdef DEBUG
252#define XtCheckSubclass(w, widget_class_ptr, message) \
253 if (!XtIsSubclass(((Widget)(w)), (widget_class_ptr))) { \
254 String dbgArgV[3]; \
255 Cardinal dbgArgC = 3; \
256 dbgArgV[0] = ((Widget)(w))->core.widget_class->core_class.class_name;\
257 dbgArgV[1] = (widget_class_ptr)->core_class.class_name; \
258 dbgArgV[2] = (message); \
259 XtAppErrorMsg(XtWidgetToApplicationContext((Widget)(w)), \
260 "subclassMismatch", "xtCheckSubclass", "XtToolkitError", \
261 "Widget class %s found when subclass of %s expected: %s",\
262 dbgArgV, &dbgArgC); \
263 }
264#else
265#define XtCheckSubclass(w, widget_class, message) /* nothing */
266#endif
267
268_XFUNCPROTOBEGIN
269
270extern Widget _XtWindowedAncestor( /* internal; implementation-dependent */
271 Widget /* object */
272);
273
274#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(LIBXT_COMPILATION)
275__declspec(dllimport)
276#else
277extern
278#endif
279void _XtInherit(
280 void
281);
282
283extern void _XtHandleFocus(
284 Widget /* widget */,
285 XtPointer /* client_data */,
286 XEvent * /* event */,
287 Boolean * /* cont */);
288
289extern void XtCreateWindow(
290 Widget /* widget */,
291 unsigned int /* window_class */,
292 Visual* /* visual */,
293 XtValueMask /* value_mask */,
294 XSetWindowAttributes* /* attributes */
295);
296
297extern void XtResizeWidget(
298 Widget /* widget */,
299 _XtDimension /* width */,
300 _XtDimension /* height */,
301 _XtDimension /* border_width */
302);
303
304extern void XtMoveWidget(
305 Widget /* widget */,
306 _XtPosition /* x */,
307 _XtPosition /* y */
308);
309
310extern void XtConfigureWidget(
311 Widget /* widget */,
312 _XtPosition /* x */,
313 _XtPosition /* y */,
314 _XtDimension /* width */,
315 _XtDimension /* height */,
316 _XtDimension /* border_width */
317);
318
319extern void XtResizeWindow(
320 Widget /* widget */
321);
322
323extern void XtProcessLock(
324 void
325);
326
327extern void XtProcessUnlock(
328 void
329);
330
331_XFUNCPROTOEND
332
333#endif /* _XtIntrinsicP_h */
334/* DON'T ADD STUFF AFTER THIS #endif */