1444c061aSmrg/*
2444c061aSmrg
3444c061aSmrgCopyright 1994, 1998  The Open Group
4444c061aSmrg
5444c061aSmrgPermission to use, copy, modify, distribute, and sell this software and its
6444c061aSmrgdocumentation for any purpose is hereby granted without fee, provided that
7444c061aSmrgthe above copyright notice appear in all copies and that both that
8444c061aSmrgcopyright notice and this permission notice appear in supporting
9444c061aSmrgdocumentation.
10444c061aSmrg
11444c061aSmrgThe above copyright notice and this permission notice shall be included in
12444c061aSmrgall copies or substantial portions of the Software.
13444c061aSmrg
14444c061aSmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15444c061aSmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16444c061aSmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
17444c061aSmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18444c061aSmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19444c061aSmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20444c061aSmrg
21444c061aSmrgExcept as contained in this notice, the name of The Open Group shall not be
22444c061aSmrgused in advertising or otherwise to promote the sale, use or other dealings
23444c061aSmrgin this Software without prior written authorization from The Open Group.
24444c061aSmrg
25444c061aSmrg*/
26444c061aSmrg
27444c061aSmrg#ifndef _XtHookObjI_h
28444c061aSmrg#define _XtHookObjI_h
29444c061aSmrg
302265a131Smrg_XFUNCPROTOBEGIN
312265a131Smrg
32444c061aSmrg/* This object is implementation-dependent and private to the library. */
33444c061aSmrg
34444c061aSmrgtypedef struct _HookObjRec *HookObject;
35444c061aSmrgtypedef struct _HookObjClassRec *HookObjectClass;
36444c061aSmrg
37444c061aSmrgexternalref WidgetClass hookObjectClass;
38444c061aSmrg
39444c061aSmrgtypedef struct _HookObjPart {
40444c061aSmrg    /* resources */
41444c061aSmrg    XtCallbackList createhook_callbacks;
42444c061aSmrg    XtCallbackList changehook_callbacks;
43444c061aSmrg    XtCallbackList confighook_callbacks;
44444c061aSmrg    XtCallbackList geometryhook_callbacks;
45444c061aSmrg    XtCallbackList destroyhook_callbacks;
46444c061aSmrg    WidgetList shells;
47444c061aSmrg    Cardinal num_shells;
48444c061aSmrg    /* private data */
49444c061aSmrg    Cardinal max_shells;
50444c061aSmrg    Screen* screen;
51444c061aSmrg}HookObjPart;
52444c061aSmrg
53444c061aSmrgtypedef struct _HookObjRec {
54444c061aSmrg    ObjectPart object;
55444c061aSmrg    HookObjPart hooks;
56444c061aSmrg} HookObjRec;
57444c061aSmrg
58444c061aSmrgtypedef struct _HookObjClassPart {
59444c061aSmrg    int unused;
60444c061aSmrg} HookObjClassPart;
61444c061aSmrg
62444c061aSmrgtypedef struct _HookObjClassRec {
63444c061aSmrg    ObjectClassPart object_class;
64444c061aSmrg    HookObjClassPart hook_class;
65444c061aSmrg} HookObjClassRec;
66444c061aSmrg
67444c061aSmrgexternalref HookObjClassRec hookObjClassRec;
68444c061aSmrg
692265a131Smrg_XFUNCPROTOEND
702265a131Smrg
71444c061aSmrg#endif /* ifndef _Xt_HookObjI_h */
72444c061aSmrg
73444c061aSmrg
74