master
ブランチ master
ShaderPlayground / deps / xlibre / include / X11 / ShellP.h
12.4 KB、434行 生 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/*
49 * ShellP.h - Private definitions for Shell widget
50 *
51 * Author: Paul Asente
52 * Digital Equipment Corporation
53 * Western Software Laboratory
54 * Date: Thu Dec 3, 1987
55 */
56
57#ifndef _XtShellPrivate_h
58#define _XtShellPrivate_h
59
60#include <X11/Shell.h>
61
62/* *****
63 * ***** VendorP.h is included later on; it needs fields defined in the first
64 * ***** part of this header file
65 * *****
66 */
67
68_XFUNCPROTOBEGIN
69
70/***********************************************************************
71 *
72 * Shell Widget Private Data
73 *
74 ***********************************************************************/
75
76/* New fields for the Shell widget class record */
77
78typedef struct {
79 XtPointer extension; /* pointer to extension record */
80} ShellClassPart;
81
82typedef struct {
83 XtPointer next_extension; /* 1st 4 mandated for all extension records */
84 XrmQuark record_type; /* NULLQUARK; on ShellClassPart */
85 long version; /* must be XtShellExtensionVersion */
86 Cardinal record_size; /* sizeof(ShellClassExtensionRec) */
87 XtGeometryHandler root_geometry_manager;
88} ShellClassExtensionRec, *ShellClassExtension;
89
90#define XtShellExtensionVersion 1L
91#define XtInheritRootGeometryManager ((XtGeometryHandler)_XtInherit)
92
93typedef struct _ShellClassRec {
94 CoreClassPart core_class;
95 CompositeClassPart composite_class;
96 ShellClassPart shell_class;
97} ShellClassRec;
98
99externalref ShellClassRec shellClassRec;
100
101/* New fields for the shell widget */
102
103typedef struct {
104 char *geometry;
105 XtCreatePopupChildProc create_popup_child_proc;
106 XtGrabKind grab_kind;
107 Boolean spring_loaded;
108 Boolean popped_up;
109 Boolean allow_shell_resize;
110 Boolean client_specified; /* re-using old name */
111#define _XtShellPositionValid ((Boolean)(1<<0))
112#define _XtShellNotReparented ((Boolean)(1<<1))
113#define _XtShellPPositionOK ((Boolean)(1<<2))
114#define _XtShellGeometryParsed ((Boolean)(1<<3))
115 Boolean save_under;
116 Boolean override_redirect;
117
118 XtCallbackList popup_callback;
119 XtCallbackList popdown_callback;
120 Visual* visual;
121} ShellPart;
122
123typedef struct {
124 CorePart core;
125 CompositePart composite;
126 ShellPart shell;
127} ShellRec, *ShellWidget;
128
129/***********************************************************************
130 *
131 * OverrideShell Widget Private Data
132 *
133 ***********************************************************************/
134
135/* New fields for the OverrideShell widget class record */
136
137typedef struct {
138 XtPointer extension; /* pointer to extension record */
139} OverrideShellClassPart;
140
141typedef struct _OverrideShellClassRec {
142 CoreClassPart core_class;
143 CompositeClassPart composite_class;
144 ShellClassPart shell_class;
145 OverrideShellClassPart override_shell_class;
146} OverrideShellClassRec;
147
148externalref OverrideShellClassRec overrideShellClassRec;
149
150/* No new fields for the override shell widget */
151
152typedef struct {int frabjous;} OverrideShellPart;
153
154typedef struct {
155 CorePart core;
156 CompositePart composite;
157 ShellPart shell;
158 OverrideShellPart override;
159} OverrideShellRec, *OverrideShellWidget;
160
161/***********************************************************************
162 *
163 * WMShell Widget Private Data
164 *
165 ***********************************************************************/
166
167/* New fields for the WMShell widget class record */
168
169typedef struct {
170 XtPointer extension; /* pointer to extension record */
171} WMShellClassPart;
172
173typedef struct _WMShellClassRec {
174 CoreClassPart core_class;
175 CompositeClassPart composite_class;
176 ShellClassPart shell_class;
177 WMShellClassPart wm_shell_class;
178} WMShellClassRec;
179
180externalref WMShellClassRec wmShellClassRec;
181
182/* New fields for the WM shell widget */
183
184typedef struct {
185 char *title;
186 int wm_timeout;
187 Boolean wait_for_wm;
188 Boolean transient;
189 Boolean urgency;
190 Widget client_leader;
191 String window_role;
192 struct _OldXSizeHints { /* pre-R4 Xlib structure */
193 long flags;
194 int x, y;
195 int width, height;
196 int min_width, min_height;
197 int max_width, max_height;
198 int width_inc, height_inc;
199 struct {
200 int x;
201 int y;
202 } min_aspect, max_aspect;
203 } size_hints;
204 XWMHints wm_hints;
205 int base_width, base_height;
206 int win_gravity;
207 Atom title_encoding;
208} WMShellPart;
209
210typedef struct {
211 CorePart core;
212 CompositePart composite;
213 ShellPart shell;
214 WMShellPart wm;
215} WMShellRec, *WMShellWidget;
216
217_XFUNCPROTOEND
218
219#include <X11/VendorP.h>
220
221_XFUNCPROTOBEGIN
222
223/***********************************************************************
224 *
225 * TransientShell Widget Private Data
226 *
227 ***********************************************************************/
228
229/* New fields for the TransientShell widget class record */
230
231typedef struct {
232 XtPointer extension; /* pointer to extension record */
233} TransientShellClassPart;
234
235typedef struct _TransientShellClassRec {
236 CoreClassPart core_class;
237 CompositeClassPart composite_class;
238 ShellClassPart shell_class;
239 WMShellClassPart wm_shell_class;
240 VendorShellClassPart vendor_shell_class;
241 TransientShellClassPart transient_shell_class;
242} TransientShellClassRec;
243
244externalref TransientShellClassRec transientShellClassRec;
245
246/* New fields for the transient shell widget */
247
248typedef struct {
249 Widget transient_for;
250} TransientShellPart;
251
252typedef struct {
253 CorePart core;
254 CompositePart composite;
255 ShellPart shell;
256 WMShellPart wm;
257 VendorShellPart vendor;
258 TransientShellPart transient;
259} TransientShellRec, *TransientShellWidget;
260
261/***********************************************************************
262 *
263 * TopLevelShell Widget Private Data
264 *
265 ***********************************************************************/
266
267/* New fields for the TopLevelShell widget class record */
268
269typedef struct {
270 XtPointer extension; /* pointer to extension record */
271} TopLevelShellClassPart;
272
273typedef struct _TopLevelShellClassRec {
274 CoreClassPart core_class;
275 CompositeClassPart composite_class;
276 ShellClassPart shell_class;
277 WMShellClassPart wm_shell_class;
278 VendorShellClassPart vendor_shell_class;
279 TopLevelShellClassPart top_level_shell_class;
280} TopLevelShellClassRec;
281
282externalref TopLevelShellClassRec topLevelShellClassRec;
283
284/* New fields for the top level shell widget */
285
286typedef struct {
287 char *icon_name;
288 Boolean iconic;
289 Atom icon_name_encoding;
290} TopLevelShellPart;
291
292typedef struct {
293 CorePart core;
294 CompositePart composite;
295 ShellPart shell;
296 WMShellPart wm;
297 VendorShellPart vendor;
298 TopLevelShellPart topLevel;
299} TopLevelShellRec, *TopLevelShellWidget;
300
301/***********************************************************************
302 *
303 * ApplicationShell Widget Private Data
304 *
305 ***********************************************************************/
306
307/* New fields for the ApplicationShell widget class record */
308
309typedef struct {
310 XtPointer extension; /* pointer to extension record */
311} ApplicationShellClassPart;
312
313typedef struct _ApplicationShellClassRec {
314 CoreClassPart core_class;
315 CompositeClassPart composite_class;
316 ShellClassPart shell_class;
317 WMShellClassPart wm_shell_class;
318 VendorShellClassPart vendor_shell_class;
319 TopLevelShellClassPart top_level_shell_class;
320 ApplicationShellClassPart application_shell_class;
321} ApplicationShellClassRec;
322
323externalref ApplicationShellClassRec applicationShellClassRec;
324
325/* New fields for the application shell widget */
326
327typedef struct {
328#if defined(__cplusplus) || defined(c_plusplus)
329 char *c_class;
330#else
331 char *class;
332#endif
333 XrmClass xrm_class;
334 int argc;
335 _XtString *argv;
336} ApplicationShellPart;
337
338typedef struct {
339 CorePart core;
340 CompositePart composite;
341 ShellPart shell;
342 WMShellPart wm;
343 VendorShellPart vendor;
344 TopLevelShellPart topLevel;
345 ApplicationShellPart application;
346} ApplicationShellRec, *ApplicationShellWidget;
347
348/***********************************************************************
349 *
350 * SessionShell Widget Private Data
351 *
352 ***********************************************************************/
353
354/* New fields for the SessionShell widget class record */
355
356typedef struct {
357 XtPointer extension; /* pointer to extension record */
358} SessionShellClassPart;
359
360typedef struct _SessionShellClassRec {
361 CoreClassPart core_class;
362 CompositeClassPart composite_class;
363 ShellClassPart shell_class;
364 WMShellClassPart wm_shell_class;
365 VendorShellClassPart vendor_shell_class;
366 TopLevelShellClassPart top_level_shell_class;
367 ApplicationShellClassPart application_shell_class;
368 SessionShellClassPart session_shell_class;
369} SessionShellClassRec;
370
371externalref SessionShellClassRec sessionShellClassRec;
372
373typedef struct _XtSaveYourselfRec *XtSaveYourself; /* implementation-private */
374
375/* New fields for the session shell widget */
376
377typedef struct {
378 SmcConn connection;
379 _XtString session_id;
380 _XtString* restart_command;
381 _XtString* clone_command;
382 _XtString* discard_command;
383 _XtString* resign_command;
384 _XtString* shutdown_command;
385 _XtString* environment;
386 _XtString current_dir;
387 String program_path;
388 unsigned char restart_style;
389 unsigned char checkpoint_state;
390 Boolean join_session;
391 XtCallbackList save_callbacks;
392 XtCallbackList interact_callbacks;
393 XtCallbackList cancel_callbacks;
394 XtCallbackList save_complete_callbacks;
395 XtCallbackList die_callbacks;
396 XtCallbackList error_callbacks;
397 XtSaveYourself save;
398 XtInputId input_id;
399 XtPointer ses20;
400 XtPointer ses19;
401 XtPointer ses18;
402 XtPointer ses17;
403 XtPointer ses16;
404 XtPointer ses15;
405 XtPointer ses14;
406 XtPointer ses13;
407 XtPointer ses12;
408 XtPointer ses11;
409 XtPointer ses10;
410 XtPointer ses9;
411 XtPointer ses8;
412 XtPointer ses7;
413 XtPointer ses6;
414 XtPointer ses5;
415 XtPointer ses4;
416 XtPointer ses3;
417 XtPointer ses2;
418 XtPointer ses1;
419} SessionShellPart;
420
421typedef struct {
422 CorePart core;
423 CompositePart composite;
424 ShellPart shell;
425 WMShellPart wm;
426 VendorShellPart vendor;
427 TopLevelShellPart topLevel;
428 ApplicationShellPart application;
429 SessionShellPart session;
430} SessionShellRec, *SessionShellWidget;
431
432_XFUNCPROTOEND
433
434#endif /* _XtShellPrivate_h */