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