140 lines
6.8 KiB
C
140 lines
6.8 KiB
C
/* $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>
|
|
|
|
/**********************************************************
|
|
* 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;
|
|
|
|
#define XtObjectExtensionVersion 1L
|
|
#define XtInheritAllocate ((XtAllocateProc) _XtInherit)
|
|
#define XtInheritDeallocate ((XtDeallocateProc) _XtInherit)
|
|
|
|
#endif /*_Xt_ObjectP_h_*/
|