diff options
Diffstat (limited to 'X11/ObjectP.h')
| -rw-r--r-- | X11/ObjectP.h | 143 | 
1 files changed, 143 insertions, 0 deletions
| diff --git a/X11/ObjectP.h b/X11/ObjectP.h new file mode 100644 index 000000000..0f484d2fd --- /dev/null +++ b/X11/ObjectP.h @@ -0,0 +1,143 @@ +/* $Xorg: ObjectP.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */ + +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998  The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + +                        All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its  +documentation for any purpose and without fee is hereby granted,  +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in  +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission.   + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _Xt_ObjectP_h_ +#define _Xt_ObjectP_h_ + +#include <X11/Object.h> + +_XFUNCPROTOBEGIN + +/********************************************************** + * Object Instance Data Structures + * + **********************************************************/ +/* these fields match CorePart and can not be changed */ + +typedef struct _ObjectPart { +    Widget          self;               /* pointer to widget itself          */ +    WidgetClass     widget_class;       /* pointer to Widget's ClassRec      */ +    Widget          parent;             /* parent widget                     */ +    XrmName         xrm_name;           /* widget resource name quarkified   */ +    Boolean         being_destroyed;    /* marked for destroy                */ +    XtCallbackList  destroy_callbacks;  /* who to call when widget destroyed */ +    XtPointer       constraints;        /* constraint record                 */ +} ObjectPart; + +typedef struct _ObjectRec { +    ObjectPart  object; +} ObjectRec; + +/******************************************************** + * Object Class Data Structures + * + ********************************************************/ +/* these fields match CoreClassPart and can not be changed */ +/* ideally these structures would only contain the fields required; +   but because the CoreClassPart cannot be changed at this late date +   extraneous fields are necessary to make the field offsets match */ + +typedef struct _ObjectClassPart { + +    WidgetClass     superclass;         /* pointer to superclass ClassRec   */ +    String          class_name;         /* widget resource class name       */ +    Cardinal        widget_size;        /* size in bytes of widget record   */ +    XtProc          class_initialize;   /* class initialization proc        */ +    XtWidgetClassProc class_part_initialize; /* dynamic initialization      */ +    XtEnum          class_inited;       /* has class been initialized?      */ +    XtInitProc      initialize;         /* initialize subclass fields       */ +    XtArgsProc      initialize_hook;    /* notify that initialize called    */ +    XtProc          obj1;		/* NULL                             */ +    XtPointer       obj2;               /* NULL                             */ +    Cardinal        obj3;               /* NULL                             */ +    XtResourceList  resources;          /* resources for subclass fields    */ +    Cardinal        num_resources;      /* number of entries in resources   */ +    XrmClass        xrm_class;          /* resource class quarkified        */ +    Boolean         obj4;               /* NULL                             */ +    XtEnum          obj5;               /* NULL                             */ +    Boolean         obj6;               /* NULL				    */ +    Boolean         obj7;               /* NULL                             */ +    XtWidgetProc    destroy;            /* free data for subclass pointers  */ +    XtProc          obj8;               /* NULL                             */ +    XtProc          obj9;               /* NULL			            */ +    XtSetValuesFunc set_values;         /* set subclass resource values     */ +    XtArgsFunc      set_values_hook;    /* notify that set_values called    */ +    XtProc          obj10;              /* NULL                             */ +    XtArgsProc      get_values_hook;    /* notify that get_values called    */ +    XtProc          obj11;              /* NULL                             */ +    XtVersionType   version;            /* version of intrinsics used       */ +    XtPointer       callback_private;   /* list of callback offsets         */ +    String          obj12;              /* NULL                             */ +    XtProc          obj13;              /* NULL                             */ +    XtProc          obj14;              /* NULL                             */ +    XtPointer       extension;          /* pointer to extension record      */ +}ObjectClassPart; + +typedef struct { +    XtPointer next_extension;	/* 1st 4 required for all extension records */ +    XrmQuark record_type;	/* NULLQUARK; when on ObjectClassPart */ +    long version;		/* must be XtObjectExtensionVersion */ +    Cardinal record_size;	/* sizeof(ObjectClassExtensionRec) */ +    XtAllocateProc allocate; +    XtDeallocateProc deallocate; +} ObjectClassExtensionRec, *ObjectClassExtension; + +typedef struct _ObjectClassRec { +    ObjectClassPart object_class; +} ObjectClassRec; + +externalref ObjectClassRec objectClassRec; + +_XFUNCPROTOEND + +#define XtObjectExtensionVersion 1L +#define XtInheritAllocate ((XtAllocateProc) _XtInherit) +#define XtInheritDeallocate ((XtDeallocateProc) _XtInherit) + +#endif /*_Xt_ObjectP_h_*/ | 
